{"version":3,"sources":["constants/types.js","stores/settings/settingsActions.js","components/Address.js","components/UploadArchive.js","components/UploadArchiveManual.js","components/forms/FormItem.js","components/forms/ListHeader.js","components/ListTable.js","components/WidgetCard.js","components/Icon/Icon.js","components/FormManager.js","assets/images/location.svg","components/ContainerAddress.js","components/RemoteInsert.js","components/schedule/messages.js","components/schedule/Schedule.js","components/SelectScheduled.js","components/SelectGender.js","components/DragSortingTable.js","components/SelectBloodGroup.js","components/RemoteSelectCrud.js","components/ServiceProviderProfile.js","components/CrudEdit.js","components/RemoteSelectPopover.js","components/SelectBoolean.js","components/InputMask.js","components/FilterRemoteSelect.js","components/HtmlEditor/HtmlEditor.js","components/Section/SectionField.js","components/Section/SectionFieldDocument.js","components/Section/SectionFieldPrescription.js","components/Section/Section.js","components/SelectColor.js","components/FormListWrap.js","components/RawHtml.js","components/CheckboxInput.js","components/DrawerModal.js","components/ActionsList.js","components/CreditCardIcon.js","constants/cardBrands.js","components/PaymentPlan.js","components/PageContainer.js","components/PageEdit.js","components/InputCurrency.js","components/PlanDetail.js","components/AccessResourcesDenied.js","components/AccountAccessDenied.js","stores/notifications/notificationActions.js","components/notifications/NotificationDate.js","components/notifications/NotificationTreatmentItem.js","components/notifications/NotificationContainer.js","components/notifications/NotificationCommonItem.js","components/notifications/NotificationItem.js","components/notifications/NotificationList.js","components/notifications/MyNotifications.js","components/SelectStates.js","components/SelectProfessionalRegistrationTypes.js","components/FilterRangePicker.js","components/DisplayAmount.js","components/SelectPaymentMethod.js","components/Footer.js","components/Drawer.js","components/SelectEntryType.js","util/removeAccents.js","components/RemoteSelectTree.js","components/SelectWrapperPrefix.js","components/SelectProfile.js","components/FilterSelect.js","components/TawktoChat.js","components/TreatmentPartnerStatus.js","components/ChangeCollaborator.js","components/SelectCampaignStatus.js","components/CampaignStatusTag.js","components/CampaignEnabledChannels.js","components/HtmlEditorTags.js","components/InputNumeric.js","components/InputPercent.js","components/InvoiceIcon.js","components/SelectTaxRegime.js","components/SelectSpecialTaxRegime.js","components/AccessDenied.js","components/AccountStudentAccessDenied.js","components/PatientAnnotationModal.js","components/ShowFilesModal.js","components/SharingFileQRCode.js","components/UploadList.js","components/RestrictedAccessRole.js","components/SelectOptionLabel.js","components/RemoteSelectLedgerAccount.js","components/RemoteSelectStandardHistory.js","components/FormItemUserDetail.js","components/CardConciliation.js","components/LoadingWithSpin.js","components/StatusOrTypeTag.js","components/CardTitle.js","components/CardRecharts.js","components/UploadProfileImageV2.js","components/UploadProfileImage.js","components/SelectSubscriptionFrequency.js","components/CollaboratorSelectRoles.js","components/Upload.js","components/ClipboardLabel.js","components/SelectAccountTypes.js","stores/auth/authActions.js","stores/companies/companyActions.js","pages/app/financialEntries/FinancialEntryInstallmentNumber.js","pages/app/financialEntries/FinancialEntryFormPaymentItem.js","stores/ledgerAccounts/ledgerAccountActions.js","stores/standardHistories/standardHistoryActions.js","stores/packages/packageActions.js","assets/images/logo.png","stores/subscriptions/subscriptionActions.js","stores/events/eventActions.js","components/ResCol.js","stores/medicalRecordSections/medicalRecordSectionActions.js","stores/campaigns/campaignActions.js","components/InputListSearch.js","core/wrappers/FormInstance.js","components/Filter.js","hooks/useCookieHandler.js","hooks/useCustomHistory.js","core/hooks/useScreenSize.js","components/CurrencyInput.js","components/ResourceErrorAlert.js","util/functions/truncate.js","components/RemoteSelectAutoCrud.js","pages/app/financialEntries/FinancialEntryFilter.js","pages/app/financialEntries/FinancialEntrySummary.js","pages/app/financialEntries/FinancialEntryFilterAdvanced.js","pages/app/financialEntries/FinancialEntryHeader.js","pages/app/financialEntries/FinancialEntryAccountantAlert.js","pages/app/financialEntries/FinancialEntryResendEmail.js","pages/app/financialEntries/FinancialEntryListTable.js","pages/app/financialEntries/FinancialEntryTransferDrawer.js","pages/app/financialEntries/FinancialEntryList.js","util/formatters/formatCurrency.js","components/AddressV2.js","pages/app/financialEntries/FinancialEntryViewDetail.js","pages/app/suppliers/SupplierEdit.js","pages/app/financialEntries/FinancialEntryToolbarEdit.js","pages/app/financialEntries/FinancialEntryEdit.js","util/functions/decimal.js","pages/app/financialEntries/FinancialEntryInvoiceEdit.js","pages/app/financialEntries/FinancialEntryEditManager.js","stores/treatments/treatmentActions.js","util/validators/mobilePhoneValidator.js","util/validators/postalCodeValidator.js","stores/accounts/accountActions.js","stores/healthServiceProviders/healthServiceProviderActions.js","core/hooks/usePermissions.js","components/SearchValue.js","pages/shared/CompanySettingsForm.js","components/HorizontalMenu.js","components/HorizontalToolbar.js","components/HtmlEditor/translations.js","stores/openFinancialExchanges/openFinancialExchangeActions.js","stores/financialStatistic/financialStatisticActions.js","constants/featureIdentifiers.js","util/iugu.js","util/normalizers/cityNormalizeToSelect.js","util/normalizers/cityNormalizeFromSelect.js","util/normalizers/reducerName.js","util/functions/isNullOrEmpty.js","components/CustomScrollbars.js","util/functions/generateUUID.js","stores/dashboards/dashboardActions.js","util/getDataFromStorage.js","core/auth/authInitialState.js","components/CircularProgress.js","util/asyncComponent.js","components/Auxiliary.js","components/Sidebar/SidebarLogo.js","components/Sidebar/SidebarContentRoute.js","components/Sidebar/SidebarContent.js","components/Sidebar/Sidebar.js","components/IconLibrary.js","components/CurrentAdminProfile.js","components/Topbar/TopbarAdmin.js","components/routes/RestrictedRoute.js","components/routes/RouteRedirect.js","components/routes/SimpleRoute.js","components/routes/Routes.js","containers/admin/AdminContainer.js","components/Topbar/InsideHeader.js","pages/shared/UploadRegistrationStatementModal.js","containers/app/AppContainer.js","pages/app/settings/SettingsMenu.js","pages/app/settings/Settings.js","containers/partnership/PartnershipContainer.js","config/index.js","config/config.js","stores/users/userReducer.js","stores/settings/settingsReducer.js","stores/auth/authReducer.js","stores/accounts/accountReducer.js","stores/medicalRecordSections/medicalRecordSectionReducer.js","stores/events/eventReducer.js","stores/attendances/attendanceReducer.js","stores/patients/patientReducer.js","stores/treatments/treatmentReducer.js","stores/dashboards/dashboardReducer.js","stores/companies/companyReducer.js","core/store/createReducer.js","stores/subscriptions/subscriptionReducer.js","stores/prescriptions/prescriptionReducer.js","stores/financialEntries/financialEntryReducer.js","stores/categories/categoryReducer.js","stores/checkingAccounts/checkingAccountReducer.js","stores/campaigns/campaignReducer.js","stores/ledgerAccounts/ledgerAccountReducer.js","stores/standardHistories/standardHistoryReducer.js","stores/openFinancialExchanges/openFinancialExchangeReducer.js","stores/financialStatistic/financialStatisticReducer.js","stores/collaborators/collaboratorReducer.js","stores/healthServiceProviders/healthServiceProviderReducer.js","stores/packages/packageReducer.js","stores/partnerships/partnershipReducer.js","stores/resourceReducer.js","stores/productMovements/productMovementReducer.js","stores/rootReducer.js","stores/rootStore.js","Main.js","index.js","components/UserProfileImage.js","util/functions/join.js","core/hooks/useSubscription.js","core/hooks/useCompany.js","core/hooks/useClipboard.js","core/hooks/useSubscriptionPlanHelper.js","core/hooks/useSettingInvoice.js","constants/themeSettings.js","pages/shared/UpdatePassword.js","util/functions/mimeTypes.js","core/hooks/useAuth.js","stores/financialEntries/financialEntryActions.js","util/validators/federalTaxNumberValidator.js","pages/shared/CurrentUserEdit.js","constants/roles.js","stores/checkingAccounts/checkingAccountActions.js","helpers/index.js","helpers/InvoiceHelper.js","assets/images/w-logo.png","core/hooks/useCostCenter.js","core/hooks/useCurrentCollaborator.js","components/forms/ResCol.js","pages/app/customers/CustomerEdit.js","stores/prescriptions/prescriptionActions.js","stores/collaborators/collaboratorActions.js","stores/users/userActions.js","constants/states.js","stores/categories/categoryActions.js","stores/partnerships/partnershipActions.js","stores/productMovements/productMovementActions.js","pages/shared/CurrentUserMyPreferences.js","pages/shared/PatientFinancialEntryList.js","pages/shared/CompanyEdit.js","pages/shared/CurrentProfessionalEdit.js","components/CurrentUserProfile.js","stores/patients/patientActions.js","util/formatters/formartOnlyNumber.js","util/formatters/formatFederalTaxNumber.js","util/formatters/formartDateTimeUTC.js","util/formatters/formatDateToNumber.js","util/formatters/formatPhone.js","util/formatters/formatInitials.js","constants/display.js","util/converters/normalizeFromSelect.js","util/converters/normalizeToSelect.js","util/converters/getDayOfWeek.js","components/RemoteSelect.js","stores/attendances/attendanceActions.js"],"names":["CREATED","ACTIVATED","INACTIVATED","CANCELED","SUSPENDED","EXPIRED","INTRIAL","CANCELLATION_REQUESTED","PENDING","ACCEPTED","RECONCILED","IGNORED","MEMED","RECEITADIGITAL","RECEIPT","PAYMENT","BALANCE","BEFOREBALANCE","ENDBALANCE","INITIALBALANCE","BILLETBANK","CREDITCARD","DEBITCARD","DIRECTDEBIT","BANKDEPOSIT","PAYPAL","BANKTRANSFER","CASH","BANKCHECK","BALANCEWALLETS","PIX","ELECTRONICTRANSFER","OTHER","INCOMING","OUTGOING","APOSITIVE","ANEGATIVE","BPOSITIVE","BNEGATIVE","ABPOSITIVE","ABNEGATIVE","OPOSITIVE","ONEGATIVE","APPROXIMATETAXES_COMPLETE","APPROXIMATETAXES_SIMPLIFIED","YEAR","MONTH","DAY","COSTCENTER","NATIONAL","STATE","MUNICIPAL","ACCOUNT_TYPE_STUDENT","ROLE_ADMIN","ROLE_PROFESSIONAL","ROLE_RECEPTIONIST","ROLE_USER","ROLE_STUDENT","ROLE_OTHER_HEALTH_PROFESSIONAL","ROLE_CLINIC_ADMINISTRATOR","ROLE_FINANCIAL","ROLE_ACCOUNTANT","ROLE_PARTNERSHIP","ROLE_FINANCIAL_ADMINISTRATOR","ROLE_STOCK","PROFILE_DOCTOR","PROFILE_ADMINISTRADOR","PROFILE_OTHER","PROFILE_RECEPTIONIST","PROFILE_ACCOUNTANT","PROFILE_FINANCIAL","PROFILE_STUDENT","PROFILE_USER","PROFILE_PARTNERSHIP","PROFILE_FINANCIAL_ADMINISTRATOR","ACCOUNTANTS","TOGGLE_COLLAPSED_NAV","WINDOW_WIDTH","SWITCH_LANGUAGE","CHAT_LOADED","updateWindowWidth","width","type","toggleCollapsedSideNav","navCollapsed","onNavStyleChange","navStyle","NAV_STYLE","chatLoad","Address","UploadArchive","_ref","onChange","name","resource","extension","displayDocument","params","onRemove","initialValue","disabled","placeholder","state","setState","useState","loading","uri","useEffect","setArchive","response","uploadButton","_jsx","children","LoadingOutlined","_jsxs","className","FontAwesomeIcon","icon","size","style","height","position","paddingBottom","Button","onClick","handleRemoveClick","right","top","background","display","alignItems","justifyContent","CloseCircleOutlined","Upload","listType","customRequest","options","data","FormData","Object","keys","forEach","key","set","append","file","api","post","then","res","errors","message","error","onSuccess","beforeUpload","isCorrectFormat","includes","replace","toLowerCase","fileName","text","match","extractingExtension","concat","join","map","c","toUpperCase","isLt2M","info","status","archive","result","showUploadList","getContent","src","process","alt","UploadArchiveManual","extensions","onRequest","uploading","setUploading","setFileName","setExtension","uploadProps","extractedExtension","names","UploadOutlined","truncate","React","Component","FormItem","ListHeader","onSearch","setQueryParams","queryParams","menu","title","create","renderButton","searchForm","onBeforeFilter","delayedSearch","setDelayedSearch","e","clearTimeout","input","target","setTimeout","value","page","filterText","arguments","length","undefined","openToCreate","PlusOutlined","ListTable","props","dataSource","initEditing","initCreation","rowSelection","rowClassName","handleTableChange","columns","components","moveRow","onDoubleClick","removeRecord","showHeader","showActions","actionsComponent","ActionsComponent","header","filter","showPagination","doubleClick","pagination","Array","isArray","some","push","align","render","_","record","_Fragment","Popconfirm","onConfirm","id","cancelText","okText","Table","scroll","x","configManager","getConfig","layout","list","table","rowKey","_record$id","uuid","array","locale","emptyText","onRow","index","handleDoubleClick","WidgetCard","styleName","cover","extra","actions","Card","Icon","defaultValidateMessages","required","Context","createContext","form","FormManager","PureComponent","values","initialValues","onBeforeBinding","rest","this","Provider","Form","validateMessages","useForm","useContext","Error","defaultRules","label","rules","Item","RemoteInsert","messages","date","time","event","allDay","week","work_week","day","month","previous","next","yesterday","tomorrow","today","agenda","noEventsInRange","Empty","image","PRESENTED_IMAGE_SIMPLE","showMore","count","moment","localizer","momentLocalizer","VIEWS","Schedule","events","onSelectSlot","eventPropGetter","onSelectEvent","defaultView","step","min","max","view","setView","clone","startOf","endOf","_ref2","format","Calendar","timeslots","startAccessor","endAccessor","onRangeChange","handleRangeChange","dates","nextView","currentView","start","end","selectable","SelectScheduled","serviceProviderId","tenantId","user","useAuth","open","setOpen","isMobile","useScreenSize","settings","fetchNextPeriod","fetch","startDate","endDate","add","firstAvailable","startTime","endTime","_value$serviceProvide","serviceProvider","Row","gutter","ResCol","span","DatePicker","setPeriod","disabledDate","isBefore","allowClear","onSelect","onBlur","MaskedInput","mask","formartOnlyNumber","hour","minute","durationOfService","handleChangeStartTime","handleChangeEndTime","Tooltip","placement","ReloadOutlined","handleChangeNextTime","_value$endTime","SelectGender","showUninformed","Select","optionFilterProp","filterOption","option","indexOf","Option","DragableBodyRow","restProps","ref","useRef","isOver","dropClassName","drop","useDrop","accept","collect","monitor","dragIndex","getItem","item","drag","useDrag","isDragging","cursor","DragSortingTable","onSorting","getDataSource","filterInverse","body","row","useCallback","hoverIndex","dragRow","rejecteds","update","$splice","DndProvider","backend","HTML5Backend","cloneElement","SelectBloodGroup","CreateEditComponentWrap","resourceTitle","CrudEditContextProvider","resourceToEdit","saving","editing","loadingEdition","readOnly","visible","action","RESOURCE_ACTION_EDIT","RemoteSelectCrud","editComponent","EditComponent","textPropName","enableEdit","onCreateOrUpdate","crud","useCrud","get","componentKey","stateComponentKey","selectRef","setText","generateUUID","allowShow","setAllowShow","isMultiple","mode","handleChange","handleAddClick","current","focus","blur","useImperativeHandle","isEmpty","RemoteSelect","onDropdownVisibleChange","customDropdownRender","_ref3","fetching","Spin","onFetched","handleFetched","tagRender","_ref5","onClose","EditOutlined","CloseOutlined","handleEditClick","onCreateOrUpdateSuccess","_ref4","reset","newValue","findIndex","normalizeToSelect","forwardRef","ServiceProviderProfile","_medicalSpecialties$","classNameRow","profileImage","professionalName","medicalSpecialties","crm","specialty","medicalSpecialty","professionalTitle","justify","Col","UserProfileImage","CrudEdit","cancelEdit","handleClickCreate","handleClickEdit","edit","editingRender","_data$resourceToEdit","_data$resourceToEdit2","resetFields","editingProps","RESOURCE_ACTION_CREATE","RemoteSelectPopover","constructor","_this","super","fetchData","hasNextPage","lastFetchId","fetchId","currentPage","totalCount","items","prevState","textSearched","isSelect","handleAdd","multiple","handleRemove","handleOnChangeVisible","clearSearchField","handleOnSearch","handleSearch","refInput","handleOnScroll","renderItem","remove","loadingId","customButtonAdd","customButtonRemove","isSelected","DeleteOutlined","handleCreateOrUpdateSuccess","refCrud","debounce","fethOnMount","createRef","componentDidMount","addButtonText","Popover","trigger","onVisibleChange","content","Input","maxLength","onPressEnter","handleOnPressEnter","CustomScrollbars","onScrollEnd","description","defaultProps","SelectBoolean","FilterRemoteSelect","isLast","showSearch","setVisible","popover","select","handleVisiblePopover","noStyle","showArrow","maxTagPlaceholder","dropdownMatchSelectWidth","maxTagCount","HtmlEditor","editor","setEditor","EditorState","createEmpty","loaded","setLoaded","editorRef","createWithContent","stateFromHTML","insert","html","currentContent","getCurrentContent","currentSelection","getSelection","newContent","Modifier","replaceText","newEditorState","forceSelection","getSelectionAfter","Editor","localization","translations","editorState","onEditorStateChange","stateToHTML","toolbarHidden","handleReturn","keyCode","shiftKey","insertNewUnstyledBlock","RichUtils","insertSoftNewline","toolbar","SectionField","field","answer","attachments","split","str","contentType","isImage","isPDF","isExcel","isVideo","isAudio","url","window","getUrlFromResource","handleAttachment","SectionFieldDocument","creationTime","lastModificationTime","dangerouslySetInnerHTML","__html","DownloadOutlined","handleDownload","SectionFieldPrescription","prescription","source","receitaDigital","urlFromPdf","Section","fields","documents","prescriptions","showFieldMedicalRecord","SelectColor","CirclePicker","circleSize","color","hex","colors","FormListContext","FormListItemWrap","getName","FormItemWrap","fieldKey","FormListWrap","onBeforeCreateItem","onCreateItem","onRemoveItem","onAllowRemoveItem","addText","hideAddButton","handleCreateItem","_form$getFieldValue","getFieldValue","setFieldsValue","List","shouldUpdate","prevValues","curValues","lodash","isEqual","onCreate","fieldIndex","_form$getFieldValue2","find","handleRemoveItem","RawHtml","CheckboxInput","hint","Checkbox","checked","InfoCircleOutlined","DrawerModal","Drawer","Modal","onCancel","ActionsList","renderRight","showDeletedButton","CreditCardIcon","number","iconName","Iugu","utils","getBrandByCreditCardNumber","getBrandIconName","PaymentPlan","onSubmit","plan","search","useLocation","applypartnerdiscount","qs","parse","validatingCard","setValidatingCard","isPartnership","usePermissions","getFeatureValue","identifiers","useSubscriptionPlanHelper","MIN_LICENSE","MIN_PROFESSIONAL_NUMBER","MAX_LICENSE","MAX_PROFESSIONAL_NUMBER","amountInitial","amount","setAmount","validateNumber","rule","Promise","resolve","validateCreditCardNumber","reject","validateExpirationDate","validateExpirationString","validateName","test","validateNumberOfProfessionals","Number","isNaN","parseInt","installmentsData","parcel","isLoading","installments","numberOfPaidProfessionals","numberOfLicenses","onFinish","expirationDate","cardholderName","securityCode","substr","year","firstName","lastNames","lastName","cc","CreditCard","valid","createPaymentToken","removeLicense","paymentMethod","creditCard","token","holder","validateCreditCard","validateTrigger","onValuesChange","handleChangeValues","Divider","orientation","features","feature","Fragment","BsCheck2Square","flex","validator","autoFocus","InputNumber","Alert","frequency","formatCurrency","whitespace","suffix","valuePropName","validateSecurityCode","cardNumber","cvv","brand","validateCVV","toString","submit","PageContainer","maskClosable","onOkClick","onBackClick","okButtonText","backButtonText","toolbarComponent","ToolbarComponent","marginRight","PageEdit","updateFormOnDataChanged","onDataChanged","showConfirmDataLoss","editingForm","useCrudEditContext","modified","setModified","dataChanged","handleSubmit","validateFields","dataToSend","handleBackClick","confirm","ExclamationCircleOutlined","onOk","ResourceErrorAlert","handleValuesChange","changedValues","allValues","InputCurrency","prefix","decimalSeparator","decimalsLimit","decimalScale","onFocus","userValue","setUserValue","CurrencyInput","allowNegativeValue","onValueChange","changedValue","parseFloat","PlanDetail","subscription","expiresTrialMessage","useSubscription","isTrial","Descriptions","bordered","column","getTitle","_plan$name","planName","numberOfProfessionals","numberOfLicense","Tag","numberOfFreeProfessionals","singularText","isPlural","hasLicense","partnershipName","getSingularOrPlural","AccessResourcesDenied","subTitle","Result","LockOutlined","fontSize","AccountAccessDenied","types","hasAccountType","history","useHistory","handleChangeSubscription","setVisualized","async","dispatcher","dispatchResouceAction","dispatch","actionType","effect","NotificationDate","fromNow","NotificationTreatmentItem","_notification$paramet","useDispatch","refresh","refreshToken","notification","isActive","treatmentPartnerAcceptingId","useSelector","_c$resources$treatmen","_c$resources","resources","treatments","handleSuccess","_data$result2","pathname","location","_data$result","startsWith","endsWith","reload","parameters","JSON","patientName","profissionalName","treatmentPartnerId","handleAccepted","acceptedTreatmentPartner","NotificationContainer","isVisualized","onKeyDown","role","tabIndex","NotificationCommonItem","handlePress","patientId","NotificationItem","NotificationList","paginationChanged","renderDivider","handleScrollEnd","total","MyNotifications","iconClassName","endpoint","fixedQueryParams","onlyIsActive","openClassName","overlayClassName","Badge","notVisualizedCount","SelectStates","states","initials","SelectProfessionalRegistrationTypes","FilterRangePicker","ranges","RangePicker","DisplayAmount","useMoneySign","SelectPaymentMethod","ignoreds","Footer","bottom","borderTop","padding","textAlign","footer","sizeClass","DrawerAntd","bodyStyle","SelectEntryType","removeAccents","normalize","TreeNode","TreeSelect","RemoteSelectTree","handleLoadData","treeNode","onChangeSelect","treeCheckable","filterNode","indexes","i","normalizeItem","subItems","getSubItems","j","normalizeString","handleFilterTreeNode","inputValue","onFilterTreeNode","node","handleDisabled","onDisabled","renderChildren","_this$getSubItems","beforeStr","afterStr","isLeaf","_value$map","tempValue","filterTreeNode","dropdownStyle","maxHeight","overflow","SelectWrapperPrefix","PROFILES","SelectProfile","hideProfiles","FilterSelect","isTawktoLoaded","Tawk_API","TawktoChat","checkHasFeature","onLoad","chatLoaded","configureChatLoad","onLoaded","limitRetryChatLoad","setAttributes","email","showWidget","hideWidget","minimize","Helmet","labels","waitingForAuthorization","pending","accepted","rejected","refuse","TreatmentPartnerStatus","ChangeCollaborator","selectedCollaborator","setSelectedCollaborator","collaborator","setCollaborator","useCurrentCollaborator","isAdmin","document","handleGoAdmin","changeTenant","closable","includeServiceProvider","SelectCampaignStatus","campaignStatus","draft","published","CampaignStatusTag","app","whatsApp","CampaignEnabledChannels","channelTypes","HtmlEditorTags","handleClickTag","regex","InputNumeric","InputPercent","groupSeparator","InvoiceIcon","processingDetail","urlPdf","icons","authorized","canceled","received","enqueued","inContingent","code","crtOptions","SelectTaxRegime","specialRegimeOptions","SelectSpecialTaxRegime","AccessDenied","AccountStudentAccessDenied","getRandomColor","Math","floor","random","PatientAnnotationModalWrapper","patient","changed","setChanged","treatment","isNullOrEmpty","handleCancel","closeAnnotation","confirmLoading","isLinkTreatment","markers","marker","normalizeFromSelect","createAnnotation","shared","TextArea","rows","RemoteSelectAutoCrud","onBeforeCreate","onMouseDown","preventDefault","stopPropagation","optionRender","userId","PatientAnnotationModal","createAnnotationData","_c$resources$patients","patients","normalizeDocument","fileType","NoRender","Header","previousDocument","nextDocument","currentDocument","currentFileNo","link","createElement","href","download","click","LeftOutlined","RightOutlined","ShowFilesModal","files","docViewerRef","activeDocument","setActiveDocument","DocViewer","config","overrideComponent","noRenderer","onDocumentChange","pluginRenderers","DocViewerRenderers","language","SharingFileQRCode","supportedTypes","onNewUpload","setToken","setFiles","fileUploadedd","setFileUploadedd","systemSettings","apiUrl","normalizeFile","uid","thumbUrl","socket","signalR","withUrl","configureLogging","None","withAutomaticReconnect","build","invoke","catch","console","log","on","prevStates","handleUploadFile","off","stop","appUrl","QRCode","showIcon","fileList","showDownloadIcon","showRemoveIcon","UploadList","onUpload","hiddenQrCode","showRemove","openShowFile","setOpenShowFile","openSharingQRCode","setOpenSharingQRCode","handleOnChange","newFile","handleClosePreview","FaQrcode","onDownload","onPreview","onError","isLt3M","PaperClipOutlined","RestrictedAccessRole","roles","hasRole","SelectOptionLabel","RemoteSelectLedgerAccountUtils","classification","_value$label","omit","RemoteSelectLedgerAccount","normalizeFromSelectLabel","RemoteSelectStandardHistoryUtils","RemoteSelectStandardHistory","FormItemUserDetail","Avatar","CardConciliation","transaction","typeof","openFinancialExchangeCode","LoadingWithSpin","tip","getColorByType","StatusOrTypeTag","_customDisplay$type","customDisplay","CardTitle","CardRecharts","componentRight","lastUpdateDate","paddingLeft","paddingRight","UploadProfileImageV2","setLoading","border","marginTop","Image","UploadProfile","isJpgOrPng","SelectSubscriptionFrequency","CollaboratorSelectRoles","hidePermissions","inputKey","inputLabel","labelInValue","d","_value","UploadAntd","handleOnRemove","handlePreview","ClipboardLabel","copy","useClipboard","handleCopy","SelectAccountTypes","LOGIN_REQUEST","LOGIN_REQUEST_FINISHED","AUTH_REFRESH_TOKEN_FINISHED","LOGOUT","AUTH_REFRESH_USER","AUTH_SET_CURRENT_COLLABORATOR","AUTH_REMOVE_CURRENT_COLLABORATOR","onAuthSuccess","Date","setSeconds","getSeconds","expireInSeconds","localStorage","setItem","removeItem","btoa","stringify","accessToken","createAccount","createSubscription","onFail","setCurrentCollaborator","createAction","removeCurrentCollaborator","COMPANY","COMPANY_GET","COMPANY_GET_FINISHED","COMPANY_GET_SETTINGS","COMPANY_GET_SETTINGS_FINISHED","COMPANY_UPDATE","COMPANY_UPDATE_FINISHED","COMPANY_SETTINGS_UPDATE","COMPANY_SETTINGS_UPDATE_FINISHED","COMPANY_UPLOAD_CERTIFICATE","COMPANY_UPLOAD_CERTIFICATE_FINISHED","COMPANY_UPLOAD_CERTIFICATE_ERROR","COMPANY_CANCEL","COMPANY_GET_SETUP_STEPS","COMPANY_GET_SETUP_STEPS_FINISHED","getSettings","updateSettings","payload","put","postCertificate","formData","FinancialEntryInstallmentNumber","totalInstallments","FinancialEntryFormPaymentItem","showAudit","drawerForm","checkingAccount","setCheckingAccount","accountantId","typeLabel","getPaymentNextBusinessDay","method","nextBusinessDay","credicardInvoiceClosingDay","credicardInvoiceDueDate","invoiceClosing","invoiceDueDate","newDueDate","getNextBusinessDay","payment","dueDate","getReceiptNextBusinessDay","toISOString","setFields","_initialValues$checki","handleTriggerClose","hasChangedAmount","netAmount","interestAmount","fineAmount","discount","hasChangedPaymentMethodOrCheckingAccount","checkIsPaymentMethodAllowedForCheckingAccount","_item$payment","changedCheckingAccount","changedPaymentMethod","changedPaymentDate","_ref6","afterClose","preserve","ledgerAccount","newCheckingAccount","credicardType","isAfter","tooltip","exportAudit","LEDGERACCOUNT","LEDGERACCOUNT_FILE_IMPORT","LEDGERACCOUNT_FILE_IMPORT_FINISHED","importFile","STANDARDHISTORY","STANDARDHISTORY_FILE_IMPORT","STANDARDHISTORY_FILE_IMPORT_FINISHED","PACKAGE","PACKAGE_FETCH","PACKAGE_FETCH_FINISHED","SUBSCRIPTION","SUBSCRIPTION_SET_VALUES","SUBSCRIPTION_SET_LOADING","SUBSCRIPTION_CURRENT_GET","SUBSCRIPTION_CURRENT_GET_FINISHED","SUBSCRIPTION_OPEN_PURCHASE_PACKAGE","SUBSCRIPTION_CLOSE_PURCHASE_PACKAGE","SUBSCRIPTION_OPEN_PACKAGE_LIST","SUBSCRIPTION_CLOSE_PACKAGE_LIST","SUBSCRIPTION_PURCHASE_PACKAGE","SUBSCRIPTION_PURCHASE_PACKAGE_FINISHED","SUBSCRIPTION_BALANCE_DETAILS","SUBSCRIPTION_BALANCE_DETAILS_FINISHED","SUBSCRIPTION_UPDATE","SUBSCRIPTION_UPDATE_FINISHED","setValues","getActiveSubscription","openPurchasePackage","closePurchasePackage","postPurchasePackage","packageId","getBalanceDetails","openPackageList","closePackageList","updateSubscription","subscriptionId","EVENT","EVENT_FETCH_APPOINTMENT_TODAY","EVENT_FETCH_APPOINTMENT_TODAY_FINISHED","EVENT_CHANGE_STATUS","EVENT_CHANGE_STATUS_FINISHED","EVENT_DELETE","EVENT_DELETE_FINISHED","EVENT_GET_VIEW","EVENT_GET_VIEW_FINISHED","EVENT_GET_VIEW_CLOSE","EVENT_ADD_OR_UPDATE","EVENT_SCHEDULES_UNLOAD","EVENT_SCHEDULES","EVENT_SCHEDULES_FINISHED","fetchAppointmentToday","fetchByPatient","fetchByPatientUnload","changeStatus","del","addOrUpdate","getView","getViewClose","createPatient","RESOURCE_CREATE","updatePatient","xs","sm","md","lg","xl","xxl","MEDICALRECORDSECTION","MEDICALRECORDSECTION_SORTING","updateSorting","ordination","CAMPAIGN","CAMPAIGN_CLONE_FETCH_FINISHED","InputListSearch","SearchOutlined","FormInstanceCreate","WrapperForm","FormInstance","WrappedComponent","createReactClass","Filter","onBeforeSubmit","onChangeDebounce","handleSetValues","handleBeforeBinding","formProps","autoSubmit","COOKIE_DOMAIN","useCookieHandler","cookies","setCookie","removeCookie","useCookies","getExpires","days","minutes","expires","toDate","setCookieHandler","path","domain","useCustomHistory","hasTenantId","_c$settings","errorText","scrollIntoView","limit","ellipsis","last","handleCreate","handleCreateSucess","searchValue","notFoundContent","dateTypes","invoiceStatus","FinancialEntryFilter","onRefreshPage","allowSearch","onFilterAdvanced","onExportExcel","exportingExcel","enableInvoice","useSettingInvoice","SyncOutlined","spin","FilterOutlined","FileExcelOutlined","FinancialEntrySummary","onFilter","summary","_c$resources$financia","amountReceipt","amountPayment","totalReceiptPending","totalPaymentPending","totalTransactions","previousBalance","balance","dateType","handleFilterReceiptPending","itemStatus","handleFilterPaymentPending","Hoje","Semana","Mês","Ano","FinancialEntryFilterAdvanced","enabledCostCenter","useCostCenter","company","userCompany","useCompany","subCategories","hidden","isEnableInvoice","_company$settings","_userCompany$settings","FinancialEntryHeader","disableEditing","customButtons","initialValuesOfCreation","hideSummary","defaultQueryParams","isBankReconciliation","filterAdvanced","setFilterAdvanced","formDrawer","convertParamsOfArray","param","handleChangeFilter","rangePicker","categories","checkingAccounts","costCenters","paymentMethods","initialDate","categoryIds","checkingAccountIds","costCenterIds","normalizeParams","handleCloseFilterAdvanced","handleClearFilter","handleFileExportOnSuccess","otherValues","_history$location","handleRefreshPage","handleOpenFilterAdvanced","onClearFilter","handleExportExcel","querySearch","arrayFormat","skipNull","createFileExport","handleApplyDrawerFilter","handleOpenTransfer","openTransfer","handleClickPayment","handleClickReceipt","FinancialEntryAccountantAlert","setMessages","showDetail","setShowDetail","FinancialEntryResendEmailInternal","_financialEntry$patie3","financialEntry","setRequired","success","_financialEntry$patie","_financialEntry$patie2","emails","handleClose","closeResendInvoice","_financialEntry$invoi","postResendInvoice","invoice","allowSendByApp","emailValidator","labelAlign","Switch","FinancialEntryResendEmail","resendEmailData","_state$resources$fina","_state$resources","FinancialEntryListTable","hiddenButtonActions","openFiles","setOpenFiles","renderPaymentIcon","_record$payment","_record$payment2","FaHandHoldingUsd","marginLeft","renderExportedIcon","auditedExportDocument","auditedExportItem","isChanged","isModified","generateMessage","formattedData","renderReconciledIcon","dateOfConciliation","userOfConciliation","handleEditInvoice","editInvoice","invoiceIsAuthorized","_ref8","_financialEntry$invoi2","buttons","EyeOutlined","openViewDetail","FaFileInvoiceDollar","_ref7","effectiveDate","transferInfo","InvoiceHelper","isReadOnly","_ref12","cancelInvoice","SendOutlined","openResendInvoice","urlXml","_ref15","_ref16","CopyOutlined","handleClone","_ref13","_ref14","recurring","CloudSyncOutlined","_ref10","_financialEntry$invoi4","syncInvoice","_ref9","_financialEntry$invoi3","_ref11","_financialEntry$trans","transactionId","_financialEntry$trans2","deleteTransfer","_ref17","FinancialEntryViewDetail","_ref18","_company$settings2","Column","dataIndex","formartDateTimeUTC","_ref19","_ref20","_ref21","_patient$name","_transferInfo$origin","_transferInfo$destina","supplier","customer","origin","destination","_ref22","category","costCenter","_record$financialEntr","_record$financialEntr2","hasAccountingIssues","WarningOutlined","_ref23","attachment","handleOpenFiles","Dropdown","overlay","Menu","FinancialEntryTransferDrawer","closeTransfer","createTransfer","triggerSubmit","defaultParams","FinancialEntryList","disableAccountingAlert","enableSelectRow","getCheckboxProps","suggestAsDefaultCheckingAccount","onConfirmSelect","titleOfSelectedConfirmButton","useQueryStringParams","loadingSelection","selectedRows","setSelectedRows","getFixedQueryParams","selectedRowKeys","onSelectChange","selected","onSelectAll","onSelectAllChange","handleConfirmSelect","useMemo","headerProps","FinancialEntryEditManagerMemo","FinancialEntryEditManager","Crud","headerComponent","onBuildQueryParams","useDecimal","valueInt","formattedValue","toLocaleString","currency","trim","AddressV2","lastPostalCode","loadingAddress","findAddress","postalCode","newAddress","street","district","additionalInformation","city","address","cityNormalizeToSelect","postalCodeValidator","hasFeedback","validateStatus","sender","FinancialEntryViewDetailInternal","_data$attachments","fieldEditing","setFieldEditing","handleBeforePaymentBinding","handleBeforeExportAuditBinding","closeViewDetail","_c$payment","_c$payment2","_c$payment3","_c$payment4","_c$payment5","_c$payment6","dateOfCompensation","handleFieldClose","isPaid","handleChangeField","userLastModifier","viewDetail","SupplierEdit","isLegalPerson","setIsLegalPerson","DrawerEdit","_rest$isLegalPerson","Radio","Group","toggler","federalTaxNumberValidator","FinancialEntryToolbarEdit","deleting","handleDelete","minimumValueRule","FinancialEntryEdit","_data$invoice","hasOneReceived","setHasOneReceived","numberOfInstallments","setNumberOfInstallments","currentCategory","setCurrentCategory","recurringEnabled","setRecurringEnabled","isFinancialAdministrator","tabKey","setTabKey","isEditing","eventId","createByEvent","handleSortItems","a","b","installmentNumber","handleLoadSettings","getFieldsValue","hasChangedValues","allowsUpdateItem","every","newItems","sort","slice","distributeValueToInstallments","totalValue","numInstallments","valuePerInstallment","remainingValue","installment","toFixed","installmentAmount","nextDate","openEditingField","changeField","newValues","merge","_c$payment7","handleCheckLimit","isValidElement","handleBeforeSubmit","toolbarProps","closeEditingField","Tabs","activeKey","tab","TabPane","federalTaxNumber","formatFederalTaxNumber","CustomerEdit","parentCategoryId","defaultActiveFirstOption","roundDecimal","exp","NaN","ResourceEdit","_data$patient","_data$invoice2","_data$invoice4","_data$invoice5","_data$invoice6","_data$invoice7","hasPerson","currentPatient","setCurrentPatient","handleBeforeBindingIInvoice","authorizationDate","cancellationDate","cancelEditInvoice","calculeAmount","base","rate","round","recalcuteAll","allFields","deductionsAmount","issRate","pisRate","cofinsRate","irRate","csllRate","inssRate","invoiceAmount","issBaseTax","issAmount","pisAmount","cofinsAmount","csllAmount","irAmount","inssAmount","displayTaxes","issWithheld","pisWithheld","cofinsWithheld","csllWithheld","irWithheld","inssWithheld","calculateDisplayTaxes","handleLoadedSettings","serviceInvoice","cityServiceCode","cnaeCode","federalServiceCode","taxationType","discrimination","handleGetSettings","companyId","_data$invoice3","defaultCampany","handleFieldsChange","allowToCreateOtherCompanies","onlyInvoiceEnabled","responsible","rpsNumber","Collapse","Panel","forceRender","editingInvoice","FinancialEntryInvoiceEdit","TREATMENT","TREATMENT_CONCLUDE","TREATMENT_CONCLUDE_FINISHED","TREATMENT_MY_TREATMENT_PARTNER","TREATMENT_MY_TREATMENT_PARTNER_FINISHED","TREATMENT_ACCEPTED_TREATMENT_PARTNER","TREATMENT_ACCEPTED_TREATMENT_PARTNER_FINISHED","TREATMENT_CANCEL","TREATMENT_CANCEL_FINISHED","TREATMENT_OPEN_CANCELLATION","TREATMENT_CLOSE_CANCELLATION","conclude","selectPartner","partner","removePartner","cancel","openCancellation","closeCancellation","mobilePhoneValidator","ACCOUNT","ACCOUNT_SHARING_UNLOAD","ACCOUNT_SHARING_GET","ACCOUNT_SHARING_GET_FINISHED","ACCOUNT_SHARING_GET_ERROR","ACCOUNT_ACTIVITY_FETCH","ACCOUNT_ACTIVITY_FETCH_FINISHED","ACCOUNT_SETTINGS_GET","ACCOUNT_SETTINGS_GET_FINISHED","ACCOUNT_SETTINGS_UPDATE","ACCOUNT_SETTINGS_UPDATE_FINISHED","ACCOUNT_CANCEL_FINISHED","getResourceByRole","getSharing","unloadSharing","HEALTHSERVICEPROVIDER","HEALTHSERVICEPROVIDER_GET_CURRENT_FINISHED","HEALTHSERVICEPROVIDER_PUT_CURRENT","HEALTHSERVICEPROVIDER_PUT_CURRENT_FINISHED","HEALTHSERVICEPROVIDER_CANCEL_CURRENT","HEALTHSERVICEPROVIDER_AVAILABILITY_FETCH","HEALTHSERVICEPROVIDER_AVAILABILITY_FETCH_FINISHED","getCurrentProfessional","updateCurrentProfessional","cancelCurrentProfessional","auth","_len","_key","isProfessional","isStudent","isUserAdmin","isFinancial","SearchValue","_columns$find","searchInputPlaceHolder","fixedParams","sorting","defaultSorting","tenant","drawerSize","SearchForm","inputRef","drawerVisible","setDrawerVisible","setLastFetchId","setPagination","pageSize","showSizeChanger","showLessItems","setDataSource","isKey","idColumn","triggerChange","onSelectValue","idFieldName","setValue","handleSearchFormChange","Search","currentTarget","classList","contains","FormContextProvider","DrawerForm","rowIndex","tablePagination","CompanySettingsForm","_data$serviceInvoice","enabled","hideAllowToCreateOtherCompanies","useBatchNumber","provider","useInvoiceNumber","useRps","useSeries","authentication","useFederalServiceCode","HorizontalMenu","routes","sub","route","basePath","isContainer","SubMenu","Link","to","buildMatchPath","defaultOpenKeys","isAuthenticated","HorizontalToolbar","module","exports","OPENFINANCIALEXCHANGE","OPENFINANCIALEXCHANGE_FILE_IMPORT","OPENFINANCIALEXCHANGE_FILE_IMPORT_FINISHED","OPENFINANCIALEXCHANGE_TRANSACTIONS_QUERYPARAMS","OPENFINANCIALEXCHANGE_TRANSACTIONS","OPENFINANCIALEXCHANGE_TRANSACTIONS_FINISHED","OPENFINANCIALEXCHANGE_UPDATE_TRANSACTION","OPENFINANCIALEXCHANGE_CONCILIATIONS","OPENFINANCIALEXCHANGE_CONCILIATIONS_FINISHED","OPENFINANCIALEXCHANGE_CHANGE_CONCILIATION","OPENFINANCIALEXCHANGE_CHANGE_CONCILIATION_FINISHED","transactionsFetch","conciliationsFetch","changeTransaction","changeConciliation","FINANCIALSTATISTIC","FINANCIALSTATISTIC_GET_TOP_RECEIPT_CATEGORIES","FINANCIALSTATISTIC_GET_TOP_RECEIPT_CATEGORIES_FINISHED","FINANCIALSTATISTIC_GET_TOP_PAYMENT_CATEGORIES","FINANCIALSTATISTIC_GET_TOP_PAYMENT_CATEGORIES_FINISHED","FINANCIALSTATISTIC_GET_TOTAL_LAST_MONTH","FINANCIALSTATISTIC_GET_TOTAL_LAST_MONTH_FINISHED","FINANCIALSTATISTIC_GET_SUMMARY","FINANCIALSTATISTIC_GET_SUMMARY_FINISHED","FINANCIALSTATISTIC_GET_CASHFLOW","FINANCIALSTATISTIC_GET_CASHFLOW_FINISHED","getReceiptTopCategories","categoryType","getPaymentTopCategories","getTotalLastMonth","getSummary","getCashFlow","LIMIT_APPOINTMENTS_TODAY","MAX_FREE_INVOICES_MONTH_PER_PROFESSIONAL","_c$state","cityNormalizeFromSelect","lastIndexOf","substring","abbreviations","reducerName","namesWithoutAbbreviations","scrollbar","debouncingScrollEnd","resetScroll","scrollTop","Scrollbars","autoHide","onScroll","offsetHeight","scrollHeight","renderView","renderViewProps","overflowX","renderTrackHorizontal","renderProps","getTime","d2","performance","now","r","STATISTICS_GET","STATISTICS_GET_FINISHED","STATISTICS_USER_GET_FINISHED","STATISTICS_GET_PRODUCTIVITY_FINISHED","STATISTICS_GET_STEPS","STATISTICS_GET_STEPS_FINISHED","STATISTICS_GET_ATTENDANCES_IN_PROGRESS_FINISHED","getMonthlyProductivity","getAttendanceInProgress","getDataFromStorage","auth64","atob","currentCollaborator","authInitialState","claims","permissions","CircularProgress","antIcon","indicator","asyncComponent","importComponent","showSpinner","AsyncFunc","component","componentWillMount","Nprogress","configure","componentWillUnmount","mounted","default","done","ReactPlaceholder","ready","Auxiliary","SidebarLogo","themeType","TAB_SIZE","NAV_STYLE_FIXED","NAV_STYLE_DRAWER","NAV_STYLE_NO_HEADER_MINI_SIDEBAR","require","THEME_TYPE_LITE","SidebarContentRoute","replacePathBase","selectedKeys","theme","SidebarContent","getNoHeaderClass","NAV_STYLE_NO_HEADER_EXPANDED_SIDEBAR","getNavStyleSubMenuClass","currentApp","resourceUsers","editingPassword","UpdatePassword","updatePassword","connect","users","editingUser","RECORD_FIELD","Sider","Layout","Sidebar","context","onToggleCollapsedNav","bind","addEventListener","innerWidth","drawerStyle","NAV_STYLE_MINI_SIDEBAR","collapsed","collapsible","library","fasFaCopy","farFaCopy","faUniversity","faGavel","faCity","faBuilding","faTachometerAlt","faUser","faList","faClipboardCheck","faForward","faPencilAlt","faTrashAlt","faSave","faTimes","faClipboardList","faLayerGroup","faBook","faHome","faFileAlt","faFileSignature","faEye","faInfoCircle","faPlusCircle","faCaretRight","faUserShield","faChevronLeft","faCheck","faCheckSquare","faReply","faFilter","faDownload","faArrowRight","faUpload","faFileContract","faUndoAlt","faUserEdit","faLightbulb","faExclamationTriangle","faCircle","farFile","faUsers","faUserFriends","faBox","faUserMd","faBriefcaseMedical","faShareAltSquare","faFileMedicalAlt","faBan","faFirstAid","faNotesMedical","faAngleDown","faSlidersH","faFilePdf","faFileExcel","faFileVideo","faFileAudio","faFileWord","faFileImage","faShareAlt","faFileMedical","faPrescriptionBottleAlt","faPlayCircle","faListAlt","faProcedures","farCalendarAlt","farCalendarCheck","faCalendarDay","faUserCheck","faArrowLeft","faMobileAlt","faAt","faCalendarAlt","faHeartbeat","faLaptopMedical","faBriefcase","faThumbsUp","faCcVisa","faCcMastercard","faCcDinersClub","faCcAmex","faMapMarkedAlt","faCashRegister","faWallet","faEnvelope","faCoins","faBalanceScaleRight","faBell","faClock","faHandHoldingUsd","faTags","faChartLine","faReceipt","faStickyNote","faAngleLeft","faUserPlus","faTimesCircle","faUserTimes","faSignInAlt","faPaperPlane","faWhatsapp","faMobile","farEnvelope","faFileInvoiceDollar","faSpinner","faHourglassHalf","faPrint","farTimesCircle","faLandmark","faCogs","faTruckLoading","faCalendar","faCalculator","faBalanceScale","farCheckCircle","faUserGraduate","faGraduationCap","faSchool","faIdBadge","faCubes","faRulerHorizontal","faBoxes","faCog","CurrentAdminProfile","editingCurrentUser","userMenuOptions","handleEditProfile","currentUserGet","changePasswordClickHandle","signoutClickHandle","userName","displayName","base64","CurrentUserEdit","TopbarAdmin","toggleClickHandle","RestrictedRoute","userFeatures","userRoles","Route","redirectToDefaultUserRoute","defaultPath","Redirect","RouteRedirect","SimpleRoute","exact","WrappedRoute","_route$isContainer","onBeforeRouteRender","buildPath","renderRoute","routeProps","isContainerAux","redirectTo","Routes","Suspense","fallback","Content","AdminContainer","useAuthContext","handleClickHelp","wlogo","logo","handleClickSettings","QuestionCircleOutlined","CurrentUserProfile","UploadRegistrationStatementModal","isRequiredRegistrationStatement","setFileList","newFileList","splice","handleUpload","_error$message","finally","AppContainer","isMultiTenant","isActivated","InsideHeader","hasTreatmentInvite","SettingsMenu","getIcon","_route$menu","hide","handleGo","RegExp","Settings","setCollapsed","baseRoute","isBaseRoute","defaultRoute","defaultCollapsed","toggleCollapsed","MenuFoldOutlined","rotate","PartnershipContainer","singularTitle","accountType","enableStock","userReducer","createResourceReducer","USER","USER_UPDATE_PASSWORD","newState","normalizeResourceState","updateResourceState","USER_SAVE_PASSWORD","RESOURCE","USER_SAVE_PASSWORD_FINISHED","USER_SAVE_PASSWORD_FAILED","USER_CURRENT_GET_FINISHED","currentUser","USER_CURRENT_UPDATE","USER_CURRENT_UPDATE_FINISHED","USER_CURRENT_CANCEL","USER_REPORT_INITIALIZE","report","USER_REPORT_CANCEL","USER_REPORT_FAIL","USER_REPORT_SEND","USER_REPORT_SEND_FINISHED","USER_CONTRIBUTOR_DELETE_FINISHED","USER_GET_MY_PREFERENCES_FINISHED","myPreferences","USER_UPDATE_MY_PREFERENCES","USER_UPDATE_MY_PREFERENCES_FINISHED","USER_CANCEL_MY_PREFERENCES","USER_CREATE_COMPANY","USER_CLOSE_COMPANY_EDIT","USER_GET_COMPANY_FINISHED","USER_POST_COMPANY","USER_POST_COMPANY_FINISHED","USER_PUT_COMPANY","USER_PUT_COMPANY_FINISHED","initialState","layoutType","LAYOUT_TYPE_FULL","colorSelection","THEME_COLOR_SELECTION_PRESET","APP_DEFAULT","isDirectionRTL","languageId","settingsReducer","THEME_TYPE_SEMI_DARK","APP_ADMIN","THEME_TYPE","THEME_COLOR","themeColor","LAYOUT_TYPE","authReducer","authenticating","_payload$data$user$cl","tenantName","concatReducers","accountReducer","activities","errorMessage","act","medicalRecordSectionReducer","eventReducer","appointmentTodayItems","updatingStatus","deletingId","updatedEvent","_view","_resource$schedules","schedules","defaultResourceState","_action$payload$confi","attendanceReducer","ATTENDANCE","ATTENDANCE_START_OR_STOP_SERVICE","startingOrstopping","ATTENDANCE_START_OR_STOP_SERVICE_FINISHED","ATTENDANCE_SET_EDIT_VALUES","ATTENDANCE_UPDATE_ANSWER","sections","newSections","ATTENDANCE_CREATE_DOCUMENT","modalDocumentEdit","ATTENDANCE_CLOSE_DOCUMENT","ATTENDANCE_CREATE_DOCUMENT_FIELD","creatingDocument","ATTENDANCE_CREATE_DOCUMENT_FIELD_FINISHED","sectionId","ATTENDANCE_UPDATE_DOCUMENT_FIELD","ATTENDANCE_UPDATE_DOCUMENT_FIELD_FINISHED","ATTENDANCE_DELETE_DOCUMENT_FIELD","ATTENDANCE_DELETE_PRESCRIPTION_FIELD","ATTENDANCE_UPDATE_ANSWER_FINISHED","ATTENDANCE_CREATE_PRESCRIPTION_FIELD","creatingPrescription","ATTENDANCE_CREATE_PRESCRIPTION_FIELD_FINISHED","modalPrescriptionEdit","ATTENDANCE_CLOSE_PRESCRIPTION","ATTENDANCE_CREATE_PRESCRIPTION","ATTENDANCE_UPDATE_PRESCRIPTION_FIELD","ATTENDANCE_UPDATE_PRESCRIPTION_FIELD_FINISHED","ATTENDANCE_PRESCRIPTION_REDIRECT_RECEITA_DIGITAL","redirecting","ATTENDANCE_PRESCRIPTION_REDIRECT_RECEITA_DIGITAL_FINISHED","handleError","patientReducer","PATIENT","PATIENT_VIEW","PATIENT_EVENT_FETCH","PATIENT_EVENT_FETCH_FINISHED","PATIENT_VIEW_FINISHED","resourceView","PATIENT_VIEW_UPDATE","PATIENT_CREATE_ATTENDANCE","creatingService","PATIENT_EVENT_UNLOAD","PATIENT_EVENT_LINK_TREATMENT_FINISHED","PATIENT_EVENT_SHARE_FINISHED","PATIENT_SHOW_EVENTS","show","PATIENT_SHOW_ACTIVITIES","PATIENT_SHOW_SCHEDULES","showSchedulesPatientId","PATIENT_CLOSE_SCHEDULES","PATIENT_EVENT_PRESCRIPTION_SHOW","eventPrescription","PATIENT_EVENT_PRESCRIPTION_CLOSE","PATIENT_EVENT","PATIENT_EVENT_FINISHED","PATIENT_PRESCRIPTION_CREATE_INTEGRATED","PATIENT_PRESCRIPTION_CREATE_INTEGRATED_FINISHED","PATIENT_OPEN_ANNOTATION","PATIENT_CLOSE_ANNOTATION","PATIENT_EVENT_CREATE_ANNOTATION","PATIENT_EVENT_CREATE_ANNOTATION_FINISHED","PATIENT_EVENT_LIST_OPEN_FILTER","openFilter","PATIENT_EVENT_LIST_CLOSE_FILTER","PATIENT_GET_TAGS_FINISHED","_action$payload$data$","_action$payload","_action$payload$data","tags","PATIENT_CREATE_TAG","tag","PATIENT_REMOVE_TAG","PATIENT_SHOW_FINANCIALENTRY","visibleFinancialEntryPatientId","PATIENT_CLOSE_FINANCIALENTRY","treatmentReducer","myTreatmentPartnerLoading","myTreatmentPartners","canceling","cancellation","dashboardReducer","userProductivity","productivity","onlyConcluded","steps","attendances","companyReducer","editingSettings","setupSteps","createReducer","actionTypePrefix","methods","errorHandler","subscriptionReducer","plans","purchasePackage","buyingPackage","balanceDetails","packageList","prescriptionReducer","PRESCRIPTION","PRESCRIPTION_SHOW","forceDefaultPrescription","PRESCRIPTION_CLOSE","financialEntryReducer","FINANCIALENTRY","FINANCIALENTRY_OPEN_INVOICE_FINISHED","FINANCIALENTRY_CLOSE_INVOICE","FINANCIALENTRY_CANCEL_INVOICE_FINISHED","FINANCIALENTRY_REFRESH","FINANCIALENTRY_OPEN_RESEND_EMAIL_INVOICE","FINANCIALENTRY_CLOSE_RESEND_EMAIL_INVOICE","FINANCIALENTRY_RESEND_EMAIL_INVOICE","FINANCIALENTRY_RESEND_EMAIL_INVOICE_FINISHED","FINANCIALENTRY_POST","FINANCIALENTRY_POST_FINISHED","FINANCIALENTRY_OPEN_DETAIL","FINANCIALENTRY_OPEN_DETAIL_FINISHED","FINANCIALENTRY_CLOSE_DETAIL","FINANCIALENTRY_DELETE","FINANCIALENTRY_DELETE_FINISHED","FINANCIALENTRY_EXPORT","exporting","FINANCIALENTRY_EXPORT_FINISHED","exportedItems","FINANCIALENTRY_CHANGE_TO_EXPORT","FINANCIALENTRY_CHANGE_TO_EXPORT_FINISHED","FINANCIALENTRY_EXPORT_CSV","FINANCIALENTRY_EXPORT_CSV_FINISHED","FINANCIALENTRY_OPEN_TRANSFER","FINANCIALENTRY_CLOSE_TRANSFER","FINANCIALENTRY_CREATE_TRANSFER","FINANCIALENTRY_CREATE_TRANSFER_FINISHED","FINANCIALENTRY_DELETE_TRANSFER","FINANCIALENTRY_DELETE_TRANSFER_FINISHED","categoryReducer","CATEGORY","CATEGORY_FETCH","CATEGORY_FETCH_FINISHED","checkingAccountReducer","CHECKINGACCOUNT","CHECKINGACCOUNT_REFRESH_RESOURCE","CHECKINGACCOUNT_FETCH_BALANCES","CHECKINGACCOUNT_FETCH_BALANCES_FINISHED","balances","campaignReducer","cloningCampaign","ledgerAccountReducer","importingFile","standardHistoryReducer","openFinancialExchangeReducer","loadingConciliationId","conciliation","financialStatisticReducer","_action$payload2","_action$payload3","totalLastMonths","loadingSummary","loadingCashFlow","cashFlow","collaboratorReducer","COLLABORATOR","COLLABORATOR_INVITATION_RESEND_FINISHED","COLLABORATOR_CHANGE_INACTIVATE_FINISHED","healthServiceProviderReducer","notFound","currentProfessional","editingCurrentProfessional","packageReducer","partnershipReducer","PARTNERSHIP","PARTNERSHIP_INVITATION_RESEND","PARTNERSHIP_LICENSE_SUMMARY_FINISHED","resourceReducer","RESOURCE_GET_TO_EDIT","RESOURCE_GET_TO_EDIT_FINISHED","RESOURCE_UPDATE","RESOURCE_UPDATE_FINISHED","RESOURCE_CREATE_FINISHED","RESOURCE_SET_PARAMS_FINISHED","RESOURCE_SET_CURRENT","currentAttr","RESOURCE_CREATE_INITIALIZE","RESOURCE_FETCH","RESOURCE_FETCH_FINISHED","RESOURCE_CANCEL_EDIT","RESOURCE_UNLOAD","RESOURCE_CURRENT_UNLOAD","resourceState","productMovementReducer","PRODUCTMOVEMENT","PRODUCTMOVEMENT_DELETE","PRODUCTMOVEMENT_DELETE_FINISHED","resourceRedurcers","appReducer","reducerMap","router","connectRouter","subscriptions","combineReducers","rootReducer","updateLocale","weekdaysMin","customizeRenderEmpty","Main","expiration","currentRefreshToken","handleBeforeRefreshToken","authData","setLayoutType","LAYOUT_TYPE_BOXED","LAYOUT_TYPE_FRAMED","setNavStyle","NAV_STYLE_DEFAULT_HORIZONTAL","NAV_STYLE_DARK_HORIZONTAL","NAV_STYLE_INSIDE_HEADER_HORIZONTAL","NAV_STYLE_ABOVE_HEADER","NAV_STYLE_BELOW_HEADER","componentWilUnmount","removeEventListener","THEME_TYPE_DARK","ConfigProvider","renderEmpty","ptBR","AuthContextProvider","enableRefreshToken","onBeforeRefreshToken","setConfig","memedUrl","multiTenant","host","iuguAccountId","isTestMode","labelCol","wrapperCol","pattern","mismatch","setAccountID","setTestMode","createBrowserHistory","store","middlewares","thunk","routerMiddleware","Boolean","compose","createStore","applyMiddleware","rootStore","ReactDOM","ConnectedRouter","getElementById","word","n","backgroundColor","arr","middleSeparator","lastSeparator","_subscription$hasLice","endTrialPeriod","isExpired","isSame","period","duration","diff","humanize","getMessage","hasFeature","identifier","getValueFeature","allowThrow","customMessage","navigator","clipboard","writeText","_features$find","featureIdentifiers","Edit","useFormContext","formField","useFormField","savePasswordFailed","handleSave","err","newPassword","passwordConfirmation","savePassword","warn","isRequired","video","audio","pdf","excel","_data$authenticating","_auth$user","getKey","_len2","_key2","tenants","account","_data$user$roles$some","_data$user","_data$user$roles","financialEntryId","exportFetch","changeExport","sum","isInteger","numbers","Set","calc","factor","digits","onAfterUpdate","refreshAuthenticatedUser","birthDate","currentUserUpdate","currentUserCancel","ROLES","refreshResource","setEnabled","uniqueCostCenter","setUniqueCostCenter","removeCollaborator","_c$auth","_props$data","close","COLLABORATOR_CHANGE_INACTIVATE","resendInvitation","inactivate","activate","getMyPreferences","updateMyPreferences","cancelMyPreferences","createCompany","closeCompanyEdit","getCompany","postCompany","userOwnerId","putCompany","fetchTree","resendEmail","CurrentUserMyPreferences","PatientFinancialEntryListInternal","closeFinancialEntry","patientIds","PatientFinancialEntryList","CompanyEditInternal","_data$isLegalPerson","certificate","isUploadCertificate","setIsUploadCertificate","setEnable","setImage","isCompany","setIsCompany","lastFederalTaxNumber","findCompany","legalName","stateTaxNumber","cityTaxNumber","setCompanyData","handleSuccessPostCertificate","submittedValues","uploadCertificate","_settings$serviceInvo","expirationAt","_settings$serviceInvo2","_settings$serviceInvo3","_settings$serviceInvo4","Password","_c$resources$users","_c$resources$companie","companies","unloadOnUnmount","ResourceComponent","registrationType","setRegistrationType","_professionalRegistra","professionalRegistration","UploadProfileImage","CurrentProfessionalEdit","_user$professionalNam","_user$profileImage","handleEditProfessional","handleMyPreferences","allowCreateCompany","handleEditingCompany","handleMySubscription","changeTenantClickHandle","handleUpdatePassword","handleBackToRootTenant","handleChangeColaborator","signout","CompanyEdit","getDetail","fetchEvents","updateView","showCreateAttendance","unloadEvents","openAnnotation","linkEventToTreatment","treatmentId","shareEvent","showEvents","showActivities","initializeCreate","showSchedules","closeSchedules","createEvent","createIntegratedPrescription","syncDigitalEventPrescription","findByFederalTaxNumber","onlyNumber","eventsOpenFilter","eventsCloseFilter","getTags","createTag","removeTag","patientTagId","showFinancialEntry","years","months","formatDateToNumber","formatPhone","phone","formatInitials","_initials$shift","_initials$pop","rgx","matchAll","shift","pop","BLOOD","USERTENANT_INVITATION_STATUS","PAYMENTMETHOD","fieldsDefault","outKey","outLabel","getNormalizedData","object","objects","isFunction","functionToCheck","call","getDayOfWeek","convertIsoWeekdayForEnum","isoWeekday","cache","onFetching","unit","_unit$name","self","filterObjectByKey","String","getObject","handleSelect","onDeselect","objectSelected","handleClear","handleDropdownVisibleChange","handleScroll","ceil","triggerTagRender","handleMaxTagPlaceholder","remoteSelect","shouldComponentUpdate","nextProps","nextParams","getByKey","_this$state$cache$fin","addCaches","onClear","onPopupScroll","dropdownRender","setEditValues","attendance","stopService","updateAnswers","section","createDocumentField","createPrescriptionField","saveAsModel","updateDocumentField","deleteDocumentField","createDocumentEdit","closeDocumentEdit","createPrescriptionEdit","closePrescriptionEdit","deletePrescriptionField","updatePrescriptionField","syncDigitalPrescription","attendanceId","callbackUrl"],"mappings":"iGAAA,ykFAAO,MAAMA,EAAU,UACVC,EAAY,YACZC,EAAc,cACdC,EAAW,WACXC,EAAY,YACZC,EAAU,UACVC,EAAU,UACVC,EAAyB,wBAEzBC,EAAU,UACVC,EAAW,WACXC,EAAa,aACbC,EAAU,UAEVC,EAAQ,QACRC,EAAiB,iBAEjBC,EAAU,UACVC,EAAU,UAGVC,EAAU,UACVC,EAAgB,gBAChBC,EAAa,aACbC,EAAiB,iBAEjBC,EAAa,aACbC,EAAa,aACbC,EAAY,YACZC,EAAc,cACdC,EAAc,cACdC,EAAS,SACTC,EAAe,eACfC,EAAO,OACPC,EAAY,YACZC,EAAiB,iBACjBC,EAAM,MACNC,EAAqB,qBACrBC,EAAQ,QAERC,EAAW,WACXC,EAAW,WAEXC,EAAY,YACZC,EAAY,YACZC,EAAY,YACZC,EAAY,YACZC,EAAa,aACbC,EAAa,aACbC,EAAY,YACZC,EAAY,YAGZC,EAA4B,WAC5BC,EAA8B,aAE9BC,EAAO,OACPC,EAAQ,QACRC,EAAM,MACNC,EAAa,aAEbC,EAAW,WACXC,EAAQ,QACRC,GAAY,YAEZC,GAAuB,UAEvBC,GAAa,QACbC,GAAoB,eACpBC,GAAoB,eACpBC,GAAY,OACZC,GAAe,UACfC,GAAiC,4BACjCC,GAA4B,uBAC5BC,GAAiB,YACjBC,GAAkB,aAClBC,GAAmB,cACnBC,GAA+B,0BAC/BC,GAAa,QAEbC,GAAiB,SACjBC,GAAwB,gBACxBC,GAAgB,QAChBC,GAAuB,eACvBC,GAAqB,aACrBC,GAAoB,YACpBC,GAAkB,UAClBC,GAAe,OACfC,GAAsB,cACtBC,GAAkC,yBAElCC,GAAc,a,mCC3F3B,4RAEO,MAAMC,EAAuB,gCACvBC,EAAe,wBACfC,EAAkB,2BAClBC,EAAc,cAEdC,EAAqBC,IACzB,CAAEC,KAAML,EAAcI,UAGxB,SAASE,EAAuBC,GACrC,MAAO,CAAEF,KAAMN,EAAsBQ,eACvC,CAEO,SAASC,EAAiBC,GAC/B,MAAO,CAAEJ,KAAMK,IAAWD,WAC5B,CAEO,SAASE,IACd,MAAO,CAAEN,KAAMH,EACjB,C,85FC4IeU,I,gECuDAC,MAjNOC,IAYf,IAZgB,SACrBC,EAAQ,KACRC,EAAI,SACJC,EAAQ,UACRC,EAAY,CAAC,MAAO,OAAM,KAC1Bb,EAAO,QAAO,gBACdc,EAAkB,GAAE,OACpBC,EAAM,SACNC,EAAQ,aACRC,EAAY,SACZC,EAAQ,YACRC,GACDV,EACC,MAAOW,EAAOC,GAAYC,mBAAS,CACjCC,SAAS,EACTC,IAAKP,IAGPQ,qBAAU,KACRJ,EAAS,IAAKD,EAAOI,IAAKP,GAAe,GACxC,CAACA,IAEJ,MAsCMS,EAAaA,CAACF,EAAKG,KACvBN,EAAS,CACPG,MACAD,SAAS,IAGPb,GACFA,EAASiB,EACX,EAoDIC,EACJC,cAAA,OAAAC,SACGV,EAAMG,QACLM,cAACE,IAAe,IAEhBC,eAAA,OAAKC,UAAU,iDAAgDH,SAAA,CAC5DX,EAAcU,cAAA,QAAAC,SAAOX,IAAsB,KAC5CU,cAACK,kBAAe,CAACD,UAAU,cAAcE,KAAK,WAAWC,KAAK,aAkChE,IAAEZ,GAAQJ,EAEhB,OACEY,eAAA,OACEC,UAAU,8BACVI,MAAO,CACLtC,MAAO,IACPuC,OAAQ,OACRC,SAAU,WACVC,cAAe,IACfV,SAAA,CAEDN,IAAQN,GACPW,cAACY,IAAM,CACLzC,KAAK,OACL0C,QAtFkBC,KACxBjB,EAAW,KAAM,MAEbV,GACFA,GACF,EAkFMqB,MAAO,CACLE,SAAU,WACVK,OAAQ,EACRC,IAAK,EACLC,WAAY,UACZ/C,MAAO,GACPuC,OAAQ,GACRS,QAAS,OACTC,WAAY,SACZC,eAAgB,UAChBnB,SAEFD,cAACqB,IAAmB,CAACjB,UAAU,oBAGnCJ,cAACsB,IAAM,CACLxC,KAAMA,EACNyC,SAAS,eACTnB,UAAU,oBACVf,SAAUA,EACVmC,cAnGmBC,IACvB,MAAMC,EAAO,IAAIC,SAEbzC,GACF0C,OAAOC,KAAK3C,GAAQ4C,SAASC,IAC3BL,EAAKM,IAAID,EAAK7C,EAAO6C,GAAK,IAI9BL,EAAKO,OAAOnD,EAAM2C,EAAQS,MAC1BC,MAAIC,KAAKrD,EAAU2C,GAAMW,MAAMC,IACvBA,GAAOA,EAAIC,QAGfC,IAAQC,MACN,iEAEFjD,EAAS,IAAKD,EAAOG,SAAS,KAL9B+B,EAAQiB,UAAUJ,EAAIZ,KAAMD,EAAQS,KAMtC,GACA,EAiFES,aA3KgBT,IACpB,IAAIU,GAAkB,GAGX,UAATzE,GACAa,EAAU6D,SAASX,EAAK/D,KAAK2E,QAAQ,SAAU,IAAIC,gBAInD/D,EAAU6D,SAdeG,KAC3B,MAAMC,EAAOD,EAASE,MAAM,iBAAiB,GAC7C,OAAe,MAARD,EAAeA,EAAO,EAAE,EAYVE,CAAoBjB,EAAKpD,MAAMgE,QAAQ,IAAK,QAF/DF,GAAkB,GAOfA,GACHJ,IAAQC,MAAM,qDAADW,OACoCC,YAC7CrE,EAAUsE,KAAKC,GAAMA,EAAEC,gBACvB,KACA,OACD,MAIL,MAAMC,EAASvB,EAAK3B,KAAO,KAAO,KAAO,EAMzC,OAJKkD,GACHjB,IAAQC,MAAM,uDAGTG,GAAmBa,CAAM,EA8I5B5E,SAhIsB6E,IAC1B,GAAyB,cAArBA,EAAKxB,KAAKyB,QAKd,GAAyB,SAArBD,EAAKxB,KAAKyB,OAAmB,CAC/B,IAAIC,EAAU,GAGZA,EADW,UAATzF,EACQuF,EAAKxB,KAAKpC,SAAS+D,OAAOlE,IAE1B+D,EAAKxB,KAAKpC,SAAS+D,OAG/BhE,EAAW+D,EAASF,EAAKxB,KAAKpC,SAAS+D,OACzC,OAdErE,EAAS,CAAEE,SAAS,GActB,EAiHIgC,KAAMxC,EACN4E,gBAAgB,EAAM7D,SApET8D,MACjB,MAAM,IAAEpE,GAAQJ,EAEhB,OAAKI,EAIQ,UAATxB,EAEA6B,cAAA,OACEgE,IAAG,GAAAZ,OAAKa,gCAA6B,KAAAb,OAAIzD,GACzCuE,IAAKpF,EACL0B,MAAO,CAAEtC,MAAO,UAKT,aAATC,EAEA6B,cAAA,OAAAC,SACED,cAAA,QAAAC,SAAOhB,GAAmBU,MAKzB,KArBEI,CAqBE,EA6CNgE,OAEC,E,oBC1IKI,MApEavF,IAMrB,IANsB,YAC3BU,EAAW,WACX8E,EAAa,GAAE,UACfC,EAAS,KACTvF,EAAI,MACJZ,GACDU,EACC,MAAO0F,EAAWC,GAAgB9E,oBAAS,IACpCuD,EAAUwB,GAAe/E,mBAAS,OAClCT,EAAWyF,GAAgBhF,mBAAS,MAqCrCiF,EAAc,CAClB5F,OACA6D,aAjC0BT,IAC1B,IAAIU,GAAkB,EAEtB,MAAM+B,EARqBzC,KAC3B,MAAMe,EAAOf,EAAKgB,MAAM,iBAAiB,GACzC,OAAe,MAARD,EAAeA,EAAO,EAAE,EAMJE,CAAoBjB,EAAKpD,MAAMgE,QAAQ,IAAK,IAKvE,GAJIsB,EAAWvB,SAAS8B,KACtB/B,GAAkB,IAGfA,EAAiB,CACpB,MAAMgC,EAAQvB,YAAKe,EAAY,KAAM,OACrC5B,IAAQC,MAAM,qDAADW,OAAgDwB,EAAK,KACpE,CAEA,MAAMnB,EAASvB,EAAK3B,KAAO,KAAO,KAAO,EASzC,OAPKkD,GACHjB,IAAQC,MAAM,uDAGhB+B,EAAYtC,EAAKpD,MACjB2F,EAAaE,GACbJ,EAAa3B,GAAmBa,GACzBb,GAAmBa,CAAM,EAYhCK,gBAAgB,EAChBtC,cAV2BC,IACvB4C,GACFA,EAAU5C,EACZ,GAUF,OAAO6C,EACLtE,cAACsB,IAAM,IAAKoD,EAAWzE,SACrBD,cAACY,IAAM,CAACJ,MAAO,CAAEtC,MAAY,OAALA,QAAK,IAALA,IAAS,KAAOoC,KAAMN,cAAC6E,IAAc,IAAI5E,SAC9D6E,YAAS9B,EAAU,GAAG,OAADI,OAASpE,QAInCgB,cAACsB,IAAM,IAAKoD,EAAWzE,SACrBD,cAACY,IAAM,CAACJ,MAAO,CAAEtC,MAAY,OAALA,QAAK,IAALA,IAAS,KAAOoC,KAAMN,cAAC6E,IAAc,IAAI5E,SAC9DX,KAGN,E,gBClEoByF,IAAMC,UAoEdC,I,UC8CAC,MAlHItG,IAWZ,IAXa,SAClBuG,EAAQ,eACRC,EAAc,YACdC,EAAW,KACXC,EAAI,MACJC,EAAK,OACLC,EAAM,aACNC,EAAY,SACZxF,EAAQ,WACRyF,EAAU,eACVC,GACD/G,EACC,MAAOgH,EAAeC,GAAoBpG,mBAAS,MAsDnD,OACEU,eAAA,OAAAF,SAAA,CACEE,eAAA,OAAKC,UAAU,yBAAwBH,SAAA,CACrCE,eAAA,OAAKC,UAAU,wBAAuBH,SAAA,CACpCD,cAAA,QAAMI,UAAU,+CAA8CH,SAC3DqF,GAAQA,EAAKhF,MACZN,cAACK,kBAAe,CAACD,UAAU,OAAOE,KAAMgF,EAAKhF,SAGhDiF,KAEHvF,cAAA,OAAKI,UAAU,yBAAwBH,SACrCD,cAAA,OAAKI,UAAU,sFAAqFH,SAClGE,eAAA,OAAKC,UAAU,gBAAeH,SAAA,CAC5BD,cAAA,SACEI,UAAU,wBACVjC,KAAK,SACLmB,YAAY,eACZT,SAtEciH,IACtBF,GACFG,aAAaH,GAGf,MAAMI,EAAQF,EAAEG,OAEZd,GAAYW,EAAEG,OAChBJ,EAAiBK,YAAW,IAAMf,EAASa,EAAMG,QAAQ,MAI3DN,EACEK,YACE,IACEd,EAAe,IACVC,EACHe,KAAM,EACNC,WAAYL,EAAMG,SAEtB,KAEH,IAkDSnG,cAAA,QAAMI,UAAU,4BAA2BH,SACzCD,cAAA,KAAGI,UAAU,8BAKrBJ,cAAA,OAAKI,UAAU,wBAAuBH,SACnCwF,EACCA,IAEAzF,cAAA,OAAKI,UAAU,+BAA8BH,SAC3CE,eAACS,IAAM,CAACzC,KAAK,UAAU0C,QAASA,IA1DvB,WACnB2E,EAD0Bc,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAEhC,CAwDkDG,GAAexG,SAAA,CACnDD,cAAC0G,IAAY,IAAG,iBAOzBzG,EACCD,cAAA,OAAKI,UAAU,yDAAwDH,SACpEA,IAED,OACA,E,oBCSK0G,MAxHIC,IACjB,MAAM,WACJC,EAAU,QACVnH,EAAO,SACPO,EAAQ,YACR6G,EAAW,aACXC,EAAY,aACZC,EAAY,aACZC,EAAY,UACZ7G,EAAS,kBACT8G,EAAiB,QACjBC,EAAO,WACPC,EAAU,QACVC,EAAO,cACPC,EAAa,aACbC,EAAY,WACZC,EAAU,YACVC,GAAc,EACdC,iBAAkBC,EAAgB,OAClCC,EAAS,KAAI,OACbC,EAAM,eACNC,GAAiB,EAAI,YACrBC,GAAc,GACZnB,EAEJ,IAAI,WAAEoB,GAAepB,EAEhBkB,IACHE,GAAa,GAgBbC,MAAMC,QAAQf,IACdM,IACCN,EAAQgB,MAAM5E,GAAgB,WAAVA,EAAExB,OAEvBoF,EAAQiB,KAAK,CACXrG,IAAK,SACLsG,MAAO,QACPC,OAAQA,CAACC,EAAGC,IACVb,EACE3H,cAAC2H,EAAgB,CACfa,OAAQA,EACR1B,YAAaA,EACbS,aAAcA,IAGhBpH,eAAAsI,WAAA,CAAAxI,SAAA,CACED,cAACY,IAAM,CAACL,KAAK,QAAQM,QAASA,IAAMiG,EAAY0B,GAAQvI,SAAC,WAGzDD,cAAC0I,IAAU,CACTnD,MAAM,kBACNoD,UAAWA,IAAMpB,EAAaiB,EAAOI,IACrCC,WAAW,SACXC,OAAO,MAAK7I,SAEZD,cAACY,IAAM,CAACzC,KAAK,SAASoC,KAAK,QAAON,SAAC,mBAiB/C,OACEE,eAAAsI,WAAA,CAAAxI,SAAA,CACG2H,EACD5H,cAAC+I,IAAK,CACJC,OAAQ,CAAEC,EAAG,KACb1I,KAAM2I,gBAAcC,YAAYC,OAAOC,KAAKC,MAAM/I,KAClDH,UAAWA,EACXV,QAASA,EACT6J,OAASf,IAAM,IAAAgB,EAAA,OAAc,QAAdA,EAAKhB,EAAOI,UAAE,IAAAY,IAAIhB,EAAOiB,IAAI,EAC5CzC,aAAcA,EACdgB,WAAYA,EACZnJ,SAAUqI,EACVL,YApBiB6C,EAoBS7C,EAnB1BgB,EACK6B,EAAM7B,OAAOA,GAGf6B,GAgBHzC,aAAcA,EACdO,WAAYA,EACZL,QAASA,EACTwC,OAAQ,CAAEC,UAAW,+BACrBxC,WAAYA,EACZyC,MAAOA,CAACrB,EAAQsB,KACP,CACLxC,cAAeA,IA3EEkB,KACpBT,IAIDT,EACFA,EAAckB,GACL1B,GACTA,EAAY0B,GACd,EAkE6BuB,CAAkBvB,GACvCsB,QACAzC,YAEFpH,SAEmB,oBAAbA,EACJA,EAAS,CAAE6G,cAAaS,eAAcR,iBACtC9G,OApCayJ,KAsClB,E,mBCvGQM,MAdIpL,IAA4D,IAA3D,MAAE2G,EAAK,SAAEtF,EAAQ,UAAEgK,EAAS,MAAEC,EAAK,MAAEC,EAAK,QAAEC,GAASxL,EACvE,OACEoB,cAACqK,IAAI,CACH9E,MAAOA,EACP6E,QAASA,EACTF,MAAOA,EACP9J,UAAS,kBAAAgD,OAAoB6G,GAC7BE,MAAOA,EAAMlK,SAEZA,GACI,E,gBCGIqK,I,0BCZf,MAAMC,EAA0B,CAC9BC,SAAU,gCAGNC,EAAU1F,IAAM2F,cAAc,CAAEC,KAAM,OAE5C,MAAMC,UAAoBC,gBAKxBvC,SACE,IAAIwC,EAAS,CAAC,EAEd,MAAM,SACJ7K,EAAQ,KACR0K,EAAI,cACJI,EAAgB,CAAC,EAAC,gBAClBC,KACGC,GACDC,KAAKtE,MAMT,OAJIoE,IACFF,EAASE,EAAgBD,IAIzB/K,cAACyK,EAAQU,SAAQ,CAAChF,MAAO,CAAEwE,QAAO1K,SAChCD,cAACoL,IAAI,IACCH,EACJN,KAAMA,EACNU,iBAAkBd,EAClBQ,cAAeD,EAAO7K,SAErBA,KAIT,EAGF2K,EAAYU,QAAU,KACpB,MAAM,KAAEX,GAASY,qBAAWd,GAE5B,IAAKE,EACH,MAAM,IAAIa,MAAM,sCAGlB,OAAOb,CAAI,EAGbC,EAAY3F,SAAWrG,IAOhB,IACD6M,GARkB,SACtBxL,EAAQ,MACRyL,EAAK,SACLlB,EAAQ,QACRhI,EAAO,MACPmJ,KACGV,GACJrM,EAOC,OAJI4L,IACFiB,EAAe,CAAC,CAAEjB,cAIlBxK,cAACoL,IAAKQ,KAAI,CAACF,MAAOA,EAAOC,MAAOA,GAASF,KAAkBR,EAAIhL,SAC5DA,GACS,EAID2K,Q,oDC5EA,I,OCSf,MAAQ3F,SAAS,GAAI2F,EA8MNlM,I,0BCnJAmN,I,uDCzCAC,MAvBE,CACfC,KAAM,OACNC,KAAM,QACNC,MAAO,SACPC,OAAQ,WACRC,KAAM,SACNC,UAAW,qBACXC,IAAK,MACLC,MAAO,SACPC,SAAU,SACVC,KAAM,aACNC,UAAW,QACXC,SAAU,YACVC,MAAO,OACPC,OAAQ,SACRC,gBACE7M,cAAA,OAAKI,UAAU,8CAA6CH,SAC1DD,cAAC8M,IAAK,CAACC,MAAOD,IAAME,2BAGxBC,SAAWC,GAAK,wBAAA9J,OAA6B8J,EAAQ,ICjBvDC,IAAOxD,OAAO,SACd,MAAMyD,EAAYC,YAAgBF,KAE5BG,EACG,QADHA,EAEE,OAFFA,EAGC,MAiIQC,MA7HG3G,IAChB,MAAM,OACJ4G,EAAS,GAAE,SACX3O,EAAQ,aACR4O,EAAY,gBACZC,EAAe,cACfC,EAAgBA,SAAQ,YACxBC,EAAW,KACXC,EAAI,IACJC,EAAG,IACHC,GACEnH,EACJ,IAAI,WAAEQ,GAAeR,EACrB,MAAOoH,EAAMC,GAAWxO,mBAASmO,GAEjChO,qBAAU,KACJf,GACFA,EACEsO,MACGe,QACAC,QAAQP,GACXT,MACGe,QACAE,MAAMR,GAEb,GACC,IA0EH,OAxBIxG,IAAeA,EAAWQ,SAC5BR,EAAa,IACRA,EACHQ,OAAQyG,IAAe,IAAd,KAAEtC,GAAMsC,EACf,MAAa,UAATL,EACKb,IAAOpB,GAAMuC,OAAO,QAGhB,SAATN,EAEA7N,eAAA,OAAKC,UAAU,eAAcH,SAAA,CAC3BD,cAAA,OAAAC,SAAMkN,IAAOpB,GAAMuC,OAAO,UAC1BtO,cAAA,OAAKI,UAAU,wBAAuBH,SACnCkN,IAAOpB,GAAMuC,OAAO,cAMtB,IAAI,IAMftO,cAAA,OAAAC,SACED,cAACuO,IAAQ,CACPnO,UAAU,cACVyN,KAAMA,EACNW,UAAW,EACXpH,WAAYA,EACZgG,UAAWA,EACXtB,SAAUA,EACV0B,OAAQA,EACRM,IAAKA,EACLC,IAAKA,EACLJ,cAAeA,EACfc,cAAc,QACdf,gBAAiBA,EACjBgB,YAAY,MACZC,cAxFoBC,CAACC,EAAOC,KAChC,MAAMC,EAAsB,OAARD,QAAQ,IAARA,IAAYd,EAE3BnP,IAIDiQ,GACFb,EAAQa,GAGNC,IAAgBzB,EAKhByB,IAAgBzB,EAKhByB,IAAgBzB,EAQpBzO,EAASgQ,EAAMG,MAAOH,EAAMI,KAP1BpQ,EACEsO,IAAO0B,EAAMG,OAAOb,QAAQ,OAC5BhB,IAAO0B,EAAMI,KAAKd,QAAQ,QAP5BtP,EAASgQ,EAAM,GAAIA,EAAM,IALzBhQ,EAASgQ,EAAM,GAAIA,EAAM,IAiBK,EA4D5BjB,YAAaA,EACbsB,WAAqB,SAATlB,GAA4B,QAATA,EAC/BP,aA3DmB7O,IAA8B,IAA7B,MAAEoQ,EAAK,IAAEC,KAAQhE,GAAMrM,EAC/C,GAAK6O,EAIL,OAAIO,IAASV,GACX0B,EAAQ7B,IAAO6B,GAAOb,QAAQ,OAC9Bc,EAAM9B,IAAO8B,GAAKb,MAAM,YAExBX,EAAa,IAAKxC,EAAM+D,QAAOC,cAIjCxB,EAAa,IAAKxC,EAAM+D,QAAOC,OAAM,KAgD/B,E,0DCuCKE,OApKSvQ,IAMjB,IANkB,MACvBuH,EAAK,SACLtH,EAAQ,SACRQ,EAAQ,kBACR+P,EAAiB,SACjBC,GACDzQ,EACC,MAAM,KAAE0Q,GAASC,gBACVC,EAAMC,GAAWhQ,oBAAS,IAC3B,SAAEiQ,GAAaC,gBACf,SAAEC,GAAaN,EAmDfO,EAAmB9D,IACnBqD,GACFjN,MACG2N,MAAM,uCAAwC,CAC7CV,oBACAC,WACAU,UAAW5C,IAAOpB,GAAMuC,OAAO,oBAC/B0B,QAAS7C,IAAOpB,GACbkE,IAAI,GAAI,OACR3B,OAAO,oBACV4B,gBAAgB,IAEjB7N,MAAMvC,IACL,GAAa,OAARA,QAAQ,IAARA,MAAUyC,OAAQ,CACrB,MAAM,KAAEb,GAAS5B,GACX,UAAEqQ,EAAS,QAAEC,KAAYnF,GAASvJ,EAAKmC,OACzChF,GACFA,EAAS,IACJoM,EACHkF,UAAWhD,IAAOgD,GAClBC,QAASjD,IAAOiD,IAGtB,IAEN,EAsBF,OAbAxQ,qBAAU,KAAO,IAADyQ,EACA,OAAVlK,GACF0J,EAAgB1C,OAIX,OAALhH,QAAK,IAALA,KAAOmK,kBACc,QAArBD,EAAAlK,EAAMmK,uBAAe,IAAAD,OAAA,EAArBA,EAAuBzH,MAAOwG,GAE9BS,EAAgB1C,MAClB,GACC,CAAChH,EAAOiJ,IAGTjP,eAACoQ,IAAG,CAACnQ,UAAU,cAAcoQ,OAAQ,CAAC,GAAI,IAAIvQ,SAAA,CAC5CD,cAACyQ,KAAM,CAACC,KAAM,EAAEzQ,SACdD,cAAC2Q,IAAU,CACTrC,OAAO,aACPzP,SA5FckN,IATJ6E,IAACT,EAAWC,EAAXD,EAUPpE,EAVkBqE,EAUZrE,EATZlN,GACFA,EAAS,CACPsR,UAAWhD,IAAOgD,GAClBC,QAASjD,IAAOiD,IAMC,EA4FfjK,MAAOgH,IAAY,OAALhH,QAAK,IAALA,OAAK,EAALA,EAAOgK,WACrBU,aAAe9E,GAASA,EAAK+E,SAAS3D,MAAU,OAChD4D,YAAY,EACZ1R,SAAUA,EACVmQ,KAAMA,EACN3O,QAASA,IAAM4O,GAAQ,GACvBuB,SAAUA,IAAMvB,GAAQ,GACxBwB,OAAQA,IAAMxB,GAAQ,OAG1BzP,cAACyQ,KAAM,CAACC,KAAM,GAAGzQ,SACfE,eAAA,OAAKC,UAAU,iDAAgDH,SAAA,CAC7DD,cAACkR,IAAW,CACVC,KAAK,QACL9R,SAAUA,EACV8G,MACO,OAALA,QAAK,IAALA,KAAOgK,UAAYhD,IAAY,OAALhH,QAAK,IAALA,OAAK,EAALA,EAAOgK,WAAW7B,OAAO,SAAW,KAEhEzP,SAAWiH,GA3GUqK,KAC7B,GAAIiB,aAAkBjB,GAAW5J,OAAS,EAAG,CAC3C,MAAMwJ,EAAY5C,IAAY,OAALhH,QAAK,IAALA,OAAK,EAALA,EAAOgK,WAChCJ,EAAU/N,IAAI,OAAQ,GACtB+N,EAAU/N,IAAI,SAAU,GACxB+N,EAAUE,IAAI9C,IAAOgD,EAAW,SAASkB,OAAQ,QACjDtB,EAAUE,IAAI9C,IAAOgD,EAAW,SAASmB,SAAU,UACnD,MAAMtB,EAAUD,EAAU7B,QAC1B8B,EAAQC,IAAY,OAARL,QAAQ,IAARA,OAAQ,EAARA,EAAU2B,kBAAmB,UAErC1S,GACFA,EAAS,CACPsR,UAAWJ,EACXK,QAASJ,GAGf,GA2FyBwB,CAAsB1L,EAAEG,OAAOE,SAElDnG,cAAA,QAAMI,UAAU,kBAAiBH,SAAC,UAElCD,cAACkR,IAAW,CACVC,KAAK,QACL9R,SAAUA,EACV8G,MACO,OAALA,QAAK,IAALA,KAAOiK,QAAUjD,IAAY,OAALhH,QAAK,IAALA,OAAK,EAALA,EAAOiK,SAAS9B,OAAO,SAAW,KAE5DzP,SAAWiH,GAlGQsK,KAC3B,GAAIgB,aAAkBhB,GAAS7J,OAAS,EAAG,CACzC,MAAMyJ,EAAU7C,IAAY,OAALhH,QAAK,IAALA,OAAK,EAALA,EAAOiK,SAC9BJ,EAAQhO,IAAI,OAAQ,GACpBgO,EAAQhO,IAAI,SAAU,GACtBgO,EAAQC,IAAI9C,IAAOiD,EAAS,SAASiB,OAAQ,QAC7CrB,EAAQC,IAAI9C,IAAOiD,EAAS,SAASkB,SAAU,UAE3CzS,GACFA,EAAS,CACPsR,UAAgB,OAALhK,QAAK,IAALA,OAAK,EAALA,EAAOgK,UAClBC,QAASJ,GAGf,GAoFyByB,CAAoB3L,EAAEG,OAAOE,SAGhDnG,cAACY,IAAM,CACLR,UAAU,kBACVjC,KAAK,OACLkB,SAAUA,EACViB,KACEN,cAAC0R,IAAO,CAACnM,MAAM,wBAAkBoM,UAAU,UAAS1R,SAClDD,cAAC4R,IAAc,MAGnB/Q,QAjEmBgR,KACX,IAADC,EAAVzS,GACHwQ,EAA8B,QAAfiC,EAAM,OAAL3L,QAAK,IAALA,OAAK,EAALA,EAAOiK,eAAO,IAAA0B,IAAI3E,MACpC,EA8DsClN,SAE5ByP,EAA+B,KAApB,iCAIf,E,WClJKqC,OAxBMnT,IAAyC,IAAxC,eAAEoT,GAAiB,KAAS/G,GAAMrM,EACtD,OACEuB,eAAC8R,IAAM,IACDhH,EACJiH,iBAAiB,WACjBC,aAAcA,CAACnM,EAAOoM,IACpBA,EAAOxL,MAAM3G,SAAS8C,cAAcsP,QAAQrM,EAAMjD,gBAAkB,EACrE9C,SAAA,CAEA+R,EACChS,cAACiS,IAAOK,OAAM,CAAkBnM,MAAM,aAAYlG,SAAC,oBAAhC,cAGjB,KACJD,cAACiS,IAAOK,OAAM,CAAYnM,MAAM,OAAMlG,SAAC,aAApB,QAGnBD,cAACiS,IAAOK,OAAM,CAAcnM,MAAM,SAAQlG,SAAC,YAAxB,YAGZ,E,kEClBb,MAAM9B,GAAO,kBAEPoU,GAAkB3T,IAMjB,IANkB,MACvBkL,EAAK,QACLzC,EAAO,UACPjH,EAAS,MACTI,KACGgS,GACJ5T,EACC,MAAM6T,EAAMC,qBACL,OAAEC,EAAM,cAAEC,GAAiBC,GAAQC,aAAQ,CAChDC,OAAQ5U,GACR6U,QAAUC,IACR,MAAQnJ,MAAOoJ,GAAcD,EAAQE,WAAa,CAAC,EACnD,OAAID,IAAcpJ,EACT,CAAC,EAEH,CACL6I,OAAQM,EAAQN,SAChBC,cACEM,EAAYpJ,EAAQ,sBAAwB,oBAC/C,EAEH+I,KAAOO,IACD/L,GACFA,EAAQ+L,EAAKtJ,MAAOA,EACtB,KAGG,CAAEuJ,GAAQC,aAAQ,CACvBnV,KAAI,GACJiV,KAAM,CAAEjV,KAAI,GAAE2L,SACdkJ,QAAUC,IAAO,CACfM,WAAYN,EAAQM,iBAKxB,OAFAV,EAAKQ,EAAKZ,IAGRzS,cAAA,MACEyS,IAAKA,EACLrS,UAAS,GAAAgD,OAAKhD,GAASgD,OAAGuP,EAASC,EAAgB,IACnDpS,MAAO,CAAEgT,OAAQ,UAAWhT,MACxBgS,GACJ,EAoESiB,OAhEUpF,IAOlB,IAPmB,SACxBpO,EAAQ,WACRmH,EAAa,CAAC,EAAC,WACfP,EAAa,GAAE,OACfgB,EAAM,UACN6L,KACGzI,GACJoD,EACC,MAAMsF,EAAiBC,GACjB/L,GAAU+L,EACL/M,EAAWgB,QAAQtE,IAAOsE,EAAOtE,KAGtCsE,EACKhB,EAAWgB,OAAOA,GAGpBhB,EAGLO,EACFA,EAAWyM,KAAO,CAAEC,IAAKvB,MAAoBnL,EAAWyM,MAExDzM,EAAa,CAAEyM,KAAM,CAAEC,IAAKvB,MAAoBnL,EAAWyM,OAG7D,MAAMxM,EAAU0M,uBACd,CAACb,EAAWc,KACV,MAAMC,EAAUN,IAAgBT,GAEhC,GAAIQ,EAAW,CACb,MAAMQ,EAAYrM,EAAS8L,GAAc,GAAQ,GAEjDD,EAAU,IACLS,KAAOR,IAAiB,CACzBS,QAAS,CACP,CAAClB,EAAW,GACZ,CAACc,EAAY,EAAGC,SAGjBC,GAEP,IAEF,CAACrN,IAGH,OACE7G,cAACqU,KAAW,CAACC,QAASC,gBAAatU,SAChC8E,IAAMyP,aAAavU,EAAU,CAC5B4J,MAAOA,CAACtB,EAAGuB,KAAK,CACdA,QACAzC,YAEFA,UACAD,aACAP,aACAgB,YACGoD,KAEO,ECzEHwJ,OArCW7N,GAEtBzG,eAAC8R,IAAM,IACDrL,EACJsL,iBAAiB,WACjBC,aAAcA,CAACnM,EAAOoM,IACpBA,EAAOxL,MAAM3G,SAAS8C,cAAcsP,QAAQrM,EAAMjD,gBAAkB,EACrE9C,SAAA,CAEDD,cAACiS,IAAOK,OAAM,CAAiBnM,MAAM,YAAWlG,SAAC,OAA9B,aAGnBD,cAACiS,IAAOK,OAAM,CAAiBnM,MAAM,YAAWlG,SAAC,OAA9B,aAGnBD,cAACiS,IAAOK,OAAM,CAAiBnM,MAAM,YAAWlG,SAAC,OAA9B,aAGnBD,cAACiS,IAAOK,OAAM,CAAiBnM,MAAM,YAAWlG,SAAC,OAA9B,aAGnBD,cAACiS,IAAOK,OAAM,CAAkBnM,MAAM,aAAYlG,SAAC,QAAhC,cAGnBD,cAACiS,IAAOK,OAAM,CAAkBnM,MAAM,aAAYlG,SAAC,QAAhC,cAGnBD,cAACiS,IAAOK,OAAM,CAAiBnM,MAAM,YAAWlG,SAAC,OAA9B,aAGnBD,cAACiS,IAAOK,OAAM,CAAiBnM,MAAM,YAAWlG,SAAC,OAA9B,gB,2CCpBzB,MAAMyU,GAA0B9V,IAMzB,IAN0B,SAC/BqB,EAAQ,KACRyB,EAAI,SACJ3C,EAAQ,cACR4V,KACG1J,GACJrM,EACC,MAAO+L,GAAQS,IAAKE,UAEpB,OACEtL,cAAC4U,0BAAuB,CAACjK,KAAMA,EAAK1K,SACjC8E,IAAMyP,aAAavU,EAAU,IACzBgL,EACHvJ,KAAMA,EAAKmT,eACXC,OAAQpT,EAAKoT,OACbpV,QAASgC,EAAKhC,QACdqV,QAASrT,EAAKqT,QACdC,eAAgBtT,EAAKsT,eACrBC,SAAUvT,EAAKuT,SACfC,QAASxT,EAAKwT,SAAWxT,EAAKqT,QAC9BI,OAAQzT,EAAKyT,OACb5P,MAAM,GAADnC,OAAK1B,EAAKyT,SAAWC,uBAAuB,QAAU,UAAS,KAAAhS,OAClEuR,EAA6B,OAAbA,QAAa,IAAbA,OAAa,EAAbA,EAAe5R,cAAgB,IAEjDhE,cAEsB,EAIxBsW,GAAmBA,CAAAhH,EAYvBoE,KACI,IAXF6C,cAAeC,EAAa,SAC5BxW,EAAQ,aACRyW,EAAY,cACZb,EAAa,WACbc,GAAa,EAAI,SACjB5W,EAAQ,MACRsH,EAAK,iBACLuP,KACGzK,GACJoD,EAGD,MAAMsH,EAAOC,kBAAQ,CAAE7W,cACjB,OACJyG,EAAM,IACNqQ,EACAnU,MAAM,QAAEqT,EAAO,OAAEI,EAAQW,aAAcC,IACrCJ,EAEEK,EAAYtD,iBAAO,OAClBzP,EAAMgT,GAAWxW,mBAAS,OAC1BqW,GAAgBrW,mBAASyW,iBACzBC,EAAWC,GAAgB3W,oBAAS,GACrC4W,EAA2B,aAAdpL,EAAKqL,KAElBC,EAAgBnD,IACZ,OAARvU,QAAQ,IAARA,KAAWuU,EAAK,EAGZoD,EAAiBA,KACrBR,EAAUS,QAAQC,QAClBV,EAAUS,QAAQE,OAClBV,EAAQ,MAEHI,GACHE,EAAa,CAAC,GAGhBrQ,YAAW,KACTV,EAAOgQ,EAAe,CAAE,CAACA,GAAevS,GAAS,CAAC,EAAG,CAAE6S,gBAAe,GACrE,IAAI,EA6FT,OAFAc,8BAAoBnE,GAAK,IAAMuD,EAAUS,UAGvCtW,eAAA,QACEC,UAAS,gDAAAgD,OACNyT,kBAAQ1Q,GAAuB,GAAd,aACjBlG,SAAA,CAEHD,cAAC8W,eAAY,CACX/X,SAAUA,EACVoG,SAxCgBlC,IACpBmT,GAAa,GACbH,EAAQhT,EAAK,EAuCTpE,SAAU0X,EACVQ,wBAjC+B7B,IAC9BA,GACHe,EAAQ,KACV,EA+BIe,qBA/EuBC,IAAyB,IAAxB,KAAE3R,EAAI,SAAE4R,GAAUD,EAC9C,OACE9W,eAAAsI,WAAA,CAAAxI,SAAA,CACGqF,EACA4R,EACClX,cAAA,OAAKI,UAAU,wBAAuBH,SACpCD,cAACmX,KAAI,CAAC5W,KAAK,cAjBjB4V,GACEhW,eAACS,IAAM,CACLR,UAAU,mCACVS,QAAS2V,EAAevW,SAAA,CACzB,cACagD,EAAI,KAAAG,OAAQH,EAAI,QAAS,QAiBtC,EAqEDmU,UAvCgBC,KACpBjB,GAAa,EAAK,EAuCdkB,UAAWjB,EA9BCkB,IAAgC,IAA/B,MAAE7L,EAAK,QAAE8L,EAAO,MAAErR,GAAOoR,EAC1C,OACEpX,eAAA,OAAKC,UAAU,4BAA2BH,SAAA,CACxCD,cAAA,QAAMI,UAAU,UAASH,SAAEyL,IAC3BvL,eAAA,OAAAF,SAAA,CACED,cAACyX,KAAY,CACXrX,UAAU,UACVS,QAASA,KA1EjBgV,EA0E0C1P,EA1EjC,CAAE2P,gBA0EsC,IAE3C9V,cAAC0X,KAAa,CAAC7W,QAAS2W,SAEtB,OAmBgChR,EACpCiM,IAAKuD,EACL7P,MAAOA,KACH8E,KAEJoL,GAAcZ,IAAeoB,kBAAQ1Q,IACrCnG,cAACY,IAAM,CAACR,WAAS,EAACS,QA7GA8W,KACtB,MAAM,IAAE5V,GAAQoE,EAChB0P,EAAI9T,EAAK,CAAE+T,gBAAe,EA2GsBxV,KAAMN,cAACyX,KAAY,MAGhE1B,IAAsBD,GACrB9V,cAAC0U,GAAuB,CACtBkD,wBA7E4BC,IAAuB,IAApBnW,KAAMmC,GAAQgU,EAGnD,GAFA7B,EAAUS,QAAQqB,QAEdzB,EAAY,CACd,MAAM0B,EAAW,IAAI5R,GACf2D,EAAQ3D,EAAM6R,WAAWzU,GAAMA,EAAExB,MAAQ8B,EAAOA,OAAO+E,KAEzDkB,GAAS,EACXiO,EAASjO,GAASmO,4BAAkBpU,EAAOA,QAE3CkU,EAAS3P,KAAK6P,4BAAkBpU,EAAOA,SAGzC0S,EAAawB,EACf,MACExB,EAAa0B,4BAAkBpU,EAAOA,SAGxB,OAAhB6R,QAAgB,IAAhBA,KAAmB7R,EAAOA,OAAO,EA4D3B9E,SAAUA,EACV4V,cAAeA,KACXgB,EAAI1V,SAERD,cAACuV,EAAa,QAGb,EAIIxQ,WAAMmT,WAAW7C,I,UC3KjB8C,OAvCgBvZ,IAQxB,IAADwZ,EAAA,IAR0B,aAC9BC,EAAY,UACZjY,EAAS,aACTkY,EAAe,CAAC,EAAC,KACjBxZ,EAAI,iBACJyZ,EAAgB,mBAChBC,EAAqB,GAAE,IACvBC,GACD7Z,EACC,MAAM8Z,EACJF,EAAmBjS,OAAS,EACc,QADb6R,EACzBI,EAAmB,GAAGG,wBAAgB,IAAAP,OAAA,EAAtCA,EAAwCQ,kBACxC,KAEN,OAAO9Z,EACLqB,eAACoQ,IAAG,CACFnQ,UAAS,uDAAAgD,OAAyDiV,GAClEhQ,MAAM,SACNwQ,QAAQ,QAAO5Y,SAAA,CAEfD,cAAC8Y,IAAG,CAAA7Y,SACFD,cAAC+Y,KAAgB,IACXT,EACJxZ,KAAMA,EACNsB,UAAoB,OAATA,QAAS,IAATA,IAAS,+CAGxBD,eAAC2Y,IAAG,CAAA7Y,SAAA,CACFD,cAAA,OAAKI,UAAU,WAAUH,SAAkB,OAAhBsY,QAAgB,IAAhBA,IAAoBzZ,IAC9C4Z,EACC1Y,cAAA,OAAKI,UAAU,WAAUH,SAAA,GAAAmD,OACnBsV,GAAStV,OAAGqV,EAAG,UAAArV,OAAaqV,GAAQ,MAExC,WAGN,IAAI,E,4CC/BV,MAAMO,GAAWA,CAAApa,EAQf6T,KACI,IARJ,SACExS,EACAqV,cAAeC,EAAa,SAC5BxW,EAAQ,cACRgM,EAAa,wBACb6M,GACDhZ,EAGD,MAAM,WAAEqa,EAAU,OAAEzT,EAAM,IAAEqQ,EAAG,KAAEzT,EAAI,OAAE+R,EAAM,KAAEzS,GAASkU,kBAAQ,CAC9D7W,aAoCIma,EAAqBpO,IACzBtF,EAAa,OAANsF,QAAM,IAANA,IAAUC,EAAc,EAG3BoO,EAAmBvQ,IACnBA,GACFiN,EAAIjN,EACN,EAQF,OALAgO,8BAAoBnE,GAAK,MACvBjN,OAAQ0T,EACRE,KAAMD,MAINhZ,eAAAsI,WAAA,CAAAxI,SAAA,CACGA,EAlDiBoZ,MAAO,IAADC,EAAAC,EAC1B,MAAO5O,GAAQS,IAAKE,UAEpB,IAAK5J,EAAKqT,QACR,OAAO,KAGTpK,EAAK6O,cAEL,MAAMC,EAAe,CACnBlU,MAAM,GAADnC,OAAK1B,EAAKyT,SAAWC,uBAAuB,QAAU,WAC3DrW,WACAka,aACA7W,OACA+R,SACAe,QAASxT,EAAKqT,QACdD,OAAQpT,EAAKoT,OACbK,OAA2B,QAAnBmE,EAAA5X,EAAKmT,sBAAc,IAAAyE,GAAnBA,EAAqB1Q,GACzBwM,uBACAsE,yBACJhY,KAAyB,QAArB6X,EAAE7X,EAAKmT,sBAAc,IAAA0E,IAAI,CAAC,GAGhC,OACEvZ,cAAC4U,0BAAuB,CAACjK,KAAMA,EAAK1K,SAClCD,cAACuV,EAAa,IACRkE,EACJ7B,wBAAyBA,KAEH,EAsBzByB,KACA,EAIQnB,4BAAWc,IClE1B,MAAMW,WAA4B3U,YAChC4U,YAAYhT,GAAQ,IAADiT,EACjBC,MAAMlT,GAAMiT,EAAA3O,KAAC,KA0Bf6O,UAAa5T,IACX,MAAM,WAAE6B,GAAekD,KAAK3L,OACtB,SAAER,EAAQ,OAAEG,EAAS,CAAC,GAAMgM,KAAKtE,MAEvC,IAAKoB,EAAWgS,YACd,OAGF9O,KAAK1L,SAAS,CAAE0X,UAAU,IAC1BhM,KAAK+O,aAAe,EACpB,MAAMC,EAAUhP,KAAK+O,YAEfpS,EAAS,CACbxB,WAAYF,EACZC,KAAM4B,EAAWmS,YAAc,KAC5Bjb,GAGLiD,MAAI2N,MAAM/Q,EAAU8I,GAAQxF,MAAK,WAAoB,IAAnBvC,EAAQwG,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC5C,MAAM,KAAE5E,EAAO,CAAEmC,OAAQ,CAAC,IAAQ/D,EAClC,GAAIoa,IAAYL,EAAKI,YACnB,OAEF,MAAM,WAAEG,EAAa,EAAC,MAAEC,EAAQ,IAAO3Y,EAAKmC,OAE5CgW,EAAKra,UAAU8a,IAAS,IACnBA,EACH5Y,KAAsB,IAAhBmG,EAAOzB,KAAaiU,EAAQ,IAAIC,EAAU5Y,QAAS2Y,GACzDnD,UAAU,EACVqD,aAAcpU,EACd6B,WAAY,CACVgS,YACkB,IAAhBnS,EAAOzB,KACHiU,EAAM9T,OAAS6T,EACfE,EAAU5Y,KAAK6E,OAAS8T,EAAM9T,OAAS6T,EAC7CD,YAAatS,EAAOzB,SAG1B,GAAE,EACF,KAEFoU,SAAYhS,IACV,MAAM,OAAEsC,GAAWI,KAAKtE,MACxB,OAAQkE,EAAO3C,MAAM5E,GAAMA,EAAEqF,KAAOJ,EAAOI,IAAG,EAC9C,KAEF6R,UAAajS,IACX,MAAM,SAAEwI,EAAQ,SAAE0J,GAAaxP,KAAKtE,MAE/B8T,GACHxP,KAAK1L,SAAS,CAAE0V,SAAS,IAG3BlE,EAASxI,EAAO,EAChB,KAEFmS,aAAgBnS,IACd,MAAM,SAAErJ,EAAQ,SAAEub,GAAaxP,KAAKtE,MAE/B8T,GACHxP,KAAK1L,SAAS,CAAE0V,SAAS,IAG3B/V,EAASqJ,EAAO,EAChB,KAEFoS,sBAAyB1F,IACnBhK,KAAKtE,MAAMvH,WAIV6V,IACHhK,KAAK+O,YAAc,EAEnB/O,KAAK1L,SAAS,CACZkC,KAAM,GACNwV,UAAU,EACVhC,SAAS,EACTqF,kBAAc/T,EACdwB,WAAY,CACVgS,aAAa,EACbG,YAAa,KAIjBjP,KAAK2P,oBAGH3F,GACFhK,KAAK6O,YAGP7O,KAAK1L,SAAS,CAAE0V,YAAU,EAC1B,KAEF4F,eAAkB3U,IAChB+E,KAAK1L,SAAS,CAAEwI,WAAY,CAAEgS,aAAa,EAAMG,YAAa,KAC9DjP,KAAK6P,aAAa5U,EAAM,EACxB,KAEF0U,iBAAmB,KACb3P,KAAK8P,SAASvE,UAChBvL,KAAK8P,SAASvE,QAAQlX,MAAM4G,MAAQ,GACtC,EACA,KAEF8U,eAAiB,KACf,MAAM,aAAEV,GAAiBrP,KAAK3L,MAC9B2L,KAAK6O,UAAUQ,EAAa,EAC5B,KAEFW,WAAa,CAAC1S,EAAQyH,EAAKkL,KACzB,MAAM,OACJrQ,EAAS,GAAE,UACXsQ,EAAS,gBACTC,EAAe,mBACfC,GACEpQ,KAAKtE,MAEHlH,EAAU0b,IAAc5S,EAAOI,GAC/B2S,EAAazQ,EAAO3C,MAAM5E,GAAMA,EAAEqF,KAAOJ,EAAOI,KAEtD,OACEzI,eAAA,OACEC,UAAS,uCAAAgD,OACPmY,EAAa,WAAa,IACzBtb,SAAA,CAEHD,cAAA,QAAAC,SAAa,OAANuI,QAAM,IAANA,OAAM,EAANA,EAAQ1J,OAEfqB,eAAA,QAAAF,SAAA,CACGP,EAAUM,cAACE,IAAe,IAAM,KAChCqb,IAAe7b,EACd4b,EACEA,GAAmB,IAAMH,EAAO3S,KAEhCxI,cAAC0R,IAAO,CAACnM,MAAM,UAAStF,SACtBD,cAAC0I,IAAU,CACTnD,MAAM,kBACNoD,UAAWA,IAAMwS,EAAO3S,GACxBK,WAAW,SACXC,OAAO,MAAK7I,SAEZD,cAACwb,KAAc,QAInB,KAEFD,GAAe7b,EAQb,KAPF2b,EACEA,GAAgB,IAAMpL,EAAIzH,KAE1BxI,cAAC0R,IAAO,CAACnM,MAAM,YAAWtF,SACxBD,cAAC0G,IAAY,CAAC7F,QAASA,IAAMoP,EAAIzH,YAKrC,EAER,KAEFiT,4BAA+B3b,IAC7B,MAAM,SAAEkR,GAAa9F,KAAKtE,MAEtBoK,GACFA,EAASlR,EAAS4B,KAAKmC,QAGzBqH,KAAK2P,kBAAkB,EACvB,KAEF3B,kBAAoB,KACdhO,KAAKwQ,QAAQjF,UACfvL,KAAKwQ,QAAQjF,QAAQjR,OAAO,CAAE1G,KAAMoM,KAAK3L,MAAMgb,eAC/CrP,KAAK0P,uBAAsB,GAC7B,EAzMA1P,KAAK6P,aAAeY,KAASzQ,KAAK6O,UAAW,KAC7C7O,KAAK+O,YAAc,EACnB/O,KAAK0Q,YAAchV,EAAMgV,YACzB1Q,KAAK8P,SAAWjW,IAAM8W,YACtB3Q,KAAKwQ,QAAU3W,IAAM8W,YAErB3Q,KAAK3L,MAAQ,CACXmC,KAAM,GACNwV,UAAU,EACVhC,SAAS,EACTqF,aAAc,GACdvS,WAAY,CACVgS,aAAa,EACbG,YAAa,GAGnB,CAEA2B,oBACM5Q,KAAK0Q,aACP1Q,KAAK6O,WAET,CAsLAzR,SACE,MAAM,SAAE4O,EAAQ,QAAEhC,EAAO,KAAExT,GAASwJ,KAAK3L,OACnC,SACJU,EAAQ,WACRib,EAAU,YACV5b,EAAW,cACXyc,EAAa,cACbzG,EAAa,SACbvW,GACEmM,KAAKtE,MAET,OACE5G,cAACgZ,GAAQ,CACPvG,IAAKvH,KAAKwQ,QACVpG,cAAeA,EACfvW,SAAUA,EACVgM,cAAe,CAAEjM,KAAMoM,KAAK3L,MAAMgb,cAClC3C,wBAAyB1M,KAAKuQ,4BAA4Bxb,SAE1DD,cAACgc,KAAO,CACNrK,UAAU,WACVsK,QAAQ,QACR/G,QAASA,EACTgH,gBAAiBhR,KAAK0P,sBACtBuB,QACEhc,eAAA,OAAKC,UAAU,iCAAgCH,SAAA,CAC7CD,cAACoc,IAAK,CACJhc,UAAU,uCACVic,UAAW,GACX5J,IAAKvH,KAAK8P,SACV7c,KAAK,SACLme,aAAcpR,KAAKqR,mBACnB1d,SAAWiH,GAAMoF,KAAK4P,eAAehV,EAAEG,OAAOE,OAC9C7G,YAAaA,GAAe,iBAG9Ba,eAACqc,IAAgB,CACfhc,MAAO,CAAEU,QAAS,OAAQT,OAAQ,SAClCgc,YAAavR,KAAK+P,eAAehb,SAAA,CAEhB,IAAhByB,EAAK6E,QAAiB2Q,EAOnB,KANFlX,cAAA,OAAAC,SACED,cAAC8M,IAAK,CACJ4P,YAAY,GACZ3P,MAAOD,IAAME,2BAIlBtL,EAAK4B,KAAKkF,GACT0S,EACIA,EAAW1S,EAAQ0C,KAAKuP,UAAWvP,KAAKyP,cACxCzP,KAAKgQ,WAAW1S,EAAQ0C,KAAKuP,UAAWvP,KAAKyP,gBAElDzD,EACClX,cAACmX,KAAI,CAAC/W,UAAU,wCACd,QAEND,eAACS,IAAM,CAACzC,KAAK,OAAO0C,QAASqK,KAAKgO,kBAAkBjZ,SAAA,CAClDD,cAAC0G,IAAY,IACC,OAAbqV,QAAa,IAAbA,IAAiB,kBAGvB9b,SAEAA,KAIT,EAGF0Z,GAAoBgD,aAAe,CAAEf,aAAa,GAEnCjC,UCnSf,MAAMiD,GAAgBA,CAAChW,EAAO6L,IAE1BtS,eAAC8R,IAAM,CACLQ,IAAKA,KACD7L,EACJsL,iBAAiB,WACjBC,aAAcA,CAACnM,EAAOoM,IACpBA,EAAOxL,MAAM3G,SAAS8C,cAAcsP,QAAQrM,EAAMjD,gBAAkB,EACrE9C,SAAA,CAEDD,cAACiS,IAAOK,OAAM,CAAYnM,OAAK,EAAAlG,SAAC,OAAb,QAGnBD,cAACiS,IAAOK,OAAM,CAAanM,OAAO,EAAMlG,SAAC,UAAtB,YAOV8E,WAAMmT,WAAW0E,I,QCPjB1E,I,WCoEA2E,OA/EYje,IAcpB,IAdqB,SAC1BqB,EAAQ,UACRG,EAAS,KACTsB,EAAI,aACJtC,EAAY,OACZ0d,EAAM,KACNhe,EAAI,SACJ4b,EAAQ,YACRpb,EAAW,WACXyd,EAAU,MACVrR,EAAK,SACL3M,EAAQ,MACRb,KACG+M,GACJrM,EACC,MAAOsW,EAAS8H,GAAcvd,mBAAS,CAAEwd,SAAS,EAAOC,QAAQ,IAE3DC,EAAwBhX,IAC5B6W,EAAW,IAAK9H,EAAS+H,SAAS/H,EAAQgI,QAAiB/W,GAAQ,EAqCrE,OACEnG,cAACoL,IAAKQ,KAAI,CACR9M,KAAMA,EACNse,SAAU1R,EACVtM,aAAcA,EACdsM,MAAOA,EAAMzL,SAEbD,cAAC8W,eAAY,CACX/X,SAAUA,EACVqB,UAAW0c,EAAS,eAAiB,wBACrCO,WAAS,EACTN,WAAsB,OAAVA,QAAU,IAAVA,KACZzd,YAAaA,EACbkB,MAAO,CAAEtC,MAAY,OAALA,QAAK,IAALA,IAAS,QACzBof,kBA5CkBxS,GAClBA,EAAOvE,QAAU,EACZ,GAGa,IAAlBuE,EAAOvE,OACFuE,EAAO,GAAGY,MAIjB1L,cAACgc,KAAO,CACNzW,MAAOjG,EACP4V,QAASA,EAAQ+H,QACjBf,gBAAiBiB,EACjBxL,UAAU,aACVwK,QACEnc,cAAA,OAAAC,SACG6K,EAAOxH,KAAKC,GACXvD,cAAA,OAAiBI,UAAU,UAASH,SACjCsD,EAAEmI,OADKnI,EAAExB,SAKjB9B,SAAA,GAAAmD,OAEG0H,EAAOvE,OAAM,mBAoBjBgX,0BAA0B,EAC1BxG,wBAlDuB5Q,IAC3B6W,EAAW,CAAEE,OAAQ/W,EAAO8W,SAAS,GAAQ,EAkDzCO,YAAa,KACTvS,KAEI,E,4ECxEhB,MAAMwS,GAAaA,CAAA7e,EAEjB6T,KACI,IAFJ,SAAE5T,EAAQ,MAAEsH,EAAQ,GAAE,SAAE8O,EAAQ,SAAE5V,EAAQ,QAAEoC,GAAS7C,EAGrD,MAAO8e,EAAQC,GAAale,mBAASme,eAAYC,gBAC1CC,EAAQC,GAAate,oBAAS,GAC/Bue,EAAYtL,iBAAO,MAEzB9S,qBAAU,MACHqV,GAAY5V,IAAaye,IAAW3X,IACvC4X,GAAU,GACVJ,EAAUC,eAAYK,kBAAkBC,aAAc/X,KACxD,GACC,CAACA,IAEJ,MAQMgY,EAAUC,IACd,MAAMC,EAAiBX,EAAOY,oBACxBC,EAAmBb,EAAOc,eAE1BC,EAAaC,YAASC,YAC1BN,EACAE,EACAH,GAGIQ,EAAiBhB,eAAYxV,KACjCsV,EACAe,EACA,qBAGFd,EACEC,eAAYiB,eAAeD,EAAgBH,EAAWK,qBACvD,EAOH,OAJAlI,8BAAoBnE,GAAK,MACvB0L,aAIAne,cAAC+e,UAAM,CACLtM,IAAKuL,EACLgB,aAAc,CACZrV,OAAQ,QACRsV,mBAEFC,YAAaxB,EACbyB,oBAzCyBD,IACvBrgB,GACFA,EAASugB,aAAYF,EAAYZ,sBAGnCX,EAAUuB,EAAY,EAqCpBjK,SAAUA,GAAY5V,EACtBggB,cAAepK,GAAY5V,EAC3BigB,aAAerT,IACb,IAAI2S,EAAiB,KAMrB,OALsB,KAAlB3S,EAAMsT,SAAkBtT,EAAMuT,SAChCZ,EAAiBa,kCAAuB/B,GACb,KAAlBzR,EAAMsT,SAAmBtT,EAAMuT,WACxCZ,EAAiBc,aAAUC,kBAAkBjC,MAE3CkB,IACFjB,EAAUiB,IACH,EAEG,EAEdgB,QAAS,CACPne,QAAgB,OAAPA,QAAO,IAAPA,IAAW,CAClB,SACA,YACA,aACA,OACA,YACA,cACA,UAGJ,EAISsD,WAAMmT,WAAWuF,I,UCFjBoC,OA1DMjhB,IAAyD,IAAxD,KAAET,EAAI,MAAE2hB,EAAK,OAAEC,EAAM,YAAEC,EAAc,MAAO/U,GAAMrM,EAgDtE,OACEuB,eAAA,OAAmBC,UAAU,UAASH,SAAA,CACpCD,cAAA,OAAKI,UAAU,sBAAqBH,SAClCD,cAAA,QAAAC,SAAO6f,EAAMhhB,SA7CE,cAAfghB,EAAM3hB,KAEN6B,cAAA,OAAKI,UAAU,eAAcH,SAC3BD,cAAA,QAAAC,SACS,OAAN8f,QAAM,IAANA,OAAM,EAANA,EAAQE,MAAM,MAAM3c,KAAK4c,GACxB/f,eAAAsI,WAAA,CAAAxI,SAAA,CACGigB,EACDlgB,cAAA,kBAQO,eAAf8f,EAAM3hB,KAEN6B,cAAA,OAAKI,UAAU,2BAA0BH,SACtC+f,EAAY1c,KAAKC,IAChBvD,qBAAA,OAAKI,UAAU,iCAAgCH,SAC7CE,eAAA,OAAKC,UAAU,2BAA0BH,SAAA,CACvCD,cAACK,kBAAe,CACdD,UAAU,kBACVE,KAAM,CAAC,OAnDJ6f,EAmDuB5c,EAAE4c,YAlDxCC,aAAQD,GACH,aAELE,aAAMF,GACD,WAELG,aAAQH,GACH,YAGLI,aAAQJ,GACH,aAGLK,aAAQL,GACH,aAGF,eAkCOngB,cAACY,IAAM,CACLzC,KAAK,OACLiC,UAAU,sBACVS,QAASA,IAjCAwN,KAAc,IAAb,IAAEoS,GAAKpS,EAC/BqS,OAAOlR,KAAK,GAADpM,OAAIjB,MAAIwe,mBAAmB,eAAc,KAAAvd,OAAIqd,GAAO,SAAS,EAgC3CG,CAAiBrd,GAAGtD,SACpC,eAVgDsD,EAAEqF,IA/C9CuX,KA8DV,MAKA,OAIGlV,EAAKrC,GAKT,E,WC3CKiY,OAvCcjiB,IAMtB,IANuB,GAC5BgK,EAAE,KACF9J,EAAI,KACJmE,EAAI,aACJ6d,EAAY,qBACZC,GACDniB,EAMC,OACEuB,eAAA,OAAKC,UAAU,UAASH,SAAA,CACtBD,cAAA,OAAKI,UAAU,uCAAsCH,SAAEnB,IACvDkB,cAAA,OAAKI,UAAU,WAAUH,SACtBkN,IAAO2T,GAAcxS,OAAO,kCAE9ByS,EACC/gB,cAAA,OAAKI,UAAU,WAAUH,SACtBkN,IAAO4T,GAAsBzS,OAC5B,sCAGF,KACJtO,cAAA,OAAKI,UAAU,UAAU4gB,wBAAyB,CAAEC,OAAQhe,KAC5DjD,cAAA,OAAKI,UAAU,UAASH,SACtBD,cAACY,IAAM,CACLL,KAAK,QACLD,KAAMN,cAACkhB,KAAgB,IACvBrgB,QAvBesgB,KACrB,MAAMV,EAAMte,MAAIwe,mBAAmB,eAADvd,OAAgBwF,EAAE,kBACpD8X,OAAOlR,KAAKiR,EAAI,EAqBcxgB,SACzB,iBAIC,E,SCcKmhB,OAhDkBxiB,IAK1B,IAL2B,GAChCgK,EAAE,aACFkY,EAAY,qBACZC,EAAoB,aACpBM,EAAe,CAAC,GACjBziB,EACC,MAAM,KAAEE,EAAI,KAAEmE,EAAI,OAAEqe,EAAM,eAAEC,GAA+B,OAAZF,QAAY,IAAZA,IAAgB,CAAC,EAchE,OACElhB,eAAA,OAAKC,UAAU,UAASH,SAAA,CACtBD,cAAA,OAAKI,UAAU,uCAAsCH,SAAEnB,IACvDkB,cAAA,OAAKI,UAAU,WAAUH,SACtBkN,IAAO2T,GAAcxS,OAAO,kCAE9ByS,EACC/gB,cAAA,OAAKI,UAAU,WAAUH,SACtBkN,IAAO4T,GAAsBzS,OAC5B,sCAGF,KACJtO,cAAA,OAAKghB,wBAAyB,CAAEC,OAAQhe,KACxCjD,cAAA,OAAKI,UAAU,UAASH,SACtBD,cAACY,IAAM,CACLL,KAAK,QACLD,KAAMN,cAACkhB,KAAgB,IACvBrgB,QA9BesgB,KACrB,GAAIG,IAAWxnB,OAAkBynB,EAAjC,CACE,MAAM,WAAEC,GAAeD,EACvBb,OAAOlR,KAAKgS,EAEd,MAEAd,OAAOlR,KACLrN,MAAIwe,mBAAmB,eAADvd,OAAgBie,EAAazY,GAAE,sBACtD,EAsBKA,GAAG,cAAa3I,SACjB,iBAIC,ECaKwhB,OA5DE7a,IACf,MAAM,GACJgC,EAAE,KACF9J,EAAI,KACJX,EAAI,OACJujB,EAAS,GAAE,UACXC,EAAY,GAAE,cACdC,EAAgB,IACdhb,EAEEib,EAA0Bte,GACvBA,EAAEwc,QAAUxc,EAAEyc,YAAYzZ,OAAS,EAuB5C,MAAa,kBAATpI,GAA6BujB,EAAOvZ,KAAK0Z,GAIhC,aAAT1jB,GAA4C,IAArBwjB,EAAUpb,QAIxB,iBAATpI,GAAoD,IAAzByjB,EAAcrb,QAIhC,aAATpI,EAPK,KAYPgC,eAAA,OAAcC,UAAU,gCAA+BH,SAAA,CACrDD,cAAA,OAAKI,UAAU,mCAAkCH,SAC/CD,cAAA,QAAAC,SAAOnB,MAETkB,cAAA,OAAKI,UAAU,SAAQH,SAxCZ,kBAAT9B,EACKujB,EACJ7Z,OAAOga,GACPve,KAAKwH,GAAW9K,cAAC6f,GAAY,IAAqB/U,GAAfA,EAAOlC,MAGlC,aAATzK,EACKwjB,EAAUre,KAAKC,GAAMvD,cAAC6gB,GAAoB,IAAgBtd,GAAVA,EAAEqF,MAG9C,iBAATzK,EACKyjB,EAActe,KAAKC,GACxBvD,cAACohB,GAAwB,IAAgB7d,GAAVA,EAAEqF,MAI9B,SAoBGA,GAhBH,IAqBD,E,WChCKkZ,OA1BKljB,IAA0B,IAAzB,MAAEuH,EAAK,SAAEtH,GAAUD,EACtC,OACEoB,cAAA,OAAKI,UAAU,2BAA0BH,SACvCD,cAAC+hB,KAAY,CACXC,WAAY,GACZ9jB,MAAM,OACN+jB,MAAO9b,EACPtH,SAAUwP,IAAA,IAAC,IAAE6T,GAAK7T,EAAA,OAAKxP,EAASqjB,EAAI,EACpCC,OAAQ,CACN,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,cAGA,E,QCnBV,MAAMC,GAAkBrd,IAAM2F,cAAc,CAAEC,KAAM,OAE9C0X,GAAmBzjB,IAA2C,IAA1C,SAAEqB,EAAQ,KAAEnB,EAAI,QAAEse,KAAYnS,GAAMrM,EAC5D,MAAM,MAAEkhB,GAAU/a,IAAMwG,WAAW6W,IAEnC,IAAKtC,EACH,MAAM,IAAItU,MAAM,uCAGlB,MAAM8W,EAAUA,IACM,kBAATxjB,EACF,CAACA,GAGHA,EAGT,OACEkB,cAACuiB,eAAY,IACPzC,EACJhhB,KAAM,CAACghB,EAAMhhB,QAASwjB,KACtBE,SAAU,CAAC1C,EAAM0C,YAAaF,KAC9BlF,QAASA,KACLnS,EAAIhL,SAEPA,GACY,EAIbwiB,GAAepU,IAWd,IAXe,KACpB1D,EAAI,KACJ7L,EAAI,mBACJ4jB,EAAkB,aAClBC,EAAY,aACZC,EAAY,kBACZC,EAAoBA,MAAM,GAAI,SAC9B1jB,EAAQ,QACR2jB,EAAU,YAAW,cACrBC,GAAgB,EAAK,SACrB9iB,GACDoO,EACC,MAAM2U,EAAmBA,KACvB,GAAIL,EACFA,QACK,CAAC,IAADM,EACL,MAAM5I,EAAgC,QAA3B4I,EAAGtY,EAAKuY,cAAcpkB,UAAK,IAAAmkB,IAAI,GAC1C,IAAI7P,EAAO,CAAC,EAERsP,IACFtP,EAAOsP,EAAmBtP,IAG5BzI,EAAKwY,eAAe,CAClB,CAACrkB,GAAO,IAAIub,EAAOjH,IAEvB,GAyBF,OACEjT,eAAAsI,WAAA,CAAAxI,SAAA,CACED,cAACoL,IAAKgY,KAAI,CAACtkB,KAAMA,EAAKmB,SAClByhB,GACA1hB,cAAAyI,WAAA,CAAAxI,SACGyhB,EAAOpe,KAAI,CAACwc,EAAOhW,IAClB9J,cAACoiB,GAAgBjX,SAAQ,CAAChF,MAAO,CAAE2Z,SAAQ7f,SACzCD,cAACoL,IAAKQ,KAAI,CACRwR,SAAO,EAEPiG,aAAcA,CAACC,EAAYC,IAClBC,IAAOC,QAAQH,EAAYC,GAClCtjB,SAEDgX,IAAwB,IAAvB,cAAEiM,GAAejM,EACjB,OAAOhX,EAAS,CACdyjB,SAAUV,EACV7jB,SAAUA,IAvCJwkB,KAAgB,IAADC,EACvC,GAAIhB,EAEF,YADAA,EAAae,GAIf,MAAMtJ,EAAgC,QAA3BuJ,EAAGjZ,EAAKuY,cAAcpkB,UAAK,IAAA8kB,IAAI,GACpCxQ,EAAOiH,EAAMwJ,MAAK,CAACtb,EAAGuB,IAAUA,IAAU6Z,IAE3Cd,EAAkBzP,EAAMiH,KAI7B1P,EAAKwY,eAAe,CAClB,CAACrkB,GAAOub,EAAMxS,QAAO,CAACU,EAAGuB,IAAUA,IAAU6Z,MAG3CxkB,GACFA,EAASiU,GACX,EAoBkC0Q,CAAiBhE,EAAMhhB,MACvCghB,QACA4B,SACAvb,MAAO+c,EAAc,CAACpkB,EAAMghB,EAAMhhB,OAClCgL,SACA,GAbCgW,EAAMhhB,OAHkCghB,EAAMhhB,aAwB7DikB,GACA/iB,cAACY,IAAM,CAACzC,KAAK,OAAOmC,KAAMN,cAAC0G,IAAY,IAAK7F,QAASmiB,EAAiB/iB,SACnE6iB,MAGJ,ECnHQiB,OAJCnlB,IAAe,IAAd,KAAEwf,GAAMxf,EACvB,OAAOoB,cAAA,OAAKghB,wBAAyB,CAAEC,OAAQ7C,IAAU,E,qBCmD5C4F,OAnDOplB,IAOf,IAPgB,YACrBU,EAAW,SACXW,EAAQ,SACRpB,EAAQ,MACRsH,EAAK,GACLyC,EAAE,KACFqb,GACDrlB,EACC,MAAOkf,EAAQC,GAAate,oBAAS,IAC9ByV,EAAS8H,GAAcvd,qBAAW0G,GAEzCvG,qBAAU,MACHke,GAAU3X,IACb4X,GAAU,GACVf,GAAW,GACb,GACC,CAAC7W,IAUJ,OACEhG,eAAA,OAAAF,SAAA,CACEE,eAAC+jB,KAAQ,CACPrlB,SAXewP,IAAiB,IAAhB,OAAEpI,GAAQoI,EACzBpI,EAAOke,SACVtlB,EAAS,MAGXme,EAAW/W,EAAOke,QAAQ,EAOtBA,QAASjP,EACT9U,UAAW8U,EAAU,UAAY,GAAGjV,SAAA,CAEnCX,EACA2kB,EACCjkB,cAAC0R,IAAO,CAACnM,MAAO0e,EAAKhkB,SACnBD,cAACokB,KAAkB,CAAChkB,UAAU,uBAE9B,QAEL8U,EACGnQ,IAAMyP,aAAavU,EAAU,CAC3BkG,QACAyC,KACA/J,aAEF,OACA,E,WC5BKwlB,OApBKzlB,IAAsD,IAArD,KAAE0X,EAAO,SAAQ,SAAErW,EAAQ,QAAEuX,KAAYvM,GAAMrM,EAClE,MAAa,WAAT0X,EAEAtW,cAACskB,KAAM,CAAC9M,QAASA,KAAavM,EAAIhL,SAC/BA,IAKM,UAATqW,EAEAtW,cAACukB,IAAK,CAACC,SAAUhN,KAAavM,EAAIhL,SAC/BA,IAKA,IAAI,EC2BEwkB,OA3CK7lB,IAOb,IAPc,QACnBmW,GAAU,EAAI,OACdvM,EAAM,YACN1B,EAAW,aACXS,EAAY,YACZmd,EAAcA,SAAQ,kBACtBC,GAAoB,GACrB/lB,EACC,OACEuB,eAAA,QAEEC,UAAU,0EAAyEH,SAAA,CAElF8U,EACC/U,cAACY,IAAM,CACLL,KAAK,QACLM,QAASA,IAAMiG,EAAY0B,GAC3BlI,KAAMN,cAACK,kBAAe,CAACD,UAAU,eAAeE,KAAK,eAAgBL,SACtE,WAGC,KACH0kB,GACC3kB,cAAC0I,IAAU,CACTnD,MAAM,kBACNoD,UAAWA,IAAMpB,EAAaiB,EAAOI,IACrCC,WAAW,SACXC,OAAO,MAAK7I,SAEZD,cAACY,IAAM,CACLzC,KAAK,SACLoC,KAAK,QACLD,KAAMN,cAACK,kBAAe,CAACD,UAAU,eAAeE,KAAK,cAAeL,SACrE,cAKJykB,EAAYlc,KA5BRA,EAAOI,GA6BP,E,+GCTIgc,OARQhmB,IAAiC,IAAhC,UAAEwB,EAAY,GAAE,OAAEykB,GAAQjmB,EAChD,MAAMkmB,EAtBkBD,KACxB,IAGE,OAFcE,KAAKC,MAAMC,2BAA2BJ,IAGlD,ICVc,ODWZ,MAAO,CAAC,MAAO,WACjB,ICToB,aDUlB,MAAO,CAAC,MAAO,iBACjB,ICbc,ODcZ,MAAO,CAAC,MAAO,WACjB,ICdgB,SDed,MAAO,CAAC,MAAO,kBACjB,QACE,OAAO,KAEb,CAAE,MAAOpiB,GACP,OAAO,IACT,GAIiByiB,CAAiBL,GAElC,OAAOC,EACL9kB,cAACK,kBAAe,CAACD,UAAS,QAAAgD,OAAUhD,GAAaE,KAAMwkB,IACrD,IAAI,EEyYKK,OA5YKvmB,IAA4C,IAA3C,QAAEc,EAAO,SAAE0lB,EAAQ,KAAEC,EAAI,SAAEb,GAAU5lB,EACxD,MAAM,OAAE0mB,GAAWC,gBACb,qBAAEC,GAAyBC,KAAGC,MAAMJ,IACnCK,EAAgBC,GAAqBnmB,oBAAS,IAC/C,cAAEomB,GAAkBC,gBACpB,gBAAEC,EAAe,YAAEC,GAAgBC,aAA0BZ,GAE7DvX,EACFiY,EADQF,EACQG,EAAYE,YACZF,EAAYG,yBAE1BpY,EACFgY,EADQF,EACQG,EAAYI,YACZJ,EAAYK,yBAE1BC,EAEAP,EADHF,EACmBG,EAAYE,YACZF,EAAYG,yBAA4Bd,EAAKkB,QAE5DA,EAAQC,GAAa/mB,mBAAS6mB,IAC9B3b,GAAQS,IAAKE,UAqDdmb,EAAiBA,CAACC,EAAMvgB,KAC5B,IAAKA,EACH,OAAOwgB,QAAQC,UAGjB,MAAM/B,EAASzT,4BAAkBjL,GAEjC,OAAI0e,EAAOte,QAAU,KAAOwe,KAAKC,MAAM6B,yBAAyBhC,GACvD8B,QAAQG,OAAO,IAAItb,MAAM,uCAG3Bmb,QAAQC,SAAS,EAGpBG,EAAyBA,CAACL,EAAMvgB,KACpC,IAAKA,EACH,OAAOwgB,QAAQC,UAKjB,OAAoB,IAFPxV,4BAAkBjL,GAEtBI,QAAiBwe,KAAKC,MAAMgC,yBAAyB7gB,GAIvDwgB,QAAQC,UAHND,QAAQG,OAAO,IAAItb,MAAM,gCAGV,EAGpByb,EAAeA,CAACP,EAAMvgB,IACrBA,EAID,KAAK+gB,KAAK/gB,GACLwgB,QAAQG,OAAO,IAAItb,MAAM,uCAGsB,IAApDrF,EAAM8Z,MAAM,KAAKpY,QAAQtE,GAAY,KAANA,IAAUgD,OACpCogB,QAAQG,OAAO,IAAItb,MAAM,2BAG3Bmb,QAAQC,UAXND,QAAQC,UAkCbO,EAAgCA,CAACT,EAAMvgB,KAC3C,IAAKA,GAAmB,IAAVA,EACZ,OAAOwgB,QAAQC,UAGjB,MAAMlb,EAAQma,EAAgB,cAAa,gBAE3C,OAAKuB,OAAOC,MAAMD,OAAOtZ,KAAS3H,EAAQihB,OAAOE,SAASxZ,EAAK,IACtD6Y,QAAQG,OACb,IAAItb,MAAM,sCAADpI,OAAoC0K,EAAG,KAAA1K,OAAIsI,MAInD0b,OAAOC,MAAMD,OAAOrZ,KAAS5H,EAAQihB,OAAOE,SAASvZ,EAAK,IACtD4Y,QAAQG,OACb,IAAItb,MAAM,sCAADpI,OAAoC2K,EAAG,KAAA3K,OAAIsI,KAIjDib,QAAQC,SAAS,EAiBpBW,EAAmB,GAEzB,IAAK,IAAIC,EAAS,EAAGA,EAAS,GAAIA,GAAU,EAC1CD,EAAiBnf,KAAKof,GAGxB,MAAMC,EAAY/nB,GAAWimB,EAE7B,OACExlB,eAACiL,IAAI,IACClC,gBAAcC,YAAYC,OAAOuB,KACrC7L,KAAK,WACLsB,UAAU,WACVuK,KAAMA,EACNI,cAAe,CACb2c,aAAc,EACdC,0BAA2B9B,EAAgB,EAAI,EAC/C+B,iBAAkB/B,EAAgB,EAAI,GAExCgC,SA3HkB/c,IA/CKuD,KAQpB,IARqB,OAC1BwW,EAAM,eACNiD,EAAc,eACdC,EAAc,aACdC,EAAY,aACZN,EAAe,KAAI,0BACnBC,EAAyB,iBACzBC,GACDvZ,EACC,MAAM/B,EAAQwb,EAAeG,OAAO,EAAG,GACjCC,EAAOJ,EAAeG,OAAO,EAAG,IAC/BE,KAAcC,GAAaL,EAAe9H,MAAM,KACjDoI,EAAWD,EAAU/kB,KAAK,KAE1BilB,EAAKvD,KAAKwD,WACd1D,EACAvY,EACA4b,EACAC,EACAE,EACAL,GAGEM,EAAGE,UACL5C,GAAkB,GAClBb,KAAK0D,mBAAmBH,GAAKxoB,IAC3B8lB,GAAkB,GAElBR,EAAS,CACPuC,4BACAC,mBACArB,SACAmC,eAAgBlD,EAChBmD,cAAe,CACbC,WAAY,CACVC,MAAO/oB,EAAS8I,GAChBkgB,OAAQ,CACNhqB,KAAMipB,IAGVL,iBAEF,IAEN,EAIAqB,CAAmBje,EAAO,EA2HxBke,gBAAgB,SAChBC,eAnCuBC,CACzB3gB,EAAC0O,KAEG,IADJ,0BAAE0Q,EAAyB,iBAAEC,GAAkB3Q,EAE1C4O,EAKDA,GACFW,EAAUoB,EAAmBvC,EAAKkB,QALlCC,EAAUmB,EAA4BtC,EAAKkB,OAM7C,EAwBqCtmB,SAAA,CAEnCE,eAACoQ,IAAG,CAAAtQ,SAAA,CACFE,eAACsQ,KAAM,CAACC,KAAM,GAAGzQ,SAAA,CACfD,cAACmpB,KAAO,CAACC,YAAY,OAAMnpB,SAAC,yBAC5BD,cAAA,OAAKI,UAAU,oBAAmBH,SAChCD,cAAA,OAAAC,SACEE,eAAA,MAAAF,SAAA,CACED,cAAA,OAAKI,UAAU,4CAA2CH,SACvDolB,EAAKvmB,OAEPumB,EAAKgE,SAAS/lB,KAAI,CAACgmB,EAASxf,IAC3B9J,cAAA,MAAAC,SACEE,eAAC4E,IAAMwkB,SAAQ,CAAAtpB,SAAA,CACbD,cAACwpB,KAAc,IACfxpB,cAAA,QAAAC,SAAOqpB,EAAQ5M,gBAFI4M,EAAQ5M,cADtB4M,EAAQ1gB,aAWzBzI,eAACoQ,IAAG,CACFnQ,UAAU,UACViI,MAAM,SACNwQ,QAAQ,QACRrY,MAAO,CAAEtC,MAAO,SAAU+B,SAAA,CAE1BD,cAAC8Y,IAAG,CAAC2Q,KAAK,QAAOxpB,SACfD,cAAA,QAAMI,UAAU,8BAA6BH,SACzC4lB,EAAwC,oBAAxB,0BAGtB7lB,cAAC8Y,IAAG,CAAA7Y,SACFD,cAACuiB,eAAY,CACXzjB,KACG+mB,EAEG,mBADA,4BAGNrb,UAAQ,EACR4S,SAAO,EACPzR,MAAO,CACL,MACE+d,UAAWvC,KAGfwC,WAAS,EAAA1pB,SAETD,cAAC4pB,KAAW,CACVppB,MAAO,CAAEtC,MAAO,SAChB4P,IAAMsZ,OAAOC,MAAMD,OAAOtZ,SAAsBtH,EAAd4gB,OAAOtZ,GACzCC,IAAMqZ,OAAOC,MAAMD,OAAOrZ,SAAsBvH,EAAd4gB,OAAOrZ,YAMjD/N,cAACuQ,IAAG,CAAClI,MAAM,SAAS7H,MAAO,CAAEtC,MAAO,SAAU+B,SAC5CD,cAAC8Y,IAAG,CAACpI,KAAM,GAAGzQ,SACZD,cAAC6pB,KAAK,CACJrnB,QACErC,eAAA,OAAKC,UAAU,WAAUH,SAAA,CACvBD,cAAA,QAAMI,UAAU,UAASH,SACH,WAAnBolB,EAAKyE,UAAsB,yCAI9B9pB,cAAA,QAAMI,UAAU,sBAAqBH,SAClC8pB,aAAexD,QAItBpoB,KAAK,gBAKbgC,eAACsQ,KAAM,CAACC,KAAM,GAAGzQ,SAAA,CACfD,cAACuQ,IAAG,CAAAtQ,SACFD,cAACyQ,KAAM,CAAAxQ,SACLD,cAACuiB,eAAY,CACX7W,MAAM,kBACN5M,KAAK,iBACLkrB,YAAU,EACVxf,UAAQ,EACRmB,MAAO,CACL,MACE+d,UAAWzC,KAEbhnB,SAEFD,cAACoc,IAAK,UAIZpc,cAACuQ,IAAG,CAAAtQ,SACFD,cAACyQ,KAAM,CAAAxQ,SACLD,cAACuiB,eAAY,CACX7W,MAAM,yBACN5M,KAAK,SACL6M,MAAO,CACL,CAAEnB,UAAU,EAAMhI,QAAS,oCAC3B,MACEknB,UAAWjD,KAEbxmB,SAEFD,cAACkR,IAAW,CACVC,KAAK,sBACL8Y,OACEjqB,cAACoL,IAAKQ,KAAI,CAAC9M,KAAK,SAASorB,cAAc,SAAS9M,SAAO,EAAAnd,SACrDD,cAAC4kB,GAAc,cAO3BzkB,eAACoQ,IAAG,CAAAtQ,SAAA,CACFD,cAACyQ,KAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CACX7W,MAAM,mBACN5M,KAAK,iBACL0L,UAAQ,EACRmB,MAAO,CACL,MACE+d,UAAW3C,KAEb9mB,SAEFD,cAACkR,IAAW,CAACC,KAAK,gBAGtBnR,cAACyQ,KAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CACX7W,MAAM,4BACN5M,KAAK,eACL0L,UAAQ,EACRmB,MAAO,CACLkM,IAAA,IAAC,cAAEqL,GAAerL,EAAA,MAAM,CACtB6R,UAASA,CAAChD,EAAMvgB,IA3NLgkB,EAAChkB,EAAO0e,KACnC,IAAK1e,IAAU0e,EACb,OAAO,EAGT,MAAMuF,EAAahZ,4BAAkByT,GAC/BwF,EAAMjZ,4BAAkBjL,GACxBmkB,EAAQvF,KAAKC,MAAMC,2BAA2BmF,GAEpD,QACwB,KAAtBA,EAAW7jB,QACI,IAAf8jB,EAAI9jB,SACHwe,KAAKC,MAAMuF,YAAYF,EAAKC,GAKpB,EA4MUH,CAAqBhkB,EAAO+c,EAAc,WAOtCyD,QAAQC,UALND,QAAQG,OACb,IAAItb,MAAM,0CAMjB,GACDvL,SAEFD,cAACkR,IAAW,CAACC,KAAK,eAIJ,WAAnBkU,EAAKyE,UACJ9pB,cAACuiB,eAAY,CAAC7W,MAAM,eAAe5M,KAAK,eAAe0L,UAAQ,EAAAvK,SAC7DD,cAACiS,IAAM,CACLC,iBAAiB,WACjBC,aAAcA,CAACnM,EAAOoM,IACpBA,EAAOxL,MAAM3G,SACV8C,cACAsP,QAAQrM,EAAMjD,gBAAkB,EACpC9C,SAEAsnB,EAAiBjkB,KAAKC,GACrBvD,cAACiS,IAAOK,OAAM,CAAoBnM,MAAO5C,EAAEtD,SAAA,GAAAmD,OACrCG,EAAC,MAAAH,OAAK2mB,aAAe1E,EAAKkB,OAAShjB,KADrBA,EAAEinB,kBAM1B,WAGRrqB,eAACoQ,IAAG,CAACsI,QAAQ,MAAMrI,OAAQ,CAAC,EAAG,GAAIpQ,UAAU,UAASH,SAAA,CACpDD,cAAC8Y,IAAG,CAAA7Y,SACFD,cAACY,IAAM,CAACC,QAAS2jB,EAAUnlB,SAAUooB,EAAUxnB,SAAC,aAIlDD,cAAC8Y,IAAG,CAAC2Q,KAAK,QAAOxpB,SACfD,cAACY,IAAM,CACLzC,KAAK,UACL0C,QAAS8J,EAAK8f,OACd/qB,QAAS+nB,EACTpoB,SAAUooB,EAAUxnB,SACrB,+BAKA,E,WCpWIyqB,OA7DO9rB,IAgBf,IAhBgB,MACrB2G,EAAK,QACL2P,EAAO,SACPjV,EAAQ,SACRgV,GAAW,EAAK,aAChB0V,GAAe,EAAI,UACnBC,EAAS,YACTC,EAAW,aACXC,EAAe,YAAW,eAC1BC,EAAiB,SAAQ,QACzBrrB,EAAO,OACPoV,EAAM,UACN1U,EAAY,GACZ4qB,iBAAkBC,EAAgB,KAClC1qB,KACG0K,GACJrM,EAEG2B,IAASA,EAAKsC,SAAS,MAAQtC,EAAKsC,SAAS,OAG/C,OACE7C,cAAA,OAAKI,UAAU,mBAAkBH,SAC/BE,eAACkK,IAAI,CAACjK,UAAU,WAAUH,SAAA,CACxBD,cAAA,OAAKI,UAAU,wBAAuBH,SAAEsF,IACvCtF,EACDD,cAAA,OAAKI,UAAU,2CAA0CH,SACtDgrB,EACCjrB,cAACirB,EAAgB,IACXhgB,EACJ2f,UAAWA,EACXE,aAAcA,EACdD,YAAaA,EACbE,eAAgBA,EAChBrrB,QAASA,EACToV,OAAQA,IAGV9U,cAAA,OAAAC,SACGgV,EACCjV,cAACY,IAAM,CAACC,QAASgqB,EAAarqB,MAAO,CAAE0qB,YAAa,GAAIjrB,SACrD8qB,IAGH5qB,eAAAsI,WAAA,CAAAxI,SAAA,CACED,cAACY,IAAM,CAACC,QAASgqB,EAAarqB,MAAO,CAAE0qB,YAAa,GAAIjrB,SACrD8qB,IAEH/qB,cAACY,IAAM,CAACC,QAAS+pB,EAAWzsB,KAAK,UAAUuB,QAASoV,EAAO7U,SACxD6qB,eAQX,E,WC0DKK,OA1GEvsB,IAoBV,IApBW,SAChBqB,EAAQ,WACRgZ,EAAU,KACV7W,EAAI,OACJ+R,EAAM,QACNe,EAAO,OACPC,EAAM,KACNzT,EAAI,KACJnB,EAAO,KAAI,SACXxB,EAAQ,OACR0rB,EAAM,SACNrF,EAAQ,gBACRpa,EAAe,wBACfogB,GAA0B,EAAI,SAC9BnW,GAAW,EAAK,cAChBoW,EAAa,eACbpC,EAAc,oBACdqC,GAAsB,EAAI,wBAC1B1T,KACG3M,GACJrM,EACC,MAAQ+L,KAAM4gB,GAAgBC,gCACvBC,EAAUC,GAAejsB,oBAAS,GAEzCG,qBAAU,KACR,MAAM+rB,EAAc3gB,EAAkBA,EAAgBtJ,GAAQA,EAC1D0pB,GACFG,EAAYpI,eAAewI,GAEzBN,GACFA,EAAcM,EAChB,GACC,CAACP,EAAyB1pB,IA+C7B,OACEvB,eAACuqB,GAAa,CACZnqB,KAAMA,EACNxB,SAAUA,EACV6rB,UAjDiBgB,KACdzW,IACHA,EAASzT,EAAKkH,GAAKwM,uBAAuBsE,0BAG5C6R,EAAYM,iBAAiBxpB,MAAMyI,IACjC,IAAIghB,EAAa,IAAKpqB,KAASoJ,GAE3Bsa,IACF0G,EAAa1G,EAAS0G,IACjBA,KAIHrB,EACFA,EAAO3f,EAAQqK,GACNA,IAAWC,uBACpBjB,EAAOzS,EAAKkH,GAAIkjB,EAAYlU,GAE5BxV,EAAK0pB,EAAYlU,GACnB,GACA,EA6BAiT,YArBoBkB,KAClBT,GAAuBG,EACzBlH,IAAMyH,QAAQ,CACZzmB,MAAO,oEACPjF,KAAMN,cAACisB,KAAyB,IAChCnjB,OAAQ,OACRD,WAAY,WACZqjB,OACEjT,GACF,IAGFA,GACF,EASE6R,aAAa,SACbC,eAAgB9V,EAAW,SAAW,WACtCC,QAASA,EACTD,SAAUA,KACNhK,EAAIhL,SAAA,CAERD,cAACmsB,KAAkB,CAACptB,SAAUA,IAC7BgG,IAAMyP,aAAavU,EAAU,CAC5B0K,KAAM4gB,EACNtC,eApCqBmD,CAACC,EAAeC,KAC3B,OAAdrD,QAAc,IAAdA,KAAiBoD,EAAeC,GAChCZ,GAAY,EAAK,EAmCb3gB,cAAgBqgB,OAIZ5kB,EAHAwE,EACEA,EAAgBtJ,GAChBA,KAEHwH,gBAAcC,YAAYC,OAAOuB,SAExB,E,UCjEL4hB,OA9CO3tB,IASf,IATgB,OACrB4tB,EAAS,GAAE,iBACXC,EAAmB,IAAG,cACtBC,EAAgB,EAAC,aACjBC,EAAe,EAAC,SAChB9tB,EAAQ,MACRsH,EAAK,QACLymB,KACG3hB,GACJrM,EACC,MAAOiuB,EAAWC,GAAgBrtB,mBAAS0G,GAqB3C,OAJAvG,qBAAU,KACRktB,EAAkB,OAAL3mB,QAAK,IAALA,IAAS,EAAE,GACvB,CAACA,IAGFnG,cAAC+sB,KAAa,CACZ3sB,UAAU,YACVosB,OAAQA,EACRG,aAAcA,EACdF,iBAAkBA,EAClBC,cAAeA,EACfM,oBAAoB,EACpBC,cA3BmBC,IACb,OAARruB,QAAQ,IAARA,KACEquB,EAAeC,WAAWD,EAAapqB,QAAQ2pB,EAAkB,MAAQ,GAE3EK,EAAaI,EAAa,EAwBxB/mB,MAAO0mB,EACPD,QAtBmB9mB,IACrBA,EAAEG,OAAOiX,SAEL0P,GACFA,EAAQ9mB,EACV,KAkBMmF,GACJ,E,yCC7BN,MAAMkX,GAAS,CACb,CAAClpB,MAAU,QACX,CAACC,MAAY,SACb,CAACE,MAAW,OACZ,CAACC,OAAY,MACb,CAACC,MAAU,UACX,CAACC,MAAU,UAwGE6zB,OArGIxuB,IAAuB,IAAtB,aAAEyuB,GAAczuB,EAClC,MAAM,oBAAE0uB,GAAwBC,gBAC1B,KAAElI,GAASgI,EAEXvD,EACI,MAARzE,EAAmC,YAAnBA,EAAKyE,UAA0B,SAAQ,MAAS,KAC5D0D,EAAUH,EAAa1pB,SAAWpK,KAsCxC,OACE4G,eAACstB,KAAY,CAACC,UAAQ,EAACC,OAAQ,EAAE1tB,SAAA,CAC/BD,cAACytB,KAAa7hB,KAAI,CAACF,MAAM,QAAOzL,SA1BnB2tB,MAAO,IAADC,EACrB,MAAMC,EAAqB,QAAbD,EAAO,OAAJxI,QAAI,IAAJA,OAAI,EAAJA,EAAMvmB,YAAI,IAAA+uB,IAAI,aAE/B,IAAgB,OAAZR,QAAY,IAAZA,OAAY,EAAZA,EAAcU,uBAAwB,EAAG,CAC3C,IAAIlJ,EAAqB,OAAZwI,QAAY,IAAZA,OAAY,EAAZA,EAAcU,sBAM3B,OAJIV,EAAa1F,0BAA4B,IAC3C9C,EAASwI,EAAa1F,2BAGN,IAAX9C,EAAY,GAAAzhB,OACZ0qB,EAAQ,wBAAA1qB,OACR0qB,EAAQ,OAAA1qB,OAAMyhB,EAAM,kBAC7B,CAEA,OAAgB,OAAZwI,QAAY,IAAZA,OAAY,EAAZA,EAAczF,kBAAmB,EACM,KAAtB,OAAZyF,QAAY,IAAZA,OAAY,EAAZA,EAAcW,iBAAqB,GAAA5qB,OACnC0qB,EAAQ,sBAAA1qB,OACR0qB,EAAQ,MAAA1qB,OAAiB,OAAZiqB,QAAY,IAAZA,OAAY,EAAZA,EAAczF,iBAAgB,iBAGzC,OAAJvC,QAAI,IAAJA,OAAI,EAAJA,EAAMvmB,IAAI,EAKmB8uB,KAClC5tB,cAACytB,KAAa7hB,KAAI,CAACF,MAAM,QAAOzL,SACL,IAAxBotB,EAAa9G,OACZ,aAEAvmB,cAAA,OAAAC,SAAA,GAAAmD,OAAS2mB,aAAesD,EAAa9G,QAAO,OAAAnjB,OAAM0mB,OAGtD9pB,cAACytB,KAAa7hB,KAAI,CAACF,MAAM,iBAAUzL,SACjCE,eAACoQ,IAAG,CAAAtQ,SAAA,CACFE,eAAC2Y,IAAG,CAAA7Y,SAAA,CACFD,cAACiuB,KAAG,CAAChM,MAAOE,GAAOkL,EAAa1pB,QAAQ1D,SACrCiB,KAAQmsB,EAAa1pB,UAEvB0pB,EAAaa,0BAA4B,EACxCluB,cAAA,QAAMI,UAAU,eAAcH,SAAA,0BAAAmD,OAE1BiqB,EAAaa,0BAAyB,KAAA9qB,QAvDzB+qB,EAyDb,eAzD2BC,EA0D3Bf,EAAaa,0BAA4B,EAzDlC,iBAAjBC,GAAmCC,EAC9B,gBAGY,eAAjBD,GAA8BC,EACzB,cAGFD,GAkDM,OAED,QAENnuB,cAAC8Y,IAAG,CAAA7Y,SACDutB,EACCxtB,cAAA,QAAMI,UAAU,uBAAsBH,SACnCqtB,IAED,YAITD,EAAagB,WACZruB,cAACytB,KAAa7hB,KAAI,CAACF,MAAM,WAAUzL,SACjCD,cAACuQ,IAAG,CAAAtQ,SACFD,cAAC8Y,IAAG,CAAA7Y,SAAc,OAAZotB,QAAY,IAAZA,OAAY,EAAZA,EAAciB,sBAGtB,KACJtuB,cAACytB,KAAa7hB,KAAI,CAACF,MAAM,WAAUzL,SACjCD,cAACwc,IAAgB,CAACpc,UAAU,4BAA2BH,SAChD,OAAJolB,QAAI,IAAJA,OAAI,EAAJA,EAAMgE,SAAS/lB,KAAI,CAACgmB,EAASxf,IAC5B3J,eAAA,OAAsBC,UAAU,oCAAmCH,SAAA,CACjED,cAACwpB,KAAc,CAACppB,UAAU,YAC1BJ,cAAA,QAAAC,SAAOqpB,EAAQ5M,gBAFP4M,EAAQ1gB,aAlFA2lB,IAACJ,EAAcC,CAyF1B,E,sBCvGJI,OAhBe5vB,IAAiC,IAAhC,MAAE2G,EAAK,SAAEkpB,EAAQ,MAAEtkB,GAAOvL,EACvD,OACEoB,cAAA,OAAKI,UAAU,4BAA2BH,SACxCD,cAACqK,IAAI,CAACjK,UAAU,mBAAkBH,SAChCD,cAAC0uB,KAAM,CACLpuB,KAAMN,cAAC2uB,KAAY,CAACnuB,MAAO,CAAEouB,SAAU,UACvCjrB,OAAO,OACP4B,MAAOA,EACPkpB,SAAUA,EACVtkB,MAAOA,OAGP,ECmBK0kB,OA7BajwB,IAAsC,IAArC,SAAEqB,EAAQ,MAAEsF,EAAK,MAAEupB,EAAQ,IAAIlwB,EAC1D,MAAM,eAAEmwB,GAAmBxf,eACrByf,EAAUC,eAEVC,EAA2BA,KAC/BF,EAAQ5mB,KAAK,qBAAqB,EAGpC,OAAsB,KAAb,OAAL0mB,QAAK,IAALA,OAAK,EAALA,EAAOvoB,QACF,KAGLwoB,KAAkBD,GAElB9uB,cAACwuB,GAAqB,CACpBjpB,MAAOA,EACPkpB,SAAS,yEACTtkB,MACEnK,cAACY,IAAM,CAACC,QAASquB,EAA0B/wB,KAAK,UAAS8B,SAAC,4BAQ3DA,CAAQ,E,8BC9BV,MAKMkvB,GAAgBA,CAACvmB,EAAIlG,IAAc0sB,gBACxCC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,gBACVywB,WARuC,8BASvCC,OAAQL,SAAYjtB,MAAIC,KAAK,4BAADgB,OAA6BwF,IACzDlG,aACA,ECHWgtB,OARU9wB,IAAe,IAAd,KAAEmN,GAAMnN,EAChC,OACEoB,cAAA,OAAAC,SACED,cAAA,QAAMI,UAAU,eAAcH,SAAEkN,IAAOpB,GAAM4jB,aACzC,ECgEKC,OA9DmBhxB,IAAsB,IAADixB,EAAA,IAApB,KAAEzc,EAAI,MAAEtD,GAAOlR,EAChD,MAAM2wB,EAAWO,0BACX,QAAEC,EAAO,aAAEC,GAAiBzgB,eAC5Byf,EAAUC,gBACV,aAAEgB,EAAY,SAAEC,EAAQ,aAAEpP,GAAiB1N,GAE3C,4BAAE+c,GAAgCC,wBACrC7sB,IAAC,IAAA8sB,EAAAC,EAAA,OAA4B,QAA5BD,EAAgB,QAAhBC,EAAK/sB,EAAEgtB,iBAAS,IAAAD,OAAA,EAAXA,EAAaE,kBAAU,IAAAH,IAAI,CAAC,CAAC,IAGhCI,EAAgBpiB,IAAe,IAADqiB,EAAA,IAAb,KAAEhvB,GAAM2M,EAC7B,MAAM,SAAEsiB,GAAajQ,OAAOkQ,SASzB,IAADC,EAHF,GAJA/gB,IACAyf,EAASJ,GAAc/b,EAAKxK,KAC5BmnB,EAAQ,CAAEC,eAAc7xB,KAAM,iBAG5BwyB,EAASG,WAAW,mBACpBH,EAASI,SAAS,YAIlB,OAFA/B,EAAQlsB,QAAQ,iBAADM,OAA6B,QAA7BytB,EAAkBnvB,EAAKmC,cAAM,IAAAgtB,OAAA,EAAXA,EAAajoB,GAAE,kBAChD8X,OAAOkQ,SAASI,SAIlBhC,EAAQ5mB,KAAK,iBAADhF,OAA6B,QAA7BstB,EAAkBhvB,EAAKmC,cAAM,IAAA6sB,OAAA,EAAXA,EAAa9nB,GAAE,YAAW,EAOpDqoB,EAAaC,KAAKxL,MAA6B,QAAxBmK,EAACI,EAAagB,kBAAU,IAAApB,IAAI,OACnD,YAAEsB,EAAW,iBAAEC,EAAgB,mBAAEC,GAAuBJ,EAE9D,OACE9wB,eAAA,OAAAF,SAAA,CACED,cAAA,OAAKI,UAAU,WAAUH,SACvBE,eAAA,QAAAF,SAAA,CAAM,qEAEJD,cAAA,QAAMI,UAAU,sBAAqBH,SAAA,IAAAmD,OAAM+tB,EAAW,OAAW,eAEjEnxB,cAAA,QAAMI,UAAU,sBAAqBH,SAAA,IAAAmD,OAAMguB,EAAgB,YAG/DpxB,cAAC0vB,GAAgB,CAAC3jB,KAAM+U,IAEvBoP,GACClwB,cAACY,IAAM,CACLR,UAAU,UACVG,KAAK,QACLM,QAASA,KAAMywB,OAvBC1oB,EAuBcyoB,OAtBpC9B,EAASgC,aAAyB3oB,EAAI6nB,IADhB7nB,KAuBkC,EAClDlJ,QAAS2xB,IAAuBlB,EAA4BlwB,SAC7D,cAIC,ECrCKuxB,OA3Be5yB,IAAkC,IAAjC,KAAEwU,EAAI,SAAEnT,EAAQ,QAAEY,GAASjC,EACxD,MAAM,aAAEkiB,EAAY,aAAE2Q,GAAiBre,EAEvC,IAAIhT,EAAY,oBAUhB,MARuB,oBAAZS,IACTT,GAAa,eAGVqxB,IACHrxB,GAAa,mBAIbD,eAAA,OACEC,UAAWA,EACXS,QAASA,EACT6wB,UAAWA,OACXC,KAAK,SACLC,SAAS,IAAG3xB,SAAA,CAEXA,EACDD,cAAC0vB,GAAgB,CAAC3jB,KAAM+U,MACpB,ECaK+Q,OAjCgBjzB,IAAe,IAAd,KAAEwU,GAAMxU,EACtC,MAAM,aAAEqxB,GAAiB7c,EACnB4b,EAAUC,eACVM,EAAWO,yBAoBjB,OACE3vB,eAACqxB,GAAqB,CAAC3wB,QAnBLixB,KAAO,IAADjC,EACxB,MAAM,SAAEc,GAAajQ,OAAOkQ,SAEtBK,EAAaC,KAAKxL,MAA6B,QAAxBmK,EAACI,EAAagB,kBAAU,IAAApB,IAAI,MAGzD,GAFAN,EAASJ,GAAc/b,EAAKxK,KAG1B+nB,EAASG,WAAW,mBACpBH,EAASI,SAAS,YAIlB,OAFA/B,EAAQlsB,QAAQ,iBAADM,OAAkB6tB,EAAWc,UAAS,kBACrDrR,OAAOkQ,SAASI,SAIlBhC,EAAQ5mB,KAAK,iBAADhF,OAAkB6tB,EAAWc,UAAS,YAAW,EAIhB3e,KAAMA,EAAKnT,SAAA,CACtDD,cAAA,OAAKI,UAAU,4CAA2CH,SACvDgwB,EAAa1qB,QAEhBvF,cAAA,OAAKI,UAAU,WAAUH,SAAEgwB,EAAavT,gBAClB,EClBbsV,OAbWprB,IACxB,MAAM,KAAEwM,GAASxM,EAEjB,OAAQwM,EAAK6c,aAAa9xB,MACxB,IAAK,sBACH,OAAO6B,cAAC4vB,GAAyB,IAAKhpB,IACxC,IAAK,SACH,OAAO5G,cAAC6xB,GAAsB,IAAKjrB,IACrC,QACE,OAAO,KACX,EC4BaqrB,OArCUrzB,IAAqD,IAApD,KAAE8C,EAAI,kBAAEwwB,EAAiB,WAAElqB,EAAU,MAAE8H,GAAOlR,EACtE,MAAM,MAAEyb,EAAQ,GAAE,OAAEyD,EAAM,QAAEpe,GAAYgC,EAElCywB,EAAgBA,CAACjlB,EAAOpD,IACxBoD,EAAQ,GAAKpD,IAAUoD,EAAQ,EAC1BlN,cAACmpB,KAAO,CAAC/oB,UAAU,oBAGrB,KAaT,OACED,eAACqc,IAAgB,CACfpc,UAAU,sBACVqc,YAPoB2V,KALlBpqB,EAAWqqB,MAAQhY,EAAM9T,QAC3B2rB,EAAkBlqB,EAAWyO,QAAU,EAKhB,EAMMxW,SAAA,CAE5Boa,EAAM/W,KAAI,CAACC,EAAGuG,IACb3J,eAAA,OAAAF,SAAA,CACED,cAACgyB,GAAgB,CAAY5e,KAAM7P,EAAGuM,MAAOA,GAAtBvM,EAAEqF,IACxBupB,EAAc9X,EAAM9T,OAAQuD,KAFrBvG,EAAEqF,MAKbkV,IAAWpe,GAA4B,IAAjB2a,EAAM9T,QAAgBvG,cAAC8M,IAAK,MAClC,ECCRwlB,OAjCS1zB,IAA6B,IAA5B,cAAE2zB,EAAgB,IAAI3zB,EAC7C,MAAM+W,EAAOC,kBAAQ,CACnB7W,SAAU,gBACVyzB,SAAU,iCACVC,iBAAkB,CAAEC,cAAc,MAG9B,KAAEhxB,EAAI,MAAEoO,GAAU6F,EAMxB,OAJKjU,EAAKoc,QAAWpc,EAAKhC,SACxBoQ,IAIA9P,cAAC0R,IAAO,CAACnM,MAAM,qBAActF,SAC3BD,cAACgc,KAAO,CACN2W,cAAc,qBACdC,iBAAiB,sBACjBzW,QAASA,IAAMnc,cAACiyB,GAAgB,IAAKtc,IACrCsG,QAAQ,QAAOhc,SAEfD,cAAC6yB,KAAK,CAACzyB,UAAU,SAAS8M,MAAOxL,EAAKoxB,mBAAoBvyB,KAAK,QAAON,SACpED,cAACK,kBAAe,CACdD,UAAS,GAAAgD,OAAKmvB,EAAa,kCAC3BjyB,KAAK,OACL2Q,QAAM,SAIJ,E,UCnBC8hB,OAZMn0B,IAAkB,OAAZqM,GAAMrM,EAC/B,OACEoB,cAACiS,IAAM,IAAKhH,EAAIhL,SACb+yB,KAAO1vB,KAAI+K,IAAA,IAAC,SAAE4kB,EAAQ,KAAEn0B,GAAMuP,EAAA,OAC7BrO,cAACiS,IAAOK,OAAM,CAAgBnM,MAAO8sB,EAAShzB,SAC3CnB,GADiBm0B,EAEJ,KAEX,ECTb,MAAM5Y,GAAQ,CACZ,CACE4Y,SAAU,MACVn0B,KAAM,iCAER,CACEm0B,SAAU,MACVn0B,KAAM,mCAER,CACEm0B,SAAU,UACVn0B,KAAM,uCAER,CACEm0B,SAAU,UACVn0B,KAAM,2DAER,CACEm0B,SAAU,MACVn0B,KAAM,uCAER,CACEm0B,SAAU,MACVn0B,KAAM,oCAER,CACEm0B,SAAU,QACVn0B,KAAM,oCAgBKo0B,OAZ8BtsB,GAEzC5G,cAACiS,IAAM,IAAKrL,EAAO2W,0BAA0B,EAAMtd,SAChDoa,GAAM/W,KAAI1E,IAAA,IAAC,SAAEq0B,EAAQ,KAAEn0B,GAAMF,EAAA,OAC5BoB,cAACiS,IAAOK,OAAM,CAAgBnM,MAAO8sB,EAAShzB,SAAA,GAAAmD,OACxC6vB,EAASzvB,cAAa,OAAAJ,OAAMtE,IADdm0B,EAEJ,MCPTE,OA7BWv0B,IASnB,IAToB,KACzBE,EAAI,aACJM,EAAY,OACZg0B,EAAS,GAAE,QACXhW,GAAU,EAAI,MACd1R,EAAK,MACLxN,EAAK,WACL6S,EAAU,UACV3Q,GACDxB,EACC,OACEoB,cAACoL,IAAKQ,KAAI,CACRxL,UAAWA,EACXtB,KAAMA,EACNse,QAASA,EACThe,aAAcA,EACdsM,MAAOA,EAAMzL,SAEbD,cAAC2Q,IAAW0iB,YAAW,CACrBjzB,UAAU,UACVkO,OAAO,aACP9N,MAAO,CAAEtC,MAAY,OAALA,QAAK,IAALA,IAAS,QACzBk1B,OAAQA,EACRriB,WAAYA,KAEJ,ECADuiB,OA1BO10B,IAIf,IAJgB,UACrBwB,EAAY,GAAE,OACdmmB,EAAS,EAAC,aACVgN,GAAe,GAChB30B,EACC,OAAI2nB,EAAS,EAETvmB,cAAA,QAAMI,UAAS,6BAAAgD,OAA+BhD,GAAYH,SACvD8pB,aAAexD,EAAQgN,KAK1BhN,EAAS,EAETvmB,cAAA,QAAMI,UAAS,6BAAAgD,OAA+BhD,GAAYH,SACvD8pB,aAAexD,EAAQgN,KAM5BvzB,cAAA,QAAMI,UAAWA,EAAUH,SAAE8pB,aAAexD,EAAQgN,IAAqB,ECV7E,MAAM,OAAEjhB,IAAWL,IAEboI,GAAQ,CACZtf,KACAH,KACAC,KACAP,KACAC,KACAE,KACAJ,KACAW,KACAC,MAGIu4B,GAAsBA,CAAA50B,EAAoC6T,KAAS,IAA5C,SAAEghB,EAAW,GAAE,MAAEv1B,KAAU+M,GAAMrM,EAC5D,OACEoB,cAACiS,IAAM,IAAKhH,EAAMwH,IAAKA,EAAIxS,SACxBoa,GACExS,QAAQtE,IAAOkwB,EAAS5wB,SAASU,KACjCD,KAAKC,GACJvD,cAACsS,GAAM,CAASnM,MAAO5C,EAAEtD,SACtBiB,KAAQqC,IADEA,MAIV,EAIEwB,WAAMmT,WAAWsb,ICtBjBE,OAnBA90B,IAAmB,IAAlB,SAAEqB,GAAUrB,EAC1B,OACEoB,cAAA,OACEQ,MAAO,CACLE,SAAU,WACVK,MAAO,EACP4yB,OAAQ,EACRz1B,MAAO,OACP01B,UAAW,oBACXC,QAAS,YACT5yB,WAAY,OACZ6yB,UAAW,SACX7zB,SAEFD,cAAA,OAAAC,SAAMA,KACF,EC6BKqkB,OA3CA1lB,IAQR,IARS,UACdwB,EAAS,KACTG,EAAI,QACJ2U,EAAO,MACP3P,EAAK,QACLiS,EAAO,SACPvX,EAAQ,OACR8zB,GACDn1B,EACC,MAAMV,EACJqC,IAASA,EAAKsC,SAAS,MAAQtC,EAAKsC,SAAS,OAAStC,OAAOiG,EACzDwtB,EAAYzzB,IAASrC,EAAQqC,EAAO,KAE1C,OACEJ,eAAC8zB,KAAU,CACT/e,QAASA,EACT9U,UAAS,kBAAAgD,OAAoBhD,EAAS,KAAAgD,OAAI4wB,GAC1C91B,MAAOA,EACPqH,MAAOA,EACPiS,QAASA,EACT0c,UAAWH,EAAS,CAAEpzB,cAAe,IAAO,KAAKV,SAAA,CAEhDA,EACA8zB,EACC/zB,cAAA,OACEQ,MAAO,CACLE,SAAU,WACVK,MAAO,EACP4yB,OAAQ,EACRz1B,MAAO,OACP01B,UAAW,oBACXC,QAAS,YACT5yB,WAAY,OACZ6yB,UAAW,SACX7zB,SAED8zB,IAED,OACO,ECrCjB,MAAQzhB,OAAO,IAAIL,IAWJkiB,OATUvtB,GAErBzG,eAAC8R,IAAM,IAAKrL,EAAK3G,SAAA,CACfD,cAACsS,GAAM,CAACnM,MAAOpM,MAAQkG,SAAEiB,KAAQnH,SACjCiG,cAACsS,GAAM,CAACnM,MAAOnM,KAAQiG,SAAEiB,KAAQlH,W,WCHxBo6B,OARQnxB,GAChBA,EAIEA,EAAKoxB,UAAU,OAAOvxB,QAAQ,mBAAoB,IAHhD,GCIX,MAAM,SAAEwxB,IAAaC,KAEN,MAAMC,WAAyBzvB,IAAMC,UAClD4U,YAAYhT,GAAQ,IAADiT,EACjBC,MAAMlT,GAAMiT,EAAA3O,KAAC,KAUfupB,eAAiBrF,UACf,MAAM,WAAEvoB,GAAeqE,KAAK3L,OACtB,OAAEL,EAAM,SAAEH,GAAamM,KAAKtE,MAClC,IAAI9G,EAEsB,IAAtB+G,EAAWN,QAAiBmuB,IAC9B50B,QAAiBqC,MAAI2N,MAAM,GAAD1M,OAAIrE,EAAQ,SAASG,IAG7CY,IAAaA,EAASyC,QACxB2I,KAAK1L,SAAS,CAAEqH,WAAY/G,EAAS4B,KAAKmC,QAC5C,EACA,KAEF0S,aAAgBpQ,IACd,MAAM,SAAEtH,EAAQ,eAAE81B,EAAc,SAAEja,EAAQ,cAAEka,GAAkB1pB,KAAKtE,OAC7D,WAAEC,GAAeqE,KAAK3L,MAC5B,IAAImC,EAAO,GAEXwJ,KAAK2pB,WAAWhuB,EAAYnF,EAAMyE,GAE7BuU,GAAaka,IAChBlzB,EAAuB,IAAhBA,EAAK6E,OAAe7E,EAAK,GAAK,CAAC,GAGpC7C,GACFA,EAAS6C,GAGPizB,GACFA,EAAejzB,EACjB,EACA,KAEFmzB,WAAa,WAA0C,IAAzCxa,EAAK/T,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAAI5E,EAAI4E,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAAIwuB,EAAOxuB,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAC7C,IAAK,IAAIyuB,EAAI,EAAGA,EAAI1a,EAAM9T,OAAQwuB,GAAK,EAAG,CACxC,MAAM3hB,EAAOiH,EAAM0a,GAEf9sB,MAAMC,QAAQ4sB,IAAYA,EAAQjyB,SAASuQ,EAAKxK,IAClDlH,EAAK0G,KAAKyR,EAAKmb,cAAc5hB,IACnBnL,MAAMC,QAAQ4sB,IAAYA,IAAY1hB,EAAKxK,IACrDlH,EAAK0G,KAAKyR,EAAKmb,cAAc5hB,IAG/B,MAAM6hB,EAAWpb,EAAKqb,YAAY9hB,GAElC,IAAK,IAAI+hB,EAAI,EAAGA,EAAIF,EAAS1uB,OAAQ4uB,GAAK,EACxCtb,EAAKgb,WAAW,CAACI,EAASE,IAAKzzB,EAAMozB,EAEzC,CACF,EAAE,KAEF/Z,aAAgB1U,IACd6E,KAAK1L,SAAS,CAAE6G,cAAa,EAC7B,KAEF+uB,gBAAmBnyB,GACVmxB,GAAcnxB,GAAMF,cAC3B,KAEFsyB,qBAAuB,CAACC,EAAU12B,KAAiB,IAAf,MAAEgI,GAAOhI,EAC3C,MAAM,iBAAE22B,GAAqBrqB,KAAKtE,MAC5BrB,EAAQ2F,KAAK0iB,SAAShnB,EAAM4uB,MAElC,OAAID,EACKA,EAAiBrqB,KAAKkqB,gBAAgBE,GAAa1uB,EAAM4uB,MAG3DtqB,KAAKkqB,gBAAgB7vB,GAAO1C,SACjCqI,KAAKkqB,gBAAgBE,GACtB,EACD,KAEF1H,SAAY4H,IACV,MAAM,SAAE5H,GAAa1iB,KAAKtE,MAE1B,OAAIgnB,EACKA,EAAS4H,IAGP,OAAJA,QAAI,IAAJA,OAAI,EAAJA,EAAMjwB,SAAa,OAAJiwB,QAAI,IAAJA,OAAI,EAAJA,EAAM9Y,YAAW,EACvC,KAEFwY,YAAeM,IACb,MAAM,YAAEN,GAAgBhqB,KAAKtE,MAE7B,OAAIsuB,EACKA,EAAYM,IAGV,OAAJA,QAAI,IAAJA,OAAI,EAAJA,EAAMP,WAAY,EAAE,EAC3B,KAEFD,cAAiBQ,IACf,MAAM,cAAER,GAAkB9pB,KAAKtE,MAE/B,OAAIouB,EACKA,EAAcQ,GAGhBA,CAAI,EACX,KAEFC,eAAkBD,IAChB,MAAM,WAAEE,GAAexqB,KAAKtE,MAE5B,QAAI8uB,GACKA,EAAWF,EAGR,EACZ,KAEFG,eAAkBH,IAAU,IAADI,EACzB,MAAM,WAAEvvB,GAAe6E,KAAK3L,OACtB,GAAEqJ,EAAE,KAAEzK,GAASq3B,EAErB,IAAIjwB,EAAQ2F,KAAK0iB,SAAS4H,GAE1B,MAAM1rB,EAAQoB,KAAKkqB,gBAAgB7vB,GAAO8M,QACxCnH,KAAKkqB,gBAAgB/uB,IAGjBwvB,EAAYtwB,EAAM0iB,OAAO,EAAGne,GAC5BgsB,EAAWvwB,EAAM0iB,OAAOne,EAAQzD,EAAWE,QAE7CuD,GAAS,IACXvE,EACEpF,eAAAsI,WAAA,CAAAxI,SAAA,CACEE,eAAA,QAAAF,SAAA,CACG41B,EACD71B,cAAA,QAAMQ,MAAO,CAAEyhB,MAAO,OAAQhiB,SAC3BsF,EAAM0iB,OAAOne,EAAOzD,EAAWE,UAEjCuvB,KAEF33B,EACC6B,cAAA,QAAMI,UAAU,eAAcH,SAAA,MAAAmD,OAAQlC,KAAQ/C,MAC5C,SAKV,MAAMkc,EAA8B,QAAzBub,EAAG1qB,KAAKgqB,YAAYM,UAAK,IAAAI,IAAI,GAExC,OACE51B,cAACs0B,GAAQ,CAEPnuB,MAAOyC,EACPrD,MAAOA,EACPlG,SAAU6L,KAAKuqB,eAAeD,GAC9BpiB,KAAMlI,KAAK8pB,cAAcQ,GACzBO,OAA0B,KAAb,OAAL1b,QAAK,IAALA,OAAK,EAALA,EAAO9T,QACfivB,KAAMA,EAAKv1B,SAEVoa,EAAM/W,KAAKC,GAAM2H,KAAKyqB,eAAepyB,MARjCqF,EASI,EApKbsC,KAAK3L,MAAQ,CACXsH,WAAY,GACZR,WAAY,IAGd6E,KAAKupB,gBACP,CAkKAnsB,SAAU,IAAD0tB,EACP,MAAM,WAAEnvB,GAAeqE,KAAK3L,OACtB,UACJa,EAAS,YACTod,EAAW,YACXle,EAAW,MACXkB,EAAK,SACLka,EAAQ,kBACR4C,EAAiB,MACjBnX,EAAK,yBACLoX,EAAwB,SACxBle,EAAQ,WACR0R,EAAU,SACVC,EAAQ,MACR9S,GACEgN,KAAKtE,MAEHqvB,EAAYvb,EAAkC,QAA1Bsb,EAAQ,OAAL7vB,QAAK,IAALA,OAAK,EAALA,EAAO7C,KAAKC,GAAMA,EAAEqF,YAAG,IAAAotB,IAAI,GAAU,OAAL7vB,QAAK,IAALA,OAAK,EAALA,EAAOyC,GAEpE,OACE5I,cAACu0B,KAAU,CACTn0B,UAAWA,EACXf,SAAUA,EACVme,YAAaA,EACbhd,MAAOA,GAAS,CAAEtC,MAAY,OAALA,QAAK,IAALA,IAAS,QAClCiI,MAAO8vB,EACPvb,SAAUA,EACVvV,SAAU+F,KAAK6P,aACfhK,WAAYA,EACZwM,yBAAkD,OAAxBA,QAAwB,IAAxBA,IAA4B,IACtDtM,OAAQA,IAAM/F,KAAK1L,SAAS,CAAE6G,WAAY,KAC1C6vB,eAAgBhrB,KAAKmqB,qBACrBc,cAAe,CAAEC,UAAW,IAAKC,SAAU,QAC3C/2B,YAAaA,EACbge,kBAAmBA,EACnBP,YAAU,EACVle,SAAUqM,KAAKqL,aACfvF,SAAUA,EAAS/Q,SAElB4G,EAAWvD,KAAKC,GAAM2H,KAAKyqB,eAAepyB,MAGjD,E,cCnNa+yB,OATa13B,IAAoC,IAAnC,SAAEqB,EAAQ,OAAEusB,KAAWvhB,GAAMrM,EACxD,OACEuB,eAAA,OAAKC,UAAU,mCAAkCH,SAAA,CAC/CD,cAAA,OAAKI,UAAU,gBAAeH,SAAEusB,IAC/BznB,IAAMyP,aAAavU,EAAUgL,KAC1B,ECSV,MAAM6jB,GAAQ,CACZ,CACElmB,GAAIjL,MACJmB,KAAMoC,KAAQq1B,SAAS54B,QAEzB,CAAEiL,GAAI1L,KAAgB4B,KAAMoC,KAAQq1B,SAASr5B,OAC7C,CAAE0L,GAAIzL,KAAuB2B,KAAMoC,KAAQq1B,SAASp5B,OACpD,CAAEyL,GAAIxL,MAAe0B,KAAMoC,KAAQq1B,SAASn5B,QAC5C,CAAEwL,GAAIvL,MAAsByB,KAAMoC,KAAQq1B,SAASl5B,QACnD,CAAEuL,GAAItL,KAAoBwB,KAAMoC,KAAQq1B,SAASj5B,OACjD,CAAEsL,GAAIrL,KAAmBuB,KAAMoC,KAAQq1B,SAASh5B,OAChD,CAAEqL,GAAIpL,MAAiBsB,KAAMoC,KAAQq1B,SAAS/4B,QAC9C,CAAEoL,GAAIlL,MAAqBoB,KAAMoC,KAAQq1B,SAAS74B,SAqCrC84B,OAlCO53B,IAA6C,IAA5C,aAAE63B,EAAe,GAAE,OAAEjK,KAAWvhB,GAAMrM,EAC3D,OAAK4tB,EAiBHxsB,cAACs2B,GAAmB,CAAC9J,OAAQA,KAAYvhB,EAAIhL,SAC3CD,cAACiS,IAAM,CAAAhS,SACJ6uB,GACEjnB,QAAQtE,IAAOkzB,EAAa5zB,SAASU,EAAEqF,MACvCtF,KAAKC,GAEFvD,cAACiS,IAAOK,OAAM,CAAYnM,MAAO5C,EAAEqF,GAAIrD,MAAOhC,EAAEzE,KAAKmB,SAClDsD,EAAEzE,MADeyE,EAAEqF,UArB9B5I,cAACiS,IAAM,IAAKhH,EAAM3K,MAAI,EAAAL,SACnB6uB,GACEjnB,QAAQtE,IAAOkzB,EAAa5zB,SAASU,EAAEqF,MACvCtF,KAAKC,GAEFvD,cAACiS,IAAOK,OAAM,CAAYnM,MAAO5C,EAAEqF,GAAIrD,MAAOhC,EAAEzE,KAAKmB,SAClDsD,EAAEzE,MADeyE,EAAEqF,OAsBV,ECzD1B,MAAM8tB,GAAeA,CAAA93B,EAiBnB6T,KACI,IAjBJ,SACExS,EAAQ,UACRG,EAAS,KACTsB,EAAI,aACJtC,EAAY,OACZ0d,EAAM,KACNhe,EAAI,SACJ4b,EAAQ,YACRpb,EAAW,WACXyd,EAAU,MACVrR,EAAK,MACLxN,EAAK,SACLmB,EAAQ,WACR0R,KACG9F,GACJrM,EAGD,MAAOsW,EAAS8H,GAAcvd,mBAAS,CAAEwd,SAAS,EAAOC,QAAQ,IAE3DC,EAAwBhX,IAC5B6W,EAAW,IAAK9H,EAAS+H,SAAS/H,EAAQgI,QAAiB/W,GAAQ,EAqCrE,OACEnG,cAACoL,IAAKQ,KAAI,CACR9M,KAAMA,EACNse,SAAU1R,EACVtM,aAAcA,EACdsM,MAAOA,EACPtL,UAAWA,EAAUH,SAErBD,cAACiS,IAAM,CACLQ,IAAKA,EACLrS,UAAW0c,EAAS,GAAK,wBACzBO,WAAS,EACTN,WAAsB,OAAVA,QAAU,IAAVA,KACZzd,YAAaA,EACbkB,MAAO,CAAEtC,MAAY,OAALA,QAAK,IAALA,IAAS,QACzBof,kBA7CkBxS,GAClBA,EAAOvE,QAAU,EACZ,GAGa,IAAlBuE,EAAOvE,OACFuE,EAAO,GAAGY,MAIjB1L,cAACgc,KAAO,CACNzW,MAAOjG,EACP4V,QAASA,EAAQ+H,QACjBf,gBAAiBiB,EACjBxL,UAAU,aACVwK,QACEnc,cAAA,OAAAC,SACG6K,EAAOxH,KAAKC,GACXvD,cAAA,OAAiBI,UAAU,UAASH,SACjCsD,EAAEmI,OADKnI,EAAExB,SAKjB9B,SAAA,GAAAmD,OAEG0H,EAAOvE,OAAM,mBAqBjBgX,0BAA0B,EAC1BxG,wBAnDuB5Q,IAC3B6W,EAAW,CAAEE,OAAQ/W,EAAO8W,SAAS,GAAQ,EAmDzCO,YAAa,EACbne,SAAUA,EACV0R,WAAYA,KACR9F,EAAIhL,SAEPyB,EACGA,EAAK4B,KAAKC,GACRvD,cAACiS,IAAOK,OAAM,CAAanM,MAAO5C,EAAExB,IAAI9B,SACrCsD,EAAEmI,OADenI,EAAExB,OAIxB9B,KAEI,EAID8E,WAAMmT,WAAWwe,I,qBC5FzB,MAAMC,GAAiBA,IACD,qBAAbC,SAmGDC,OA5FIj4B,IAKZ,IALa,gBAClBk4B,GAAkB,EAAI,QACtB5hB,GAAU,EAAI,KACd5F,EAAI,OACJynB,GACDn4B,EACC,MAAM2wB,EAAWO,0BACX,WAAEkH,GAAa,GAAU5G,wBAAa7wB,GAAUA,EAAMqQ,WAEtDqnB,EAAoBA,KACxB,IACMvW,OAAOkW,WAAaI,EAClBtW,OAAOkW,SAASM,UACdH,GACFA,IAEFxH,EAAS9wB,iBAETyH,YAAW,IAAM+wB,KAAqB,OAGvCvW,OAAOyW,oBACRzW,OAAOyW,oBAAsB,KAE7BjxB,YAAW,IAAM+wB,KAAqB,KAExCvW,OAAOyW,oBAAsB,CAC/B,CAAE,MAAO10B,GAAQ,GAmCnB,OAhCA7C,qBAAU,KACR8gB,OAAOyW,mBAAqB,EAC5BF,GAAmB,GAClB,IAEHr3B,qBAAU,KACR,IACMo3B,GAAc1nB,GAChBoR,OAAOkW,SAASQ,cAAc,CAC5Bt4B,KAAMwQ,EAAKxQ,KACXu4B,MAAO/nB,EAAK+nB,OAGlB,CAAE,MAAO50B,GAAQ,IAChB,CAACu0B,IAEJp3B,qBAAU,KACJ+2B,OACEzhB,EACF0hB,SAASU,aAETV,SAASW,cAGN,KACDX,UAAyC,oBAAtBA,SAASY,WAC9BZ,SAASY,WACTZ,SAASW,aACX,IAED,CAACriB,KAGDyhB,OACCG,EAwBE,KAvBF92B,cAACy3B,UAAM,CAAAx3B,SACLD,cAAA,UAAQ7B,KAAK,kBAAiB8B,SAAA,qeAAAmD,OAYtB8R,EAAO,8JAUV,ECnGb,MAAMwiB,GAAS,CACbC,wBAAyB,2CACzBC,QAAS,0BACTC,SAAU,SACVC,SAAU,oBACVC,OAAQ,mCAGJ5V,GAAS,CACbwV,wBAAyB,SACzBC,QAAS,OACTC,SAAU,QACVC,SAAU,MACVC,OAAQ,OAOKC,OAJgBp5B,IAAiB,IAAhB,OAAE+E,GAAQ/E,EACxC,OAAOoB,cAACiuB,KAAG,CAAChM,MAAOE,GAAOxe,GAAQ1D,SAAEy3B,GAAO/zB,IAAc,E,6BC0D5Cs0B,OApEarxB,IAC1B,MAAO+D,GAAQS,IAAKE,WACb4sB,EAAsBC,GAA2B14B,mBAAS,OAC1DyV,EAAS8H,GAAcvd,oBAAS,IACjC,aAAE24B,EAAY,gBAAEC,GAAoBC,gBACpC,KAAEhpB,EAAI,QAAEipB,GAAYhpB,eACpBggB,EAAWO,yBACXd,EAAUC,eA2BhB,OAVArvB,qBAAU,KACJ24B,MAAcH,EAChBpb,GAAW,GACFub,KAAaH,EACtBpb,GAAW,GACDub,KAAcH,GACxBC,EAAgB/oB,EAClB,GACC,CAAC8oB,IAGFp4B,cAACukB,IAAK,CACJrP,QAASA,EACT3P,MAAM,2BACNrH,MAAO,IACP2K,WAAW,sBACXC,OAAO,YACPojB,KAhCiBN,KACnBjhB,EAAKkhB,iBAAiBxpB,MAAMyI,IAC1ButB,EAAgBH,GAChBM,SAAS5H,SAASI,QAAQ,GAC1B,EA6BAxM,SA1BkBiU,KACpBlJ,EACEmJ,aAAa,MAAM,KACjB1J,EAAQ5mB,KAAK,oCAAoC,IAEpD,EAsBCuiB,cAAc,EACdgO,UAAU,EAAM14B,SAEhBD,cAACoL,IAAI,CAACT,KAAMA,KAAUzB,gBAAcC,YAAYC,OAAOuB,KAAI1K,SACzDD,cAACuiB,eAAY,CACXzjB,KAAK,eACL6M,MAAO,CACL,CACEnB,UAAU,EACVhI,QAAQ,oCAEVvC,SAEFD,cAAC8W,KAAY,CACX/X,SAAS,QACTiS,SAAUmnB,EACV74B,YAAY,cACZJ,OAAQ,CAAE05B,wBAAwB,UAIlC,EC1DGC,OAbcj6B,IAAyC,IAAxC,eAAEoT,GAAiB,KAAS/G,GAAMrM,EAC9D,OACEuB,eAAC8R,IAAM,IAAKhH,EAAIhL,SAAA,CACdD,cAACiS,IAAOK,OAAM,CAAanM,MAAM,QAAOlG,SAAC,YAAtB,SAGnBD,cAACiS,IAAOK,OAAM,CAAiBnM,MAAM,YAAWlG,SAAC,aAA9B,eAGZ,ECTb,MAAM64B,GAAiB,CACrBC,MAAO,WACPC,UAAW,aAYEC,OATWr6B,IAAiB,IAAhB,OAAE+E,GAAQ/E,EACnC,MAAMqjB,EAAmB,cAAXte,EAAyB,aAAU6C,EACjD,OACExG,cAACiuB,KAAG,CAAChM,MAAOA,EAAO7hB,UAAU,UAASH,SACnC64B,GAAen1B,IACZ,ECTV,MAAMmrB,GAAQ,CACZoK,IAAK,CAAE54B,KAAM,aAAcxB,KAAM,kBACjCu4B,MAAO,CAAE/2B,KAAM,CAAC,MAAO,YAAaxB,KAAM,UAC1Cq6B,SAAU,CAAE74B,KAAM,CAAC,MAAO,YAAaxB,KAAM,aAkBhCs6B,OAfiBx6B,IAA4B,IAA3B,aAAEy6B,EAAe,IAAIz6B,EACpD,OACEoB,cAAA,OAAKI,UAAU,6EAA4EH,SACxFo5B,EAAa/1B,KAAKC,GACjBvD,cAAC0R,IAAO,CAASnM,MAAOupB,GAAMvrB,GAAGzE,KAAKmB,SACpCD,cAACK,kBAAe,CACdD,UAAU,wBACVE,KAAMwuB,GAAMvrB,GAAGjD,QAHLiD,MAOZ,ECcK+1B,OA/BQ16B,IAAsD,IAArD,SAAEC,EAAQ,MAAEsH,EAAK,OAAE1F,EAAM,KAAEoB,EAAO,MAAOoJ,GAAMrM,EACrE,MAAM6T,EAAMC,iBAAO,MAMnB,OACEvS,eAAA,OAAAF,SAAA,CACED,cAACyd,GAAU,CACThL,IAAKA,EACLhS,OAAQA,EACR5B,SAAUA,EACVsH,MAAOA,KACH8E,IAENjL,cAAA,OAAKI,UAAU,UAASH,SACrB4B,EAAKyB,KAAI+K,IAAA,IAAC,IAAEtM,EAAG,MAAEkgB,EAAK,MAAE1c,GAAO8I,EAAA,OAC9BrO,cAACiuB,KAAG,CACF7tB,UAAU,aACV6hB,MAAOA,EACPphB,QAASA,IAlBKkB,KACtB0Q,EAAIgE,QAAQ0H,OAAOpc,EAAI,EAiBAw3B,CAAex3B,GAAK9B,SAElCsF,GACG,QAGN,EC5BV,MAAMi0B,GAAQ,kBAiCCC,OA/BM76B,IAOd,IAPe,MACpB4B,EAAK,SACL3B,EAAQ,MACRsH,EAAK,OACL8K,EAAM,UACNoL,EAAS,SACThd,GACDT,EAYC,OACEoB,cAACoc,IAAK,CACJ5b,MAAOA,EACP3B,SAdkBiH,IACpB,IAAKjH,EACH,OAEF,MAAQsH,MAAOmvB,GAAexvB,EAAEG,QAE5BuzB,GAAMtS,KAAKoO,IAA8B,KAAfA,IAC5Bz2B,EAASy2B,EACX,EAOEnvB,MAAOA,EACP8K,OAAQA,EACRoL,UAAWA,EACXhd,UAAQ,GACR,ECoBSq6B,OAjDM96B,IASd,IATe,OACpBqrB,EAAS,IAAG,iBACZwC,EAAmB,IAAG,eACtBkN,EAAiB,IAAG,cACpBjN,EAAgB,EAAC,aACjBC,EAAe,EAAC,SAChB9tB,EAAQ,MACRsH,KACG8E,GACJrM,EACC,MAAOiuB,EAAWC,GAAgBrtB,mBAAS0G,GAoB3C,OAJAvG,qBAAU,KACRktB,EAAkB,OAAL3mB,QAAK,IAALA,IAAS,EAAE,GACvB,CAACA,IAGFnG,cAAAyI,WAAA,CAAAxI,SACED,cAAC+sB,KAAa,CACZ3sB,UAAU,YACV6pB,OAAQA,EACR0C,aAAcA,EACdF,iBAAkBA,EAClBkN,eAAgBA,EAChBjN,cAAeA,EACfM,oBAAoB,EACpBlf,IAAK,EACLC,IAAK,IACLkf,cA9BiBC,IACrB,MAAMrI,EAASqI,EACXC,WAAWD,EAAapqB,QAAQ2pB,EAAkB,MAClD,KAEA5H,GAAU,GAAKA,GAAU,KACnB,OAARhmB,QAAQ,IAARA,KAAWgmB,GACXiI,EAAaI,KAEL,OAARruB,QAAQ,IAARA,KAAW,MACXiuB,EAAa,MACf,EAoBI3mB,MAAO0mB,KACH5hB,KAEL,ECKQ2uB,OAlDKh7B,IAA2C,IAA1C,iBAAEi7B,EAAgB,OAAEC,EAAM,OAAEn2B,GAAQ/E,EACvD,MAAMm7B,EAAQ,CACZC,WAAY,CACV15B,KAAM,SAER25B,SAAU,CAAE35B,KAAM,CAAC,MAAO,iBAC1B45B,SAAU,CAAE55B,KAAM,kBAClB65B,SAAU,CAAE75B,KAAM,WAClBw3B,SAAU,CAAEx3B,KAAM,wBAClB85B,aAAc,CAAE95B,KAAM,yBAGlBsG,EACyB,gBAAb,OAAhBizB,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkBl2B,QAA0Bo2B,EAAMI,SAAWJ,EAAMp2B,GAErE,IAAI4B,EAAQ,GAEZ,GAAIs0B,EAAkB,CACpB,MAAM,QAAEr3B,EAAO,KAAE63B,GAASR,EAC1Bt0B,EAAQ80B,EAAI,GAAAj3B,OAAMi3B,EAAI,OAAAj3B,OAAMZ,GAAYA,CAC1C,CAEA,MAAM2e,EAAiBA,KACjB2Y,GACFpZ,OAAOlR,KAAKsqB,EAAQ,UAAUpjB,OAChC,EAGF,OAAI9P,EAEA5G,cAAC0R,IAAO,CAACnM,MAAOA,EAAOoM,UAAU,QAAO1R,SAC1B,eAAX0D,EACC3D,cAACK,kBAAe,CACdD,UAAU,2CACNwG,EACJ/F,QAASsgB,IAGXnhB,cAACK,kBAAe,CACdD,UAAU,2CACNwG,MAOP,IAAI,EChDb,MAAM0zB,GAAa,CACjB,CACE5uB,MAAO,mBACPvF,MAAO,mBAET,CACEuF,MAAO,qDACPvF,MAAO,mCAET,CACEuF,MAAO,gBACPvF,MAAO,iBAgBIo0B,OAZU3zB,GAErB5G,cAACiS,IAAM,IAAKrL,EAAK3G,SACdq6B,GAAWh3B,KAAK8O,GACfpS,cAACiS,IAAOK,OAAM,CAAoBnM,MAAOiM,EAAOjM,MAAMlG,SACnDmS,EAAO1G,OADU0G,EAAOjM,WCnBnC,MAAMq0B,GAAuB,CAC3B,CACE9uB,MAAO,sBACPvF,MAAO,mBAET,CACEuF,MAAO,yBACPvF,MAAO,4BAET,CACEuF,MAAO,aACPvF,MAAO,YAET,CACEuF,MAAO,6BACPvF,MAAO,0BAET,CACEuF,MAAO,cACPvF,MAAO,eAET,CACEuF,MAAO,sCACPvF,MAAO,6BAET,CACEuF,MAAO,yDACPvF,MAAO,oCAgBIs0B,OAZiB7zB,GAE5B5G,cAACiS,IAAM,IAAKrL,EAAK3G,SACdu6B,GAAqBl3B,KAAK8O,GACzBpS,cAACiS,IAAOK,OAAM,CAAoBnM,MAAOiM,EAAOjM,MAAMlG,SACnDmS,EAAO1G,OADU0G,EAAOjM,WClBpBu0B,OAhBM97B,IAAiC,IAAhC,MAAE2G,EAAK,SAAEkpB,EAAQ,MAAEtkB,GAAOvL,EAC9C,OACEoB,cAAA,OAAKI,UAAU,4BAA2BH,SACxCD,cAACqK,IAAI,CAACjK,UAAU,mBAAkBH,SAChCD,cAAC0uB,KAAM,CACLpuB,KAAMN,cAAC2uB,KAAY,CAACnuB,MAAO,CAAEouB,SAAU,UACvCjrB,OAAO,OACP4B,MAAOA,EACPkpB,SAAUA,EACVtkB,MAAOA,OAGP,ECDKwwB,OAXoB/7B,IAAmB,IAAlB,SAAEqB,GAAUrB,EAC9C,OACEoB,cAAC6uB,GAAmB,CAClBtpB,MAAM,oEACNupB,MAAO,CAACzyB,MAAsB4D,SAE7BA,GACmB,E,8BCE1B,MAAMkiB,GAAS,CACb,UACA,UACA,UACA,UACA,UACA,UACA,WAGIyY,GAAiBA,KACrB,MAAM9wB,EAAQ+wB,KAAKC,MAAMD,KAAKE,SAAW5Y,GAAO5b,QAChD,OAAO4b,GAAOrY,EAAM,EAGhBkxB,GAAgCp8B,IAA2B,IAA1B,QAAEq8B,EAAO,QAAEv7B,GAASd,EACzD,MAAOs8B,EAASC,GAAc17B,oBAAS,IACjC,UAAE27B,GAAqB,OAAPH,QAAO,IAAPA,IAAW,CAAC,GAC3BtwB,GAAQS,IAAKE,UACdikB,EAAWO,yBAEjB,GAAIuL,aAAcJ,EAAS,UACzB,OAAO,KAGT,MAmBMxK,EAAgBA,KACpB9lB,EAAK6O,aAAa,EAiEpB,OACExZ,cAACukB,IAAK,CACJrP,SAAO,EACPsP,SApBiB8W,KACfJ,EACF3W,IAAMyH,QAAQ,CACZzmB,MAAO,kDACPjF,KAAMN,cAACisB,KAAyB,IAChC9P,QAAS,sDACTrT,OAAQ,OACRD,WAAY,WACZqjB,OACEqD,EAASgM,eACX,IAGFhM,EAASgM,eACX,EAOEr9B,MAAO,IACPysB,cAAc,EACd6Q,eAAgB97B,EAChBoJ,OAAO,SACPojB,KAtEiBN,KACnBjhB,EAAKkhB,iBAAiBxpB,MAAKgM,IAA4C,IAA3C,gBAAEotB,EAAe,QAAEC,KAAYzwB,GAAMoD,EAC/D,MAAMvD,EAAS,IAAKG,GAGlBH,EAAOswB,UADLK,EACiBL,EAEA,KAGrBtwB,EAAO4wB,QAAUA,EAAQp4B,KAAKC,IAAC,CAAQo4B,OAAQC,YAAoBr4B,OAEnEgsB,EAASsM,aAAwB,OAAPZ,QAAO,IAAPA,OAAO,EAAPA,EAASryB,GAAIkC,EAAQ2lB,GAAe,GAC9D,EA0DAlrB,MAAM,kBAAWtF,SAEjBE,eAACiL,IAAI,CACHhC,OAAO,WACPuB,KAAMA,EACNI,cAAe,CAAE2wB,QAAS,IAC1BzS,eApGqBC,CAACxH,EAAQnZ,KAC7B2yB,GACHC,GAAW,GAGTzZ,EAAOoa,QACTvX,IAAMyH,QAAQ,CACZzmB,MAAO,0DACP4W,QAAS,qEACTtT,WAAY,sBACZC,OAAQ,eACR5K,MAAO,IACPsmB,SAAUA,KACR7Z,EAAKwY,eAAe,CAAE2Y,QAAQ,GAAQ,GAG5C,EAqFI7qB,OAAQA,OAAShR,SAAA,CAEjBD,cAACuiB,eAAY,CAACzjB,KAAK,aAAa0L,UAAQ,EAACwf,YAAU,EAAA/pB,SACjDD,cAACoc,IAAM2f,SAAQ,CACbz8B,YAAY,oCACZ08B,KAAM,EACNrS,WAAS,MAGb3pB,cAACuiB,eAAY,CAACzjB,KAAK,UAASmB,SAC1BD,cAACi8B,KAAoB,CACnBl9B,SAAS,UACTuX,KAAK,WACLhX,YAAY,YACZ48B,eAAiBp9B,IAAI,CAAQA,OAAMmjB,MAAO2Y,OAC1CtjB,UA7EQA,CAAC1Q,EAAOwM,KACxB,MAAM,MAAE1H,EAAK,QAAE8L,GAAY5Q,EAO3B,OACE5G,cAAA,OAAKI,UAAU,qCAAoCH,SACjDE,eAAA,QACEC,UAAU,4BACVI,MAAO,CAAES,WAAgB,OAAJmS,QAAI,IAAJA,OAAI,EAAJA,EAAM6O,OAAQhiB,SAAA,CAEnCD,cAAA,QAAMI,UAAU,kDAAiDH,SAC9DyL,IAEH1L,cAAA,QAAMI,UAAU,mCAAkCH,SAChDD,cAAC0X,KAAa,CACZtX,UAAU,gBACV+7B,YAjBkBlwB,IAC1BA,EAAMmwB,iBACNnwB,EAAMowB,iBAAiB,EAgBfx7B,QAAS2W,UAIX,EAqDA8kB,aAAe/4B,GACbvD,cAACiS,IAAOK,OAAM,CAAanM,MAAO5C,EAAE0e,MAAOvW,MAAOnI,EAAEmI,MAAMzL,SACvDsD,EAAEmI,OADenI,EAAExB,SAM5B/B,cAACuQ,IAAG,CAAClI,MAAM,SAASwQ,QAAQ,gBAAe5Y,SACzCE,eAAC2Y,IAAG,CAAA7Y,SAAA,EACM,OAAPg7B,QAAO,IAAPA,OAAO,EAAPA,EAASsB,SACRv8B,cAACoL,IAAKQ,KAAI,CACR9M,KAAK,SACLse,SAAO,EACP8M,cAAc,UACd9qB,cAAc,EAAMa,SAEpBD,cAACkkB,KAAQ,CAAAjkB,SAAC,gCAGbm7B,EACCp7B,cAACoL,IAAKQ,KAAI,CACR9M,KAAK,kBACLse,SAAO,EACP8M,cAAc,UACd9qB,cAAc,EAAMa,SAEpBD,cAACkkB,KAAQ,CAAAjkB,SAAC,8BAEV,cAIJ,EAgBGu8B,OAZiB51B,IAC9B,MAAM,qBAAE61B,GAAyBrM,wBAC9B7sB,IAAC,IAAAm5B,EAAApM,EAAA,OAA0B,QAA1BoM,EAAgB,QAAhBpM,EAAK/sB,EAAEgtB,iBAAS,IAAAD,OAAA,EAAXA,EAAaqM,gBAAQ,IAAAD,IAAI,CAAC,CAAC,IAGpC,OAAKD,EAIEz8B,cAACg7B,GAA6B,IAAKyB,KAA0B71B,IAH3D,IAGoE,E,sDC/L/E,MAAMg2B,GAAqB16B,GACpBA,EAIE,CACLvC,IAAI,GAADyD,OAAKa,gCAA6B,cAAAb,OAAalB,EAAK0G,GAAE,WACzDi0B,SAAU36B,EAAKlD,UAAYkD,EAAKlD,UAAYkD,EAAKie,YACjDnd,SAAUd,EAAKpD,MANR,KAULg+B,GAAWA,IAEb98B,cAAA,OAAKI,UAAU,sFAAqFH,SAClGD,cAAC0uB,KAAM,CAACnpB,MAAM,uCAKdw3B,GAASA,CAACx9B,EAAOy9B,EAAkBC,KACvC,MAAM,gBAAEC,EAAe,UAAEvb,EAAY,GAAE,cAAEwb,GAAkB59B,EASrDkX,EAAU0mB,EAAgB,EAC1BpvB,EAAM4T,EAAUpb,OAEtB,OACEpG,eAACoQ,IAAG,CACFnQ,UAAU,+BACViI,MAAM,SACNwQ,QAAQ,gBAAe5Y,SAAA,CAEvBD,cAAC8Y,IAAG,CAAA7Y,SACFD,cAAA,QAAMI,UAAU,2BAA0BH,SACvCi9B,EAAgBl6B,aAGrB7C,eAAC2Y,IAAG,CAAA7Y,SAAA,CACFD,cAACiuB,KAAG,CAAChM,MAAM,UAAShiB,SAAA,GAAAmD,OAAKqT,EAAO,OAAArT,OAAM2K,KACtC/N,cAACY,IAAM,CACLC,QAxBesgB,KACrB,MAAMic,EAAO5E,SAAS6E,cAAc,KACpCD,EAAKE,KAAOJ,EAAgBv9B,IAC5By9B,EAAKG,SAAWL,EAAgBl6B,SAChCo6B,EAAKI,OAAO,EAqBNl9B,KAAMN,cAACkhB,KAAgB,IACvB/iB,KAAK,UAAS8B,SACf,WAGDD,cAACY,IAAM,CAACC,QAASm8B,EAAkB18B,KAAMN,cAACy9B,KAAY,MACtDz9B,cAACY,IAAM,CAACC,QAASo8B,EAAc38B,KAAMN,cAAC09B,KAAa,WAEjD,EA2CKC,OAvCQ/+B,IAA4C,IAA3C,QAAE4Y,EAAO,MAAEomB,EAAQ,GAAE,aAAEx+B,GAAcR,EAC3D,MAAMi/B,EAAenrB,iBAAO,OACrBorB,EAAgBC,GAAqBt+B,mBAC1Cm9B,GAAkBx9B,IAGpB,IAAK6I,MAAMC,QAAQ01B,IAAUA,EAAMr3B,QAAU,EAC3C,OAAO,KAOT,OACEvG,cAACukB,IAAK,CACJrP,SAAO,EACP3P,MAAM,aACNrH,MAAM,MACNg2B,UAAW,CAAEzzB,OAAQ,KACrB+jB,SAAUhN,EACVuc,OAAQ,KAAK9zB,SAEbD,cAACg+B,KAAS,CACRvrB,IAAKorB,EACLI,OAAQ,CACNr2B,OAAQ,CAAEs2B,kBAAmBnB,IAC7BoB,WAAY,CAAED,kBAAmBpB,KAEnCgB,eAAgBA,EAChBM,iBApBwB5F,IAC5BuF,EAAkBvF,EAAS,EAoBvB7W,UAAWic,EAAMt6B,IAAIs5B,IACrByB,gBAAiBC,KACjBC,SAAS,QAEL,E,0CCqBGC,OApHW5/B,IAAoD,IAAnD,QAAE4Y,EAAO,eAAEinB,EAAiB,GAAE,YAAEC,GAAa9/B,EACtE,MAAOiqB,EAAO8V,GAAYl/B,mBAAS,OAC5Bm+B,EAAOgB,GAAYn/B,mBAAS,KAC5Bo/B,EAAeC,GAAoBr/B,mBAAS,OAC7C,KAAE6P,EAAI,eAAEyvB,GAAmBxvB,gBAE3B,OAAEyvB,GAAW91B,gBAAcC,YAE3B81B,EAAiB/8B,IACd,CACLg9B,IAAKh9B,EAAK0G,GACV9J,KAAMoD,EAAKpD,KACX6E,OAAQ,OACR8c,IAAI,GAADrd,OAAKa,gCAA6B,cAAAb,OAAalB,EAAK0G,GAAE,WACzDu2B,SAAS,GAAD/7B,OAAKa,gCAA6B,cAAAb,OAAalB,EAAK0G,GAAE,WAC9D5J,UAAWkD,EAAKlD,YASpBY,qBAAU,KACR,MAAMw/B,GAAS,IAAIC,MAChBC,QAAQ,GAADl8B,OAAI47B,EAAM,oBAAoB,CAAC,GACtCO,iBAAiBF,KAAiBG,MAClCC,yBACAC,QAkBH,OAhBAN,EACGpwB,QACA3M,MAAK,KACJ+8B,EACGO,OAAO,WAAYrwB,EAAK1G,GAAI61B,GAC5Bp8B,MAAMwmB,IACL8V,EAAS9V,EAAM,IAEhB+W,MAAMC,QAAQC,IAAI,IAEtBF,OAAOn9B,GAAUo9B,QAAQC,IAAIr9B,KAE1B,OAAN28B,QAAM,IAANA,KAAQW,GAAG,YAAa79B,IAxBAA,KACxB08B,GAAUoB,GAAe,IAAIA,EAAYf,EAAc/8B,MACvD48B,EAAiB58B,EAAK,EAuBpB+9B,CAAiB/9B,EAAK,IAGjB,KACLk9B,EAAOc,IAAI,YACXd,EAAOe,MAAM,CACd,GACA,IAEHvgC,qBAAU,KACJi/B,IACFH,EAAY,IAAKG,IACjBC,EAAiB,MACnB,GACC,CAACD,IAEJ,MAAMpe,EAAG,GAAArd,OAAM27B,EAAeqB,OAAM,kBAAAh9B,OAAiBylB,GAErD,OACE7oB,cAACukB,IAAK,CACJrP,SAAO,EACP6e,OAAQ/zB,cAACY,IAAM,CAACC,QAAS2W,EAAQvX,SAAC,WAClC/B,MAAO,IACPsmB,SAAUhN,EAAQvX,SAElBD,cAAA,OAAKI,UAAU,mHAAkHH,SAC/HE,eAACoQ,IAAG,CACFnQ,UAAU,iDACViI,MAAM,SACNwQ,QAAQ,gBAAe5Y,SAAA,CAEvBD,cAACyQ,KAAM,CAACC,KAAM,GAAGzQ,SACfD,cAAA,OAAKI,UAAU,8DAA6DH,SACzE4oB,EACC7oB,cAACqgC,KAAM,CAACl6B,MAAOsa,IAEfzgB,cAACmX,KAAI,CAAC/W,UAAU,sBAKtBJ,cAACyQ,KAAM,CAACC,KAAM,GAAGzQ,SACfE,eAAA,OAAKC,UAAU,uCAAsCH,SAAA,CACnDD,cAAC6pB,KAAK,CACJyW,UAAQ,EACRniC,KAAK,OACLue,YACEvc,eAAA,QAAAF,SAAA,CAAM,UACGD,cAAA,UAAAC,SAAQ,YAAgB,kDAInCG,UAAU,sBACVoC,QAASxC,cAAA,MAAAC,SAAI,0BAGfD,cAACsB,IAAM,CACLlB,UAAU,UACVmgC,SAAU3C,EACV95B,eAAgB,CACd08B,kBAAkB,EAClBC,gBAAgB,gBAOtB,ECjHZ,MAAMhC,GAAiB,CACrB,qBACA,0EACA,aACA,YACA,aACA,aACA,kDACA,kBACA,gCACA,4EACA,oEACA,aACA,WACA,iBAqKaiC,OAlKI9hC,IASZ,IATa,MAClBuH,EAAQ,GAAE,SACVtH,EAAQ,SACRQ,EAAQ,SACRshC,EAAQ,aACRC,EAAY,OACZ1hC,EAAM,WACN2hC,GAAa,EAAK,MAClB/R,EAAQ2P,IACT7/B,EACC,MAAOg/B,EAAOgB,GAAYn/B,mBAAS,KAC5BqhC,EAAcC,GAAmBthC,mBAAS,OAC1CuhC,EAAmBC,GAAwBxhC,oBAAS,GAErDw/B,EAAgB,SAAC/8B,GAA2B,IAArByB,EAAM2C,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,OACpC,MAAO,CACL44B,IAAKh9B,EAAK0G,GACV9J,KAAMoD,EAAKpD,KACX6E,SACA8c,IAAI,GAADrd,OAAKa,gCAA6B,cAAAb,OAAalB,EAAK0G,GAAE,WACzDu2B,SAAS,GAAD/7B,OAAKa,gCAA6B,cAAAb,OAAalB,EAAK0G,GAAE,WAC9D5J,UAAWkD,EAAKlD,UAEpB,EAEKiJ,MAAMC,QAAQ/B,KACjBA,EAAQ,IAGV,MAuBM+6B,EAAkBC,IACtBtiC,EAAS,IAAIsH,EAAOg7B,IAEhBR,GACFA,EAASQ,EACX,EAqDF,OAJAvhC,qBAAU,KACRg/B,EAASz4B,EAAM7C,IAAI27B,GAAe,GACjC,CAAC94B,IAGFhG,eAAAsI,WAAA,CAAAxI,SAAA,CACG+gC,EACChhC,cAACw+B,GAAiB,CAChBhnB,QAASA,IAAMypB,GAAqB,GACpCvC,YAAawC,IAEb,KACHJ,GACC9gC,cAAC29B,GAAc,CACbC,MAAOz3B,EACP/G,aAAc0hC,EACdtpB,QArFmB4pB,KACzBL,EAAgB,KAAK,IAwFjBH,EAQE,KAPF5gC,cAAC0R,IAAO,CAACnM,MAAM,wCAAuCtF,SACpDD,cAACY,IAAM,CACLzC,KAAK,QACLmC,KAAMN,cAACqhC,KAAQ,IACfxgC,QAASA,IAAMogC,GAAqB,OAK1CjhC,cAACsB,IAAM,CACLi/B,SAAU3C,EACVz+B,SA7GkB+C,IACtBrD,EAASsH,EAAM0B,QAAQtE,GAAMA,EAAEqF,KAAO1G,EAAKg9B,MAAK,EA6G5CoC,WAlGkBp/B,IACtB,MAAMk7B,EAAO5E,SAAS6E,cAAc,KACpCD,EAAKE,KAAOp7B,EAAKue,IACjB2c,EAAKG,SAAWr7B,EAAKpD,KACrBs+B,EAAKI,OAAO,EA+FR+D,UA3GiBr/B,IACrB6+B,EAAgB56B,EAAM0d,MAAMtgB,GAAMA,EAAEqF,KAAO1G,EAAKg9B,MAAK,EA2GjD19B,cAjFiBC,IACrB,MAAMC,EAAO,IAAIC,SAEjBD,EAAKO,OAAO,OAAQR,EAAQS,MAExBhD,GACF0C,OAAOC,KAAK3C,GAAQ4C,SAASC,IAC3BL,EAAKM,IAAID,EAAK7C,EAAO6C,GAAK,IAI9BN,EAAQS,KAAKyB,OAAS,YACtBi7B,EAAS,IAAIhB,EAAOn8B,EAAQS,OAE5BC,MAAIC,KAAK,WAAYV,GAAMW,MAAMvC,IAC/B,IAAMA,IAAYA,EAASyC,OAIzB,OAHA2+B,EAAephC,EAAS4B,KAAKmC,aAC7BpC,EAAQiB,UAAUjB,EAAQS,KAAMT,EAAQC,MAK1CD,EAAQ+/B,UAjCVh/B,IAAQC,MAAM,iEAkCQ,GACpB,EA0DEE,aAvDgBT,IAGpB,IAFe4sB,EAAMjsB,SAASX,EAAK/D,MAMjC,OAHAqE,IAAQC,MAAM,yBAADW,OACclB,EAAK/D,KAAI,0CAE7B,EAGT,MAAMsjC,EAASv/B,EAAK3B,KAAO,KAAO,MAAQ,EAM1C,OAJKkhC,GACHj/B,IAAQC,MAAM,wDAGTg/B,CAAM,EAwCT39B,eAAgB,CACd08B,kBAAkB,EAClBC,eAAgBI,GAChB5gC,SAEAZ,EAQE,KAPFW,cAACY,IAAM,CACLR,UAAU,WACVjC,KAAK,QACLmC,KAAMN,cAAC0hC,KAAiB,IAAIzhC,SAC7B,eAKJ,EChKQ0hC,OAnBc/iC,IAA+B,IAA9B,SAAEqB,EAAQ,MAAE2hC,EAAQ,IAAIhjC,EACpD,MAAM,QAAEijC,GAAYtyB,eAEpB,OAAsB,KAAb,OAALqyB,QAAK,IAALA,OAAK,EAALA,EAAOr7B,QACF,KAGJs7B,KAAWD,GAST3hC,EAPHD,cAACwuB,GAAqB,CACpBjpB,MAAM,mBACNkpB,SAAS,sEAKA,EClBjB,MAAMqT,WAA0Bj3B,gBAC9BvC,SACE,MAAM,SAAErI,GAAaiL,KAAKtE,MAC1B,OAAO3G,CACT,EAGa6hC,UCHf,MA6BaC,GAAiC,CAC5C9pB,kBAAoB7E,GACbA,EAIE,CACLrR,IAAKqR,EAAKxK,GACV8C,MAAM,GAADtI,OAAKgQ,EAAKinB,KAAI,OAAAj3B,OAAMgQ,EAAKsJ,YAAW,MAAAtZ,OAAKgQ,EAAK4uB,eAAc,KACjE5uB,QANO,KASXwoB,oBAAsBz1B,IAAW,IAAD87B,EAC9B,OAAK97B,EAII,OAALA,QAAK,IAALA,KAAOiN,KACFjN,EAAMiN,KAGR8uB,eAAgB,QAAZD,EAAC97B,EAAMuF,aAAK,IAAAu2B,OAAA,EAAXA,EAAar7B,MAAO,CAAC,aAPxB,IAOoC,GAIlCu7B,OAtDoBv7B,GAE/B5G,cAAC8W,KAAY,IACPlQ,EACJ7H,SAAS,kBACTqjC,yBAA2BhvB,GAAI,GAAAhQ,OAC1BgQ,EAAKinB,KAAI,OAAAj3B,OAAMgQ,EAAKsJ,YAAW,MAAAtZ,OAAKgQ,EAAK4uB,eAAc,KAE5D1F,aAAe/4B,GAEXvD,cAACiS,IAAOK,OAAM,CAAiBnM,MAAO5C,EAAE6P,KAAKxK,GAAG3I,SAC9CD,cAAC8hC,GAAiB,IAAKv+B,EAAE6P,KAAInT,SAC3BE,eAAA,OAAAF,SAAA,CACEE,eAAA,OAAAF,SAAA,CACED,cAAA,QAAAC,SACED,cAAA,UAAAC,SAAA,GAAAmD,OAAYG,EAAE6P,KAAKinB,KAAI,WAEzBr6B,cAAA,QAAAC,SAAOsD,EAAE6P,KAAKsJ,iBAEhB1c,cAAA,SAAOI,UAAU,eAAcH,SAAEsD,EAAE6P,KAAK4uB,uBAT1Bz+B,EAAE6P,KAAKxK,MCVrC,MAoBay5B,GAAmC,CAC9CpqB,kBAAoB7E,GACbA,EAIE,CACLrR,IAAKqR,EAAKxK,GACV8C,MAAM,GAADtI,OAAKgQ,EAAKinB,KAAI,OAAAj3B,OAAMgQ,EAAKsJ,aAC9BtJ,QANO,KASXwoB,oBAAsBz1B,IAAW,IAAD87B,EAC9B,OAAK97B,EAII,OAALA,QAAK,IAALA,KAAOiN,KACFjN,EAAMiN,KAGR8uB,eAAgB,QAAZD,EAAC97B,EAAMuF,aAAK,IAAAu2B,OAAA,EAAXA,EAAar7B,MAAO,CAAC,aAPxB,IAOoC,GAIlC07B,OA7CsB17B,GAEjC5G,cAAC8W,KAAY,IACPlQ,EACJ7H,SAAS,qBACTqjC,yBAA2BhvB,GAAI,GAAAhQ,OAAQgQ,EAAKinB,KAAI,OAAAj3B,OAAMgQ,EAAKsJ,aAC3D4f,aAAe/4B,GACbvD,cAACiS,IAAOK,OAAM,CAAiBnM,MAAO5C,EAAE6P,KAAKxK,GAAG3I,SAC9CE,eAAC2hC,GAAiB,IAAKv+B,EAAE6P,KAAInT,SAAA,CAC3BD,cAAA,QAAAC,SACED,cAAA,UAAAC,SAAA,GAAAmD,OAAYG,EAAE6P,KAAKinB,KAAI,WAEzBr6B,cAAA,QAAAC,SAAOsD,EAAE6P,KAAKsJ,kBALEnZ,EAAE6P,KAAKxK,M,WCQpB25B,OAlBY3jC,IAAgB,IAAf,MAAEuH,GAAOvH,EACnC,OAAKuH,EAKHhG,eAAA,OAAKC,UAAU,kCAAiCH,SAAA,CAC9CD,cAACwiC,KAAM,CACLx+B,IAAG,GAAAZ,OAAKa,gCAA6B,WAAAb,OAAe,OAAL+C,QAAK,IAALA,OAAK,EAALA,EAAOyC,GAAE,YAE1DzI,eAAA,OAAKC,UAAU,UAASH,SAAA,CACtBD,cAAA,OAAKI,UAAU,GAAEH,SAAO,OAALkG,QAAK,IAALA,OAAK,EAALA,EAAOrH,OAC1BkB,cAAA,OAAKI,UAAU,wBAAuBH,SAAO,OAALkG,QAAK,IAALA,OAAK,EAALA,EAAOkxB,cAV5C,IAYD,EC2BKoL,OAtCU7jC,IAAsB,IAArB,YAAE8jC,GAAa9jC,EACvC,OACEuB,eAACkK,IAAI,CACHjK,UAAU,sBACVmF,MAAOrE,KAAQwhC,EAAY/+B,QAC3Bg/B,OAAQD,EAAY/+B,OAAO1D,SAAA,CAE3BE,eAACoQ,IAAG,CACFnQ,UAAU,+BACViI,MAAM,SACNwQ,QAAQ,gBAAe5Y,SAAA,CAEvBE,eAAC2Y,IAAG,CAAA7Y,SAAA,CACFD,cAAA,OAAAC,SAAMkN,IAAOu1B,EAAY32B,MAAMuC,OAAO,gBACtCtO,cAAA,OAAAC,SAAMkN,IAAOu1B,EAAY32B,MAAMuC,OAAO,aAExCtO,cAAC8Y,IAAG,CAAA7Y,SACFD,cAACszB,GAAa,CAAC/M,OAAQmc,EAAYnc,cAIvCvmB,cAACuQ,IAAG,CAACnQ,UAAU,+BAA8BH,SAC3CD,cAAC8Y,IAAG,CAAA7Y,SACFD,cAAA,QAAMI,UAAU,6CAA4CH,SACzDyiC,EAAYhmB,kBAKnB1c,cAACuQ,IAAG,CAACnQ,UAAU,uBAAsBH,SACnCD,cAAC8Y,IAAG,CAAA7Y,SACFD,cAAA,QAAMI,UAAU,WAAUH,SAAA,gBAAAmD,OAAkBs/B,EAAYE,mCAGvD,EC7BIC,OARSjkC,IAAoC,IAAnC,SAAEqB,EAAQ,QAAEiV,GAAU,GAAOtW,EACpD,OAAIsW,EACKlV,cAACmX,KAAI,CAAC2rB,IAAI,iBAAgB7iC,SAAEA,IAG9BA,CAAQ,ECMjB,MAAM8iC,GAAkB5kC,IACtB,OAAQA,GACN,KAAKpE,MACL,KAAKJ,MACL,KAAKT,KACH,MAAO,QACT,KAAKc,KACL,KAAKZ,KACH,MAAO,MACT,KAAKK,KACL,KAAKW,KACH,MAAO,OACT,KAAKR,KACH,MAAO,UACT,QACE,MAAO,GACX,EAWaopC,OARSpkC,IAAmC,IAADqkC,EAAA,IAAjC,KAAE9kC,EAAI,cAAE+kC,EAAgB,CAAC,GAAGtkC,EACnD,OACEoB,cAACiuB,KAAG,CAAChM,MAAO8gB,GAAe5kC,GAAM8B,SACX,QADWgjC,EAC9BC,EAAc/kC,UAAK,IAAA8kC,IAAI/hC,KAAQ/C,IAC5B,EC1BKglC,OATGvkC,IAA0B,IAAzB,MAAE2G,EAAK,SAAEkpB,GAAU7vB,EACpC,OACEuB,eAAA,OAAAF,SAAA,CACED,cAAA,OAAKI,UAAU,4CAA2CH,SAAEsF,IAC5DvF,cAAA,OAAKI,UAAU,wBAAuBH,SAAEwuB,MACpC,ECsCK2U,OAxCMxkC,IAOd,IAPe,SACpBqB,EAAQ,UACRG,EAAS,MACTmF,EAAK,SACLkpB,EAAQ,eACR4U,EAAiB,KAAI,eACrBC,GACD1kC,EACC,OACEuB,eAACkK,IAAI,CACHjK,UAAS,2CAAAgD,OAA6ChD,GACtD8zB,UAAW,CACTvzB,cAAe,GACf4iC,YAAa,GACbC,aAAc,IACdvjC,SAAA,CAEFE,eAACoQ,IAAG,CACFnQ,UAAU,+BACVyY,QAAQ,gBACRxQ,MAAM,SAAQpI,SAAA,CAEdD,cAAC8Y,IAAG,CAAA7Y,SACFD,cAACmjC,GAAS,CAAC59B,MAAOA,EAAOkpB,SAAUA,MAErCzuB,cAAC8Y,IAAG,CAAA7Y,SAAEojC,OAERrjC,cAAA,OAAKI,UAAU,qDAAoDH,SAChEA,IAEFqjC,GACCnjC,eAAA,OAAKC,UAAU,kDAAiDH,SAAA,CAC9DD,cAAA,QAAAC,SAAM,kCACND,cAAA,QAAAC,SAAOkN,IAAOm2B,GAAgBh1B,OAAO,2BAGpC,EC9BX,MAAMmwB,GAAiB,CAAC,aAAc,aA+HvBgF,OA7Hc7kC,IAAkC,IAAjC,MAAEuH,EAAK,SAAEtH,EAAQ,OAAEK,GAAQN,EACvD,MAAOc,EAASgkC,GAAcjkC,oBAAS,IAChCuhC,EAAmBC,GAAwBxhC,oBAAS,GAOrDyhC,EAAkBC,IACtBuC,GAAW,GACX7kC,EAASsiC,GACTF,EAAqB,KAAK,EA8BtBlhC,EACJI,eAAA,UAAQK,MAAO,CAAEmjC,OAAQ,EAAG1iC,WAAY,QAAU9C,KAAK,SAAQ8B,SAAA,CAC5DP,EAAUM,cAACE,IAAe,IAAMF,cAAC0G,IAAY,IAC9C1G,cAAA,OAAKQ,MAAO,CAAEojC,UAAW,GAAI3jC,SAAC,uBA2BlC,OACEE,eAAA,OAAAF,SAAA,CACG+gC,EACChhC,cAACw+B,GAAiB,CAChBhnB,QAASA,IAAMypB,GAAqB,GACpCvC,YAAawC,EACbzC,eAAgBA,KAEhB,KAEJz+B,cAACgc,KAAO,CACNrK,UAAU,SACVwK,QACEhc,eAAA,OAAAF,SAAA,CACED,cAAC0R,IAAO,CAACnM,MAAM,qCAAoCtF,SACjDD,cAACY,IAAM,CACLN,KAAMN,cAACqhC,KAAQ,IACfxgC,QAASA,IAAMogC,GAAqB,OAGvC96B,GACCnG,cAAC0R,IAAO,CAACnM,MAAM,UAAStF,SACtBD,cAACY,IAAM,CAACN,KAAMN,cAACwb,KAAc,IAAK3a,QA7C3B8Z,KACnB9b,EAAS,KAAK,SAgDToB,SAEDD,cAAA,OAAAC,SACED,cAACsB,IAAM,CACLxC,KAAK,SACLsB,UAAU,kBACVmB,SAAS,eACTuC,gBAAgB,EAChBtC,cA3FaC,IACrBiiC,GAAW,GACX,MAAMhiC,EAAO,IAAIC,SACjBD,EAAKO,OAAO,OAAQR,EAAQS,MAC5BR,EAAKO,OAAO,OAAQ,WAEhB/C,GACF0C,OAAOC,KAAK3C,GAAQ4C,SAASC,IAC3BL,EAAKM,IAAID,EAAK7C,EAAO6C,GAAK,IAI9BN,EAAQS,KAAKyB,OAAS,YAEtBxB,MAAIC,KAAK,WAAYV,GAAMW,MAAMvC,IAC/B,IAAMA,IAAYA,EAASyC,OAIzB,OAHA2+B,EAAephC,EAAS4B,KAAKmC,aAC7BpC,EAAQiB,UAAUjB,EAAQS,KAAMT,EAAQC,MAK1CD,EAAQ+/B,UAhCVkC,GAAW,GACXlhC,IAAQC,MAAM,iEAgCQ,GACpB,EAoEME,aAtDYT,IAGpB,IAFeu8B,GAAe57B,SAASX,EAAK/D,MAM1C,OAHAqE,IAAQC,MAAM,yBAADW,OACclB,EAAK/D,KAAI,0CAE7B,EAGT,MAAMsjC,EAASv/B,EAAK3B,KAAO,KAAO,MAAQ,EAM1C,OAJKkhC,GACHj/B,IAAQC,MAAM,wDAGTg/B,CAAM,EAsCsBxhC,SAErB,OAALkG,QAAK,IAALA,KAAOyC,GACN5I,cAAA,OACEgE,IAAG,GAAAZ,OAAKa,gCAA6B,cAAAb,OAAa+C,EAAMyC,GAAE,WAC1D1E,IAAI,SACJ1D,MAAO,CAAEtC,MAAO,UAGlB6B,UAKJ,EChIV,MAAM8jC,GAAQjlC,IAAc,IAAb,IAAEe,GAAKf,EACpB,OACEoB,cAAA,OAAAC,SACED,cAAA,OACEgE,IAAG,GAAAZ,OAAKa,gCAA6B,KAAAb,OAAIzD,GACzCuE,IAAI,SACJ1D,MAAO,CAAEtC,MAAO,WAEd,EAgFK4lC,OA5EOz1B,IAAoC,IAAnC,MAAElI,EAAK,SAAEtH,EAAQ,SAAEE,GAAUsP,EAClD,MAAO3O,EAASgkC,GAAcjkC,oBAAS,GA4BjCM,EACJC,cAAA,OAAAC,SACGP,EACCM,cAACE,IAAe,IAEhBF,cAAA,OAAKI,UAAU,iDAAgDH,SAC7DD,cAACK,kBAAe,CAACD,UAAU,cAAcE,KAAK,WAAWC,KAAK,WAwBtE,OACEP,cAAA,OAAAC,SACED,cAACsB,IAAM,CACLxC,KAAK,SACLyC,SAAS,eACTnB,UAAU,kBACV0D,gBAAgB,EAChBnB,aA/DgBT,IACpB,MAAM6hC,EAA2B,eAAd7hC,EAAK/D,MAAuC,cAAd+D,EAAK/D,KAEjD4lC,GACHvhC,IAAQC,MAAM,8DAGhB,MAAMgB,EAASvB,EAAK3B,KAAO,KAAO,KAAO,EAKzC,OAHKkD,GACHjB,IAAQC,MAAM,wDAETshC,GAActgC,CAAM,EAoDvB5E,SAjDgB6E,IACK,cAArBA,EAAKxB,KAAKyB,OAKW,SAArBD,EAAKxB,KAAKyB,QAAqB9E,GACjCA,EAAS6E,EAAKxB,KAAKpC,SAAS+D,QAL5B6/B,GAAW,EAMb,EA0CIliC,cA3BuBC,IAC3B,MAAMC,EAAO,IAAIC,SAEjBD,EAAKO,OAAO,mBAAoBR,EAAQS,MAExCwhC,GAAW,GAEXvhC,MAAIC,KAAKrD,EAAU2C,GAAMW,MAAMC,IACvBA,GAAOA,EAAIC,OAGfC,IAAQC,MAAM,+BAFdhB,EAAQiB,UAAUJ,EAAIZ,KAAMD,EAAQS,MAKtCwhC,GAAW,EAAM,GACjB,EAYqCzjC,SAElCkG,IAAUzG,EAAUM,cAAC6jC,GAAK,CAAClkC,IAAU,OAALwG,QAAK,IAALA,OAAK,EAALA,EAAOxG,MAAUI,KAEhD,EC9EKikC,OATqBplC,IAAkB,OAAZqM,GAAMrM,EAC9C,OACEuB,eAAC8R,IAAM,IAAKhH,EAAIhL,SAAA,CACdD,cAACiS,IAAOK,OAAM,CAACnM,MAAM,UAASlG,SAAC,WAC/BD,cAACiS,IAAOK,OAAM,CAACnM,MAAM,SAAQlG,SAAC,YACvB,E,UCiCEgkC,OApCiBrlC,IAIzB,IAJ0B,SAC/BC,EAAQ,gBACRqlC,EAAkB,MACfj5B,GACJrM,EACMqM,EAAK9E,QACR8E,EAAK9E,MAAQ,IAGf,MAQMA,EAAQ8E,EAAK9E,MAAM7C,KAAKC,GAC5B0U,YAAkB1U,EAAEouB,KAAM,CAAEwS,SAAU,KAAMC,WAAY,kBAO1D,OACEpkC,cAACiS,IAAM,IAAKhH,EAAMo5B,cAAY,EAACl+B,MAAOA,EAAOtH,SAjBxBsH,IACrBtH,EACE+iC,KACG/5B,QAAQtE,GAAM4C,EAAM7C,KAAKghC,GAAMA,EAAEn+B,QAAOtD,SAASU,EAAEqF,MACnDtF,KAAKC,IAAC,CAAQouB,KAAMpuB,MACxB,EAYoEtD,SAClE2hC,KAAM/5B,QANW8pB,IACZuS,EAAgBrhC,SAAS8uB,EAAK7yB,QAKRwE,KAAKC,GAC/BvD,cAACiS,IAAOK,OAAM,CAAYnM,MAAO5C,EAAEqF,GAAG3I,SACnCsD,EAAEmZ,aADenZ,EAAEqF,OAIjB,ECkGEtH,OAhIA1C,IAA6D,IAAD2lC,EAAA,IAA3D,MAAEp+B,EAAK,SAAEtH,EAAQ,SAAEQ,EAAQ,OAAEH,EAAM,WAAEkF,EAAa,IAAIxF,EACpE,MAAOc,EAASgkC,GAAcjkC,oBAAS,IAChCqhC,EAAcC,GAAmBthC,mBAAS,OAC3C,KAAEX,GAAc,QAARylC,EAAGp+B,SAAK,IAAAo+B,IAAI,CAAC,EA2F3B,OACEpkC,eAAAsI,WAAA,CAAAxI,SAAA,CACG6gC,GACC9gC,cAAC29B,GAAc,CACbC,MAAOz3B,EACP/G,aAAc0hC,EACdtpB,QAlFmB4pB,KACzBL,EAAgB,KAAK,IAoFnB/gC,cAACwkC,IAAU,CACTpkC,UAAU,oBACVmB,SAAS,eACTpC,SArGiBslC,KACrB5lC,EAAS,KAAK,EAqGVyiC,WAvDkBp/B,IACtB,MAAMk7B,EAAO5E,SAAS6E,cAAc,KACpCD,EAAKE,KAAOp7B,EAAKue,IACjB2c,EAAKG,SAAWr7B,EAAKpD,KACrBs+B,EAAKI,OAAO,EAoDR+D,UA9FgBmD,KACpB3D,EAAgB56B,EAAM,EA8FlBxD,aAvFsBT,IAC1B,IAAIU,GAAkB,GAElBwB,EAAWvB,SAASX,EAAK/D,KAAK2E,QAAQ,SAAU,IAAIC,gBAGtDqB,EAAWvB,SAnBcG,KAC3B,MAAMC,EAAOD,EAASE,MAAM,iBAAiB,GAC7C,OAAe,MAARD,EAAeA,EAAO,EAAE,EAiBTE,CAAoBjB,EAAKpD,MAAMgE,QAAQ,IAAK,QAFhEF,GAAkB,GAOfA,GACHJ,IAAQC,MAAM,qDAADW,OACoCC,YAC7Ce,EAAWd,KAAKC,GAAMA,EAAEC,gBACxB,KACA,OACD,MAIL,MAAMC,EAASvB,EAAK3B,KAAO,KAAO,KAAO,EAMzC,OAJKkD,GACHjB,IAAQC,MAAM,uDAGTG,GAAmBa,CAAM,EA6D5BjC,cA/CiBC,IACrB,MAAMC,EAAO,IAAIC,SAEjBD,EAAKO,OAAO,OAAQR,EAAQS,MAExBhD,GACF0C,OAAOC,KAAK3C,GAAQ4C,SAASC,IAC3BL,EAAKM,IAAID,EAAK7C,EAAO6C,GAAK,IAI9B2hC,GAAW,GAEXvhC,MAAIC,KAAK,WAAYV,GAAMW,MAAMvC,IAC/B,IAAMA,IAAYA,EAASyC,OAQzB,OAPK0F,MAAMC,QAAQ/B,KACjBA,EAAQ,IAGVtH,EAASiB,EAAS4B,KAAKmC,QACvBpC,EAAQiB,UAAUjB,EAAQS,KAAMT,EAAQC,WACxCgiC,GAAW,GAIbjiC,EAAQ+/B,UA5BVh/B,IAAQC,MAAM,kEA8BZihC,GAAW,EAAM,GACjB,EAoBE5/B,gBAAgB,EAAM7D,SAEtBE,eAACS,IAAM,CACLR,UAAU,WACVjC,KAAK,QACLkB,SAAUK,GAAWL,EACrBiB,KAAMZ,EAAUM,cAACE,IAAe,IAAMF,cAAC0hC,KAAiB,IAAIzhC,SAAA,CAE3DP,EAAU,gBAAkB,KAC3BA,GAAYyG,EAAmB,KAAX,UACpBzG,GAAWyG,EAAQrH,EAAO,YAG/B,EC7GQ6lC,OAlBQ/lC,IAA8B,IAA7B,SAAEqB,EAAQ,UAAEG,GAAWxB,EAC7C,MAAM,KAAEgmC,GAASC,eAUjB,OACE7kC,cAAA,SAAOI,UAAS,cAAAgD,OAAgBhD,GAAaS,QAT5BikC,KACjB,GAAwB,kBAAb7kC,EACT,MAAM,IAAIuL,MAAM,gDAGlBo5B,EAAK3kC,EAAS,EAImDA,SAC9DA,GACK,ECfZ,MAAM8kC,GAAqBA,CAACn+B,EAAO6L,IAE/BtS,eAAC8R,IAAM,CACLQ,IAAKA,KACD7L,EACJsL,iBAAiB,WACjBC,aAAcA,CAACnM,EAAOoM,IACpBA,EAAOxL,MAAM3G,SAAS8C,cAAcsP,QAAQrM,EAAMjD,gBAAkB,EACrE9C,SAAA,CAEDD,cAACiS,IAAOK,OAAM,CAAoBnM,MAAM,eAAclG,SAAC,gBAApC,gBAGnBD,cAACiS,IAAOK,OAAM,CAAenM,MAAM,UAASlG,SAAC,aAA1B,WAGnBD,cAACiS,IAAOK,OAAM,CAAmBnM,MAAM,cAAalG,SAAC,YAAlC,kBAOV8E,WAAMmT,WAAW6sB,G,mCC1BhC,maAEO,MAAMC,EAAgB,qBAChBC,EAAyB,8BAEzBC,EAA8B,8BAC9BC,EAAS,cACTC,EAAoB,mBAMpBC,EAAgC,gCAChCC,EACX,mCAEIC,EAAiB7jC,IACrB,GAAIA,GAAQA,EAAK4N,KAAM,CACrB,MAAMwY,EAAiB,IAAI0d,KAC3B1d,EAAe2d,WACb3d,EAAe4d,aAAehkC,EAAKikC,iBAGjCjkC,EAAK2N,SACPu2B,aAAaC,QAAQ,WAAYnkC,EAAK2N,UAEtCu2B,aAAaE,WAAW,YAE1BF,aAAaC,QACX,YACAE,KAAK7U,KAAK8U,UAAU,IAAKtkC,EAAMomB,qBAEjC8d,aAAaC,QAAQ,mBAAoBnkC,EAAKukC,aAC9CL,aAAaC,QAAQ,oBAAqBnkC,EAAKsuB,aACjD,GAGWkW,EAAgBA,CAAChnC,EAAQwD,IAAc0sB,gBAC5CC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,OACVywB,WAAYwV,EACZvV,OAAQL,SAAYjtB,MAAIC,KAAK,OAAQlD,GACrCwD,UAAW9D,IAAe,IAAd,KAAE8C,GAAM9C,EAClB2mC,EAAc7jC,GACVgB,GACFA,EAAUhB,EACZ,GAEF,EAGSykC,EAAqBA,CAACjnC,EAAQwD,EAAW0jC,IAAWhX,gBAGzDC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,OACVywB,WAlDoC,2BAmDpCC,OAAQL,SAAYjtB,MAAIC,KAAK,gBAAiBlD,GAC9CwD,YACA0jC,UACA,EAGS1N,EAAeA,CAACrpB,EAAU3M,IAAc0sB,gBAC7CC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,OACVywB,WAAYwV,EACZvV,OAAQL,SAAYjtB,MAAIC,KAAK,qBAAsB,CAAEiN,aACrD3M,UAAW2L,IAAe,IAAd,KAAE3M,GAAM2M,EAClBk3B,EAAc7jC,GACVgB,GACFA,EAAUhB,EACZ,GAEF,EAmBS2kC,EAA0BjO,GAAkB7I,IACvDqW,aAAaC,QAAQ,uBAAwB3U,KAAK8U,UAAU5N,IAE5D7I,EACEF,aAAWiX,aAAajB,EAA+B,OAAQjN,GAChE,EAGUmO,EAA4BA,IAAOhX,IAC9CqW,aAAaE,WAAW,wBACxBvW,EAASF,aAAWiX,aAAahB,EAAkC,QAAQ,C,mCC3G7E,+mBAEO,MAAMkB,EAAU,UACVC,EAAc,cACdC,EAAuB,uBACvBC,EAAuB,uBACvBC,EAAgC,gCAChCC,EAAiB,iBACjBC,EAA0B,0BAC1BC,EAA0B,0BAC1BC,EACX,mCAGWC,EAA6B,6BAC7BC,EACX,sCACWC,EACX,mCACWC,EAAiB,iBAKjBC,EAA0B,0BAC1BC,EACX,mCAeWC,EAAe3+B,GAAOwmB,gBAC3BC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,YACVywB,WAAYmX,EACZlX,OAAQL,SAAYjtB,MAAI2N,MAAM,yBAA0B,CAAElH,QAC1D,EAeS4+B,EAAiB,SAAC5+B,GAAE,IAAE6+B,EAAOnhC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAG5D,EAAS4D,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EAAA,OAAK4oB,gBAGvDC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,YACVywB,WAAYuX,EACZU,UACAhY,OAAQL,SAAYjtB,MAAIulC,IAAI,aAADtkC,OAAcwF,EAAE,aAAa6+B,GACxD/kC,aACA,CACF,EAmBWilC,EAAkBA,CAACC,EAAUllC,IAAc0sB,gBAChDC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,YACVywB,WAAYyX,EACZxX,OAAQL,SAAYjtB,MAAIC,KAAK,yBAA0BwlC,GACvDllC,YACA0jC,OAAQA,IAAM7W,GAbyBA,IACzCA,EACEF,aAAWiX,aAAaa,EAAkC,aAC3D,KAWC,C,oCCpGJ,gBAOeU,IALyBjpC,IAAsB,IAArB,KAAE+L,EAAI,MAAExE,GAAOvH,EACtD,MAAMkpC,EAAoBn9B,EAAKuY,cAAc,qBAE7C,OAAOljB,cAAA,QAAMI,UAAU,WAAUH,SAAA,GAAAmD,OAAK+C,EAAK,KAAA/C,OAAI0kC,IAA2B,C,oCCL5E,4KAqhBeC,IAtfuBnpC,IAO/B,IAPgC,QACrC4Y,EAAO,MACPsI,EAAK,KACL3hB,EAAI,KACJwM,EAAI,SACJtL,GAAW,EAAK,UAChB2oC,GAAY,GACbppC,EACC,MAAOqpC,GAAc78B,IAAKE,UACpB0K,EAAYjR,IAAM2N,OAAO,OACxBw1B,EAAiBC,GAAsB1oC,mBAAS,MACjDsL,EAAgBJ,EAAKuY,cAAc,CAAC,QAASpD,EAAMhhB,QACnD,aAAEspC,GAAiB74B,cACnB84B,EAAYlqC,IAASpE,KAAU,cAAgB,YAgE/CuuC,EAA4BrxB,IAAuB,IAAtB,OAAEsxB,EAAM,KAAEx8B,GAAMkL,EACjD,MAAMuxB,EAAkBr7B,IAAOpB,GAAMmC,QAErC,GAAIq6B,IAAWjuC,IAAY,CACzB,MAAM,KAAE6D,EAAI,2BAAEsqC,EAA0B,wBAAEC,GACzB,OAAfR,QAAe,IAAfA,IAAmB,CAAC,EAEtB,GAAe,gBAAT/pC,EACJ,OAAOqqC,EAAgBv4B,IAAI,GAAI,OAGjC,GAAe,SAAT9R,EAEJ,OArCJomB,IAAM7gB,KAAK,CACTxF,MAAO,QACPqH,MAAO,qEACP4W,QACE,uSAiCOqsB,EAAgBv4B,IAAI,GAAI,OAGjC,MAAM04B,EAAiBH,EACpBt6B,QACAnC,KAAK08B,GAEFG,EAAiBJ,EACpBt6B,QACAnC,KAAK28B,GAEFG,EAAa17B,IAAOy7B,GAAgB16B,QAE1C,OAAI26B,EAAa98B,GAAQA,GAAQ48B,EACxBE,EAAW98B,KAAK28B,GAGlBG,EAAW54B,IAAI,EAAG,SAASlE,KAAK28B,EACzC,CAEA,OAAQH,IACD1tC,IACI2tC,EAAgBv4B,IAAI,EAAG,OAEvBu4B,CACX,EAGIM,EAAqBjxB,IAA2B,IAA1B,QAAEkxB,EAAO,QAAEC,GAASnxB,EAC1C2wB,EAAkB,KAElBrqC,IAASpE,OACXyuC,EA7D8Bn6B,KAAuB,IAAtB,OAAEk6B,EAAM,KAAEx8B,GAAMsC,EACjD,MAAMm6B,EAAkBr7B,IAAOpB,GAAMmC,QAErC,OAAQq6B,GACN,KAAK1tC,IACL,KAAKN,IACH,OAAOiuC,EAAgBv4B,IAAI,EAAG,OAChC,KAAK5V,IACH,OAAOmuC,EAAgBv4B,IAAI,EAAG,OAChC,KAAK3V,IACH,OAAOkuC,EAAgBv4B,IAAI,GAAI,OACjC,QACE,OAAOu4B,EACX,EAgDoBS,CAA0BF,IAG1C5qC,IAASnE,MACXwuC,EAAkBF,EAA0BS,IAG1CP,GACFrmC,MACG0T,IAAI,6BAA8B2yB,EAAgBU,eAClD7mC,MAAKkV,IAAe,IAAd,KAAE7V,GAAM6V,EACL,OAAJ7V,QAAI,IAAJA,KAAMmC,QACRokC,EAAWkB,UAAU,CACnB,CACErqC,KAAM,CAAC,UAAW,sBAClBqH,MAAOgH,IAAW,OAAJzL,QAAI,IAAJA,OAAI,EAAJA,EAAMmC,UAG1B,GAEN,EAsHFjE,qBAAU,KACe,IAADwpC,EAAjBlB,GACHC,EAAgC,OAAbp9B,QAAa,IAAbA,GAA8B,QAAjBq+B,EAAbr+B,EAAem9B,uBAAe,IAAAkB,OAAjB,EAAbA,EAAgCh2B,KACrD,GACC,IAUH,OACEpT,cAACukB,IAAK,CACJrP,SAAO,EACPhX,MAAO,IACPqH,MAAOpH,IAASpE,KAAU,cAAgB,YAC1CyqB,SA1CuB6kB,KACrBhqC,EACFmY,IAIF+M,IAAMyH,QAAQ,CACZ9tB,MAAO,QACP2K,WAAY,SACZC,OAAQ,MACRojB,KAAMA,KACJvhB,EAAKw+B,UAAU,CACb,CACErqC,KAAM,CAAC,QAASghB,EAAMhhB,KAAM,UAC5BqH,OAAO,KAGXqR,GAAS,EAEXjS,MAAO,8CACP,EAuBAuD,OAAO,SACPojB,KAlFiBN,KACnBqc,EAAWpc,iBAAiBxpB,MAAMyI,IAChCH,EAAKw+B,UAAU,CACb,CACErqC,KAAM,CAAC,QAASghB,EAAMhhB,MACtBqH,MAAO,IACF4E,KACAD,EACHo9B,gBAAiB,IACZp9B,EAAOo9B,gBACV90B,KAAM80B,OAMd1wB,GAAS,GACT,EAkEAmhB,SAAUt5B,EACV00B,OAAQ10B,EAAW,UAAOmH,EAAUvG,SAEpCE,eAACiL,IAAI,CACHT,KAAMs9B,EACN7+B,OAAO,WACP2B,eAtBuBD,EAsBYC,EArBlCD,EAAOi+B,QAAQh9B,OAClBjB,EAAOi+B,QAAQh9B,KAAOoB,OAGjBrC,GAkBHme,eAtEqBC,CAACmD,EAAevhB,KACzC,GAzMwBA,SAE2BtE,IAAjDgd,IAAO3N,IAAI/K,EAAQ,gCACwBtE,IAA3Cgd,IAAO3N,IAAI/K,EAAQ,0BAC0BtE,IAA7Cgd,IAAO3N,IAAI/K,EAAQ,sBAqMjBw+B,CAAiBjd,GAAgB,CACnC,MAAMkd,EACJz+B,EAAOyb,OACPzb,EAAOi+B,QAAQS,eACf1+B,EAAOi+B,QAAQU,WACf3+B,EAAOi+B,QAAQW,SAEjBzB,EAAW9kB,eAAe,CAAE4lB,QAAS,CAAEQ,cACzC,CAxLgDz+B,SAEJtE,IAA1Cgd,IAAO3N,IAAI/K,EAAQ,yBACsBtE,IAAzCgd,IAAO3N,IAAI/K,EAAQ,wBACoBtE,IAAvCgd,IAAO3N,IAAI/K,EAAQ,gBAsLhB6+B,CAAyCtd,IArFMud,EACpDvd,EACAjZ,KACI,IAADy2B,EACH,MAAM,gBAAE3B,EAAe,QAAEa,GAAY31B,EAErC,IAAM80B,IAAmBa,EAAQR,OAC/B,OAGF,MAAMuB,OAC6CtjC,IAAjDgd,IAAO3N,IAAIwW,EAAe,mBACtB0d,OAC4CvjC,IAAhDgd,IAAO3N,IAAIwW,EAAe,kBACtB2d,OAC0CxjC,IAA9Cgd,IAAO3N,IAAIwW,EAAe,iBAExByd,GAA0BC,IAC5B5nC,MACGC,KAAK,qBAADgB,OACiC,OAAf8kC,QAAe,IAAfA,OAAe,EAAfA,EAAiBnmC,IAAG,8BAAAqB,OAA6B2lC,EAAQR,SAE/ElmC,MAAK4nC,IAAe,IAAd,KAAEvoC,GAAMuoC,EACJ,OAAJvoC,QAAI,IAAJA,KAAMmC,QACT0gB,IAAMyH,QAAQ,CACZ9tB,MAAO,QACP2K,WAAY,SACZC,OAAQ,YACRohC,WAAYA,KACVl0B,EAAUS,QAAQC,OAAO,EAE3B8N,SAAUA,KACJslB,IACF3B,EAAmB,MACnBF,EAAW9kB,eAAe,CAAE+kB,gBAAiB,QAG3C6B,GACF9B,EAAW9kB,eAAe,CAAE4lB,QAAS,CAAER,OAAQ,OACjD,EAGFrc,KAAMA,OACN3mB,MAAM,cAADnC,OAAgBilC,EAAS,mFAElC,KAID0B,GAAwBC,IAA2B,OAAJ52B,QAAI,IAAJA,GAAa,QAATy2B,EAAJz2B,EAAM21B,eAAO,IAAAc,GAAbA,EAAe99B,MACjE+8B,EAAmB11B,EACrB,EAsCAw2B,CAA8Cvd,EAAevhB,EAAO,EAwDhEq/B,UAAQ,EACRnhB,iBAAiB,EAAM/oB,SAAA,CAEvBD,cAACoL,IAAKQ,KAAI,CAAC9M,KAAK,UAAUse,SAAO,IACjCpd,cAACoL,IAAKQ,KAAI,CAAC9M,KAAK,oBAAoBse,SAAO,IAC3Cpd,cAACoL,IAAKQ,KAAI,CAAC9M,KAAK,SAASse,SAAO,IAE/BgrB,GAAmD,QAApB,OAAfF,QAAe,IAAfA,OAAe,EAAfA,EAAiBkC,gBAChCpqC,cAAC6pB,IAAK,CACJzpB,UAAU,UACVkgC,UAAQ,EACR5jB,YAAY,gGACZve,KAAK,UACLw6B,UAAQ,IAIZx4B,eAACoQ,IAAG,CAACnQ,UAAU,kBAAiBH,SAAA,CAC9BD,cAAC8Y,IAAG,CAACpI,KAAM,GAAGzQ,SACZD,cAACuiB,eAAY,CACXzjB,KAAK,kBACL4M,MAAM,QACNlB,UAAQ,EACRmf,WAAS,EAAA1pB,SAETD,cAAC8W,IAAY,CACX/X,SAAS,oBACTgS,YAAY,EACZC,SAnSuBq5B,IACnC,GAAiC,UAAX,OAAlBA,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoBlsC,OAClBksC,EAAmBC,gBAAkBnsC,EAQvC,OAPAqE,IAAQC,MAAM,sDAADW,OACqCilC,SAGlDniC,YAAW,KACT+hC,EAAW9kB,eAAe,CAAE+kB,gBAAiB,MAAO,GACnD,KAKPC,EAAmBkC,EAAmB,EAsR1BhrC,SAAUA,QAIhBW,cAAC8Y,IAAG,CAACpI,KAAM,GAAGzQ,SACZD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,UAClB4M,MAtTHvN,IAASpE,KAAU,uBAAyB,qBAuTzCyQ,UAAQ,EAAAvK,SAERD,cAACwzB,KAAmB,CAACn0B,SAAUA,EAAUoT,IAAKuD,WAIpD7V,eAACoQ,IAAG,CAACnQ,UAAU,kBAAiBH,SAAA,CAC9BD,cAAC8Y,IAAG,CAACpI,KAAM,GAAGzQ,SACZD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,QAClB4M,MACEvN,IAASpE,KAAU,sBAAwB,oBAE7CyQ,UAAQ,EAAAvK,SAERD,cAAC2Q,IAAU,CACTrC,OAAO,aACPyC,YAAY,EACZF,aAAe9E,GAASA,EAAKw+B,QAAQp9B,MAAU,OAC/C9N,SAAUA,QAKhBW,cAAC8Y,IAAG,CAACpI,KAAM,GAAGzQ,SACZD,cAACoL,IAAKQ,KAAI,CACR9M,KAAM,CAAC,UAAW,sBAClB4M,MAAM,qBACN8+B,QAAS,CACPjlC,MACE,mEAEJoG,MAAO,CAAC,CAAExN,KAAM,OAAQqM,UAAU,IAAQvK,SAE1CD,cAAC2Q,IAAU,CACTrC,OAAO,aACPyC,YAAY,EACZ1R,SAAUA,WAMlBc,eAACoQ,IAAG,CAACC,OAAQ,CAAC,EAAG,GAAGvQ,SAAA,CAClBD,cAAC8Y,IAAG,CAACpI,KAAM,EAAEzQ,SACXD,cAACuiB,eAAY,CACXniB,UAAU,sBACVtB,KAAK,SACL4M,MAAM,QAAOzL,SAEbD,cAACusB,IAAa,CAACltB,UAAQ,QAI3BW,cAAC8Y,IAAG,CAACpI,KAAM,EAAEzQ,SACXD,cAACuiB,eAAY,CACXniB,UAAU,sBACVtB,KAAM,CAAC,UAAW,kBAClB4M,MAAM,QACNlB,UAAQ,EAAAvK,SAERD,cAACusB,IAAa,CAACltB,SAAUA,QAI7BW,cAAC8Y,IAAG,CAACpI,KAAM,EAAEzQ,SACXD,cAACuiB,eAAY,CACXniB,UAAU,sBACVtB,KAAM,CAAC,UAAW,cAClB4M,MAAM,QACNlB,UAAQ,EAAAvK,SAERD,cAACusB,IAAa,CAACltB,SAAUA,QAI7BW,cAAC8Y,IAAG,CAACpI,KAAM,EAAEzQ,SACXD,cAACuiB,eAAY,CACXniB,UAAU,sBACVtB,KAAM,CAAC,UAAW,YAClB4M,MAAM,WACNlB,UAAQ,EAAAvK,SAERD,cAACusB,IAAa,CAACltB,SAAUA,QAI7BW,cAAC8Y,IAAG,CAACpI,KAAM,EAAEzQ,SACXD,cAACuiB,eAAY,CACXniB,UAAU,sBACVtB,KAAM,CAAC,UAAW,aAClB4M,MAAOvN,IAASpE,KAAU,iBAAmB,aAC7C4R,MAAO,CACL,CACExN,KAAM,SACN2P,IAAK,IACLtL,QAAS,wDAEXvC,SAEFD,cAACusB,IAAa,CAACltB,UAAQ,WAI5B2oC,GACC7nC,eAAAsI,WAAA,CAAAxI,SAAA,CACED,cAACmpB,IAAO,CAACC,YAAY,OAAMnpB,SAAC,cAC5BE,eAACoQ,IAAG,CAACC,OAAQ,CAAC,GAAI,GAAGvQ,SAAA,CACnBD,cAAC8Y,IAAG,CAAC2Q,KAAM,EAAExpB,SACXD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,gBAClB4M,MACEvN,IAASpE,KACL,sBACA,oBACLkG,SAEDD,cAAC2Q,IAAU,CACTrC,OAAO,mBACPyC,YAAY,EACZ1R,SAAUA,EACVC,YAAY,SAIlBU,cAAC8Y,IAAG,CAAA7Y,SACFD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,QAClB4M,MACEvN,IAASpE,KACL,4BACA,0BACLkG,SAEDD,cAACuiC,IAAkB,cAO5ByF,GAAaj9B,EAAc0/B,aAC1BtqC,eAAAsI,WAAA,CAAAxI,SAAA,CACED,cAACmpB,IAAO,CAACC,YAAY,OAAMnpB,SAAC,0BAC5BE,eAACoQ,IAAG,CAAAtQ,SAAA,CACFD,cAAC8Y,IAAG,CAACpI,KAAM,EAAEzQ,SACXD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,cAAe,QACtB4M,MAAM,+BAAwBzL,SAE9BD,cAAC2Q,IAAU,CAACrC,OAAO,mBAAmBjP,UAAQ,QAIlDW,cAAC8Y,IAAG,CAACpI,KAAM,EAAEzQ,SACXD,cAACuiB,eAAY,CAACzjB,KAAM,CAAC,cAAe,QAAS4M,MAAM,aAASzL,SAC1DD,cAACuiC,IAAkB,QAGvBviC,cAAC8Y,IAAG,CAACpI,KAAM,GAAGzQ,SACZD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,cAAe,cACtB4M,MAAM,yCAA+BzL,SAErCD,cAAC4c,KAAa,CAACvd,UAAQ,mBAjOVyL,KAwOnB,C,oCCjhBZ,mJAEO,MAAM4/B,EAAgB,gBAEhBC,EAA4B,4BAC5BC,EACX,qCAEWC,EAAaA,CAAC3oC,EAAMQ,IAAc0sB,gBACvCC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,iBACVywB,WAAYmb,EACZlb,OAAQL,SAAYjtB,MAAIC,KAAK,8BAA+BF,GAC5DQ,YACA0jC,OAAQA,KAAM,GACd,C,oCChBJ,mJAEO,MAAM0E,EAAkB,kBAElBC,EAA8B,8BAC9BC,EACX,uCAEWH,EAAaA,CAAC3oC,EAAMQ,IAAc0sB,gBACvCC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,oBACVywB,WAAYub,EACZtb,OAAQL,SAAYjtB,MAAIC,KAAK,iCAAkCF,GAC/DQ,YACA0jC,OAAQA,KAAM,GACd,C,oCChBJ,mJAEO,MAAM6E,EAAU,UAEVC,EAAgB,gBAChBC,EAAyB,yBAEzBr7B,EAAS5Q,GAAWkwB,gBACzBC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,WACVywB,WAAY0b,EACZzb,OAAQL,SAAYjtB,MAAI2N,MAAM,8BAA+B5Q,IAC7D,C,oCCbJ,OAAe,8sP,mCCAf,61BAEO,MAAMksC,EAAe,eACfC,EAA0B,0BAC1BC,EAA2B,2BAC3BC,EAA2B,2BAC3BC,EACX,oCAEWC,EACX,qCACWC,EACX,sCAEWC,EAAiC,iCACjCC,EACX,kCAEWC,EAAgC,gCAChCC,EACX,yCAEWC,EAA+B,+BAC/BC,EACX,wCAEWC,EAAsB,sBACtBC,EAA+B,+BAE/BC,EAAarhC,GAAYykB,IACpCA,EACEF,aAAWiX,aAAa+E,EAAyB,gBAAiBvgC,GACnE,EAGU44B,EAAchkC,GAAa6vB,IACtCA,EACEF,aAAWiX,aAAagF,EAA0B,gBAAiB5rC,GACpE,EAGU0sC,EAAwBA,IAAMhd,gBACnCC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,gBACVywB,WAAY+b,EACZ9b,OAAQL,SAAYjtB,MAAI2N,MAAM,uCAC9B,EAGSu8B,EAAsBA,IAAO9c,IACxCA,EACEF,aAAWiX,aAAamF,EAAoC,iBAC7D,EAGUa,EAAuBA,IAAO/c,IACzCA,EACEF,aAAWiX,aACToF,EACA,iBAEH,EAGUa,EAAsBA,CACjCC,EACA7jB,EACAjmB,IACG0sB,gBACGC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,gBACVywB,WAAYqc,EACZnpC,YACA+sB,OAAQL,SACNjtB,MAAIC,KAAK,4CAADgB,OACsCopC,GAC5C7jB,IAEJ,EAGS8jB,EAAoBA,IAAMrd,gBAC/BC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,gBACVywB,WAAYuc,EACZtc,OAAQL,SAAYjtB,MAAI2N,MAAM,kCAC9B,EAGS48B,EAAkBA,IAAOnd,IACpCA,EACEF,aAAWiX,aAAaqF,EAAgC,iBACzD,EAGUgB,EAAmBA,IAAOpd,IACrCA,EACEF,aAAWiX,aAAasF,EAAiC,iBAC1D,EAGUgB,EAAqB,SAChCC,GAAc,IACdpF,EAAOnhC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EACX5D,EAAS4D,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EACT4/B,EAAM9/B,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EAAA,OACH4oB,gBACGC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,gBACVywB,WAAYyc,EACZxE,UACAhY,OAAQL,SAAYjtB,MAAIulC,IAAI,iBAADtkC,OAAkBypC,GAAkBpF,GAC/D/kC,YACA0jC,UACA,CACF,C,mCCvHF,61BAEO,MAAM0G,EAAQ,QAERC,EAAgC,gCAChCC,EACX,yCAKWC,EAAsB,sBACtBC,EAA+B,+BAE/BC,EAAe,eACfC,EAAwB,wBAExBC,EAAiB,iBACjBC,EAA0B,0BAE1BC,EAAuB,uBAEvBC,EAAsB,yBAEtBC,EAAyB,yBACzBC,EAAkB,kBAClBC,EAA2B,2BAE3B79B,EAAS5Q,GAAWkwB,gBACzBC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,SACVywB,WAxB0B,iBAyB1BC,OAAQL,SAAYjtB,MAAI2N,MAAM,SAAU5Q,IACxC,EAGS0uC,EAAyB1uC,GAAWkwB,gBACzCC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,SACVywB,WAAYud,EACZtd,OAAQL,SAAYjtB,MAAI2N,MAAM,SAAU5Q,IACxC,EAGS2uC,EAAkB3uC,GAAWkwB,gBAClCC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,SACVywB,WAAYke,EACZje,OAAQL,SAAYjtB,MAAI2N,MAAM,SAAU5Q,IACxC,EAGS4uC,EAAuBA,IAAOve,IACzCA,EAASF,aAAWiX,aAAamH,EAAwB,UAAU,EAGxDM,EAAeA,CAACnlC,EAAIjF,EAAQyiC,IAAWhX,gBAC5CC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,SACV0oC,QAAS9jC,EACT6rB,WAAYyd,EACZxd,OAAQL,SAAYjtB,MAAIulC,IAAI,UAADtkC,OAAWwF,EAAE,kBAAkB,CAAEjF,YAC5D,EAGSwX,EAAUvS,GAAOwmB,gBACtBC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,SACVywB,WAAY2d,EACZ1F,QAAS7+B,EACT6mB,OAAQL,SAAYjtB,MAAI6rC,IAAI,SAAUplC,IACtC,EAGSqlC,EAAehiC,GAAWsjB,IACrCA,EAASF,aAAWiX,aAAakH,EAAqB,SAAUvhC,GAAO,EAG5DiiC,EAAUA,CAACtlC,EAAIlG,IAAc0sB,gBAClCC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,SACVywB,WAAY6d,EACZ5d,OAAQL,SAAYjtB,MAAI0T,IAAI,SAAUjN,GACtClG,aACA,EAGSyrC,EAAeA,IAAO5e,IACjCA,EAASF,aAAWiX,aAAaiH,EAAsB,UAAU,EAGtDa,EAAgBA,CAACxlC,EAAIlH,EAAMgB,IAAc0sB,gBAC9CC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,WACVywB,WAAY6e,kBACZ5e,OAAQL,SAAYjtB,MAAIC,KAAK,UAADgB,OAAWwF,EAAE,YAAYlH,GACrD+lC,QAAS/lC,EACTgB,aACA,EAGS4rC,EAAgBA,CAAC1lC,EAAIlH,EAAMgB,IAAc0sB,gBAC9CC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,WACVywB,WAAY6e,kBACZ5e,OAAQL,SAAYjtB,MAAIulC,IAAI,UAADtkC,OAAWwF,EAAE,YAAYlH,GACpD+lC,QAAS/lC,EACTgB,aACA,C,mCCpHJ,wBAqCe+N,IAlCA7R,IAUR,IAVS,KACd8R,EAAO,GAAE,GACT69B,EAAK,GAAE,GACPC,EAAK,GAAE,GACPC,EAAE,GACFC,EAAE,GACFC,EAAE,IACFC,EAAG,SACH3uC,EAAQ,UACRG,GACDxB,EAiBC,OAhBK2vC,IACHA,EAAK,IAGFC,IACHA,EAAK,IAGFC,IACHA,EAAK/9B,GAGFg+B,IACHA,EAAKh+B,GAIL1Q,cAAC8Y,IAAG,CAAC1Y,UAAWA,EAAWsQ,KAAMA,EAAM69B,GAAIA,EAAIC,GAAIA,EAAIC,GAAIA,EAAIC,GAAIA,EAAGzuC,SACnEA,GACG,C,oCCjCV,iHAEO,MAAM4uC,EAAuB,uBACvBC,EAA+B,+BAI/BC,EAAgB,eAACloC,EAAUP,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAAE,OAAK8oB,UAChD,MAAMlwB,EAAS,GACf,IAAI8vC,EAAa,EAEjBnoC,EAAW/E,SAAQlD,IAAa,IAAZ,GAAEgK,GAAIhK,EACxBM,EAAOkJ,KAAK,CAAEQ,KAAIomC,eAClBA,GAAc,CAAC,UAGX3f,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,0BACVywB,WAAYsf,EACZrH,QAAS5gC,EACT4oB,OAAQL,SAAYjtB,MAAIulC,IAAI,kCAAmCxoC,IAC/D,CACF,C,oCCvBF,iHAEO,MAAM+vC,EAAW,WAGXC,EAAgC,gCAEhChhC,EAAQA,CAACtF,EAAIlG,IAAc0sB,gBAChCC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,YACVywB,WAPgC,uBAQhCC,OAAQL,SAAYjtB,MAAIC,KAAK,aAADgB,OAAcwF,EAAE,WAC5ClG,aACA,C,oCCdJ,0CAuBeysC,IAlBSvwC,IAAqD,IAApD,YAAEU,EAAW,MAAEpB,EAAK,KAAEY,EAAI,SAAED,EAAQ,OAAE2tB,GAAQ5tB,EACrE,OACEoB,cAAA,OAAKI,UAAU,yEAAwEH,SACrFD,cAAA,OAAKI,UAAU,gBAAeH,SAC5BD,cAACuiB,eAAY,CAACzjB,KAAMA,EAAMse,SAAO,EAAAnd,SAC/BD,cAACoc,IAAK,CACJ9c,YAAaA,EACbiG,MAAOjG,EACPkB,MAAO,CAAEtC,MAAY,OAALA,QAAK,IAALA,IAAS,QACzBsuB,OAAc,OAANA,QAAM,IAANA,IAAUxsB,cAACovC,IAAc,CAAChvC,UAAU,WAC5CvB,SAAUA,SAIZ,C,mGCbV,MAAMwwC,EAAqBzwC,IAA4B,IAA3B,SAAEqB,KAAagL,GAAMrM,EAC/C,MAAO+L,GAAQS,IAAKE,UACpB,OAAOvG,IAAMyP,aAAavU,EAAU,CAAE0K,UAASM,GAAO,EAGlDqkC,EAAcjhC,IAAkC,IAAjC,SAAEpO,EAAQ,KAAE0K,KAASM,GAAMoD,EAC9C,OAAI1D,EACK5F,IAAMyP,aAAavU,EAAU,CAAE0K,UAASM,IAG1CjL,cAACqvC,EAAkB,IAAKpkC,EAAIhL,SAAGA,GAA8B,EAkBvDsvC,MAff,MACE,aAAO/pC,CAAOgqC,GACZ,OAAOC,IAAiB,CACtBnnC,SACE,MAAM,SAAErI,KAAagL,GAASC,KAAKtE,MACnC,OACE5G,cAACsvC,EAAW,IAAKrkC,EAAIhL,SACnBD,cAACwvC,EAAgB,CAAAvvC,SAAEA,KAGzB,GAEJ,GC1BF,MAAMyvC,UAAe1qC,YACnB4U,YAAYhT,GAAQ,IAADiT,EACjBC,MAAMlT,GAAMiT,EAAA3O,KAAC,KAIf0gB,aAAe,CAAAhtB,EAAiB0tB,KAAe,IAA/B,WAAEjmB,GAAYzH,EAC5B,MAAM,SAAEC,EAAQ,eAAE8wC,EAAc,SAAExqC,GAAa+F,KAAKtE,MAEpD,IAAIkE,EAASwhB,EAETqjB,IACF7kC,EAAS6kC,EAAe7kC,SAGPtE,IAAfH,GACF6E,KAAK0kC,iBAAiB9kC,GAElB3F,GACFA,EAASkB,IAEFxH,GACTA,EAASiM,EACX,EACA,KAEF2f,OAAS,KACP,MAAM,KAAE9f,GAASO,KAAKtE,MAEtB+D,EAAKkhB,iBAAiBxpB,MAAMyI,IAC1BI,KAAK0gB,aAAa,CAAC,EAAG9gB,EAAO,GAC7B,EACF,KAEF+kC,gBAAkB,WAAkB,IAAjB3wC,EAAMoH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC3B,MAAM,KAAEqE,GAASkP,EAAKjT,MAElB+D,GACFA,EAAKwY,eAAe,IAAKjkB,GAE7B,EAAE,KAEF4wC,oBAAuBhlC,IACrB,MAAM,gBAAEE,GAAoBE,KAAKtE,MAEjC,OAAIoE,EACKA,EAAgBF,GAGlBA,CAAM,EA9CbI,KAAK0kC,iBAAmBj0B,oBAAUxV,GAAUS,EAAM/H,SAASsH,IAAQ,IACrE,CAgDAmC,SACE,MAAM,SACJrI,EAAQ,YACRoF,EAAW,KACXsF,EAAI,UACJolC,EAAY,CAAC,EAAC,WACdC,GAAa,GACX9kC,KAAKtE,MAET,OACE5G,cAACoL,IAAI,CACHT,KAAMA,EACNvB,OAAO,SACPhJ,UAAU,iBACV6oB,eAAgB+mB,EAAa9kC,KAAK0gB,kBAAeplB,EACjDuE,cAAeG,KAAK4kC,oBAA+B,OAAXzqC,QAAW,IAAXA,IAAe,CAAC,GACxD8kC,UAAQ,KACJ4F,EAAS9vC,SAEQ,oBAAbA,EACJA,EAAS,CAAE0K,OAAMwhC,UAAWjhC,KAAK2kC,kBACjC9qC,IAAMyP,aAAavU,EAAU,CAC3BksC,UAAWjhC,KAAK2kC,gBAChBllC,UAIZ,EAGa4kC,MAAa/pC,OAAOkqC,E,8ICnFnC,IAAIO,EAAgB,iBAsDLC,MAnDU,WAAiB,IAAhBtrC,EAAK0B,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAChC,MAAO6pC,EAASC,EAAWC,GAAgBC,YAAW,CAAC1rC,KAChDkZ,EAAQC,GAAate,oBAAS,GAMrC,MAAM8wC,EAAaA,CAACC,EAAMC,KACxB,IAAIC,EAAUvjC,MAUd,OARIqjC,IACFE,EAAUA,EAAQzgC,IAAIugC,EAAM,SAG1BC,IACFC,EAAUA,EAAQzgC,IAAIwgC,EAAS,YAG1BC,EAAQC,QAAQ,EAwBzB,MAAO,CACL7yB,SACAsyB,UAvBuBQ,CAAC9xC,EAAMqH,EAAOqqC,EAAMC,KACtCtqC,IAIL4X,GAAU,GACVqyB,EAAUtxC,EAAMqH,EAAO,CACrB0qC,KA/Bc,IAgCdC,OAAQb,EACRS,QAASH,EAAWC,EAAMC,KAC1B,EAcFJ,aAX2BvxC,IACtBA,GAILuxC,EAAavxC,EAAM,CAAEgyC,OAAQb,EAAeY,KA1C5B,KA0CgD,EAOhEV,UAEJ,E,iBC1BeY,MA3BUA,KACvB,MAAM/hB,EAAUC,eACV,QAAEsJ,EAAO,cAAE1S,EAAa,YAAEmrB,GAAgBlrB,cAsBhD,MAAO,CAAE1d,KARI,SAACyoC,KAAiBvqC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,KAAAA,UAAA,GAE3B0oB,EAAQ5mB,KAdOyoC,KACZG,GAAezY,EACZ,MAANn1B,OAAaytC,GAGXhrB,EACI,MAANziB,OAAaytC,GAGT,QAANztC,OAAeytC,GAKAxc,CAAUwc,IAEvB7hB,EAAQ5mB,KAAKyoC,EAEjB,EAEe,C,oCC3BjB,YAYelhC,IAROA,KACpB,MAAM,MAAEzR,GAAUkyB,uBAAa7sB,IAAC,IAAA0tC,EAAA,OAAe,QAAfA,EAAK1tC,EAAEqM,gBAAQ,IAAAqhC,IAAI,CAAC,CAAC,IAIrD,MAAO,CAAEvhC,SAFQxR,GALG,IAODA,QAAO,C,oCCT5B,2BAuCequB,IApCO3tB,IAQf,IARgB,OACrB4tB,EAAS,MAAK,iBACdC,EAAmB,IAAG,cACtBC,EAAgB,EAAC,aACjBC,EAAe,EAAC,SAChB9tB,EAAQ,MACRsH,KACG8E,GACJrM,EACC,MAAOiuB,EAAWC,GAAgBrtB,mBAAS0G,GAa3C,OAJAvG,qBAAU,KACRktB,EAAkB,OAAL3mB,QAAK,IAALA,IAAS,EAAE,GACvB,CAACA,IAGFnG,cAAC+sB,IAAa,CACZ3sB,UAAU,YACVosB,OAAQA,EACRG,aAAcA,EACdF,iBAAkBA,EAClBC,cAAeA,EACfM,oBAAoB,EACpBC,cAnBmBC,IACb,OAARruB,QAAQ,IAARA,KACEquB,EAAeC,WAAWD,EAAapqB,QAAQ2pB,EAAkB,MAAQ,GAE3EK,EAAaI,EAAa,EAgBxB/mB,MAAO0mB,KACH5hB,GACJ,C,oCCpCN,oCAkCekhB,IA9BYvtB,IAAmB,IAAlB,SAAEG,GAAUH,EACtC,MAAM2D,EAAS6tB,uBAAa7wB,GAC1BA,EAAMgxB,UAAUxxB,GAAYQ,EAAMgxB,UAAUxxB,GAAUwD,OAAS,KAE3D2uC,EACJ3uC,GAAUA,EAAOgE,OAAS,EACtBhE,EAAOe,KAAK8P,GAASA,EAAK5Q,UAASa,KAAK,KACxC,KAEAoP,EAAMC,iBAAO,MAOnB,OANA9S,qBAAU,KACJsxC,GAAaz+B,EAAIgE,SACnBhE,EAAIgE,QAAQ06B,gBACd,GACC,CAACD,EAAWz+B,EAAIgE,UAGjBy6B,GACElxC,cAAA,OAAKyS,IAAKA,EAAIxS,SACZD,cAAC6pB,IAAK,CACJzpB,UAAU,sBACVsc,YAAaw0B,EACb/yC,KAAK,QACLw6B,UAAQ,KAGb,C,oCCLU7zB,IAzBE,SAAC7B,EAAMmuC,GAA6B,IAAtBC,EAAQ/qC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,MACxC,GAAIrD,EAAKsD,OAAS6qC,EAAO,CACvBA,GAAS,EAET,IAAIE,EAAOruC,EAAKglB,OAAOmpB,EAAQ,EAAG,GAElC,KAAgB,MAATE,GAAgBF,EAAQ,GAC7BA,GAAS,EACTE,EAAOruC,EAAKglB,OAAOmpB,EAAQ,EAAG,GAGhCE,EAAOruC,EAAKglB,OAAOmpB,EAAQ,EAAG,GAG5BnuC,EADW,MAATquC,GAAyB,MAATA,GAAyB,MAATA,EAC3BruC,EAAKglB,OAAO,EAAGmpB,EAAQ,GAAKC,EACjB,MAATC,GAAyB,MAATA,GAAyB,MAATA,EAClCruC,EAAKglB,OAAO,EAAGmpB,EAAQ,GAEvBnuC,EAAKglB,OAAO,EAAGmpB,EAAQ,GAAKC,CAEvC,CAEA,OAAOpuC,CACT,C,oCCvBA,uEAgJeg5B,IA1Icr9B,IAUtB,IAVuB,SAC5BG,EAAQ,aACRyW,EAAY,cACZb,EAAa,WACbc,GAAa,EAAI,SACjB5W,EAAQ,MACRsH,EAAK,SACLud,EAAQ,eACRwY,KACGjxB,GACJrM,EACC,MAAM6T,EAAMC,iBAAO,OACb,IAAEmD,EAAG,KAAEzT,GAASwT,kBAAQ,CAAE7W,cACzBkE,EAAMgT,GAAWxW,mBAAS,KAC1B0W,EAAWC,GAAgB3W,oBAAS,GACrC4W,EAA2B,aAAdpL,EAAKqL,KAElBC,EAAgBnD,IACZ,OAARvU,QAAQ,IAARA,KAAWuU,EAAK,EA0BZm+B,EAAeA,KACnB9+B,EAAIgE,QAAQqB,QACZ7B,EAAQ,IAER,MAAMnL,EAASoxB,EAAej5B,GAC9Bb,EAAK0I,GAAShL,GA5BWuO,KAAuB,IAApB3M,KAAMmC,GAAQwK,EAG1C,GAFAoE,EAAIgE,QAAQxG,IAAIpM,EAAOA,QAEnBwS,EAAY,CACd,MAAM0B,EAAW,IAAI5R,GACrB4R,EAAS3P,KAAK,IACT6P,4BAAkBpU,EAAOA,QAC5BuP,KAAMvP,EAAOA,SAGf0S,EAAawB,EACf,MACExB,EAAa,IACR0B,4BAAkBpU,EAAOA,QAC5BuP,KAAMvP,EAAOA,SAMjB,OAFQ,OAAR6f,QAAQ,IAARA,KAAW7f,EAAOA,SAEX,CAAK,EAQe2tC,CAAmB1xC,IAAU,EAqE1D,OACEE,cAAA,OAAK2xB,KAAK,SAASC,SAAS,IAAIF,UAtBf5rB,IACC,KAAdA,EAAEyZ,SAAkB9M,EAAIgE,QAAQI,WAAa5T,GAC/CsuC,GACF,EAmBqDtxC,SACnDD,cAAC8W,IAAY,CACX/X,SAAUA,EACV0yC,YAAaxuC,EACbkC,SAzCgBlC,IACpBmT,GAAa,GACbH,EAAQhT,EAAK,EAwCT8T,wBAjC+B7B,IAC9BA,GACHe,EAAQ,GACV,EA+BIe,qBA1DuBC,IAAyB,IAAxB,KAAE3R,EAAI,SAAE4R,GAAUD,EAC9C,OACE9W,eAAAsI,WAAA,CAAAxI,SAAA,CACGqF,EACA4R,EACClX,cAAA,OAAKI,UAAU,wBAAuBH,SACpCD,cAACmX,IAAI,CAAC5W,KAAK,cAhBZ4V,GAAalT,EAClB9C,eAACS,IAAM,CACLR,UAAU,mCACVS,QAAS0wC,EAAatxC,SAAA,CACvB,cACagD,EAAI,KAAAG,OAAQH,EAAI,QAAS,MAErC,OAcC,EAgDDmU,UAvCgBC,KACpBjB,GAAa,EAAK,EAuCdkB,UAAWjB,EAxBCwB,IAAgC,IAA/B,MAAEnM,EAAK,QAAE8L,EAAO,MAAErR,GAAO0R,EAC1C,OACE1X,eAAA,OAAKC,UAAU,4BAA2BH,SAAA,CACxCD,cAAA,QAAMI,UAAU,UAASH,SAAEyL,IAC3BvL,eAAA,OAAAF,SAAA,CACED,cAACyX,IAAY,CACXrX,UAAU,UACVS,QAASA,KAzDjBgV,EAyD0C1P,EAAO,IAE3CnG,cAAC0X,IAAa,CAAC7W,QAAS2W,SAEtB,OAagChR,EACpCkrC,gBAAiBA,IAAM1xC,cAAA,UACvByS,IAAKA,EACLtM,MAAOA,EACPtH,SAAU0X,KACNtL,KAEF,C,kSC9HV,MAKMmoB,EAAS,CACb,KAAS,CAACjmB,MAAUA,OACpB,OAAQ,CAACA,MAASgB,QAAQ,QAAShB,MAASiB,MAAM,SAClD,SAAS,CAACjB,MAASgB,QAAQ,SAAUhB,MAASiB,MAAM,UACpD,IAAQ,CAACjB,MAASgB,QAAQ,QAAShB,QAG/BwkC,EAAY,CAChB,CAAE5vC,IAAK,eAAgB2J,MAAO,iBAC9B,CAAE3J,IAAK,qBAAsB2J,MAAO,mBACpC,CAAE3J,IAAK,gBAAiB2J,MAAO,kBAC/B,CAAE3J,IAAK,UAAW2J,MAAO,cACzB,CAAE3J,IAAK,cAAe2J,MAAO,UAGzBkmC,EAAgB,CACpB,CAAE7vC,IAAK,UAAW2J,MAAO,kBACzB,CAAE3J,IAAK,aAAc2J,MAAO,WAC5B,CAAE3J,IAAK,WAAY2J,MAAO,aAC1B,CAAE3J,IAAK,WAAY2J,MAAO,cAyEbmmC,MAtEcjzC,IAOtB,IAPuB,cAC5BkzC,EAAa,QACbpyC,EAAO,YACPqyC,EAAW,iBACXC,EAAgB,cAChBC,EAAa,eACbC,GACDtzC,EACC,MAAM,cAAEuzC,GAAkBC,cAE1B,OACEpyC,cAACuQ,IAAG,CAAClI,MAAM,SAASmI,OAAQ,CAAC,EAAG,GAAGvQ,SACjCD,cAAC8Y,IAAG,CAAC2Q,KAAM,EAAExpB,SACXE,eAAA,OAAKC,UAAU,kCAAiCH,SAAA,CAC9CD,cAAC02B,IAAY,CAAC53B,KAAK,WAAW4C,KAAMiwC,EAAWzzC,MAAO,MACtD8B,cAACoL,IAAKQ,KAAI,CAAC9M,KAAK,aAAase,SAAO,IACpCpd,cAACoL,IAAKQ,KAAI,CAAC9M,KAAK,mBAAmBse,SAAO,IAC1Cpd,cAACoL,IAAKQ,KAAI,CAAC9M,KAAK,cAAcse,SAAO,IACrCpd,cAACoL,IAAKQ,KAAI,CAAC9M,KAAK,gBAAgBse,SAAO,IACvCpd,cAACoL,IAAKQ,KAAI,CAAC9M,KAAK,iBAAiBse,SAAO,IAExCpd,cAACmzB,IAAiB,CAACr0B,KAAK,cAAcs0B,OAAQA,EAAQl1B,MAAO,MAE5Di0C,GACCnyC,cAAC02B,IAAY,CACX53B,KAAK,gBACLQ,YAAY,yBACZoC,KAAMkwC,EACN7gC,YAAU,EACV7S,MAAO,MAIV6zC,GACC/xC,cAACmvC,IAAe,CACdrwC,KAAK,aACLQ,YAAY,eACZpB,MAAO,MAIX8B,cAAC0R,IAAO,CAACnM,MAAM,kBAAiBtF,SAC9BD,cAACqyC,IAAY,CACXjyC,UAAU,qBACVS,QAASixC,EACTQ,KAAM5yC,MAGVM,cAAC0R,IAAO,CAACnM,MAAM,qBAAiBtF,SAC9BD,cAACuyC,IAAc,CACbnyC,UAAU,qBACVS,QAASmxC,MAGbhyC,cAAC0R,IAAO,CAACnM,MAAM,oBAAmBtF,SAC/BiyC,EACClyC,cAACE,IAAe,CAACE,UAAU,oBAE3BJ,cAACwyC,IAAiB,CAChBpyC,UAAU,6BACVS,QAASoxC,YAMf,ECcKQ,MAnHe7zC,IAAmB,IAAlB,SAAE8zC,GAAU9zC,EACzC,MAAM,QAAE+zC,EAAU,CAAC,GAAMviB,uBACtB7sB,IAAC,IAAAqvC,EAAA,OAAqC,QAArCA,EAAKrvC,EAAEgtB,UAAU,4BAAoB,IAAAqiB,IAAI,CAAC,CAAC,KAGzC,cACJC,EAAgB,EAAC,cACjBC,EAAgB,EAAC,oBACjBC,EAAsB,EAAC,oBACvBC,EAAsB,EAAC,kBACvBC,EAAoB,EAAC,gBACrBC,EAAkB,EAAC,QACnBC,EAAU,EAAC,SACXC,GACET,EAEEU,EAA6BA,KACjCX,EAAS,CACPv0C,KAAM,UACNm1C,WAAY,mBACZ,EAGEC,EAA6BA,KACjCb,EAAS,CACPv0C,KAAM,UACNm1C,WAAY,mBACZ,EAGJ,OACEtzC,cAAA,OAAKI,UAAU,mBAAkBH,SAC/BD,cAACqK,IAAI,CAACjK,UAAU,kBAAkB8zB,UAAW,CAAEL,QAAS,IAAK5zB,SAC3DE,eAAA,OAAKC,UAAU,yCAAwCH,SAAA,CACrDD,cAAA,SAAAC,SACEE,eAAA,SAAAF,SAAA,CACEE,eAAA,MAAAF,SAAA,CACED,cAAA,MAAII,UAAU,uBAAsBH,SAAC,uBACrCD,cAAA,MAAII,UAAU,uBAAsBH,SAAC,uBACrCD,cAAA,MAAII,UAAU,uBAAsBH,SAAC,sBAEvCE,eAAA,MAAAF,SAAA,CACED,cAAA,MAAII,UAAU,oCAAmCH,SAC9C8yC,EAAsB,EACrB/yC,cAAA,QACEI,UAAU,aACVuxB,KAAK,SACLD,UAAW2hB,EACXxyC,QAASwyC,EACTzhB,SAAU,EAAE3xB,SAEX8yC,IAGHA,IAGJ/yC,cAAA,MAAII,UAAU,oCAAmCH,SAC9C+yC,EAAsB,EACrBhzC,cAAA,QACEI,UAAU,aACVuxB,KAAK,SACLD,UAAW6hB,EACX1yC,QAAS0yC,EACT3hB,SAAU,EAAE3xB,SAEX+yC,IAGHA,IAGJhzC,cAAA,MAAII,UAAU,oCAAmCH,SAC9CgzC,YAMT9yC,eAAA,SAAOC,UAAU,iCAAgCH,SAAA,CAC/CE,eAAA,MAAAF,SAAA,CACgB,uBAAbmzC,EACCpzC,cAAA,MAAII,UAAU,eAAcH,SAAC,mBAC3B,KACJD,cAAA,MAAII,UAAU,eAAcH,SAAC,sBAC7BD,cAAA,MAAII,UAAU,eAAcH,SAAC,sBACf,uBAAbmzC,EACCpzC,cAAA,MAAII,UAAU,eAAcH,SAAC,gBAE7BD,cAAA,MAAII,UAAU,eAAcH,SAAC,aAGjCE,eAAA,MAAAF,SAAA,CACgB,uBAAbmzC,EACCpzC,cAAA,MAAII,UAAU,oCAAmCH,SAC/CD,cAACszB,IAAa,CAAC/M,OAAQ2sB,MAEvB,KACJlzC,cAAA,MAAII,UAAU,oCAAmCH,SAC/CD,cAACszB,IAAa,CAAC/M,OAAQssB,MAEzB7yC,cAAA,MAAII,UAAU,oCAAmCH,SAC/CD,cAACszB,IAAa,CAAC/M,OAAQusB,MAEzB9yC,cAAA,MAAII,UAAU,oCAAmCH,SAC/CD,cAACszB,IAAa,CAAC/M,OAAQ4sB,kBAM7B,E,2BCvGV,MAAMxB,EAAY,CAChB,CAAE5vC,IAAK,eAAgB2J,MAAO,iBAC9B,CAAE3J,IAAK,qBAAsB2J,MAAO,mBACpC,CAAE3J,IAAK,gBAAiB2J,MAAO,kBAC/B,CAAE3J,IAAK,UAAW2J,MAAO,cACzB,CAAE3J,IAAK,cAAe2J,MAAO,UAGzB0nB,EAAS,CACbogB,KAAM,CAACrmC,MAAUA,OACjBsmC,OAAQ,CAACtmC,MAASgB,QAAQ,QAAShB,MAASiB,MAAM,SAClDslC,SAAK,CAACvmC,MAASgB,QAAQ,SAAUhB,MAASiB,MAAM,UAChDulC,IAAK,CAACxmC,MAASgB,QAAQ,QAAShB,QAQ5BykC,EAAgB,CACpB,CAAE7vC,IAAK,UAAW2J,MAAO,kBACzB,CAAE3J,IAAK,aAAc2J,MAAO,WAC5B,CAAE3J,IAAK,WAAY2J,MAAO,aAC1B,CAAE3J,IAAK,WAAY2J,MAAO,cAyEbkoC,MAtEsBh1C,IAAuB,IAAtB,KAAE0X,EAAO,OAAO1X,EACpD,MAAM,kBAAEi1C,GAAsBC,eACxB,QAAEC,EAAO,YAAEC,GAAgBC,cAUjC,OACE9zC,eAAAsI,WAAA,CAAAxI,SAAA,CACED,cAAC02B,IAAY,CACX53B,KAAK,WACL4M,MAAM,mBACNhK,KAAMiwC,EACN5gC,YAAU,IAEZ/Q,cAACmzB,IAAiB,CAAC/V,SAAS,EAAOte,KAAK,cAAcs0B,OAAQA,IAE9DpzB,cAACuiB,eAAY,CAAC7W,MAAM,aAAa5M,KAAK,aAAYmB,SAChDD,cAACw0B,IAAgB,CACfz1B,SAAS,aACTO,YAAY,YACZ41B,YAAa7mB,IAAA,IAAC,cAAE6lC,GAAe7lC,EAAA,OAAK6lC,CAAa,EACjDtmB,SAAU3W,IAAA,IAAC,KAAEnY,GAAMmY,EAAA,OAAKnY,CAAI,EAC5BI,OAAQ,CAAE4vB,MAAgB,QAATxY,EAAiB,GAAK,CAACA,IACxCvF,YAAU,EACVikB,cAAend,IAAA,IAAC,GAAEjP,EAAE,KAAE9J,EAAI,KAAEX,GAAM0Z,EAAA,MAAM,CACtCjP,KACA9J,OACAX,OACD,MAIL6B,cAAC6c,IAAkB,CACjBnR,MAAM,SACN5M,KAAK,mBACLC,SAAS,oBACTO,YAAY,YACZD,SAAmB,QAATiX,IAGZtW,cAACuiB,eAAY,CACX7W,MAAM,kBACN5M,KAAK,cACLq1C,QAASN,EAAkB5zC,SAE3BD,cAAC8W,eAAY,CAAC/X,SAAS,eAAeO,YAAY,gBA/ChC80C,MAAO,IAADC,EACeC,EAA3C,OAAKjZ,YAAc2Y,EAAa,UAIT,QAAvBK,EAAON,EAAQnkC,gBAAQ,IAAAykC,OAAA,EAAhBA,EAAkBlC,cAHI,QAA3BmC,EAAON,EAAYpkC,gBAAQ,IAAA0kC,OAAA,EAApBA,EAAsBnC,aAGO,EA6CnCiC,IACCp0C,cAAC02B,IAAY,CACX53B,KAAK,gBACL4M,MAAM,yBACNhK,KAAMkwC,EACN7gC,YAAU,IAId/Q,cAACuiB,eAAY,CAAC7W,MAAM,iBAAiB5M,KAAK,iBAAgBmB,SACxDD,cAACwzB,KAAmB,CAACld,KAAK,WAAWhX,YAAY,kBAElD,ECyLQi1C,MAjRe3tC,IAC5B,MAAM,KACJlF,EAAI,eACJ8yC,EAAc,cACdC,EAAa,aACb1tC,EAAY,YACZ1B,EAAW,eACXD,EAAc,KACdkR,EAAO,MAAK,wBACZo+B,EAA0B,CAAC,EAAC,YAC5BC,EAAW,iBACXliB,EAAmB,CAAC,EAAC,mBACrBmiB,EAAqB,CAAC,EAAC,qBACvBC,GACEjuC,EAEE2oB,EAAWO,yBACVglB,EAAgBC,GAAqBt1C,oBAAS,IAC9CkL,GAAQS,IAAKE,WACb0pC,GAAc5pC,IAAKE,UACpB0jB,EAAUC,eACV,eAAEijB,GAAmB9hB,uBACxB7sB,IAAC,IAAAqvC,EAAA,OAAqC,QAArCA,EAAKrvC,EAAEgtB,UAAU,4BAAoB,IAAAqiB,IAAI,CAAC,CAAC,IA2BzCqC,EAAwBC,GACxBjtC,MAAMC,QAAQgtC,GACTA,EAGJA,EAIE,CAACA,GAHC,GAMLC,EAAqBv2C,IAQpB,IARqB,YAC1Bw2C,EAAW,WACXC,EAAa,GAAE,iBACfC,EAAmB,GAAE,YACrBC,EAAc,GAAE,eAChBC,EAAiB,GAAE,SACnBpC,EAAW/tC,EAAY+tC,YACpBnoC,GACJrM,EACC,MAAMM,EAAS,CACbk0C,WACAqC,YAAaL,EACTjoC,IAAOioC,EAAY,IAAI9mC,OAAO,cAC9B,KAEJ0B,QAASolC,EAAcjoC,IAAOioC,EAAY,IAAI9mC,OAAO,cAAgB,KACrEonC,YAAaT,EAAqBI,GAAY/xC,KAAKC,GAAMA,EAAEqF,KAC3D+sC,mBAAoBV,EAAqBK,GAAkBhyC,KACxDC,GAAMA,EAAExB,MAEX6zC,cAAeX,EAAqBM,GAAajyC,KAAKC,GAAMA,EAAExB,MAC9DyzC,oBACG/iB,KACAxnB,GAGL7F,EAAelG,EAAO,EAGlB22C,EAAkB,SAACX,GAAuB,IAAhBnzC,EAAGuE,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,KACpC,OAAI2B,MAAMC,QAAQgtC,GACTA,EAAM5xC,KAAKC,IAAC,CAAQ,CAACxB,GAAMwB,MAG/B0E,MAAMC,QAAQgtC,GAIZ,KAHE,CAAE,CAACnzC,GAAMmzC,EAIpB,EAEMpF,EAAsBzhC,IAQrB,IARsB,YAC3BonC,EAAW,QACXzlC,EAAO,YACP0lC,EAAc,GAAE,mBAChBC,EAAqB,GAAE,cACvBC,EAAgB,GAAE,eAClBJ,EAAiB,MACdvqC,GACJoD,EAQC,OAPApD,EAAKmqC,YAAc,CAACjoC,IAAOsoC,GAActoC,IAAO6C,IAEhD/E,EAAKoqC,WAAaQ,EAAgBH,GAClCzqC,EAAKqqC,iBAAmBO,EAAgBF,EAAoB,SAC5D1qC,EAAKsqC,YAAcM,EAAgBD,EAAe,SAClD3qC,EAAKuqC,eAAiBA,EAEf,IAAKvqC,EAAM,EAUd6qC,EAA4BA,KAChCf,GAAkB,EAAM,EAWpBgB,EAAoBA,KACxBZ,EAAmBP,GACnBkB,GAA2B,EASvBE,EAA4B/+B,IAAe,IAAd,KAAEvV,GAAMuV,EACzC,MAAM,SAAEjU,GAAatB,EAAKmC,OACpB4c,EAAMte,MAAIwe,mBAAmB,iCAADvd,OACCJ,IAEnC0d,OAAOlR,KAAKiR,EAAK,SAAS,EAyB5B,OACEtgB,eAAA,OAAKC,UAAU,2BAA0BH,SAAA,EACrC00C,GACA30C,cAACyyC,EAAqB,CAACC,SAvCMuD,IACjCtrC,EAAKkhB,iBAAiBxpB,MAAMyI,IAC1BqqC,EAAmB,IAAKrqC,KAAWmrC,GAAc,GACjD,IAsCAj2C,cAACqK,IAAI,CAACjK,UAAU,kBAAkB8zB,UAAW,CAAEL,QAAS,IAAK5zB,SAC3DE,eAACoQ,IAAG,CAACnQ,UAAU,uBAAuBoQ,OAAQ,CAAC,EAAG,IAAIvQ,SAAA,CACpDE,eAAC2Y,IAAG,CAAC2Q,KAAM,EAAExpB,SAAA,CACXD,cAAC0vC,IAAM,CACL7wC,SAAUs2C,EACV9vC,YAAaA,EACb2F,gBAAiB8kC,EACjBnlC,KAAMA,EAAK1K,SAEXD,cAAC6xC,EAAoB,CACnBE,YAnKMA,MAAO,IAADmE,EACxB,MAAsC,mBAAf,QAAhBA,EAAAlnB,EAAQ4B,gBAAQ,IAAAslB,OAAA,EAAhBA,EAAkBvlB,SAA4B,EAkK5BohB,GACbD,cAxJYqE,KACxB5mB,EAASQ,cAAU,EAwJPiiB,iBA7EmBoE,KAC/BrB,GAAkB,GAElBC,EAAWx7B,cACXw7B,EAAW7xB,eAAe2sB,EAAoBzqC,GAAa,EA0E/CgxC,cAAeN,EACf9D,cAzCYqE,KACxB/xB,IAAMyH,QAAQ,CACZzmB,MAAO,8BACPuD,OAAQ,WACRojB,KAAMA,KACJ,MAAMqqB,EAAc9wB,IAAGugB,UACrB,IAAK3gC,KAAgBotB,GACrB,CACE+jB,YAAa,SACbC,UAAU,IAIdlnB,EAASmnB,YAAiBH,EAAaP,GAA2B,GAEpE,EA2BU9D,eAAgBA,EAChBxyC,QAASgC,EAAKhC,YAGjBo1C,EACC90C,cAACskB,IAAM,CACLlkB,UAAU,oBACVmF,MACEsvC,EACI,0CACA,UAEN3/B,SAAO,EACPsC,QAASs+B,EACT5hB,UAAW,CAAEvzB,cAAe,IAAKV,SAEjCE,eAACiL,IAAI,CACHT,KAAMqqC,EACNjqC,cAAe+kC,EAAoBzqC,MAC/B6D,gBAAcC,YAAYC,OAAOuB,KAAI1K,SAAA,CAEzCD,cAAC4zC,EAA4B,CAACt9B,KAAMA,IACpCtW,cAAA,OACEQ,MAAO,CACLE,SAAU,WACVK,MAAO,EACP4yB,OAAQ,EACRz1B,MAAO,OACP01B,UAAW,oBACXC,QAAS,YACT5yB,WAAY,OACZ6yB,UAAW,SACX7zB,SAEFE,eAAA,OAAAF,SAAA,CACED,cAACY,IAAM,CAACzC,KAAK,OAAO0C,QAASk1C,EAAkB91C,SAAC,kBAGhDD,cAACY,IAAM,CAACC,QAASi1C,EAA0B71C,SAAC,WAG5CD,cAACY,IAAM,CAACzC,KAAK,UAAU0C,QA9GX81C,KAC9B3B,EAAWnpB,iBAAiBxpB,MAAMyI,IAChCqqC,EAAmBrqC,EAAO,IAG5BgrC,GAA2B,EAyG+C71C,SAAC,6BAO/D,SA/NRu0C,GAkOIr0C,eAAC2Y,IAAG,CAAA7Y,SAAA,CACFD,cAACY,IAAM,CAACC,QA5EO+1C,KACzBrnB,EAASsnB,cAAe,EA2EsB52C,SAAC,qBACpC,CAAC,MAAOjG,KAAS6I,SAASyT,IACzBtW,cAACY,IAAM,CAACR,UAAU,UAAUS,QA1Nfi2C,KACzB/vC,EAAa,CAAE5I,KAAM,aAAcu2C,GAA0B,EAyNOz0C,SAAC,YAI1D,CAAC,MAAOlG,MAAS8I,SAASyT,IACzBtW,cAACY,IAAM,CAACR,UAAU,UAAUS,QA3Nfk2C,KACzBhwC,EAAa,CAAE5I,KAAM,aAAcu2C,GAA0B,EA0NOz0C,SAAC,eAM9Dw0C,GAAiBz0C,cAAC8Y,IAAG,CAAA7Y,SAAEw0C,aAGxB,E,mBC/NKuC,MA3DuBA,KACpC,MAAM,aAAE5O,GAAiB74B,eAClBzD,EAAUmrC,GAAex3C,mBAAS,KAClCy3C,EAAYC,GAAiB13C,oBAAS,GAoB7C,OAJAG,qBAAU,KAbHwoC,GAILjmC,MACG0T,IAAI,cAAc,GAADzS,OAAKglC,EAAY,6BAClC/lC,MAAKzD,IAAiB,IAAhB,OAAE2D,GAAQ3D,EACXqJ,MAAMC,QAAQ3F,IAChB00C,EAAY10C,EAAOe,KAAKC,GAAMA,EAAEf,UAClC,GAKS,GACZ,IAEEyF,MAAMC,QAAQ4D,IAAiC,IAApBA,EAASvF,OAKvCvG,cAAC6pB,IAAK,CACJzpB,UAAU,UACVkgC,UAAQ,EACR99B,QAAQ,uDACRka,YACE1c,cAAA,OAAAC,SACGi3C,EACC/2C,eAAA,OAAKC,UAAU,UAASH,SAAA,CACrB6L,EAASxI,KAAI,CAACC,EAAGuG,IAChB9J,cAAA,OAAAC,SACEE,eAAA,QAAAF,SAAA,CACED,cAAA,UAAAC,SAAA,GAAAmD,OAAY0G,EAAQ,KACpB9J,cAAA,QAAAC,SAAA,MAAAmD,OAAaG,SAHP2S,iBAOZlW,cAAA,OAAAC,SAAK,wCAGPD,cAACY,IAAM,CAACL,KAAK,QAAQM,QAASA,IAAMs2C,GAAc,GAAMl3C,SAAC,eAM/D9B,KAAK,UACLw6B,UAAQ,IA9BH,IA+BL,E,oNClDN,MAAMye,GAAoCx4C,IAAuB,IAADy4C,EAAA,IAArB,OAAEviC,EAAM,KAAEpT,GAAM9C,EACzD,MAAM2wB,EAAWO,yBACX,eAAEwnB,GAAmB51C,GACpBiJ,GAAQS,IAAKE,WACbd,EAAU+sC,GAAe93C,oBAAS,GAEnCgxB,EAAgBA,KACpBjuB,KAAQg1C,QAAQ,uBAAuB,EA2BzC53C,qBAAU,KAAO,IAAD63C,EACqBC,EAAT,QAA1BD,EAAIH,EAAerc,eAAO,IAAAwc,GAAtBA,EAAwBpgB,OAC1B1sB,EAAKwY,eAAe,CAAEw0B,OAAQ,CAAuB,QAAvBD,EAACJ,EAAerc,eAAO,IAAAyc,OAAA,EAAtBA,EAAwBrgB,QACzD,GACC,IAMH,OACEr3B,cAACukB,IAAK,CACJhf,MAAM,yBACN2P,SAAO,EACPsP,SA3BgBozB,KAClBjtC,EAAK6O,cACL+V,EAASsoB,cAAqB,EA0B5B3rB,KAvCiBN,KACnBjhB,EAAKkhB,iBAAiBxpB,MAAMyI,IAAY,IAADgtC,EACrCvoB,EACEwoB,YACE,IAAKjtC,EAAQlC,GAA0B,QAAxBkvC,EAAER,EAAeU,eAAO,IAAAF,OAAA,EAAtBA,EAAwBlvC,IACzC6nB,GAEH,GACD,EAgCA5nB,WAAW,SACXC,OAAO,SACP5K,MAAO,IACPs9B,eAAgB1mB,EAAO7U,SAEvBE,eAACiL,IAAI,CACHT,KAAMA,KACFzB,gBAAcC,YAAYC,OAAOuB,KACrCse,eAlBqBmD,CAAC7jB,EAAC8F,KAA0B,IAAxB,eAAE4pC,GAAgB5pC,EAC/CkpC,GAAaU,EAAe,EAiBWh4C,SAAA,CAEnCD,cAACuQ,IAAG,CAAAtQ,SACFD,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACoL,IAAKQ,KAAI,CACR9M,KAAK,SACL4M,MAAM,UACNC,MAAO,CACL,CACEnB,WACAhI,QAAS,+BAEX,CAAEknB,UA5COwuB,CAAC3vC,EAAGpC,KAChB,OAALA,QAAK,IAALA,OAAK,EAALA,EAAOI,QAAS,EACXogB,QAAQG,OAAO,IAAItb,MAAM,yBAG3Bmb,QAAQC,YAwCH3mB,SAEFD,cAACiS,KAAM,CAACqE,KAAK,eAInBtW,cAACuQ,IAAG,CAAAtQ,SACFD,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CACXzjB,KAAK,iBACLq5C,WAAW,SACXzsC,MAAM,2CACNwe,cAAc,UACdiqB,SAA+B,QAAvBkD,EAACC,EAAerc,eAAO,IAAAoc,GAAtBA,EAAwB9a,QAAOt8B,SAExCD,cAACo4C,KAAM,cAKT,EAkBGC,OAdmBA,KAChC,MAAM,gBAAEC,GAAkB,EAAK,OAAExjC,GAAS,GAAUsb,uBACjD7wB,IAAK,IAAAg5C,EAAAC,EAAA,OAA2C,QAA3CD,EAAoB,QAApBC,EAAKj5C,EAAMgxB,iBAAS,IAAAioB,OAAA,EAAfA,EAAkB,4BAAoB,IAAAD,IAAI,CAAC,CAAC,IAGzD,OAAKD,EAKHt4C,cAACo3C,GAAiC,CAACtiC,OAAQA,EAAQpT,KAAM42C,IAJlD,IAIqE,E,WC4bjEG,OApgBiB75C,IAIzB,IAJ0B,eAC/B41C,EAAc,oBACdkE,EAAsB,MACnB9xC,GACJhI,EACC,MAAM,aAAEwpC,EAAY,QAAE7P,GAAYhpB,eAC5B,QAAEwkC,EAAO,YAAEC,GAAgBC,cAC3B1kB,EAAWO,yBACV6oB,EAAWC,GAAgBn5C,sBAE5B,YAAE4F,GAAgB+qB,uBACrB7sB,IAAC,IAAAqvC,EAAA,OAAqC,QAArCA,EAAKrvC,EAAEgtB,UAAU,4BAAoB,IAAAqiB,IAAI,CAAC,CAAC,KAGzC,SAAEQ,GAAwB,OAAX/tC,QAAW,IAAXA,IAAe,CAAC,EAE/B09B,EAAkB5kC,IACtB,OAAQA,GACN,KAAKpE,KACH,MAAO,QACT,KAAKC,IACH,MAAO,MACT,KAAKI,IACH,MAAO,OACT,QACE,MAAO,GACX,EAGIy+C,EAAqBrwC,IACzB,GAAsB,SAAlBA,EAAO7E,OAAmB,CAAC,IAADm1C,EAAAC,EAC5B,MAAMxyB,EAAS,CAAC,qBAAsB,eAAe1jB,SAASuwC,GAC1D5qC,EAAO+d,OACO,QADDuyB,EACbtwC,EAAOugC,eAAO,IAAA+P,OAAA,EAAdA,EAAgBvP,UAEpB,OACEvpC,cAAC0R,IAAO,CACNnM,MAAK,uBAAAnC,OAAyB+J,IAAqB,QAAf4rC,EAACvwC,EAAOugC,eAAO,IAAAgQ,OAAA,EAAdA,EAAgBhtC,MAAMuC,OACzD,4BACD,iBAAAlL,OAAgB2mB,YAAexD,GAAO,QAAAnjB,OACrClC,IAAQsH,EAAOugC,QAAQR,QAAO,KAC5BtoC,SAEJD,cAACg5C,KAAgB,KAGvB,CAEA,OACEh5C,cAACK,kBAAe,CACdG,MAAO,CAAEy4C,WAAY,OACrB74C,UAAU,OACVE,KAAK,SACL,EAIA44C,EAAsB1wC,IAC1B,MACE8uC,gBAAkB7M,YAAa0O,GAC/B1O,YAAa2O,GACX5wC,EAEEsD,EAAW,GAEXutC,GACa,OAAjBD,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBE,cACE,OAArBH,QAAqB,IAArBA,OAAqB,EAArBA,EAAuBG,cACvB,EAEIC,EAAkBA,CAACh0C,EAAOwG,EAAMuD,KACpC,MAAMkqC,EAAgBrsC,IAAOpB,GAAMuC,OAAO,4BAC1CxC,EAAS1D,KAAK,GAADhF,OACRmC,EAAK,sBAAAnC,OAAqBo2C,EAAa,SAAAp2C,OAAY,OAAJkM,QAAI,IAAJA,OAAI,EAAJA,EAAMxQ,KAAI,KAC7D,EAmBH,GAhBIs6C,GACFG,EACE/wC,EAAOrK,OAASpE,KAAU,cAAgB,YAC1Cq/C,EAAkBrtC,KACD,OAAjBqtC,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmB9pC,MAInB6pC,GAA6C,IAApBrtC,EAASvF,QACpCgzC,EACE,YACAJ,EAAsBptC,KACD,OAArBotC,QAAqB,IAArBA,OAAqB,EAArBA,EAAuB7pC,MAIH,IAApBxD,EAASvF,OACX,OAAO,KAGT,MAAMnG,EAAYi5C,EAAY,kBAAoB,GAElD,OACEr5C,cAAC0R,IAAO,CACNnM,MAAOuG,EAASxI,KAAKC,GACnBvD,cAAA,OAAAC,SAA2BsD,GAAjB2S,iBACTjW,SAEHD,cAACK,kBAAe,CACdD,UAAS,mBAAAgD,OAAqBhD,GAC9BE,KAAK,gBAEC,EAIR8zC,EAAkBA,KAAO,IAADC,EACeC,EAA3C,OAAKjZ,YAAc2Y,EAAa,UAIT,QAAvBK,EAAON,EAAQnkC,gBAAQ,IAAAykC,OAAA,EAAhBA,EAAkBlC,cAHI,QAA3BmC,EAAON,EAAYpkC,gBAAQ,IAAA0kC,OAAA,EAApBA,EAAsBnC,aAGO,EAelCsH,EAAuBxiC,IAAsB,IAArB,YAAEyrB,GAAazrB,EAC3C,IAAKyrB,GAAeA,EAAY/+B,SAAWhK,KACzC,OAAO,KAGT,MAAM,mBAAE+/C,EAAkB,mBAAEC,GAAuBjX,EAE7C8W,EAAgBrsC,IAAOusC,GAAoBprC,OAC/C,4BAEF,OACEtO,cAAC0R,IAAO,CACNnM,MAAK,iCAAAnC,OAAmCo2C,EAAa,SAAAp2C,OAA0B,OAAlBu2C,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoB76C,KAAI,KAAImB,SAEzFD,cAACK,kBAAe,CACdD,UAAU,kBACVE,KAAM,CAAEksB,OAAQ,MAAO1H,SAAU,mBAE3B,EAIR80B,EAAoB/hC,IAAyB,IAAxB,eAAEy/B,GAAgBz/B,EAC3C0X,EAASsqB,YAAYvC,EAAe1uC,IAAI,EAuCpCkxC,EAAsBC,IAAyB,IAADC,EAAA,IAAvB,eAAE1C,GAAgByC,EAC7C,MAA0C,gBAAb,QAAtBC,EAAA1C,EAAeU,eAAO,IAAAgC,OAAA,EAAtBA,EAAwBr2C,OAAuB,EAiDlDs2C,EAAU,CACd,CACEl4C,IAAK,IACLwD,MAAO,WACPjF,KAAMN,cAACk6C,IAAW,IAClBr5C,QA7HqBwN,IAAyB,IAAxB,eAAEipC,GAAgBjpC,EAC1CkhB,EAAS4qB,YAAe7C,EAAe1uC,IAAI,EA6HzCuN,UAAWA,KAAM,GAEnB,CACEpU,IAAK,IACLwD,MAAO,qBACPjF,KAAMN,cAACo6C,KAAmB,CAAC55C,MAAO,CAAE0qB,YAAa,SACjDrqB,QAAS+4C,EACTzjC,UAhFsBkkC,IAAyB,IAAxB,eAAE/C,GAAgB+C,EAC3C,MAAM,KAAEl8C,EAAI,cAAEm8C,EAAa,QAAEtC,EAAO,aAAEuC,GAAiBjD,EAEvD,OAAIiD,IAKFp8C,IAASpE,MACTugD,GACAlG,WACqB5tC,KAAb,OAAPwxC,QAAO,IAAPA,OAAO,EAAPA,EAASr0C,UACL62C,KAAcC,WAAkB,OAAPzC,QAAO,IAAPA,OAAO,EAAPA,EAASr0C,SAC9B,GAqEX,CACE5B,IAAK,IACLwD,MAAO,yBACPjF,KAAMN,cAACk6C,IAAW,IAClBr5C,QAAS+4C,EACTzjC,UA7CqBukC,IAAyB,IAAxB,eAAEpD,GAAgBoD,EAC1C,MAAM,KAAEv8C,EAAI,QAAE65C,GAAYV,EAC1B,OACEn5C,IAASpE,MACTi+C,GACA5D,KACAoG,KAAcC,WAAkB,OAAPzC,QAAO,IAAPA,OAAO,EAAPA,EAASr0C,OAAO,GAyC3C,CACE5B,IAAK,IACLwD,MAAO,uBACPjF,KAAMN,cAACqB,KAAmB,IAC1BR,QAhHwB0W,IAAyB,IAAxB,eAAE+/B,GAAgB//B,EAC7CgN,IAAMyH,QAAQ,CACZzmB,MAAO,iCACPuD,OAAQ,MACRD,WAAY,SACZqjB,KAAMA,KACJqD,EAASorB,YAAcrD,EAAe1uC,IAAI,GAE5C,EAyGAuN,UAAW2jC,GAEb,CACE/3C,IAAK,IACLwD,MAAO,yBACPjF,KAAMN,cAAC46C,KAAY,IACnB/5C,QA7JqB2H,IACvB+mB,EAASsrB,YAAkBryC,GAAQ,EA6JjC2N,UAAW2jC,GAEb,CACE/3C,IAAK,IACLwD,MAAO,aACPjF,KAAMN,cAACkhB,KAAgB,IACvBrgB,QAnHsBopC,IAAyB,IAAD6N,EAAA,IAAvB,eAAER,GAAgBrN,EAC3C,MAAM,OAAE6Q,GAAkC,QAA1BhD,EAAiB,OAAdR,QAAc,IAAdA,OAAc,EAAdA,EAAgBU,eAAO,IAAAF,IAAI,CAAC,EAE3CgD,GACFp6B,OAAOlR,KAAKsrC,EAAQ,UAAUpkC,OAChC,EA+GEP,UAAW2jC,GAGb,CACE/3C,IAAK,IACLwD,MAAO,SACPjF,KAAMN,cAACyX,KAAY,IACnB5W,QAASA,CAAAk6C,EAAkCj0C,KAAiB,IAAlD,eAAEwwC,EAAc,YAAE5U,GAAaqY,EACnCrY,EACFne,IAAM7gB,KAAK,CACT6B,MACE,wHAKNuB,EAAYwwC,EAAe,EAE7BnhC,UAAW6kC,IAAA,IAAC,eAAE1D,GAAgB0D,EAAA,OAC3BxG,IAAmB8C,EAAeiD,YAAY,GAEnD,CACEx4C,IAAK,KACLwD,MAAO,SACPjF,KAAMN,cAACi7C,KAAY,IACnBp6C,QAjFgBq6C,CAAAC,EAAqB5yC,EAAGxB,KAAkB,IAAzC,eAAEuwC,GAAgB6D,EACrCh5C,MAAI0T,IAAI,oBAAqByhC,EAAe1uC,IAAIvG,MAAK+4C,IAAe,IAAd,KAAE15C,GAAM05C,SACrD15C,EAAKmC,OAAO+E,UACZlH,EAAKmC,OAAOF,cACZjC,EAAKmC,OAAOmc,mBACZte,EAAKmC,OAAOm0C,eACZt2C,EAAKmC,OAAO02C,oBACZ74C,EAAKmC,OAAOw3C,UAEnB35C,EAAKmC,OAAOwW,MAAQ,GAEpBtT,EAAarF,EAAKmC,OAAO,GACzB,GAuEF,CACE9B,IAAK,IACLwD,MAAO,0BACPjF,KAAMN,cAACs7C,KAAiB,IACxBz6C,QAlHsB06C,IAAyB,IAADC,EAAA,IAAvB,eAAElE,GAAgBiE,EAC3ChsB,EAASksB,YAAkC,QAAvBD,EAAClE,EAAeU,eAAO,IAAAwD,OAAA,EAAtBA,EAAwB5yC,IAAI,EAkH/CuN,UAvHsBulC,IAAyB,IAADC,EAAA,IAAvB,eAAErE,GAAgBoE,EAC3C,OAAOnjB,KAAgD,cAAb,QAAtBojB,EAAArE,EAAeU,eAAO,IAAA2D,OAAA,EAAtBA,EAAwBh4C,OAAqB,GAwHjE,CACE5B,IAAK,IACLwD,MAAO,4BACPjF,KAAMN,cAACqB,KAAmB,IAC1BR,QArHyB+6C,IAAyB,IAADC,EAAA,IAAvB,eAAEvE,GAAgBsE,EAC5B,OAAdtE,QAAc,IAAdA,GAA4B,QAAduE,EAAdvE,EAAgBiD,oBAAY,IAAAsB,GAA5BA,EAA8BC,eAChCv3B,IAAMyH,QAAQ,CACZzmB,MAAO,yCACPsD,WAAY,SACZC,OAAQ,MACRojB,KAAMA,KAAO,IAAD6vB,EACVxsB,EAASysB,YAA6B,OAAd1E,QAAc,IAAdA,GAA4B,QAAdyE,EAAdzE,EAAgBiD,oBAAY,IAAAwB,OAAd,EAAdA,EAA8BD,eAAe,GAG3E,EA4GE3lC,UAAW8lC,IAAA,IAAC,eAAE3E,GAAgB2E,EAAA,QAAO3E,EAAeiD,YAAY,IAElE1yC,QAAQtE,IAAOm1C,EAAoB71C,SAASU,EAAEgC,SAEhD,OACEpF,eAAAsI,WAAA,CAAAxI,SAAA,CACG04C,GACC34C,cAAC29B,KAAc,CAACC,MAAO+a,EAAWnhC,QAASA,IAAMohC,EAAa,QAEhE54C,cAACq4C,GAAyB,IAC1Br4C,cAACk8C,KAAwB,IACzBl8C,cAAC2G,IAAS,CAACoB,aAAa,KAAWnB,EAAK3G,SACrCk8C,IAAA,IAAAC,EAAA,IAAC,YAAEt1C,EAAW,aAAEC,GAAco1C,EAAA,OAC7Bh8C,eAAAsI,WAAA,CAAAxI,SAAA,CACED,cAAC+I,IAAMszC,OAAM,CACXC,UAAW,CAAC,iBAAkB,gBAC9B/2C,MAAM,gBACN+C,OAASwY,GAAiBy7B,YAAmBz7B,GAC7C5iB,MAAO,MAET8B,cAAC+I,IAAMszC,OAAM,CACXC,UAAW,CAAC,iBAAkB,iBAC9B/2C,MAAM,iBACN+C,OAASgyC,GACPiC,YAAmBjC,EAAe,cAEpCp8C,MAAO,MAET8B,cAAC+I,IAAMszC,OAAM,CACXC,UAAU,UACV/2C,MAAM,aACN+C,OAAQA,CAAC0gC,EAAOwT,KAAA,IAAE,YAAE9/B,GAAa8/B,EAAA,OAC/Br8C,eAAAsI,WAAA,CAAAxI,SAAA,CACED,cAAA,OAAAC,SAAMs8C,YAAmBvT,EAAS,gBAClChpC,cAAA,OAAKI,UAAU,wBAAuBH,SAAEyc,MACvC,EAELxe,MAAO,MAET8B,cAAC+I,IAAMszC,OAAM,CACXC,UAAW,CAAC,iBAAkB,eAC9B/2C,MAAM,kBACN+C,OAAQA,CAACC,EAACk0C,KAA0B,IAADC,EAAAC,EAAAC,EAAAC,EAAA,IAAvB,eAAEvF,GAAgBmF,EAC5B,MAAM,YACJ//B,EAAW,QACXue,EAAO,SACP6hB,EAAQ,SACRC,EAAQ,aACRxC,GACEjD,EAEJ,OACEn3C,eAAA,OAAAF,SAAA,CACED,cAAA,OAAAC,SAAMyc,KACJue,GAAW6hB,GAAYC,GAAYxC,IACnCp6C,eAAA,OAAKC,UAAU,wBAAuBH,SAAA,CACJ,QADIy8C,EACtB,QADsBC,EAC5B,OAAP1hB,QAAO,IAAPA,OAAO,EAAPA,EAASn8B,YAAI,IAAA69C,IAAY,OAARG,QAAQ,IAARA,OAAQ,EAARA,EAAUh+C,YAAI,IAAA49C,IAAY,OAARK,QAAQ,IAARA,OAAQ,EAARA,EAAUj+C,KAC7Cy7C,EACG,CACqB,QADrBqC,EACErC,EAAayC,cAAM,IAAAJ,OAAA,EAAnBA,EAAqB99C,KACG,QADC+9C,EACzBtC,EAAa0C,mBAAW,IAAAJ,OAAA,EAAxBA,EAA0B/9C,MAC1BuE,KAAK,OACP,UAGJ,IAKZrD,cAAC+I,IAAMszC,OAAM,CACXC,UAAW,CAAC,iBAAkB,WAAY,QAC1C/2C,MAAM,YACN+C,OAAQA,CAACC,EAAC20C,KAAmD,IAAjD,eAAE5F,EAAc,gBAAEpP,EAAe,OAAEvkC,GAAQu5C,EACrD,MAAM,SAAEC,EAAQ,WAAEC,GAAe9F,EACjC,OACEn3C,eAAA,QAAAF,SAAA,CACED,cAAA,QAAAC,SAAOk9C,EAASr+C,OAChBkB,cAAA,OAAKI,UAAU,wBAAuBH,SACnC,CACW,OAAVm9C,QAAU,IAAVA,OAAU,EAAVA,EAAYt+C,KACD,SAAX6E,EAAmC,OAAfukC,QAAe,IAAfA,OAAe,EAAfA,EAAiBppC,KAAO,MAE3C+I,QAAQtE,KAAQA,IAChBF,KAAK,WAEL,IAIbrD,cAAC+I,IAAMszC,OAAM,CACXC,UACE,CAAC,qBAAsB,eAAez5C,SAASuwC,GAC3C,CAAC,UAAW,aACZ,SAEN7tC,MAAM,QACN8C,MAAM,QACNC,OAASie,GAAWvmB,cAACszB,IAAa,CAAC/M,OAAQA,MAE7CvmB,cAAC+I,IAAMszC,OAAM,CACXC,UAAW,CAAC,iBAAkB,QAC9B/2C,MAAM,OACNrH,MAAO,IACPoK,OAASnK,GACP6B,cAACiuB,IAAG,CAAChM,MAAO8gB,EAAe5kC,GAAM8B,SAAEiB,IAAQ/C,OAG/C6B,cAAC+I,IAAMszC,OAAM,CACXC,UAAU,UACV/2C,MAAM,iBACNrH,MAAO,IACPoK,OAAQA,CAACC,EAAGC,KAAM,IAAA60C,EAAAC,EAAA,OAChBn9C,eAAA,OAAAF,SAAA,CACG44C,EAAkBrwC,GAClB0wC,EAAmB1wC,GACnB4/B,IACO,OAAN5/B,QAAM,IAANA,GAAsB,QAAhB60C,EAAN70C,EAAQ8uC,sBAAc,IAAA+F,GAAU,QAAVC,EAAtBD,EAAwBF,gBAAQ,IAAAG,OAA1B,EAANA,EAAkCC,sBAChCv9C,cAAC0R,IAAO,CAACnM,MAAM,oGAA6FtF,SAC1GD,cAACw9C,KAAe,CAACp9C,UAAU,sCAGhCq5C,EAAqBjxC,KAClB,KAIO,QAAhB4zC,EAAArI,EAAQnkC,gBAAQ,IAAAwsC,OAAA,EAAhBA,EAAkBjK,gBACjBnyC,cAAC+I,IAAMszC,OAAM,CACX92C,MAAM,OACNrH,MAAO,GACPo+C,UAAW,CAAC,iBAAkB,UAAW,UACzCh0C,OAAQA,CAACC,EAACk1C,KAAA,IAAE,eAAEnG,GAAgBmG,EAAA,OACd,OAAdnG,QAAc,IAAdA,OAAc,EAAdA,EAAgBU,UACdh4C,cAAC45B,IAAW,IAAK0d,EAAeU,SACjC,IAKPh4C,cAAC+I,IAAMszC,OAAM,CACX92C,MAAM,SACNrH,MAAO,GACPo+C,UAAW,CAAC,iBAAkB,eAC9Bh0C,OAAS0X,GACPA,EAAYzZ,OAAS,EACnBvG,cAAC0hC,KAAiB,CAChB7gC,QAASA,IAvVFmf,KACvB44B,EAAa54B,EAAY1c,KAAKC,GAAMA,EAAEm6C,aAAY,EAsVnBC,CAAgB39B,KAE/B,OAIRhgB,cAAC+I,IAAMszC,OAAM,CACXn+C,MAAO,GACPoK,OAAQA,CAACC,EAAGC,IACVA,EAAO8uC,eAAen5C,OAAS/D,IAC7B4F,cAAC49C,IAAQ,CACP3hC,QAAQ,QACR4hC,QACE79C,cAAC89C,IAAI,CAAA79C,SACFg6C,EACEpyC,QAAQtE,IACPA,EAAE4S,WAAY5S,EAAE4S,UAAU3N,KAE3BlF,KAAKC,GACJvD,cAAC89C,IAAKlyC,KAAI,CAER/K,QAASA,IACP0C,EAAE1C,QAAQ2H,EAAQ1B,EAAaC,GAEjCzG,KAAMiD,EAAEjD,KAAKL,SAEZsD,EAAEgC,OANEhC,EAAExB,SAUhB9B,SAEDD,cAAA,KAAGI,UAAU,0FAEb,SAGP,MAGN,E,iDCjcQ29C,OA9FsBA,KACnC,MAAOpzC,GAAQS,IAAKE,UACdikB,EAAWO,yBACX,OAAEhb,GAAWsb,uBAAa7sB,IAAC,IAAAqvC,EAAA,OAAqC,QAArCA,EAAKrvC,EAAEgtB,UAAU,4BAAoB,IAAAqiB,IAAI,CAAC,CAAC,IAEtEgF,EAAcA,KACb9iC,GACHya,EAASyuB,cACX,EAGIpyB,EAAehtB,IAAsC,IAArC,YAAEohB,EAAc,MAAOlV,GAAQlM,EACnD,MAAM8C,EAAO,IACRoJ,EACHkyC,OAAQphB,aAAoB9wB,EAAOkyC,QACnCC,YAAarhB,aAAoB9wB,EAAOmyC,aACxC3C,cAAentC,IAAOrC,EAAOwvC,eAAehsC,OAAO,cACnD0R,YAAaA,EAAY1c,KAAKC,IAAC,CAAQm6C,WAAYn6C,OAGrDgsB,EAAS0uB,YAAev8C,GAAM,EAOhC,OACE1B,cAACskB,IAAM,CACL/e,MAAM,gCACN2P,SAAO,EACPsC,QAASogC,EACTr3C,KAAK,KACLwzB,OACE5zB,eAACuzB,IAAM,CAAAzzB,SAAA,CACLD,cAACY,IAAM,CAACC,QAAS+2C,EAAY33C,SAAC,WAC9BD,cAACY,IAAM,CAACzC,KAAK,UAAU0C,QAbTq9C,KACpBvzC,EAAKkhB,iBAAiBxpB,KAAKupB,EAAa,EAYalsB,QAASoV,EAAO7U,SAAC,cAInEA,SAEDE,eAACiL,IAAI,IACClC,gBAAcC,YAAYC,OAAOuB,KACrCA,KAAMA,EACNI,cAAe,CAAEiV,YAAa,IAAK/f,SAAA,CAEnCE,eAACoQ,IAAG,CAAAtQ,SAAA,CACFD,cAAC8Y,IAAG,CAACpI,KAAM,GAAGzQ,SACZD,cAACuiB,eAAY,CAACzjB,KAAK,SAAS4M,MAAM,SAASlB,UAAQ,EAACmf,WAAS,EAAA1pB,SAC3DD,cAAC8W,KAAY,CAAC/X,SAAS,0BAG3BiB,cAAC8Y,IAAG,CAACpI,KAAM,GAAGzQ,SACZD,cAACuiB,eAAY,CAACzjB,KAAK,cAAc4M,MAAM,UAAUlB,UAAQ,EAAAvK,SACvDD,cAAC8W,KAAY,CAAC/X,SAAS,6BAI7BoB,eAACoQ,IAAG,CAAAtQ,SAAA,CACFD,cAAC8Y,IAAG,CAACpI,KAAM,GAAGzQ,SACZD,cAACuiB,eAAY,CACXzjB,KAAK,gBACL4M,MAAM,wBACNlB,UAAQ,EAAAvK,SAERD,cAAC2Q,KAAU,CACTrC,OAAO,aACPuC,aAAe9E,GAASA,EAAKw+B,QAAQp9B,MAAU,aAKrDnN,cAAC8Y,IAAG,CAACpI,KAAM,GAAGzQ,SACZD,cAACuiB,eAAY,CACXniB,UAAU,sBACVtB,KAAK,SACL4M,MAAM,QACNlB,UAAQ,EAAAvK,SAERD,cAACusB,IAAa,WAKpBvsB,cAACmpB,KAAO,CAACC,YAAY,OAAMnpB,SAAC,WAC5BD,cAACuiB,eAAY,CAACzjB,KAAK,cAAcukB,aAAcA,KAAM,EAAMpjB,SACzDD,cAAC0gC,KAAU,CAACG,YAAU,UAGnB,ECpFb,MAAMsd,GAAgB,CACpB/K,SAAU,eACVqC,YAAatoC,MACVgB,QAAQ,SACRG,OAAO,cACV0B,QAAS7C,MACNiB,MAAM,SACNE,OAAO,eAoJG8vC,UAjJYx/C,IAkBpB,IAlBqB,iBAC1B6zB,EAAgB,mBAChBmiB,EAAqBuJ,GAAa,uBAClCE,GAAyB,EAAK,eAC9B7J,GAAiB,EAAK,gBACtB8J,GAAkB,EAAK,KACvBhoC,EAAO,MAAK,iBACZioC,EAAgB,wBAChB7J,EAA0B,CAAC,EAAC,gCAC5B8J,EAAkC,KAAI,oBACtC9F,EAAsB,GAAE,gBACxB+F,EAAe,6BACfC,EAA+B,YAAW,qBAC1CC,GAAuB,EAAI,YAC3BhK,GAAc,EAAK,qBACnBE,GAAuB,EAAK,iBAC5B+J,GAAmB,KAChBh4C,GACJhI,EACC,MAAOigD,EAAcC,GAAmBr/C,mBAAS,KAC3C,KAAE6P,EAAI,QAAEuyB,GAAYtyB,eACpB,gBAAEe,GAAoBhB,GACtB,aAAEunC,GAAiBzmB,uBACtB7sB,IAAC,IAAAqvC,EAAA,OAAqC,QAArCA,EAAKrvC,EAAEgtB,UAAU,4BAAoB,IAAAqiB,IAAI,CAAC,CAAC,IAGzCmM,EAAsBA,IACrBld,EAAQhlC,KAAgBD,MAOtB61B,EANE,CACLrjB,kBAAkC,OAAfkB,QAAe,IAAfA,OAAe,EAAfA,EAAiB1H,MAChB,OAAhB6pB,QAAgB,IAAhBA,IAAoB,CAAC,GAyBzBzrB,EAAe,CACnBg4C,gBAAiBH,EAAav7C,KAAKC,GAAMA,EAAEqF,KAC3CoI,SApBqBiuC,CAACz2C,EAAQ02C,KAE5BJ,EADEI,EACc,IAAIL,EAAcr2C,GAElBq2C,EAAah3C,QAAQtE,GAAMA,EAAEqF,KAAOJ,EAAOI,KAC7D,EAgBAu2C,YAbwBC,CAACF,EAAU32C,EAAGyzB,KAEpC8iB,EADEI,EACc,IAAIL,KAAiB7iB,GAGnC6iB,EAAah3C,QAAQtE,IAAOy4B,EAAK14B,KAAKghC,GAAMA,EAAE17B,KAAI/F,SAASU,EAAEqF,MAEjE,EAOA21C,oBAGIc,EAAsBA,KACtBZ,GACFA,EAAgBI,EAClB,EAGI9hB,EAASuiB,mBACb,IAAOC,IACL,MAAMtF,EAAUqE,EACdt+C,cAACY,IAAM,CACLR,UAAU,UACVjC,KAAK,UACL0C,QAASw+C,EACThgD,SAAkC,IAAxBw/C,EAAat4C,OACvB7G,QAASk/C,EAAiB3+C,SAEzBy+C,IAED,KAEJ,OACE1+C,cAACu0C,EAAoB,IACfgL,EACJ7K,wBAAyBA,EACzBF,eAAgBA,EAChBmB,oBAAkB,EAClBr/B,KAAMA,EACNm+B,cAAeA,IAAMwF,EACrBtF,YAAaA,EACbliB,iBAAkBssB,IAClBnK,mBAAoBA,EACpBC,qBAAsBA,GACtB,GAGN,CAACyJ,EAAiBO,EAAcD,IAU5BY,EAAgCF,mBACpC,IAAO14C,GAEH5G,cAACy/C,KAAyB,CACxBjB,gCAAiCA,KAC7B53C,KAIV,CAAC43C,IAGH,OACEr+C,eAAC0uB,IAAmB,CAClBtpB,MAAM,+DACNupB,MAAO,CAACzyB,KAAsB4D,SAAA,EAE5Bo+C,GAA0Br+C,cAACg3C,EAA6B,IACzDH,EAAe72C,cAAC+9C,GAA4B,IAAM,KACnD/9C,cAAC0/C,OAAI,CACH3gD,SAAS,oBACT+Q,MAAOA,IACP6vC,gBAAiB5iB,EACjBznB,cAAekqC,EACf/sB,iBAAkBssB,IAClBJ,qBAAsBA,EACtBiB,mBAjC4Bv6C,IACzB,IACFuvC,KACAvvC,IA8B4CpF,SAE7CD,cAACy4C,GAAuB,CACtBjE,eAAgBA,EAChBxtC,aAAes3C,EAA8Bt3C,OAAZR,EACjCkyC,oBAAqBA,QAGL,C,oCCtJX3uB,IApBf,SAAwB5jB,GAAiD,IAA1CotB,IAAYjtB,UAAAC,OAAA,QAAAC,IAAAF,UAAA,KAAAA,UAAA,GAASu5C,EAAUv5C,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACxDw5C,EAAW14B,OAAOjhB,GAClBihB,OAAOC,MAAMy4B,KACfA,EAAW,GAGb,IAAIC,EAAiBD,EAASE,eAAe,QAAS,CACpDx/C,MAAOq/C,EAAa,UAAY,WAChCI,SAAU,QASZ,OANK1sB,IACHwsB,EAAiBA,EAAej9C,QAAQ,KAAM,KAGhDi9C,EAAiBA,EAAeG,OAEzBH,CACT,C,oCClBA,sFAkJeI,IArIGvhD,IAA4C,IAA3C,SAAE4L,GAAW,EAAI,SAAEnL,GAAW,GAAOT,EACtD,MAAOW,EAAOC,GAAYC,mBAAS,CACjC2gD,eAAgB,KAChBC,gBAAgB,KAGZ,KAAE11C,GAAS6gB,+BAWX80B,EAAeC,IACnBA,EAAaA,EAAWz9C,QAAQ,WAAY,IAExCvD,EAAM6gD,iBAAmBG,IAI7B/gD,EAAS,IAAKD,EAAO6gD,eAAgBG,EAAYF,gBAAgB,IAEjEl+C,MAAI2N,MAAM,gBAAiB,CAAEywC,eAAcl+C,MAAKgM,IAAe,IAAd,KAAE3M,GAAM2M,EAlBvCmyC,MAmBhBhhD,EAAS,IAAKD,EAAO8gD,gBAAgB,IAnBrBG,EAqBd9+C,EACIA,EAAKmC,OACL,CACE48C,OAAQ,KACR57B,OAAQ,KACR67B,SAAU,KACVC,sBAAuB,KACvBC,UAAMp6C,GA3BhBmE,EAAKwY,eAAe,CAClB09B,QAAS,IACJL,EACHI,KAAME,YAAsBN,EAAWI,QA0BxC,IACD,EAUJ,OACEzgD,eAAAsI,WAAA,CAAAxI,SAAA,CACEE,eAACoQ,IAAG,CAAAtQ,SAAA,CACFD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,cAClB4M,MAAM,MACNlB,SAAUA,EACVwe,gBAAgB,SAChBrd,MAAO,CAAC,CAAE+d,UAAWq3B,MACrBC,YAAazhD,EAAM8gD,eACnBY,eAAgB1hD,EAAM8gD,eAAiB,kBAAe75C,EAAUvG,SAEhED,cAACkR,IAAW,CACVC,KAAK,YACLtS,SAtBoBqiD,IAC9B,MAAMX,EAAaW,EAAOj7C,OAAOE,MAAMrD,QAAQ,WAAY,IACjC,IAAtBy9C,EAAWh6C,QACb+5C,EAAYC,EACd,EAmBUlhD,SAAUA,QAIhBW,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,UAClB4M,MAAM,aACNlB,SAAUA,EACVwf,YAAU,EAAA/pB,SAEVD,cAACoc,IAAK,CAACC,UAAW,IAAKhd,SAAUA,WAIvCc,eAACoQ,IAAG,CAAAtQ,SAAA,CACFD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,UAClB4M,MAAM,YACNlB,SAAUA,EACVwf,YAAU,EAAA/pB,SAEVD,cAACoc,IAAK,CAACC,UAAW,GAAIhd,SAAUA,QAGpCW,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,yBAClB4M,MAAM,cAAazL,SAEnBD,cAACoc,IAAK,CAACC,UAAW,IAAKhd,SAAUA,WAIvCc,eAACoQ,IAAG,CAAAtQ,SAAA,CACFD,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,YAClB4M,MAAM,SACNlB,SAAUA,EACVwf,YAAU,EAAA/pB,SAEVD,cAACoc,IAAK,CAACC,UAAW,GAAIhd,SAAUA,QAGpCW,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,QAClB4M,MAAM,gBACNlB,SAAUA,EAASvK,SAEnBD,cAAC8W,eAAY,CACX/X,SAAS,SACTM,SAAUA,EACVi9B,aAAe/4B,GACbvD,cAACiS,IAAOK,OAAM,CAAanM,MAAO5C,EAAExB,IAAK2J,MAAOnI,EAAEmI,MAAMzL,SAAA,GAAAmD,OAClDG,EAAE6P,KAAKtU,KAAI,OAAAsE,OAAMG,EAAE6P,KAAK7T,MAAMiE,gBADhBD,EAAExB,gBAQ/B,C,oCC9IP,0MAsCA,MAAMo/C,EAAmCviD,IAAe,IAADwiD,EAAA,IAAb,KAAE1/C,GAAM9C,EAChD,MAAM2wB,EAAWO,yBACVnlB,GAAQS,IAAKE,WACb+1C,EAAcC,GAAmB7hD,oBAAS,IAC3C,KAAEtB,GAASuD,EAMX6/C,EAA8BxY,GAC7BA,EAIE,IAAKA,EAASh9B,KAAMoB,IAAO47B,EAAQh9B,OAHjC,KAMLy1C,EAAkC/W,GACjCA,EAIE,IAAKA,EAAa1+B,KAAMoB,IAAOs9B,EAAY1+B,OAHzC,KAiEX,OACE/L,cAACskB,IAAM,CACLlkB,UAAU,oBACV8U,SAAO,EACP3P,MAAM,WACNiS,QApFiB8jB,KACnB/L,EAASkyB,cAAkB,EAmFHxhD,SAEtBE,eAACiL,IAAI,CACHhC,OAAO,WACPuB,KAAMA,EACNw/B,UAAQ,EACRp/B,cAtEsBsD,KAgBrB,IAhBsB,gBAC3B65B,EAAe,KACf/pC,EAAI,OACJooB,EAAS,EAAC,cACV+zB,EAAa,QACbrf,EAAO,SACP8hB,EAAQ,SACRD,EAAQ,WACRM,EAAU,YACVp9B,EAAc,GAAE,QAChB+oB,EAAO,aACPjoB,EAAY,qBACZC,EAAoB,MACpB1G,EAAQ,GAAE,YACVowB,KACGx/B,GACJoD,EACC,MAAO,IACFpD,EACH9M,OACA2iB,aAAc3T,IAAO2T,GACrBC,qBAAsB5T,IAAO4T,GAC7Bka,QAASA,EAAUhjB,YAAkBgjB,GAAW,KAChD8hB,SAAUA,EAAW9kC,YAAkB8kC,GAAY,KACnDD,SAAUA,EAAW7kC,YAAkB6kC,GAAY,KACnDv2B,OAAQpoB,IAASnE,KAAWusB,EAAS,GAAc,EAAVA,EAAcA,EACvD+zB,cAAeA,EAAgBntC,IAAOmtC,GAAiBntC,MACvD+6B,gBAAiBjwB,YAAkBiwB,GACnCkV,WAAYnlC,YAAkBmlC,GAC9Bp9B,YAAaA,EAAY1c,KAAKC,GAAMA,EAAEm6C,aACtC3U,QAASwY,EAA2BxY,GACpC0B,YAAa+W,EAA+B/W,GAC5CpwB,MAAOA,EAAM/W,KAAKC,IAAC,IAAAm+C,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,MAAM,IACpBx+C,EACHylC,QAAS77B,IAAO5J,EAAEylC,SAClBd,gBAAiBjwB,YAAkB1U,EAAE2kC,iBACrCuC,YAAa+W,EAA+Bj+C,EAAEknC,aAC9C1B,QAAS,IACJxlC,EAAEwlC,QACLh9B,KAAe,QAAT21C,EAAAn+C,EAAEwlC,eAAO,IAAA2Y,GAATA,EAAW31C,KAAOoB,IAAgB,QAAVw0C,EAACp+C,EAAEwlC,eAAO,IAAA4Y,OAAA,EAATA,EAAW51C,MAAQ,KAClD+U,aAAuB,QAAT8gC,EAAAr+C,EAAEwlC,eAAO,IAAA6Y,GAATA,EAAW9gC,aACrB3T,IAAgB,QAAV00C,EAACt+C,EAAEwlC,eAAO,IAAA8Y,OAAA,EAATA,EAAW/gC,cAClB,KACJkhC,mBAA6B,QAATF,EAAAv+C,EAAEwlC,eAAO,IAAA+Y,GAATA,EAAWE,mBAC3B70C,IAAgB,QAAV40C,EAACx+C,EAAEwlC,eAAO,IAAAgZ,OAAA,EAATA,EAAWC,oBAClB,MAEP,IACF,EAsBkBlS,CAAoBpuC,GAAMzB,SAAA,CAExCohD,GACCrhD,cAAC+nC,IAA6B,CAC5Bp9B,KAAMA,EACNxM,KAAMA,EACN2hB,MAAOuhC,EACP7pC,QAtBeyqC,KACvBX,EAAgB,KAAK,EAsBbjiD,UAAQ,EACR2oC,WAAS,IAGZtmC,EAAKu5B,SACJj7B,cAACuQ,IAAG,CAAAtQ,SACFD,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CAACzjB,KAAK,UAAU4M,MAAM,WAAUzL,SAC3CD,cAAC8W,IAAY,CAAC/X,SAAS,WAAWM,UAAQ,UAKjDqC,EAAKq7C,UACJ/8C,cAACuQ,IAAG,CAAAtQ,SACFD,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CAACzjB,KAAK,WAAW4M,MAAM,UAASzL,SAC3CD,cAAC8W,IAAY,CAAC/X,SAAS,YAAYM,UAAQ,UAKlDqC,EAAKo7C,UACJ98C,cAACuQ,IAAG,CAAAtQ,SACFD,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CAACzjB,KAAK,WAAW4M,MAAM,aAAYzL,SAC9CD,cAAC8W,IAAY,CAAC/X,SAAS,YAAYM,UAAQ,UAKnDW,cAACuQ,IAAG,CAAAtQ,SACFD,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CAACzjB,KAAK,cAAc4M,MAAM,kBAAWzL,SAChDD,cAACoc,IAAM2f,SAAQ,CAAC1f,UAAW,IAAKhd,UAAQ,UAK9Cc,eAACoQ,IAAG,CAACnQ,UAAU,kBAAiBH,SAAA,CAC9BD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CAACzjB,KAAK,gBAAgB4M,MAAM,iBAAclB,UAAQ,EAAAvK,SAC7DD,cAAC2Q,IAAU,CAACrC,OAAO,aAAajP,UAAQ,QAG5CW,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXniB,UAAU,sBACVtB,KAAK,SACL4M,MAAM,cAAazL,SAEnBD,cAACusB,IAAa,CAACltB,UAAQ,QAI3BW,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CAACzjB,KAAK,oBAAoB4M,MAAM,oBAAgBzL,SAC3DD,cAAC4pB,IAAW,CAACvqB,UAAQ,WAI3BW,cAACmpB,IAAO,CAACC,YAAY,OAAMnpB,SAAC,aAC5BD,cAACyiB,IAAY,CAAC9X,KAAMA,EAAM7L,KAAK,QAAQikB,eAAa,EAAA9iB,SACjDgX,IAAA,IAAC,MAAE6I,EAAK,MAAE3Z,GAAO8Q,EAAA,OAChBjX,cAAAyI,WAAA,CAAAxI,SACEE,eAACoQ,IAAG,CAAAtQ,SAAA,CACFD,cAAC8Y,IAAG,CAACpI,KAAM,EAAEzQ,SACXD,cAACqiB,IAAgB,CAACvjB,KAAK,oBAAoB4M,MAAM,UAASzL,SACxDD,cAAC6nC,IAA+B,CAACl9B,KAAMA,QAG3C3K,cAAC8Y,IAAG,CAACpI,KAAM,EAAEzQ,SACXD,cAACqiB,IAAgB,CAACvjB,KAAK,UAAU4M,MAAM,aAAalB,UAAQ,EAAAvK,SAC1DD,cAAC2Q,IAAU,CAACrC,OAAO,aAAajP,UAAQ,QAG5CW,cAAC8Y,IAAG,CAACpI,KAAM,EAAEzQ,SACXD,cAACqiB,IAAgB,CACfjiB,UAAU,sBACVtB,KAAK,SACL4M,MAAM,QACNlB,UAAQ,EAAAvK,SAERD,cAACusB,IAAa,CAACltB,UAAQ,QAG3BW,cAAC8Y,IAAG,CAACpI,KAAM,EAAEzQ,SACXD,cAACqiB,IAAgB,CACfvjB,KAAK,SACL4M,MAAOvN,IAASpE,KAAU,WAAa,OACvCmwB,cAAc,UAASjqB,SAEvBD,cAACo4C,IAAM,CAAC/4C,UAAQ,QAGnB8G,EAAM+7C,QACLliD,cAAC8Y,IAAG,CAACpI,KAAM,EAAEzQ,SACXD,cAACqiB,IAAgB,CAACvjB,KAAK,SAAS4M,MAAM,IAAGzL,SACvCD,cAACk6C,IAAW,CACV95C,UAAU,0BACVS,QAASA,IA/HJif,KACzBwhC,EAAgBxhC,EAAM,EA8HaqiC,CAAkBriC,aAM1C,IAGP9f,cAACuQ,IAAG,CAAAtQ,SACFD,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CAACzjB,KAAK,WAAW4M,MAAM,YAAWzL,SAC7CD,cAACw0B,IAAgB,CACfz1B,SAAS,aACTO,YAAY,YACZD,UAAQ,EACR61B,YAAard,IAAA,IAAC,cAAEq8B,GAAer8B,EAAA,OAAKq8B,CAAa,EACjDtmB,SAAUrW,IAAA,IAAC,KAAEzY,GAAMyY,EAAA,OAAKzY,CAAI,EAC5Bk2B,cAAeiV,IAAA,IAAC,GAAErhC,EAAE,KAAE9J,EAAI,KAAEX,GAAM8rC,EAAA,MAAM,CACtCrhC,KACA9J,OACAX,OACD,UAMT6B,cAACuQ,IAAG,CAAAtQ,SACFD,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CACXzjB,KAAK,aACL4M,MAAM,kBACNyoC,QAASzyC,EAAK07C,WAAWn9C,SAEzBD,cAAC8W,IAAY,CAAC/X,SAAS,eAAeM,UAAQ,WAKnC,QAAhB+hD,EAAA1/C,EAAKse,mBAAW,IAAAohC,OAAA,EAAhBA,EAAkB76C,QAAS,EAC1BpG,eAAAsI,WAAA,CAAAxI,SAAA,CACED,cAACmpB,IAAO,CAACC,YAAY,OAAMnpB,SAAC,WAC5BD,cAACuiB,eAAY,CAACzjB,KAAK,cAAamB,SAC9BD,cAAC0gC,KAAU,CAACrhC,UAAQ,SAGtB,KAEJW,cAACmpB,IAAO,CAACC,YAAY,OAAMnpB,SAAC,cAC5BE,eAACoQ,IAAG,CAAAtQ,SAAA,CACFD,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CAACzjB,KAAK,eAAe4M,MAAM,wBAAoBzL,SAC1DD,cAAC2Q,IAAU,CAACrC,OAAO,mBAAmBjP,UAAQ,QAIlDW,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CACXzjB,KAAK,uBACL4M,MAAM,oCACNyoC,QAASzyC,EAAK0gD,iBAAiBniD,SAE/BD,cAAC2Q,IAAU,CAACrC,OAAO,mBAAmBjP,UAAQ,WAIpDc,eAACoQ,IAAG,CAAAtQ,SAAA,CACFD,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CAACzjB,KAAK,cAAc4M,MAAM,8BAAuBzL,SAC5DD,cAACuiC,IAAkB,QAIvBviC,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CACXzjB,KAAK,mBACL4M,MAAM,0CACNyoC,QAASzyC,EAAK0gD,iBAAiBniD,SAE/BD,cAACuiC,IAAkB,WAKxB7gC,EAAK+oC,aACJtqC,eAAAsI,WAAA,CAAAxI,SAAA,CACED,cAACmpB,IAAO,CAACC,YAAY,OAAMnpB,SAAC,0BAC5BE,eAACoQ,IAAG,CAAAtQ,SAAA,CACFD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,cAAe,QACtB4M,MAAM,+BAAwBzL,SAE9BD,cAAC2Q,IAAU,CAACrC,OAAO,mBAAmBjP,UAAQ,QAIlDW,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CAACzjB,KAAM,CAAC,cAAe,QAAS4M,MAAM,aAASzL,SAC1DD,cAACuiC,IAAkB,QAGvBviC,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,cAAe,cACtB4M,MAAM,+CAAqCzL,SAE3CD,cAAC4c,KAAa,CAACvd,UAAQ,kBAO5B,EAqBE68C,IAjBkBA,KAC/B,MAAM,WAAEmG,GAAejyB,uBACpB7sB,IAAC,IAAAqvC,EAAA,OAAqC,QAArCA,EAAKrvC,EAAEgtB,UAAU,4BAAoB,IAAAqiB,IAAI,CAAC,CAAC,IAG/C,OAAKyP,EAKHriD,cAACmhD,EAAgC,CAC/Bz/C,KAAM2gD,EACN9xB,UAAU,sBANL,IAOL,C,oCCtXN,6FAyGe+xB,IAlGO17C,IACpB,MAAO27C,EAAeC,GAAoB/iD,oBAAS,GAqBnD,OACEO,cAACyiD,aAAU,IACL77C,EACJrG,KAAK,KACL6kB,SAnBiBxmB,IAA2B,IAA1B,QAAEiiD,KAAY51C,GAAMrM,EACxC,MAAO,IACFqM,EACHs3C,gBACD,EAgBCv3C,gBAbwBqD,IAAkB,IAADq0C,EAAA,OAAXz3C,GAAMoD,EAGtC,OAFAm0C,EAAmC,QAAnBE,EAACz3C,EAAKs3C,qBAAa,IAAAG,MAE5B,IACFz3C,EACJ,EAQsChL,SAErCE,eAACiL,IAAI,CAAChC,OAAO,WAAUnJ,SAAA,CACrBD,cAACuQ,IAAG,CAACsI,QAAQ,SAAQ5Y,SACnBD,cAAC8Y,IAAG,CAAA7Y,SACFE,eAACwiD,IAAMC,MAAK,CAACz8C,MAAOo8C,EAAe1jD,SA7B7BgkD,KACdL,GAAkBD,EAAc,EA4B6BtiD,SAAA,CACnDD,cAAC2iD,IAAM/hD,OAAM,CAACuF,OAAO,EAAMlG,SAAC,qBAC5BD,cAAC2iD,IAAM/hD,OAAM,CAACuF,OAAK,EAAAlG,SAAC,8BAK1BE,eAACoQ,IAAG,CAAAtQ,SAAA,CACFD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAK,mBACL4M,MAAO62C,EAAgB,OAAS,MAChC/3C,UAAQ,EACRwf,YAAU,EACVL,WAAS,EACTX,gBAAgB,GAChBrd,MAAO,CAAC,CAAE+d,UAAWo5B,MAA6B7iD,SAElDD,cAACkR,IAAW,CACVC,KAAMoxC,EAAgB,qBAAuB,uBAKnDviD,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CACXzjB,KAAK,OACL4M,MAAO62C,EAAgB,kBAAiB,OACxC/3C,UAAQ,EACRwf,YAAU,EACVhB,gBAAgB,SAAQ/oB,SAExBD,cAACoc,IAAK,CAACC,UAAW,YAKxBlc,eAACoQ,IAAG,CAAAtQ,SAAA,CACFD,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CAAC7W,MAAM,SAAS5M,KAAK,QAAQX,KAAK,QAAO8B,SACpDD,cAACoc,IAAK,CAACC,UAAW,SAItBrc,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CAAC7W,MAAM,WAAW5M,KAAK,cAAamB,SAC/CD,cAACkR,IAAW,CACVC,KAAK,iBACL7R,YAAY,wBAKlBU,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CAAC7W,MAAM,UAAU5M,KAAK,eAAcmB,SAC/CD,cAACkR,IAAW,CACVC,KAAK,kBACL7R,YAAY,gCAMX,C,gVCpBFyjD,MAlEmB10C,IAQ3B,IAR4B,SACjC4G,EAAQ,eACR8V,EAAc,YACdF,EAAW,aACXC,EAAY,UACZF,EAAS,OACT9V,EAAM,OACNtM,GACD6F,EACC,MAAMkhB,EAAWO,yBAEX,SAAEkzB,GAAa5yB,uBAClB7sB,IAAC,IAAAqvC,EAAA,OAAqC,QAArCA,EAAKrvC,EAAEgtB,UAAU,4BAAoB,IAAAqiB,IAAI,CAAC,CAAC,IAc/C,OACE5yC,cAACuQ,IAAG,CAACnQ,UAAU,uBAAuByY,QAAQ,MAAK5Y,SACjDD,cAAC8Y,IAAG,CAAA7Y,SACDgV,EACCjV,cAACY,IAAM,CAACC,QAASgqB,EAAarqB,MAAO,CAAE0qB,YAAa,GAAIjrB,SACrD8qB,IAGH5qB,eAAAsI,WAAA,CAAAxI,SAAA,EACS,OAANuI,QAAM,IAANA,OAAM,EAANA,EAAQI,KACP5I,cAACY,IAAM,CACLR,UAAU,gBACVS,QAvBOoiD,KACnB1+B,IAAMyH,QAAQ,CACZzmB,MAAO,mBACPuD,OAAQ,UACR5K,MAAO,IACPguB,KAAMA,KACJqD,EAASpU,YAAO3S,EAAOI,IAAI,GAE7B,EAgBUlJ,QAASsjD,EAAS/iD,SACnB,YAIHD,cAACY,IAAM,CACLC,QAASgqB,EACTrqB,MAAO,CAAE0qB,YAAa,GACtB7rB,SAAU2jD,EAAS/iD,SAElB8qB,IAEH/qB,cAACY,IAAM,CACLC,QAAS+pB,EACTzsB,KAAK,UACLuB,QAASoV,EACTzV,SAAU2jD,EAAS/iD,SAElB6qB,UAKL,E,SCtBV,MAAMo4B,EAAmB,CACvB14C,UAAU,EACVhI,QAAS,kCACTrE,KAAM,SACN2P,IAAK,KAsuBQq1C,MAnuBav8C,IAAW,IAADw8C,EACpC,MAAM,KAAE9zC,EAAI,aAAE84B,GAAiB74B,eACzB,KACJ7N,EAAI,wBACJkW,EAAuB,gCACvB4mC,EAAkC,MAChC53C,GACE,SAAEgJ,GAAaN,GACd+zC,EAAgBC,GAAqB7jD,oBAAS,IAC9C8jD,EAAsBC,GAA2B/jD,mBAAS,IAC1D4hD,EAAcC,GAAmB7hD,oBAAS,IAC1CgkD,EAAiBC,GAAsBjkD,mBAAS,OAChDkkD,EAAkBC,GAAuBnkD,oBAAS,IACnD,yBAAEokD,GAA6B/9B,eAC9Bg+B,EAAQC,GAAatkD,mBAC1BokD,EAA2B,eAAiB,gBAExC,kBAAEhQ,IAAsBC,eACxB,KAAEnpC,IAAS6gB,+BAEX+D,GAAWO,wBACXk0B,KAAkB,OAAJtiD,QAAI,IAAJA,MAAMkH,IA+EpBgjB,GAAgB9gB,IACV,OAANA,QAAM,IAANA,KAAQlC,GACV2mB,GAASpb,YAAOrJ,EAAQ8M,IAItBlW,EAAKuiD,QACP10B,GAAS20B,YAAcxiD,EAAKuiD,QAASn5C,EAAQ8M,IAI/C2X,GAAS/pB,YAAOsF,EAAQ8M,GAAyB,EA6C7C3C,GAAqC,gBAAtB,OAAJvT,QAAI,IAAJA,GAAa,QAAT0hD,EAAJ1hD,EAAMs2C,eAAO,IAAAoL,OAAT,EAAJA,EAAez/C,QAC1BxF,GAAW,OAAJuD,QAAI,IAAJA,OAAI,EAAJA,EAAMvD,KAEbgmD,GAAkBA,CAACC,EAAGC,IACnBD,EAAEE,kBAAoBD,EAAEC,mBAAqB,EAAI,EAiCpDC,GAAqBA,KACzB,MAAM,MAAElqC,EAAQ,GAAE,kBAAEytB,EAAoB,GAAMn9B,GAAK65C,iBAE/C1c,EAAoB,GACtB8b,GAAoB,GAGtBN,EAAkBjpC,EAAMlS,MAAM5E,GAAMA,EAAE2+C,SAAU,KAChDsB,EAAwB1b,EAAkB,EAGtC1b,GAAqBA,CAACC,EAAevhB,KACzC,MAAM,OAAEyb,EAAM,MAAElM,EAAQ,GAAE,cAAEigC,EAAa,kBAAExS,EAAoB,GAAMh9B,EAIrE,GAFAy5C,MA5CwBz5C,IACjB,CAAC,oBAAqB,SAAU,gBAAiB,SAAS3C,MAC9D0oC,QAAsCrqC,IAA7Bgd,IAAO3N,IAAI/K,EAAQ+lC,KA4C1B4T,CAAiBp4B,GACpB,OAGF,MAAMq4B,QACqCl+C,IAAxCgd,IAAO3N,IAAIwW,EAAe,gBACsB7lB,IAA/Cgd,IAAO3N,IAAIwW,EAAe,uBACyB7lB,IAAnDgd,IAAO3N,IAAIwW,EAAe,uBAC5BhS,EAAMsqC,OAAOphD,IAAOA,EAAE2+C,SAExB,IAAI0C,EAAWvqC,EAAMwqC,KAAKV,IAEtB9pC,EAAM9T,OAASuhC,IACjB8c,EAAWA,EAASE,MAAM,EAAGhd,IAG/B,MAAMpgB,EAxD8Bq9B,EAAC5+C,EAAO0e,KAC5C,MAAMmgC,EAAa73B,WAAWhnB,GACxB8+C,EAAkB39B,SAASzC,EAAQ,IAEzC,GAAImgC,GAAc,GAAKC,GAAmB,EACxC,MAAO,GAGT,MAAMC,EAAsBF,EAAaC,EACzC,IAAIE,EAAiBH,EAErB,MAAMt9B,EAAe,GAErB,IAAK,IAAIqN,EAAI,EAAGA,EAAIkwB,EAAkB,EAAGlwB,GAAK,EAAG,CAC/C,MAAMqwB,EAAcj4B,WAAW+3B,EAAoBG,QAAQ,IAC3D39B,EAAatf,KAAKg9C,GAClBD,GAAkBC,CACpB,CAIA,OAFA19B,EAAatf,KAAK+kB,WAAWg4B,EAAeE,QAAQ,KAE7C39B,CAAY,EAmCEq9B,CACnBx+B,EACAuhB,GAGF,IAAK,IAAIjjB,EAAS,EAAGA,GAAUijB,EAAmBjjB,GAAU,EAAG,CAC7D,MAAMugC,EAAcR,EAAS/gC,MAAMtgB,GAAMA,EAAE+gD,oBAAsBz/B,IAC3DygC,EAAoB59B,EAAa7C,EAAS,GAC1C0gC,EAAWp4C,IAAOmtC,GACrBpsC,QACA+B,IAAI4U,EAAS,EAAG,SAEnB,GAAKugC,EAgBE,CACL,MAAM,QAAErc,GAAYqc,EAEhBV,IACFU,EAAY7+B,OAAS++B,EACrBF,EAAYpc,QAAUuc,EACtBH,EAAY5b,eAAiB,EAC7B4b,EAAY1b,SAAW,EACvB0b,EAAY3b,WAAa,GAG3B2b,EAAYrc,QAAQQ,UAClB6b,EAAY7+B,OACZwiB,EAAQS,eACRT,EAAQU,WACRV,EAAQW,QACZ,MA/BEkb,EAASx8C,KAAK,CACZk8C,kBAAmBz/B,EACnBmkB,QAASuc,EACTh/B,OAAQ++B,EACRpd,gBAAiBjwB,4BACgB,OAA/BumC,QAA+B,IAA/BA,IAAmC5uC,EAASs4B,iBAE9Cga,QAAQ,EACRnZ,QAAS,CACPS,eAAgB,EAChBE,SAAU,EACVD,WAAY,EACZF,UAAW+b,IAoBnB,CAEA36C,GAAKwY,eAAe,CAAE9I,MAAOuqC,GAAW,EA8EpCY,GAAmBA,CAACzwC,EAAS+K,KACjC,MAAM,MAAEzF,EAAQ,IAAO1P,GAAK65C,iBAExBzvC,GAAWsF,EAAMlS,MAAK,CAAC5E,EAAGuG,KAAWvG,EAAE2+C,QAAUp4C,EAAQgW,EAAMhhB,OACjEylB,IAAMyH,QAAQ,CACZ9tB,MAAO,QACP4K,OAAQ,YACRD,WAAY,SACZ2b,SAAUA,KAjBIihC,EAACjjC,EAAUkjC,KAC7B,MAAMv/C,EAAQqd,IAAOmiC,MACnBh7C,GAAKuY,cAAc,CAAC,QAASV,IAC7BkjC,GAGF/6C,GAAKw+B,UAAU,CAAC,CAAErqC,KAAM,CAAC,QAAS0jB,GAAWrc,UAAS,EAYhDs/C,CAAY3lC,EAAMhhB,KAAM,CAAEojD,QAAQ,GAAQ,EAE5Ch2B,KAAMA,KACJo1B,EAAgBxhC,EAAM,EAExBva,MAAO,0DAKX+7C,EAAgBvsC,EAAU+K,EAAQ,KAAK,EA8CzC,OACE9f,cAACyiD,aAAU,IACL77C,EACJrG,KAAK,KACLgF,MAlRaqoB,MACf,OAAY,OAAJlsB,QAAI,IAAJA,OAAI,EAAJA,EAAMvD,MACZ,KAAKpE,KACH,OAAW,OAAJ2H,QAAI,IAAJA,KAAMkH,GAAK,iBAAmB,eACvC,KAAK5O,IACH,OAAW,OAAJ0H,QAAI,IAAJA,KAAMkH,GAAK,iBAAmB,eACvC,QACE,MAAO,GACX,EA0QSglB,GACP5iB,gBAjJwBiM,IAcrB,IAdsB,KAC3B9Y,EAAI,OACJwF,EAAM,OACN4iB,EAAS,EAAC,kBACVuhB,EAAoB,EAAC,cACrBwS,EAAa,QACbrf,EAAO,SACP6hB,EAAQ,SACRC,EAAQ,WACRK,EAAU,YACVp9B,EAAc,GAAE,MAChB3F,EAAQ,GAAE,SACV8iC,KACGlyC,GACJgM,EACgB,MAAXgkB,GACF8oB,EAAU,eAGI,MAAZhH,GACFgH,EAAU,gBAGZ,MAAMj5C,EAAS,IACVG,EACH9M,OACAwF,SACAs3B,QAASA,EAAUhjB,4BAAkBgjB,GAAW,KAChD8hB,SAAUA,EAAW9kC,4BAAkB8kC,GAAY,KACnDD,SAAUA,EAAW7kC,4BAAkB6kC,GAAY,KACnDv2B,SACAuhB,oBACAwS,cAAeA,EAAgBntC,IAAOmtC,GAAiBntC,MACvDiwC,WAAYnlC,4BAAkBmlC,GAC9Bp9B,YAAaA,EAAY1c,KAAKC,GAAMA,EAAEm6C,aACtCP,WACA9iC,MAAOA,EAAM/W,KAAKC,IAAC,IAAAo+C,EAAAC,EAAAC,EAAAC,EAAAC,EAAA6D,EAAA,MAAM,IACpBriD,EACHylC,QAAS77B,IAAO5J,EAAEylC,SAClBd,gBAAiBjwB,4BAAkB1U,EAAE2kC,iBACrCa,QAAS,IACJxlC,EAAEwlC,QACLh9B,KAAe,QAAT41C,EAAAp+C,EAAEwlC,eAAO,IAAA4Y,GAATA,EAAW51C,KAAOoB,IAAgB,QAAVy0C,EAACr+C,EAAEwlC,eAAO,IAAA6Y,OAAA,EAATA,EAAW71C,MAAQ,KAClD+U,aAAuB,QAAT+gC,EAAAt+C,EAAEwlC,eAAO,IAAA8Y,GAATA,EAAW/gC,aACrB3T,IAAgB,QAAV20C,EAACv+C,EAAEwlC,eAAO,IAAA+Y,OAAA,EAATA,EAAWhhC,cAClB,KACJkhC,mBAA6B,QAATD,EAAAx+C,EAAEwlC,eAAO,IAAAgZ,GAATA,EAAWC,mBAC3B70C,IAAgB,QAAVy4C,EAACriD,EAAEwlC,eAAO,IAAA6c,OAAA,EAATA,EAAW5D,oBAClB,MAEP,KAaH,OAVK/2C,EAAKrC,IACRwjB,GAAmB,CAAE0b,qBAAqBh9B,GAGxCqyC,GACFuG,EAAmBvG,GAGrBmG,EAAkBjpC,EAAMlS,MAAM5E,GAAMA,EAAE2+C,SAAU,KAEzCp3C,CAAM,EAmFX2f,OAnTqBo7B,KACvBl7C,GAAKkhB,iBAAiBxpB,MAAMyI,IAC1B,MAAM46C,EA7FiB9mD,KAYpB,IAZqB,cAC1B07C,EAAa,KACbn8C,EAAI,OACJwF,EAAS,kBAAiB,QAC1Bs3B,EAAO,SACP8hB,EAAQ,SACRD,EAAQ,WACRM,EAAU,YACVp9B,EAAc,GAAE,MAChB3F,EAAQ,GAAE,UACVghC,KACGpwC,GACJrM,EAaC,OAZKolD,IAAcL,IACjBtI,EAAY,MAGC,gBAAXyI,IACF/G,EAAW,MAGE,iBAAX+G,IACF7oB,EAAU,MAGL,CACLA,QAASA,EACL,CACEryB,GAAIqyB,EAAQl5B,IACZjD,KAAMgnD,yBAAe7qB,EAAQvvB,OACzBuvB,EAAQvvB,MAAM9E,MAAM8E,MACpBuvB,EAAQvvB,OAEd,KACJqxC,SAAUA,EACN,CACEn0C,GAAIm0C,EAASh7C,IACbjD,KAAMgnD,yBAAe/I,EAASrxC,OAC1BqxC,EAASrxC,MAAM9E,MAAM8E,MACrBqxC,EAASrxC,OAEf,KACJoxC,SAAUA,EACN,CACEl0C,GAAIk0C,EAAS/6C,IACbjD,KAAMgnD,yBAAehJ,EAASpxC,OAC1BoxC,EAASpxC,MAAM9E,MAAM8E,MACrBoxC,EAASpxC,OAEf,KACJvN,OACAwF,SACA22C,cAAentC,IAAOmtC,GAAehsC,OAAO,cAC5C8uC,WAAYxhB,8BAAoBwhB,GAChCp9B,YAAaA,EAAY1c,KAAKC,IAAC,CAAQm6C,WAAYn6C,MACnD83C,YACAhhC,MAAOA,EAAM/W,KAAKC,IAAC,IAAAm+C,EAAA,MAAM,IACpBn+C,EACHylC,QAAS77B,IAAO5J,EAAEylC,SAAS16B,OAAO,cAClC45B,gBAAiBtM,8BAAoBr4B,EAAE2kC,iBACvCa,QAAS,IACJxlC,EAAEwlC,QACLh9B,KAAMxI,EAAEwlC,QAAQh9B,KACZoB,IAAO5J,EAAEwlC,QAAQh9B,MAAMuC,OAAO,cAC9B,KACJ0zC,mBAAoBz+C,EAAEwlC,QAAQiZ,mBAC1B70C,IAAO5J,EAAEwlC,QAAQiZ,oBAAoB1zC,OAAO,cAC5C,KACJwS,aAAcvd,EAAEwlC,QAAQjoB,aACpB3T,IAAgB,QAAVu0C,EAACn+C,EAAEwlC,eAAO,IAAA2Y,OAAA,EAATA,EAAW5gC,cAAcxS,OAAO,oBACvC,MAEP,OACErD,EACJ,EAmBmB86C,CAAmB,IAAKrkD,KAASoJ,IAE9C+oC,GAKL1xC,MACGC,KAAK,2CAA4CsjD,GACjDrjD,MAAKgM,IAAe,IAAd,KAAE3M,GAAM2M,EACL,OAAJ3M,QAAI,IAAJA,KAAMmC,OACR0gB,IAAMyH,QAAQ,CACZ9tB,MAAO,QACP4K,OAAQ,YACRD,WAAY,SACZqjB,KAAMA,KACJN,GAAa85B,EAAU,EAEzBngD,MACE,0EAKNqmB,GAAa85B,EAAU,IArBzB95B,GAAa85B,EAsBX,GACJ,EAwRAzwC,SAAUA,GACVgU,eAAgBmD,GAChBpB,iBAAmBg7B,GACjBhmD,cAAC+iD,EAAyB,IAAKiD,EAAcx9C,OAAQ9G,IACrDzB,SAEFE,eAACiL,IAAI,CAAChC,OAAO,WAAUnJ,SAAA,CACpBohD,GACCrhD,cAAC+nC,IAA6B,CAC5Bp9B,KAAMA,GACNxM,KAAMA,GACN2hB,MAAOuhC,EACP7pC,QA9DgByuC,KACxB1B,KACAiB,IAAiB,EAAM,IA+DnBxlD,cAACuQ,IAAG,CAACnQ,UAAU,kBAAiBH,SAC9BD,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CACXzjB,KAAK,cACL4M,MAAM,kBACNse,YAAU,EACVL,WAAS,EAAA1pB,SAETD,cAACoc,IAAM2f,SAAQ,CAAC1f,UAAW,IAAKhd,SAAU4V,WAKhDjV,cAACuQ,IAAG,CAACnQ,UAAU,kBAAiBH,SAC9BD,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACA,YAAdyB,EAAKvD,KACJ6B,cAAAyI,WAAA,CAAAxI,SACEE,eAAC+lD,IAAI,CAACC,UAAWrC,EAAQjlD,SArEdunD,IACvB,MAAM,QAAEnrB,EAAO,SAAE8hB,GAAapyC,GAAK65C,iBAEvB,iBAAR4B,GAA0BnrB,EAC5B1W,IAAMyH,QAAQ,CACZzmB,MAAO,6BACP2mB,KAAMA,KACJvhB,GAAKwY,eAAe,CAAE8X,QAAS,OAC/B8oB,EAAUqC,EAAI,IAOR,gBAARA,GAAyBrJ,EAC3Bx4B,IAAMyH,QAAQ,CACZzmB,MAAO,4BACP2mB,KAAMA,KACJvhB,GAAKwY,eAAe,CAAE45B,SAAU,OAChCgH,EAAUqC,EAAI,IAOpBrC,EAAUqC,EAAI,EA0CiDnmD,SAAA,EAC/C4jD,GACA7jD,cAACkmD,IAAKG,QAAO,CAEXD,IAAI,WACJtC,OAAO,cAAa7jD,SAEpBD,cAACuiB,eAAY,CAACzjB,KAAK,UAAU4M,MAAM,WAAUzL,SAC3CD,cAAC8W,IAAY,CACX/X,SAAS,WACTM,SAAU4V,IAAYvT,EAAKuiD,QAC3B3nB,aAAe/4B,GACbvD,cAACiS,IAAOK,OAAM,CAEZnM,MAAO5C,EAAExB,IACT2J,MAAOnI,EAAEmI,MAAMzL,SAEfE,eAAA,OAAKuL,MAAOnI,EAAEmI,MAAMzL,SAAA,CAClBD,cAAA,OAAAC,SAAMsD,EAAE6P,KAAKtU,OACZyE,EAAE6P,KAAKkzC,iBACNtmD,cAAA,OAAKI,UAAU,WAAUH,SACtBsmD,YACChjD,EAAE6P,KAAKkzC,oBAGT,SAZD/iD,EAAExB,UAVX,eA8BR/B,cAACkmD,IAAKG,QAAO,CAEXD,IAAI,UACJtC,OAAO,eAAc7jD,SAErBD,cAACuiB,eAAY,CAACzjB,KAAK,WAAW4M,MAAM,UAASzL,SAC3CD,cAACqV,IAAgB,CACftW,SAAS,YACTyW,aAAa,OACbb,cAAc,UACdW,cAAekxC,IACfnnD,SAAU4V,IAAYvT,EAAKuiD,QAC3B3nB,aAAe/4B,GACbvD,cAACiS,IAAOK,OAAM,CAEZnM,MAAO5C,EAAExB,IACT2J,MAAOnI,EAAEmI,MAAMzL,SAEfE,eAAA,OAAKuL,MAAOnI,EAAEmI,MAAMzL,SAAA,CAClBD,cAAA,OAAAC,SAAMsD,EAAE6P,KAAKtU,OACZyE,EAAE6P,KAAKkzC,iBACNtmD,cAAA,OAAKI,UAAU,WAAUH,SACtBsmD,YACChjD,EAAE6P,KAAKkzC,oBAGT,SAZD/iD,EAAExB,UAbX,qBAmCV/B,cAACuiB,eAAY,CAACzjB,KAAK,WAAW4M,MAAM,aAAYzL,SAC9CD,cAACqV,IAAgB,CACftW,SAAS,YACTyW,aAAa,OACbb,cAAc,aACdW,cAAegtC,IACfjjD,SAAU4V,GACVqnB,aAAe/4B,GACbvD,cAACiS,IAAOK,OAAM,CAAanM,MAAO5C,EAAExB,IAAK2J,MAAOnI,EAAEmI,MAAMzL,SACtDE,eAAA,OAAKuL,MAAOnI,EAAEmI,MAAMzL,SAAA,CAClBD,cAAA,OAAAC,SAAMsD,EAAE6P,KAAKtU,OACZyE,EAAE6P,KAAKkzC,iBACNtmD,cAAA,OAAKI,UAAU,WAAUH,SACtBsmD,YAAuBhjD,EAAE6P,KAAKkzC,oBAE/B,SAPY/iD,EAAExB,aAiBlC5B,eAACoQ,IAAG,CAACnQ,UAAU,kBAAiBH,SAAA,CAC9BD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CAACzjB,KAAK,gBAAgB4M,MAAM,iBAAclB,UAAQ,EAAAvK,SAC7DD,cAAC2Q,IAAU,CACTrC,OAAO,aACPjP,SAAU4V,GACVpE,aAAe9E,GAASA,EAAKw+B,QAAQp9B,MAAU,aAIrDnN,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXniB,UAAU,sBACVtB,KAAK,SACL4M,MAAM,cACNC,MAAO,CAACu3C,GAAkBjjD,SAE1BD,cAACusB,IAAa,CACZltB,SAAU4V,IAAYvT,EAAKuiD,SAAWZ,QAK5CrjD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CAACzjB,KAAK,oBAAoB4M,MAAM,oBAAgBzL,SAC3DD,cAAC4pB,IAAW,CACVvqB,SAAU4V,IAAYouC,EACtBv1C,IAAK,EACLC,IAAK,YAKb/N,cAACmpB,IAAO,CAACC,YAAY,OAAMnpB,SAAC,aAC5BD,cAACyiB,IAAY,CAAC9X,KAAMA,GAAM7L,KAAK,QAAQikB,eAAa,EAAA9iB,SACjD4X,IAAA,IAAC,MAAEiI,EAAK,MAAE3Z,GAAO0R,EAAA,OAChB7X,cAAAyI,WAAA,CAAAxI,SACEE,eAACoQ,IAAG,CAACnQ,UAAU,kBAAiBH,SAAA,CAC9BD,cAAC8Y,IAAG,CAACpI,KAAM,EAAEzQ,SACXD,cAACqiB,IAAgB,CAACvjB,KAAK,oBAAoB4M,MAAM,UAASzL,SACxDD,cAAC6nC,IAA+B,CAACl9B,KAAMA,SAG3C3K,cAAC8Y,IAAG,CAACpI,KAAM,EAAEzQ,SACXD,cAACqiB,IAAgB,CAACvjB,KAAK,UAAU4M,MAAM,aAAalB,UAAQ,EAAAvK,SAC1DD,cAAC2Q,IAAU,CACTrC,OAAO,aACPjP,SACE4V,IAAY9O,EAAM+7C,aAA2B17C,IAAjBL,EAAMogB,aAK1CvmB,cAAC8Y,IAAG,CAACpI,KAAM,EAAEzQ,SACXD,cAACqiB,IAAgB,CACfjiB,UAAU,sBACVtB,KAAK,SACL4M,MAAM,QACNC,MAAO,CAACu3C,GAAkBjjD,SAE1BD,cAACusB,IAAa,CACZltB,SACE4V,IAAY9O,EAAM+7C,aAA2B17C,IAAjBL,EAAMogB,aAK1CvmB,cAAC8Y,IAAG,CAACpI,KAAM,EAAEzQ,SACXD,cAACqiB,IAAgB,CACfvjB,KAAK,SACL4M,MAAOvN,KAASpE,KAAU,WAAa,OACvCmwB,cAAc,UAASjqB,SAEvBD,cAACo4C,IAAM,CACLv5C,SAAWslB,GAAYqhC,GAAiBrhC,EAASrE,GACjDzgB,SAAU4V,SAA6BzO,IAAjBL,EAAMogB,aAIjCpgB,EAAM+7C,QACLliD,cAAC8Y,IAAG,CAACpI,KAAM,EAAEzQ,SACXD,cAACqiB,IAAgB,CAACvjB,KAAK,SAAS4M,MAAM,IAAGzL,SACvCD,cAACyX,IAAY,CACXrX,UAAU,0BACVS,QAASA,IAAM2kD,IAAiB,EAAM1lC,aAM/C,IAGP9f,cAACuQ,IAAG,CAACnQ,UAAU,kBAAiBH,SAC9BD,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CAACzjB,KAAK,WAAW4M,MAAM,YAAYlB,UAAQ,EAAAvK,SACtDD,cAACw0B,IAAgB,CACfz1B,SAAS,aACTO,YAAY,YACZD,SAAU4V,GACVygB,WAAYne,IAA2B,IAA1B,iBAAEkvC,GAAkBlvC,EAC/B,OAA4B,OAArBkvC,CAAyB,EAElCvnD,OAAQ,CAAE4vB,MAAO,CAAC3wB,KAClB+2B,YAAa+U,IAAA,IAAC,cAAEiK,GAAejK,EAAA,OAAKiK,CAAa,EACjDtmB,SAAUysB,IAAA,IAAC,KAAEv7C,GAAMu7C,EAAA,OAAKv7C,CAAI,EAC5BkS,SAAUA,CAACzI,EAACwxC,KAAA,IAAE,KAAE3mC,GAAM2mC,EAAA,OAAK2J,EAAmBtwC,EAAK,aApR1DqwC,IAAoBrb,IAIlBqb,EAAgBlG,qBAuRjBv9C,cAAC6pB,IAAK,CACJzpB,UAAU,UACVkgC,UAAQ,EACR5jB,YAAY,oGACZve,KAAK,UACLw6B,UAAQ,IAIXkb,IACC7zC,cAACuQ,IAAG,CAACnQ,UAAU,kBAAiBH,SAC9BD,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CAACzjB,KAAK,aAAa4M,MAAM,kBAAkBlB,UAAQ,EAAAvK,SAC9DD,cAAC8W,IAAY,CACX/X,SAAS,eACTM,SAAU4V,GACVyxC,2BAA+B,OAAJhlD,QAAI,IAAJA,KAAMkH,aAOzCo7C,IAAsC,IAAzBT,GACbpjD,eAACoQ,IAAG,CAAAtQ,SAAA,CACFD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,YAAa,WACpB4M,MAAM,yBACNwe,cAAc,UAASjqB,SAEvBD,cAACo4C,IAAM,CAACv5C,SAAU+kD,QAItB5jD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,YAAa,YACpB4M,MAAM,iBACNyoC,QAASwP,EACTn5C,SAAUm5C,EAAiB1jD,SAE3BD,cAAC4pB,IAAW,CAAC9b,IAAK,EAAGC,IAAK,GAAI1O,UAAWskD,QAI7C3jD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,YAAa,aACpB4M,MAAM,gBACNyoC,QAASwP,EACTn5C,SAAUm5C,EAAiB1jD,SAE3BE,eAAC8R,IAAM,CAAC5S,UAAWskD,EAAiB1jD,SAAA,CAClCD,cAACiS,IAAOK,OAAM,CAACnM,MAAM,UAAUZ,MAAM,SAAQtF,SAAC,WAG9CD,cAACiS,IAAOK,OAAM,CAACnM,MAAM,cAAcZ,MAAM,YAAWtF,SAAC,cAGrDD,cAACiS,IAAOK,OAAM,CAACnM,MAAM,QAAQZ,MAAM,YAAQtF,SAAC,wBAStDD,cAACmpB,IAAO,CAACC,YAAY,OAAMnpB,SAAC,WAC5BD,cAACuiB,eAAY,CAACzjB,KAAK,cAAcukB,aAAcA,KAAM,EAAMpjB,SACzDD,cAAC0gC,KAAU,CAACG,YAAU,UAGf,E,4BC7xBjB,MAAM8lB,EAAeA,CAACxoD,EAAMgI,EAAOygD,IACd,qBAARA,GAAgC,KAARA,EAC1B/rB,KAAK18B,GAAMgI,IAEpBA,GAASA,EACTygD,GAAOA,EAEHx/B,OAAOC,MAAMlhB,IAA2B,kBAARygD,GAAoBA,EAAM,IAAM,EAC3DC,KAGT1gD,EAAQA,EAAMqkB,WAAWvK,MAAM,QAE/B9Z,GADAA,EAAQ00B,KAAK18B,KAAQgI,EAAM,GAAK,KAAOA,EAAM,IAAMA,EAAM,GAAKygD,GAAOA,MACvDp8B,WAAWvK,MAAM,MAChB,GAAK,KAAO9Z,EAAM,IAAMA,EAAM,GAAKygD,EAAMA,M,6BCsxB3CE,qBAAathD,QA5vBOoB,IAAW,IAADmgD,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC3C,MAAM,KAAE1lD,GAASkF,EACX2oB,EAAWO,yBACVu3B,GAAa5nD,sBAAwB,QAAdsnD,EAAErlD,EAAKu5B,eAAO,IAAA8rB,IAAIrlD,EAAKq7C,YAC9CuK,EAAgBC,GAAqB9nD,mBAASiC,EAAKu5B,UACpD,QAAE8Y,EAAO,YAAEC,GAAgBC,eAC1B6P,EAAQC,GAAatkD,mBAAS,gBAC/B,KAAEkL,GAAS6gB,+BAiBXg8B,EAA+BxP,IACnC,MAAM,kBACJyP,EAAiB,iBACjBC,EAAgB,aAChB5mC,EAAY,qBACZC,GACS,OAAPi3B,QAAO,IAAPA,IAAW,CAAC,EAEhB,MAAO,IACFA,EACHyP,kBAAmBA,EAAoBt6C,IAAOs6C,GAAqB,KACnEC,iBAAkBA,EAAmBv6C,IAAOu6C,GAAoB,KAChE3T,QAAS97B,YAAyB,OAAP+/B,QAAO,IAAPA,OAAO,EAAPA,EAASjE,SACpCuG,cAAsB,OAAPtC,QAAO,IAAPA,KAASsC,cACpBntC,IAAc,OAAP6qC,QAAO,IAAPA,OAAO,EAAPA,EAASsC,eAChBntC,MACJ2T,aAAcA,EAAe3T,IAAO2T,GAAgB,KACpDC,qBAAsBA,EAClB5T,IAAO4T,GACP,KACL,EAsBG9L,EAAWulC,IAAcC,WAAe,OAAJ/4C,QAAI,IAAJA,GAAa,QAATslD,EAAJtlD,EAAMs2C,eAAO,IAAAgP,OAAT,EAAJA,EAAerjD,QAEnD23B,EAAeA,KACnB/L,EAASo4B,cAAoB,EAGzBC,EAAgBA,CAACC,EAAMC,ID/FjB,SAAC3hD,GACb,OAAOwgD,EAAa,QAASxgD,EADNG,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,IAAI,EAE7B,CC8FWyhD,CAAMF,GAAQC,EAAO,MAgBxBE,EAAgBC,IACpB,IAAI,QAAEjQ,EAAU,CAAC,GAAMiQ,EACvB,MAAM,OAAE1hC,GAAW7kB,GACb,MAAE2wB,EAAQ,CAAC,GAAM2lB,GAEjB,iBACJkQ,EAAmB,EAAC,QACpBC,EAAU,EAAC,QACXC,EAAU,EAAC,WACXC,EAAa,EAAC,OACdC,EAAS,EAAC,SACVC,EAAW,EAAC,SACZC,EAAW,GACTn2B,EAEJ2lB,EAAU,IACLA,EACH3lB,MAAO,CACLo2B,cAAeliC,EACfmiC,WAAYniC,IAIhB8L,EAAMo2B,cAAgBliC,EACtB8L,EAAMq2B,WACJP,EAAU,EAAI91B,EAAMo2B,cAAgBP,EAAmB,EACzD71B,EAAMs2B,UAAYf,EAAcv1B,EAAMq2B,WAAYP,GAClD91B,EAAMu2B,UAAYhB,EAAcv1B,EAAMo2B,cAAeL,GACrD/1B,EAAMw2B,aAAejB,EAAcv1B,EAAMo2B,cAAeJ,GACxDh2B,EAAMy2B,WAAalB,EAAcv1B,EAAMo2B,cAAeF,GACtDl2B,EAAM02B,SAAWnB,EAAcv1B,EAAMo2B,cAAeH,GACpDj2B,EAAM22B,WAAapB,EAAcv1B,EAAMo2B,cAAeD,GAEtD,MAAMS,EA9CsB,WAAiB,IAAhB52B,EAAK/rB,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EACtC,MAAMpF,EAAU,CAAC,EASjB,OAPAA,EAAQynD,UAAYt2B,EAAM62B,YAAc72B,EAAMs2B,UAAY,EAC1DznD,EAAQ0nD,UAAYv2B,EAAM82B,YAAc92B,EAAMu2B,UAAY,EAC1D1nD,EAAQ2nD,aAAex2B,EAAM+2B,eAAiB/2B,EAAMw2B,aAAe,EACnE3nD,EAAQ4nD,WAAaz2B,EAAMg3B,aAAeh3B,EAAMy2B,WAAa,EAC7D5nD,EAAQ6nD,SAAW12B,EAAMi3B,WAAaj3B,EAAM02B,SAAW,EACvD7nD,EAAQ8nD,WAAa32B,EAAMk3B,aAAel3B,EAAM22B,WAAa,EAEtD9nD,CACT,CAmCuBsoD,CAAsBn3B,GAE3C1nB,EAAKwY,eAAe,IACf8kC,EACHjQ,QAAS,IAAKA,EAAS3lB,SACvBnxB,QAAS+nD,GACT,EAGEQ,EAAuBxyC,IAAyB,IAAxB,eAAEyyC,GAAgBzyC,EAC9C,MAAM,sBACJ0pC,EAAqB,gBACrBgJ,EAAe,SACfC,EAAQ,mBACRC,EAAkB,aAClBC,KACGz3B,GACDq3B,GACE,cAAEpP,EAAa,OAAE/zB,GAAW7kB,EAE5BqJ,EAAgB,IACjBrJ,EACHs2C,QAAS,CACP+R,eAAgBroD,EAAKgb,YACrB49B,cAAeA,EAAgBntC,IAAOmtC,GAAiB,KACvDqG,wBACAgJ,kBACAC,WACAC,qBACAC,eACAz3B,MAAO,IACFA,EACHo2B,cAAeliC,KAKrByhC,EAAaj9C,GACbJ,EAAKwY,eAAepY,EAAc,EAG9Bi/C,EAAqBC,IACzB9nD,MAAI2N,MAAM,yBAA0B,CAAElH,GAAIqhD,IAAa5nD,MAAKwV,IAAe,IAAd,KAAEnW,GAAMmW,EACnE4xC,EAAyB,OAAJ/nD,QAAI,IAAJA,OAAI,EAAJA,EAAMmC,OAAO,GAClC,EA8DJ,OAVAjE,qBAAU,KAAO,IAADsqD,EACd,GAAiB,QAAbA,EAACxoD,EAAKs2C,eAAO,IAAAkS,IAAZA,EAActhD,GAAI,CACrB,MAAMuhD,EAA4B,OAAXnW,QAAW,IAAXA,IAAeD,EACtCppC,EAAKwY,eAAe,CAClB60B,QAAS,CAAEjE,QAAS97B,YAAkBkyC,MAExCH,EAAkBG,EAAevhD,GACnC,IACC,IAGD5I,cAACyiD,aAAU,IACL77C,EACJrB,MArDK0P,EAAW,yBAA2B,qBAsD3C1U,KAAK,KACL6kB,SAhOuBxmB,IAA8C,IAADwkD,EAAA,IAA5C,QAAEpL,EAAO,QAAE/c,EAAO,SAAE8hB,KAAa9xC,GAAMrM,EACjE,MAAO,IACF8C,KACAuJ,EACHgwB,QAASW,YAAoBX,GAC7B8hB,SAAUnhB,YAAoBmhB,GAC9B/E,QAAS,IACS,QAAhBoL,EAAI1hD,EAAKs2C,eAAO,IAAAoL,IAAI,CAAC,KAClBpL,EACHjE,QAASnY,YAA2B,OAAPoc,QAAO,IAAPA,OAAO,EAAPA,EAASjE,SACtCuG,cAAentC,IAAc,OAAP6qC,QAAO,IAAPA,OAAO,EAAPA,EAASsC,eAAehsC,OAAO,qBAExD,EAqNCtD,gBA3LwBqD,IAA8C,IAA7C,QAAE2pC,EAAO,QAAE/c,EAAO,SAAE8hB,KAAa9xC,GAAMoD,EAWlE,OAVAk5C,EAAkBtsB,GAEH,MAAXA,GACF8oB,EAAU,eAGI,MAAZhH,GACFgH,EAAU,gBAGL,IACF94C,EACHgwB,QAAShjB,YAAkBgjB,GAC3B8hB,SAAU9kC,YAAkB8kC,GAC5B/E,QAASwP,EAA4BxP,GACtC,EA4KC/uB,eAlEuBmhC,CAAA7yC,EAAc0wC,KAAe,IAA5B,QAAEjQ,GAASzgC,OACZ/Q,KAAd,OAAPwxC,QAAO,IAAPA,OAAO,EAAPA,EAASjE,UACXiW,EAAyB,OAAPhS,QAAO,IAAPA,OAAO,EAAPA,EAASjE,QAAQhyC,KAGrCimD,EAAaC,EAAU,EA8DrBhvC,WAAYqiB,EACZ1jB,wBA1ByB9X,IAC3Bw7B,IACI10B,EAAMgR,yBACRhR,EAAMgR,wBAAwB9X,EAChC,EAuBEmV,SAAUA,EAAShV,SAEnBD,cAACoL,IAAI,CAAChC,OAAO,WAAW+gC,UAAQ,EAAAlqC,SAC9BE,eAAAsI,WAAA,CAAAxI,SAAA,CACED,cAACoL,IAAKQ,KAAI,CAAC9M,KAAM,CAAC,UAAW,mBAAoBq1C,QAAM,IACvDn0C,cAACoL,IAAKQ,KAAI,CAAC9M,KAAM,CAAC,UAAW,YAAaq1C,QAAM,IAChDn0C,cAACoL,IAAKQ,KAAI,CAAC9M,KAAM,CAAC,UAAW,sBAAuBq1C,QAAM,IAC1Dn0C,cAACoL,IAAKQ,KAAI,CAAC9M,KAAM,CAAC,UAAW,gBAAiBq1C,QAAM,IACnDJ,EAAQnkC,SAASy6C,4BAChBrqD,cAACuQ,IAAG,CAAAtQ,SACFD,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,WAClB4M,MAAM,WACNlB,UAAQ,EAAAvK,SAERD,cAAC8W,IAAY,CACX/X,SAAS,YACTM,SAAU4V,EACV/V,OAAQ,CAAEorD,oBAAoB,WAMtCtqD,cAACoL,IAAKQ,KAAI,CAAC9M,KAAM,CAAC,UAAW,WAAYq1C,QAAM,IAEjDn0C,cAACuQ,IAAG,CAAAtQ,SACFD,cAACyQ,IAAM,CAAAxQ,SACLE,eAAC+lD,IAAI,CAACC,UAAWrC,EAAQjlD,SAtFZunD,IACvB,MAAM,QAAEnrB,EAAO,SAAE8hB,GAAapyC,EAAK65C,iBAEvB,iBAAR4B,GAA0BnrB,EAC5B1W,IAAMyH,QAAQ,CACZzmB,MAAO,6BACP2mB,KAAMA,KACJvhB,EAAKwY,eAAe,CAAE8X,QAAS,OAC/B8oB,EAAUqC,EAAI,IAOR,gBAARA,GAAyBrJ,EAC3Bx4B,IAAMyH,QAAQ,CACZzmB,MAAO,4BACP2mB,KAAMA,KACJvhB,EAAKwY,eAAe,CAAE45B,SAAU,OAChCgH,EAAUqC,EAAI,IAOpBrC,EAAUqC,EAAI,EA2D+CnmD,SAAA,CACjDD,cAACkmD,IAAKG,QAAO,CAEXD,IAAI,WACJtC,OAAO,cACPzkD,SAAU4V,GAAYoyC,EAAUpnD,SAEhCD,cAACuiB,eAAY,CAACzjB,KAAK,UAAU4M,MAAM,WAAUzL,SAC3CD,cAAC8W,IAAY,CACX/X,SAAS,WACTM,SAAU4V,GAAYoyC,EACtB/qB,aAAe/4B,GACbvD,cAACiS,IAAOK,OAAM,CAEZnM,MAAO5C,EAAExB,IACT2J,MAAOnI,EAAEmI,MAAMzL,SAEfE,eAAA,OAAKuL,MAAOnI,EAAEmI,MAAMzL,SAAA,CAClBD,cAAA,OAAAC,SAAMsD,EAAE6P,KAAKtU,OACZyE,EAAE6P,KAAKkzC,iBACNtmD,cAAA,OAAKI,UAAU,WAAUH,SACtBsmD,YACChjD,EAAE6P,KAAKkzC,oBAGT,SAZD/iD,EAAExB,UAXX,eA8BN/B,cAACkmD,IAAKG,QAAO,CAEXD,IAAI,UACJtC,OAAO,eACPzkD,SAAU4V,GAAYoyC,EAAUpnD,SAEhCD,cAACuiB,eAAY,CAACzjB,KAAK,WAAW4M,MAAM,UAASzL,SAC3CD,cAACqV,IAAgB,CACftW,SAAS,YACTyW,aAAa,OACbb,cAAc,UACdW,cAAekxC,IACfnnD,SAAU4V,GAAYoyC,EACtB/qB,aAAe/4B,GACbvD,cAACiS,IAAOK,OAAM,CAEZnM,MAAO5C,EAAExB,IACT2J,MAAOnI,EAAEmI,MAAMzL,SAEfE,eAAA,OAAKuL,MAAOnI,EAAEmI,MAAMzL,SAAA,CAClBD,cAAA,OAAAC,SAAMsD,EAAE6P,KAAKtU,OACZyE,EAAE6P,KAAKkzC,iBACNtmD,cAAA,OAAKI,UAAU,WAAUH,SACtBsmD,YACChjD,EAAE6P,KAAKkzC,oBAGT,SAZD/iD,EAAExB,UAdX,wBAqCG,OAAdulD,QAAc,IAAdA,OAAc,EAAdA,EAAgBiD,cACfpqD,eAACoQ,IAAG,CAAAtQ,SAAA,CACFD,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACoL,IAAKQ,KAAI,CACR9M,KAAM,CAAC,UAAW,OAAQ,cAAe,oBACzC4M,MAAM,wBAAoBzL,SAE1BD,cAACkR,IAAW,CAACC,KAAK,iBAAiB9R,UAAQ,QAG/CW,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,OAAQ,cAAe,QACzC4M,MAAM,yBAAqBzL,SAE3BD,cAACoc,IAAK,CAAC/c,UAAQ,WAMvBW,cAACuQ,IAAG,CAAAtQ,SACFD,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,kBAClB4M,MAAM,sBAAezL,SAErBD,cAACoc,IAAM2f,SAAQ,CAACC,KAAM,EAAG3f,UAAW,IAAMhd,SAAU4V,UAI1D9U,eAACoQ,IAAG,CAACC,OAAQ,CAAC,GAAI,GAAGvQ,SAAA,CACnBD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,iBAClB4M,MAAM,iBAAazL,SAEnBD,cAAC2Q,IAAU,CACTrC,OAAO,aACPjP,SAAU4V,EACVpE,aAAe9E,GAASA,EAAKw+B,QAAQp9B,MAAU,aAIrDnN,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXniB,UAAU,sBACVtB,KAAM,CAAC,UAAW,QAAS,iBAC3B4M,MAAM,cAAazL,SAEnBD,cAACusB,IAAa,CAACltB,UAAQ,QAG3BW,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXniB,UAAU,sBACVtB,KAAM,CAAC,UAAW,QAAS,oBAC3B4M,MAAM,iBACNC,MAAO,CACLs+B,IAAA,IAAC,cAAE/mB,GAAe+mB,EAAA,MAAM,CACtBvgB,UAASA,CAACnhB,EAAGpC,KAERA,GACD+c,EAAc,CAAC,UAAW,QAAS,mBACjC/c,EAEKwgB,QAAQC,UAGVD,QAAQG,OAAO,IAAItb,MAAM,sBAEnC,GACDvL,SAEFD,cAACusB,IAAa,CAACltB,SAAU4V,QAG7BjV,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,QAAS,cAC3B4M,MAAM,kBAAczL,SAEpBD,cAACusB,IAAa,CAACltB,UAAQ,QAI3BW,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXniB,UAAU,sBACVtB,KAAM,CAAC,UAAW,QAAS,aAC3B4M,MAAM,mBAAezL,SAErBD,cAACusB,IAAa,CAACltB,UAAQ,WAK7Bc,eAACoQ,IAAG,CAAAtQ,SAAA,CACwB,gBAAb,QAAZgnD,EAAAvlD,EAAKs2C,eAAO,IAAAiP,OAAA,EAAZA,EAActjD,SACb3D,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,qBAClB4M,MAAM,4BAAqBzL,SAE3BD,cAAC2Q,IAAU,CAACtR,UAAQ,EAACiP,OAAO,mBAIR,cAAb,QAAZ44C,EAAAxlD,EAAKs2C,eAAO,IAAAkP,OAAA,EAAZA,EAAcvjD,SACb3D,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,oBAClB4M,MAAM,uBAAsBzL,SAE5BD,cAAC2Q,IAAU,CAACtR,UAAQ,EAACiP,OAAO,uBAKlC+sB,YAAc35B,EAAKkH,OACN,QAAZu+C,EAAAzlD,EAAKs2C,eAAO,IAAAmP,OAAA,EAAZA,EAAcqD,WAAY,IAAiB,QAAZpD,EAAA1lD,EAAKs2C,eAAO,IAAAoP,OAAA,EAAZA,EAAcviC,QAAS,IACrD1kB,eAACoQ,IAAG,CAAAtQ,SAAA,CACFD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CAACzjB,KAAM,CAAC,UAAW,UAAW4M,MAAM,eAAWzL,SAC1DD,cAACoc,IAAK,CAAC/c,UAAQ,QAGnBW,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,aAClB4M,MAAM,mBAAezL,SAErBD,cAAC4pB,IAAW,CAAC9b,IAAK,EAAGC,IAAK,YAAa1O,UAAQ,QAGnDW,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,aAClB4M,MAAM,kBAAczL,SAEpBD,cAACoc,IAAK,CAACC,UAAW,GAAIhd,UAAQ,WAMxCW,cAACyqD,IAAQ,CAAAxqD,SACPE,eAACsqD,IAASC,MAAK,CACbC,aAAW,EACX/iD,OAAO,WAEPxH,UAAU,SAAQH,SAAA,CAElBE,eAACoQ,IAAG,CAACC,OAAQ,CAAC,GAAI,GAAGvQ,SAAA,CACnBD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,QAAS,WAC3B4M,MAAM,MAAKzL,SAEXD,cAAC05B,IAAY,CAACr6B,UAAQ,QAG1BW,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXniB,UAAU,sBACVtB,KAAM,CAAC,UAAW,QAAS,aAC3B4M,MAAM,YAAWzL,SAEjBD,cAACusB,IAAa,CAACltB,UAAQ,QAG3BW,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,QAAS,WAC3B4M,MAAM,MAAKzL,SAEXD,cAAC05B,IAAY,CAACr6B,UAAQ,QAG1BW,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXniB,UAAU,sBACVtB,KAAM,CAAC,UAAW,QAAS,aAC3B4M,MAAM,YAAWzL,SAEjBD,cAACusB,IAAa,CAACltB,UAAQ,QAG3BW,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,QAAS,cAC3B4M,MAAM,SAAQzL,SAEdD,cAAC05B,IAAY,CAACr6B,UAAQ,QAG1BW,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXniB,UAAU,sBACVtB,KAAM,CAAC,UAAW,QAAS,gBAC3B4M,MAAM,eAAczL,SAEpBD,cAACusB,IAAa,CAACltB,UAAQ,WAI7Bc,eAACoQ,IAAG,CAACC,OAAQ,CAAC,GAAI,GAAGvQ,SAAA,CACnBD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,QAAS,YAC3B4M,MAAM,OAAMzL,SAEZD,cAAC05B,IAAY,CAACr6B,UAAQ,QAG1BW,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXniB,UAAU,sBACVtB,KAAM,CAAC,UAAW,QAAS,cAC3B4M,MAAM,aAAYzL,SAElBD,cAACusB,IAAa,CAACltB,UAAQ,QAG3BW,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,QAAS,UAC3B4M,MAAM,KAAIzL,SAEVD,cAAC05B,IAAY,CAACr6B,UAAQ,QAG1BW,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXniB,UAAU,sBACVtB,KAAM,CAAC,UAAW,QAAS,YAC3B4M,MAAM,WAAUzL,SAEhBD,cAACusB,IAAa,CAACltB,UAAQ,QAG3BW,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,QAAS,YAC3B4M,MAAM,OAAMzL,SAEZD,cAAC05B,IAAY,CAACr6B,UAAQ,QAG1BW,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXniB,UAAU,sBACVtB,KAAM,CAAC,UAAW,QAAS,cAC3B4M,MAAM,aAAYzL,SAElBD,cAACusB,IAAa,CAACltB,UAAQ,WAI7BW,cAACmpB,IAAO,CAACC,YAAY,OAAMnpB,SAAC,oBAC5BE,eAACoQ,IAAG,CAACC,OAAQ,CAAC,EAAG,GAAGvQ,SAAA,CAClBD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,QAAS,eAC3B4M,MAAM,MACNwe,cAAc,UAASjqB,SAEvBD,cAACo4C,IAAM,CAAC/4C,UAAQ,QAGpBW,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,QAAS,eAC3B4M,MAAM,MACNwe,cAAc,UAASjqB,SAEvBD,cAACo4C,IAAM,CAAC/4C,UAAQ,QAGpBW,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,QAAS,kBAC3B4M,MAAM,SACNwe,cAAc,UAASjqB,SAEvBD,cAACo4C,IAAM,CAAC/4C,UAAQ,QAGpBW,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,QAAS,gBAC3B4M,MAAM,OACNwe,cAAc,UAASjqB,SAEvBD,cAACo4C,IAAM,CAAC/4C,UAAQ,QAGpBW,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,QAAS,cAC3B4M,MAAM,KACNwe,cAAc,UAASjqB,SAEvBD,cAACo4C,IAAM,CAAC/4C,UAAQ,QAGpBW,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,QAAS,gBAC3Bq5C,WAAW,SACXzsC,MAAM,OACNwe,cAAc,UAASjqB,SAEvBD,cAACo4C,IAAM,CAAC/4C,UAAQ,WAItBc,eAACoQ,IAAG,CAACC,OAAQ,CAAC,GAAI,GAAGvQ,SAAA,CACnBD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXniB,UAAU,sBACVtB,KAAM,CAAC,UAAW,aAClB4M,MAAM,eAAczL,SAEpBD,cAACusB,IAAa,CAACltB,UAAQ,QAG3BW,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXniB,UAAU,sBACVtB,KAAM,CAAC,UAAW,aAClB4M,MAAM,eAAczL,SAEpBD,cAACusB,IAAa,CAACltB,UAAQ,QAG3BW,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXniB,UAAU,sBACVtB,KAAM,CAAC,UAAW,gBAClB4M,MAAM,eAAczL,SAEpBD,cAACusB,IAAa,CAACltB,UAAQ,QAG3BW,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXniB,UAAU,sBACVtB,KAAM,CAAC,UAAW,cAClB4M,MAAM,eAAczL,SAEpBD,cAACusB,IAAa,CAACltB,UAAQ,QAG3BW,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXniB,UAAU,sBACVtB,KAAM,CAAC,UAAW,YAClB4M,MAAM,eAAczL,SAEpBD,cAACusB,IAAa,CAACltB,UAAQ,QAG3BW,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXniB,UAAU,sBACVtB,KAAM,CAAC,UAAW,cAClB4M,MAAM,eAAczL,SAEpBD,cAACusB,IAAa,CAACltB,UAAQ,aA3NzB,OAkOP4V,GACC9U,eAAAsI,WAAA,CAAAxI,SAAA,CACED,cAACmpB,IAAO,CAACC,YAAY,OAAMnpB,SAAC,cAC5BE,eAACoQ,IAAG,CAAAtQ,SAAA,CACFD,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,gBAClB4M,MAAM,wBAAoBzL,SAE1BD,cAAC2Q,IAAU,CAACrC,OAAO,mBAAmBjP,UAAQ,QAIlDW,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,wBAClB4M,MAAM,oCACNyoC,QAASzyC,EAAK0gD,iBAAiBniD,SAE/BD,cAAC2Q,IAAU,CAACrC,OAAO,mBAAmBjP,UAAQ,WAIpDc,eAACoQ,IAAG,CAAAtQ,SAAA,CACFD,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,eAClB4M,MAAM,8BAAuBzL,SAE7BD,cAACuiC,IAAkB,QAIvBviC,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,UAAW,oBAClB4M,MAAM,0CACNyoC,QAASzyC,EAAK0gD,iBAAiBniD,SAE/BD,cAACuiC,IAAkB,oBAQtB,GAI6C,CAC5DxjC,SAAU,sBCjxBG0gD,IAhBoB74C,IACjC,MAAM,eAAEgkD,EAAc,QAAE71C,GAAYqb,uBACjC7sB,IAAC,IAAAqvC,EAAA,OAAqC,QAArCA,EAAKrvC,EAAEgtB,UAAU,4BAAoB,IAAAqiB,IAAI,CAAC,CAAC,IAG/C,OAAK79B,EAIE61C,EACL5qD,cAAC6qD,EAAyB,IAAKjkD,IAE/B5G,cAACmjD,EAAkB,IAAKv8C,IANjB,IAOR,C,mCClBH,+mBAEO,MAAMkkD,EAAY,YAEZC,EAAqB,qBACrBC,EAA8B,8BAU9BC,EAAiC,iCACjCC,EACX,0CAEWC,EACX,uCACWC,EACX,gDAEWC,EAAmB,mBACnBC,EAA4B,4BAE5BC,EAA8B,8BAC9BC,EAA+B,+BAE/BC,EAAWA,CAAC7iD,EAAIlH,EAAMgB,EAAW0jC,IAAWhX,gBACjDC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,aACVywB,WAAYu7B,EACZtjB,QAAS/lC,EACT+tB,OAAQL,SAAYjtB,MAAIulC,IAAI,cAADtkC,OAAewF,EAAE,aAAalH,GACzDgB,YACA0jC,UACA,EAGSslB,EAAgBA,CAAC9iD,EAAI+iD,EAASjpD,EAAW0jC,IAAWhX,gBAGzDC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,aACVywB,WAzCoC,2BA0CpCiY,QAASkkB,EACTl8B,OAAQL,SAAYjtB,MAAIC,KAAK,cAADgB,OAAewF,EAAE,YAAY+iD,GACzDjpD,YACA0jC,UACA,EAGSwlB,EAAgBA,CAAChjD,EAAI+iD,EAASjpD,IAAc0sB,gBACjDC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,aACVywB,WAjDoC,2BAkDpCiY,QAASkkB,EACTl8B,OAAQL,SACNjtB,MAAI6rC,IAAI,aAAa,GAAD5qC,OAAKwF,EAAE,wBAAAxF,OAA8B,OAAPuoD,QAAO,IAAPA,OAAO,EAAPA,EAAS/iD,KAC7DlG,aACA,EAaS6uB,EAA2BA,CAAC3oB,EAAIlG,IAAc0sB,gBACnDC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,aACVywB,WAAY27B,EACZ1jB,QAAS7+B,EACT6mB,OAAQL,SACNjtB,MAAIC,KACF,gEACA,CAAEwG,OAENlG,aACA,EAGSmpD,EAASA,CAACnqD,EAAMgB,IAAc0sB,gBACnCC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,aACVywB,WAAY67B,EACZ57B,OAAQL,SAAYjtB,MAAIC,KAAK,oBAAqBV,GAClDgB,aACA,EAGSopD,EAAmBA,IAAOv8B,IACrCA,EAASF,aAAWiX,aAAailB,EAA6B,cAAc,EAGjEQ,EAAoBA,IAAOx8B,IACtCA,EAASF,aAAWiX,aAAaklB,EAA8B,cAAc,C,+JC7FhEQ,MAdc,SAACzjD,GAAmB,IAAhBpC,EAAKG,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GACvC,MAAMy5C,EAAiB3uC,4BAAkBjL,GAEzC,OAAK45C,GAIDA,EAAex5C,OAAS,GACnBogB,QAAQG,OAAO,IAAItb,MAAM,wBAJzBmb,QAAQC,SAQnB,ECGem6B,MAda,SAACx4C,GAAmB,IAAhBpC,EAAKG,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GACtC,MAAMy5C,EAAiB3uC,4BAAkBjL,GAEzC,OAAK45C,GAIDA,EAAex5C,OAAS,GAAKw5C,EAAex5C,OAAS,EAChDogB,QAAQG,OAAO,IAAItb,MAAM,yBAJzBmb,QAAQC,SAQnB,C,mCCdA,8lBAIO,MAAMqlC,EAAU,UACVC,EAAyB,yBACzBC,EAAsB,sBACtBC,EAA+B,+BAC/BC,EAA4B,4BAC5BC,EAAyB,yBACzBC,EACX,kCACWC,EAAuB,uBACvBC,EAAgC,gCAChCC,EAA0B,0BAC1BC,EACX,mCAGWC,EAA0B,0BAEjCC,EAAqBl7B,GACjBA,IACDj1B,KACI,mBAEA,wBAUAowD,EAAcjkC,GAAUuG,gBAC7BC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,WACVywB,WAAY28B,EACZ18B,OAAQL,SAAYjtB,MAAI0T,IAAI,4BAA6BgT,GACzDud,OAAStmC,IAZmB2nC,MAc1B,OADAlY,GAb0BkY,EAaD3nC,EAbcyvB,IAC3CA,EACEF,aAAWiX,aAAa+lB,EAA2B,WAAY5kB,GAChE,KAWU,CAAI,GAEb,EAaSslB,EAAgBA,IAAOx9B,IAClCA,EAASF,aAAWiX,aAAa4lB,EAAwB,YAAY,EAG1D3kB,EAAcA,CAAC5V,EAAMjvB,IAAc0sB,UAC9C,MAAMrwB,EAAW8tD,EAAkBl7B,SAC7BtC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,WACVywB,WAAYg9B,EACZ/8B,OAAQL,SAAYjtB,MAAI0T,IAAI9W,EAAU,YACtC2D,aACA,EAGS8kC,EAAiBA,CAAC7V,EAAMjwB,EAAMgB,IAAc0sB,UACvD,MAAMrwB,EAAW8tD,EAAkBl7B,SAE7BtC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,WACVywB,WAAYk9B,EACZj9B,OAAQL,SAAYjtB,MAAIulC,IAAI,GAADtkC,OAAIrE,EAAQ,aAAa2C,GACpD+lC,QAAS/lC,EACTgB,UAAY5C,IACN4C,GACFA,EAAU5C,GAGZ0C,IAAQg1C,QAAQ,0CAAoC,GAEtD,EAGSqU,EAASA,CAAC9sD,EAAU6J,EAAIlG,IAAc0sB,gBAC3CC,aAAWC,sBAAsB,CACrCC,WACAxwB,WACAywB,WA/E0B,iBAgF1BC,OAAQL,SAAYjtB,MAAI6rC,IAAIjvC,EAAU6J,GACtClG,aACA,C,mCCpGJ,+VAEO,MAAMsqD,EAAwB,wBAIxBC,EACX,6CAEWC,EACX,oCACWC,EACX,6CAEWC,EACX,uCAEWC,EACX,2CACWC,EACX,oDAoBWC,EAAyBA,IAAMn+B,gBACpCC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,2BACVywB,WAvCF,oCAwCEC,OAAQL,SACNjtB,MAAI0T,IAAI,2BAA4B,yBACtC,EAGS23C,EAA6B9rD,GAAS0tB,gBAC3CC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,2BACV0oC,QAAS/lC,EACT8tB,WAAY09B,EACZz9B,OAAQL,SACNjtB,MAAIulC,IAAI,gDAAiDhmC,IAC3D,EAGS+rD,EAA4BA,IAAOl+B,IAC9CA,EACEF,aAAWiX,aACT8mB,EACA,4BAEH,C,mCCnEH,mCA+CetnC,IAlCQA,KACrB,MAAMpkB,EAAO0uB,uBAAa7wB,GAAUA,EAAMmuD,QACpC,QAAEn1B,EAAO,SAAElpB,GAAaE,cAExBsyB,EAAU9tB,uBACd,mBAAA45C,EAAArnD,UAAAC,OAAIq7B,EAAK,IAAA35B,MAAA0lD,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAALhsB,EAAKgsB,GAAAtnD,UAAAsnD,GAAA,OAAKlsD,EAAK4N,KAAKsyB,MAAMz5B,MAAMwpB,GAASiQ,EAAM/+B,SAAS8uB,IAAM,GAClE,CAACjwB,IAGGmsD,EAAiBhsB,EACrBtlC,KACAI,MAEImxD,EAAYjsB,EAAQnlC,MACpBqxD,EAAclsB,EAClBjlC,KACAI,MAEIgxD,EAAcnsB,EAAQhlC,MACtBgpB,EAAgBgc,EAAQ9kC,MACxB8mD,EAA2BhiB,EAAQ7kC,MAEzC,MAAO,CACL6wD,iBACAC,YACAC,cACAx1B,QAASA,IACTy1B,cACAnoC,gBACAg+B,2BACA7S,cAAe3hC,EAChB,C,2KCwKY4+C,MA1MKrvD,IAiBb,IAADsvD,EAAA,IAjBe,WACnBn9C,GAAa,EAAI,uBACjBo9C,EAAsB,SACtBpvD,EAAQ,YACRqvD,EAAc,CAAC,EAAC,QAChBC,EAAO,eACPC,GAAiB,EAAI,OACrBC,EAAM,MACNhpD,EAAK,QACL4B,EAAO,MACPhB,EAAK,SACLtH,EAAQ,SACRmS,EAAQ,WACRw9C,EACA9oD,WAAY+oD,EAAU,UACtB9kC,KACG1e,GACJrM,EACC,MAAM8vD,EAAWh8C,iBAAO,OACjBi8C,EAAeC,GAAoBnvD,oBAAS,IAC5Cwa,EAAa40C,GAAkBpvD,mBAAS,IACxCC,EAASgkC,GAAcjkC,oBAAS,IAChCuI,EAAY8mD,GAAiBrvD,mBAAS,CAC3C4yB,MAAO,EACP08B,SAAU7lD,gBAAc6lD,SACxBt4C,QAAS,EACTu4C,iBAAiB,EACjBC,eAAe,KAEVpoD,EAAYqoD,GAAiBzvD,mBAAS,KACtCkL,GAAQS,IAAKE,UAEfnE,IACHA,EAAU,CACR,CACE5B,MAAO,SACP+2C,UAAW,KACX6S,OAAO,GAET,CACE5pD,MAAO,kBACP+2C,UAAW,iBAKjB,MAAM8S,EAAuC,QAA/BlB,EAAG/mD,EAAQ0c,MAAMtgB,GAAMA,EAAE4rD,eAAM,IAAAjB,IAAI/mD,EAAQ,GAWnDkoD,EAAiBlpD,IACb,OAARtH,QAAQ,IAARA,KAAWsH,EAAM,EAWbmpD,EAAiBx7C,IACjB9C,GACFA,EAAS8C,GAGX,IAAI3N,EAAQ2N,EACZ,GAAI7L,MAAMC,QAAQknD,EAAS9S,WAAY,CACrC,MAAQA,UAAWiT,EAAc,IAAOH,EACxC,IAAK,IAAItlD,EAAQ,EAAGA,EAAQylD,EAAYhpD,OAAQuD,GAAS,EAAG,CAE1D3D,EAAQA,EADUopD,EAAYzlD,GAEhC,CACF,MACE3D,EAAQ2N,EAAIs7C,EAAS9S,WArBPn2C,KAChBkpD,EAAclpD,EAAM,EAsBpBqpD,CAASrpD,GACTyoD,GAAiB,EAAM,EAGnB70C,EAAYA,KAChBpP,EAAKkhB,iBAAiBxpB,MAAMnD,IAC1BwkC,GAAW,GACXmrB,EAAe50C,EAAc,GAE7B,MAAMC,EAAUD,EAEV5U,EAAc,CAClBe,KAAM4B,EAAWyO,QACjB43C,aACGnvD,KACAkvD,GAGLjsD,MAAI2N,MAAM/Q,EAAUsG,EAAa,KAAMkpD,GAAQlsD,MAAK,WAAoB,IAAnBvC,EAAQwG,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC/D,MAAM,KAAE5E,EAAO,CAAEmC,OAAQ,CAAC,IAAQ/D,EAElC,GAAIoa,IAAYD,EACd,OAEF,MAAM,WAAEG,EAAa,EAAC,MAAEC,EAAQ,IAAO3Y,EAAKmC,OAE5C6/B,GAAW,GACXwrB,EAAc70C,GACdy0C,EAAc,IAAK9mD,EAAYqqB,MAAOjY,GACxC,GAAE,GACF,EAGEwR,EAAejQ,oBAAS,KACD,IAAvB3T,EAAWyO,QAIfsD,IAHE+0C,EAAc,IAAK9mD,EAAYyO,QAAS,GAG/B,GACV,KAEGg5C,EAA0B3pD,IAC9B6E,EAAKwY,eAAe,CAAE,CAACrd,EAAEG,OAAO2C,IAAK9C,EAAEG,OAAOE,QAC9CylB,GAAc,EAuBhB,OAhBAhsB,qBAAU,KACH+uD,GAIL50C,GAAW,GACV,CAAC40C,EAAe3mD,EAAWyO,UAE9B7W,qBAAU,KACRsG,YAAW,KACLwoD,EAASj4C,SAAWkT,GACtB+kC,EAASj4C,QAAQC,OACnB,GACC,IAAI,GACN,IAGDvW,eAAAsI,WAAA,CAAAxI,SAAA,CACED,cAACoc,IAAMszC,OAAM,CACXj9C,IAAKi8C,EACLvpD,SA1GWA,CAACgB,EAAO8F,MAErBA,EAAM0jD,cAAcC,UAAUC,SAAS,4BACvC5jD,EAAM0jD,cAAcC,UAAUC,SAAS,oBAEvCjB,GAAiB,EACnB,EAqGI79C,WAAYA,EACZ5K,MAAOA,EACPtH,SAAUwwD,KACNpkD,IAENjL,cAAC8vD,sBAAmB,CAAA7vD,SAClBE,eAAC4vD,aAAU,CACTxvD,KAAMiuD,EACNv5C,UAAQ,EACRC,QAASy5C,EACTnqC,SApGSA,KACfoqC,GAAiB,EAAM,EAoGjBrpD,MAAY,OAALA,QAAK,IAALA,IAASxG,EAASkB,SAAA,CAEzBD,cAACoL,IAAI,CAACT,KAAMA,EAAK1K,SACdwuD,EACCzuD,cAACyuD,EAAU,CAAC5vD,SAAU4wD,IAEtBzvD,cAACoL,IAAKQ,KAAI,CAAC9M,KAAK,aAAYmB,SAC1BD,cAACoc,IAAMszC,OAAM,CACX7wD,SAAU4wD,EACVnwD,YAAmC,OAAtB6uD,QAAsB,IAAtBA,IAA0B,qBAK/CnuD,cAAC+I,IAAK,CACJc,MAAOA,CAACrB,EAAQwnD,KACP,CACLnvD,QAAUoL,IACRqjD,EAAc9mD,EAAO,IAI3BvB,aAAa,aACbe,WAAYA,EACZnJ,SA5DiBoxD,IACzBnB,EAAc,IAAK9mD,EAAYyO,QAASw5C,EAAgBx5C,SAAU,EA4D1D/W,QAASA,EACT6J,OAASf,GAAWA,EAAOI,GAC3B/B,WAAYA,EACZM,QAASA,WAId,E,SCyMQ+oD,IA5YatxD,IAIrB,IAADuxD,EAAA,IAJuB,KAC3BzuD,EAAI,QACJ0uD,EAAO,gCACPC,GACDzxD,EACC,MAAM,yBAAEilD,GAA6B/9B,eAC/B,eAAE4jC,GAAuB,OAAJhoD,QAAI,IAAJA,IAAQ,CAAC,EAE9B4uD,GAAiB,EAEvB,OACEnwD,eAAAsI,WAAA,CAAAxI,SAAA,CACEE,eAACoQ,IAAG,CAAAtQ,SAAA,CACFD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,WAAY,iBAAkB,WACrC4M,MAAM,wBACNwe,cAAc,UAASjqB,SAEvBD,cAACo4C,IAAM,QAGXp4C,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,WAAY,iBAAkB,mBACrC4M,MAAM,WACNlB,SAAU4lD,EAAQnwD,SAElBE,eAAC8R,IAAM,CAAC5S,UAAW+wD,EAAQnwD,SAAA,CACzBD,cAACiS,IAAOK,OAAM,CAACnM,MAAM,aAAYlG,SAAC,mBAClCD,cAACiS,IAAOK,OAAM,CAACnM,MAAM,eAAclG,SAAC,6BAI1CD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACX7W,MAAM,MACN5M,KAAM,CAAC,WAAY,iBAAkB,aACrC0L,SAAU4lD,EAAQnwD,SAElBD,cAACu6B,KAAe,CACdhd,0BAA0B,EAC1Ble,UAAW+wD,QAIjBpwD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACX7W,MAAM,kBACN5M,KAAM,CAAC,WAAY,iBAAkB,oBACrC0L,SAAU4lD,EAAQnwD,SAElBD,cAACy6B,KAAsB,CACrBld,0BAA0B,EAC1Ble,UAAW+wD,WAMnBjwD,eAACoQ,IAAG,CAAAtQ,SAAA,CACFE,eAACsQ,IAAM,CAACC,KAA2B,GAAGzQ,SAAA,CACN,cAAf,OAAdypD,QAAc,IAAdA,OAAc,EAAdA,EAAgB6G,aACA,OAAd7G,QAAc,IAAdA,OAAc,EAAdA,EAAgB8G,oBAAkC,OAAd9G,QAAc,IAAdA,OAAc,EAAdA,EAAgB+G,UACnDzwD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,WAAY,iBAAkB,cACrC4M,MACqB,QAAnBykD,EAAAzuD,EAAKgoD,sBAAc,IAAAyG,GAAnBA,EAAqBM,OACjB,8BACA,gCACLxwD,SAEDD,cAAC4pB,IAAW,CACVppB,MAAO,CAAEtC,MAAO,QAChB6P,IAAK,YACL1O,UAAW+wD,MAKC,aAAnB1G,EACC1pD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,WAAY,iBAAkB,cACrC4M,MAAM,SAAQzL,SAEdD,cAACy5B,IAAY,CACXj5B,MAAO,CAAEtC,MAAO,QAChBme,UAAW,GACXhd,UAAW+wD,MAGb,SAGS,OAAd1G,QAAc,IAAdA,OAAc,EAAdA,EAAgB+G,SACftwD,eAAAsI,WAAA,CAAAxI,SAAA,CACGqwD,GAec,OAAd5G,QAAc,IAAdA,OAAc,EAAdA,EAAgBgH,YACf1wD,cAACyQ,IAAM,CAACC,KAA2B,GAAGzQ,SACpCD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,WAAY,iBAAkB,UACrC4M,MAAM,kBAAczL,SAEpBD,cAACoc,IAAK,CAACC,UAAW,GAAIhd,UAAW+wD,WAMP,cAArB,OAAd1G,QAAc,IAAdA,OAAc,EAAdA,EAAgBiH,iBACfxwD,eAAAsI,WAAA,CAAAxI,SAAA,CACED,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACX7W,MAAM,aACN5M,KAAM,CAAC,WAAY,iBAAkB,YACrC0L,UAAQ,EAAAvK,SAERD,cAACoc,IAAK,CAACC,UAAW,IAAKhd,UAAW+wD,QAGtCpwD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACX7W,MAAM,QACN5M,KAAM,CAAC,WAAY,iBAAkB,YACrC0L,UAAQ,EAAAvK,SAERD,cAACoc,IAAK,CAACC,UAAW,IAAKle,KAAK,WAAWkB,UAAW+wD,WAKtB,WAArB,OAAd1G,QAAc,IAAdA,OAAc,EAAdA,EAAgBiH,iBACf3wD,cAAAyI,WAAA,CAAAxI,SACED,cAACyQ,IAAM,CACLC,MAAqB,OAAdg5C,QAAc,IAAdA,KAAgBgH,UAAoC,IAAGzwD,SAE9DD,cAACuiB,eAAY,CACX7W,MAAM,cACN5M,KAAM,CAAC,WAAY,iBAAkB,YAAYmB,SAEjDD,cAACoc,IAAK,CAACC,UAAW,IAAKle,KAAK,WAAWkB,UAAW+wD,UAK1DpwD,cAACoL,IAAKQ,KAAI,CAAC9M,KAAM,CAAC,WAAY,iBAAkB,UAAWq1C,QAAM,IACjEn0C,cAACoL,IAAKQ,KAAI,CACR9M,KAAM,CAAC,WAAY,iBAAkB,kBACrCq1C,QAAM,IAERn0C,cAACoL,IAAKQ,KAAI,CAAC9M,KAAM,CAAC,WAAY,iBAAkB,aAAcq1C,QAAM,IACpEn0C,cAACoL,IAAKQ,KAAI,CACR9M,KAAM,CAAC,WAAY,iBAAkB,yBACrCq1C,QAAM,OAIU,UAAnBuV,EACC1pD,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,WAAY,iBAAkB,cACrC4M,MAAM,gBAAezL,SAErBD,cAACoc,IAAK,CAACC,UAAW,GAAIle,KAAK,WAAWkB,UAAW+wD,QAGnD,KAEJjwD,eAACoQ,IAAG,CAAAtQ,SAAA,CACFD,cAACyQ,IAAM,CAACC,KAAoB,OAAdg5C,QAAc,IAAdA,KAAgBkH,sBAAwB,GAAK,GAAG3wD,SAC5DD,cAACuiB,eAAY,CACX7W,MAAM,6BACN5M,KAAM,CAAC,WAAY,iBAAkB,gBAAgBmB,SAErDE,eAAC8R,IAAM,CAAC5S,UAAW+wD,EAAQnwD,SAAA,CACzBD,cAACiS,IAAOK,OAAM,CAACnM,MAAM,yBAAwBlG,SAAC,8BAG9CD,cAACiS,IAAOK,OAAM,CAACnM,MAAM,8BAA6BlG,SAAC,oCAGnDD,cAACiS,IAAOK,OAAM,CAACnM,MAAM,YAAWlG,SAAC,WACjCD,cAACiS,IAAOK,OAAM,CAACnM,MAAM,mBAAkBlG,SAAC,qCAGxCD,cAACiS,IAAOK,OAAM,CAACnM,MAAM,qCAAoClG,SAAC,sDAMjD,OAAdypD,QAAc,IAAdA,OAAc,EAAdA,EAAgBkH,wBACf5wD,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CACX7W,MAAM,0CACN5M,KAAM,CAAC,WAAY,iBAAkB,sBAAsBmB,SAE3DD,cAACiuD,EAAW,CACV3uD,YAAY,oBACZkvD,WAAW,MACXjpD,MAAM,0CACNxG,SAAS,mBACTM,UAAW+wD,EACXjpD,QAAS,CACP,CACE5B,MAAO,YACP+2C,UAAW,CAAC,QACZ6S,OAAO,GAET,CACE5pD,MAAO,kBACP+2C,UAAW,CAAC,0BAS1Bn8C,eAACoQ,IAAG,CAAAtQ,SAAA,CACFD,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CACX7W,MACqB,aAAnBg+C,EACI,MACA,0CAEN5qD,KAAM,CAAC,WAAY,iBAAkB,mBAAmBmB,SAExDD,cAACoc,IAAK,CAACC,UAAW,IAAKhd,UAAW+wD,QAGtCpwD,cAACyQ,IAAM,CAACC,KAAM,GAAGzQ,SACfD,cAACuiB,eAAY,CACX7W,MAAM,OACN5M,KAAM,CAAC,WAAY,iBAAkB,YAAYmB,SAEjDD,cAACiuD,EAAW,CACV3uD,YAAY,oBACZkvD,WAAW,MACXjpD,MAAM,mBACNxG,SAAS,QACTM,UAAW+wD,EACXjpD,QAAS,CACP,CACE5B,MAAO,YACP+2C,UAAW,OACX6S,OAAO,EACPjxD,MAAO,OAET,CACEqH,MAAO,kBACP+2C,UAAW,cACXp+C,MAAO,iBAOnBiC,eAACoQ,IAAG,CAAAtQ,SAAA,CACFD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACX7W,MAAM,MACN5M,KAAM,CAAC,WAAY,iBAAkB,WAAWmB,SAEhDD,cAAC05B,IAAY,CAACr6B,UAAW+wD,QAG7BpwD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACX7W,MAAM,MACN5M,KAAM,CAAC,WAAY,iBAAkB,WAAWmB,SAEhDD,cAAC05B,IAAY,CAACr6B,UAAW+wD,QAG7BpwD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACX7W,MAAM,SACN5M,KAAM,CAAC,WAAY,iBAAkB,cAAcmB,SAEnDD,cAAC05B,IAAY,CAACr6B,UAAW+wD,QAG7BpwD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACX7W,MAAM,KACN5M,KAAM,CAAC,WAAY,iBAAkB,UAAUmB,SAE/CD,cAAC05B,IAAY,CAACr6B,UAAW+wD,QAG7BpwD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACX7W,MAAM,OACN5M,KAAM,CAAC,WAAY,iBAAkB,YAAYmB,SAEjDD,cAAC05B,IAAY,CAACr6B,UAAW+wD,QAG7BpwD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACX7W,MAAM,OACN5M,KAAM,CAAC,WAAY,iBAAkB,YAAYmB,SAEjDD,cAAC05B,IAAY,CAACr6B,UAAW+wD,WAI/BjwD,eAACoQ,IAAG,CAAAtQ,SAAA,CACFD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,WAAY,iBAAkB,eACrC4M,MAAM,aACNwe,cAAc,UAASjqB,SAEvBD,cAACo4C,IAAM,CAAC/4C,UAAW+wD,QAGvBpwD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,WAAY,iBAAkB,eACrC4M,MAAM,aACNwe,cAAc,UAASjqB,SAEvBD,cAACo4C,IAAM,CAAC/4C,UAAW+wD,QAGvBpwD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,WAAY,iBAAkB,kBACrC4M,MAAM,gBACNwe,cAAc,UAASjqB,SAEvBD,cAACo4C,IAAM,CAAC/4C,UAAW+wD,QAGvBpwD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,WAAY,iBAAkB,cACrC4M,MAAM,YACNwe,cAAc,UAASjqB,SAEvBD,cAACo4C,IAAM,CAAC/4C,UAAW+wD,QAGvBpwD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,WAAY,iBAAkB,gBACrCq5C,WAAW,SACXzsC,MAAM,cACNwe,cAAc,UAASjqB,SAEvBD,cAACo4C,IAAM,CAAC/4C,UAAW+wD,QAGvBpwD,cAACyQ,IAAM,CAACC,KAAM,EAAEzQ,SACdD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,WAAY,iBAAkB,gBACrC4M,MAAM,cACNwe,cAAc,UAASjqB,SAEvBD,cAACo4C,IAAM,CAAC/4C,UAAW+wD,YAIvBvM,GACA7jD,cAACuiB,eAAY,CACXzjB,KAAM,CAAC,WAAY,+BACnB4M,MAAM,oDACNwe,cAAc,UACdiqB,OAAQkc,EAAgCpwD,SAExCD,cAACo4C,IAAM,QAGV,C,6GChTQyY,MA5FQjyD,IAAuC,IAAtC,OAAEkyD,EAAM,MAAE5tD,EAAK,IAAE6tD,EAAG,SAAE97C,GAAUrW,EACtD,MAAM,SAAE+xB,GAAaP,uBAAa7wB,GAAUA,EAAMqQ,UAAY,CAAC,IAyBzDtK,EAAOA,CAAC0rD,EAAOC,EAAUF,KAC7B,IAAI,MAAEnvB,GAAUovB,EAChB,MAAM,QAAEnvB,GAAYtyB,cAMpB,OAJKtH,MAAMC,QAAQ05B,KACjBA,EAAQ,IAIRovB,EAAMF,SACgB,IAAtBE,EAAME,aACNF,EAAMF,OAAOjtC,MAAMtgB,GAAMA,EAAE+B,OAGzBtF,cAAC89C,IAAKqT,QAAO,CAEX9xD,SAAU4V,EACV1P,MACEpF,eAAA,QAAAF,SAAA,CACG+wD,EAAMzrD,MACPvF,cAACK,kBAAe,CACdG,MAAO,CAAEy4C,WAAY,OACrB74C,UAAU,OACVE,KAAK,kBAGVL,SAEA+wD,EAAMF,OACJjpD,QAAQtE,GAAMA,EAAE+B,OAChBhC,KAAKC,GAAM+B,EAAK/B,EAAGytD,EAAMngB,MAAM,OAf5BogB,GAAY,IAAMD,EAAMngB,MAoBhCjP,EAAMr7B,OAAS,IAAMs7B,KAAWD,EAAOtlC,MAClC,KAIP0D,cAAC89C,IAAKlyC,KAAI,CAAkBvM,SAAU4V,EAAShV,SAC7CE,eAACixD,OAAI,CAACC,GAAE,GAAAjuD,OAAKkuD,yBAAepuD,GAAQ+tD,GAAY,IAAMD,EAAMngB,OAAQ5wC,SAAA,CACjE8wD,GAAOC,EAAM1rD,MACZtF,cAACK,kBAAe,CAACD,UAAU,OAAOE,KAAM0wD,EAAM1rD,KAAKhF,OAErDN,cAAA,QAAAC,SAAO+wD,EAAMzrD,YALDyrD,EAAMngB,KAOV,EAIV0gB,EAAkB5gC,EAAS7tB,QAAQ,OAAQ,IAEjD,OACE9C,cAAC89C,IAAI,CAACyT,gBAAiB,CAACA,GAAkBj7C,KAAK,aAAYrW,SACxD6wD,GACCA,EACGjpD,QACEmpD,GAjFQA,KACjB,MAAM,MAAEpvB,GAAUovB,GACZ,gBAAEQ,EAAe,KAAEliD,EAAI,QAAEipB,GAAYhpB,cAE3C,QAAKiiD,MAIDj5B,OAIAqJ,IAAUA,EAAMz5B,MAAM5E,GAAM+L,EAAKsyB,MAAM/+B,SAASU,IAAY,MAANA,OAIjD,OAALytD,QAAK,IAALA,MAAO7c,SACD6c,EAAM7c,OAAW,OAAJ7kC,QAAI,IAAJA,OAAI,EAAJA,EAAMM,WAGlB,EA8DDuG,CAAU66C,KAAWA,EAAM1rD,OAA8B,IAAtB0rD,EAAME,eAE5C5tD,KAAK0tD,GAAU1rD,EAAK0rD,MACpB,ECnFIS,IAXW7yD,IAAkC,IAAjC,OAAEkyD,EAAM,MAAE5tD,EAAK,SAAE+R,GAAUrW,EACpD,OACEuB,eAAA,OAAKC,UAAU,oDAAmDH,SAAA,CAChED,cAAC6wD,EAAc,CAACC,OAAQA,EAAQ5tD,MAAOA,EAAO+R,SAAUA,IACxDjV,cAAA,MAAII,UAAU,qCAAoCH,SAChDD,cAAA,MAAII,UAAU,oBAEZ,C,opuDCVVsxD,EAAOC,QAAU,CAEf,cAAe,YACf,iBAAkB,WAGlB,mCAAoC,KACpC,mCAAoC,KACpC,mCAAoC,KACpC,mCAAoC,KACpC,mCAAoC,KACpC,mCAAoC,KACpC,2CAA4C,aAC5C,qCAAsC,YACtC,0CAA2C,WAC3C,uCAAwC,SAGxC,8CAA+C,mBAC/C,uCAAwC,eACxC,6CAA8C,kBAG9C,wCAAyC,WACzC,4CAA6C,gBAC7C,yCAA0C,gBAG1C,kCAAmC,QAGnC,4CAA6C,QAG7C,wCAAyC,mBAGzC,sCAAuC,WACvC,mCAAoC,WACpC,mCAAoC,UAGpC,kCAAmC,SACnC,uCAAwC,oBACxC,kCAAmC,MACnC,yCACE,kDAGF,kCAAmC,UACnC,oCAAqC,aACrC,uCAAwC,YACxC,2CAA4C,SAC5C,uCAAwC,YACxC,yCAA0C,cAC1C,uCAAwC,YAGxC,qCAAsC,oBACtC,sCAAuC,sBACvC,4CAA6C,iCAC7C,gCAAiC,eACjC,kCAAmC,eAGnC,gCAAiC,QACjC,qCAAsC,uBACtC,mCAAoC,iBACpC,kCAAmC,iBACnC,mCAAoC,iBAGpC,oCAAqC,UAGrC,0CAA2C,kBAC3C,qCAAsC,wBACtC,uCAAwC,oBACxC,sCAAuC,uBACvC,wCAAyC,a,mCC/E3C,2iBAEO,MAAMC,EAAwB,wBAExBC,EACX,oCACWC,EACX,6CAEWC,EACX,iDAEWC,EACX,qCACWC,EACX,8CAEWC,EACX,2CAEWC,EACX,sCACWC,EACX,+CAEWC,EACX,4CACWC,EACX,qDAEWznB,EAAaA,CAAC3oC,EAAMQ,IAAc0sB,gBACvCC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,yBACVywB,WAAYqiC,EACZpiC,OAAQL,SAAYjtB,MAAIC,KAAK,uCAAwCF,GACrEQ,YACA0jC,OAAQA,KAAM,GACd,EAaSmsB,EAAoB,eAACrzD,EAAMoH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAG5D,EAAS4D,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EAAA,OAAK4oB,gBAGrDC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,oCACVywB,WAAYwiC,EACZvqB,QAASvoC,EACTuwB,OAAQL,SACNjtB,MAAI2N,MAAM,wCAAyC5Q,GACrDwD,YACA0jC,OAAQA,KAAM,GACd,CACF,EAEWosB,EAAqB,eAACtzD,EAAMoH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAG5D,EAAS4D,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EAAA,OAAK4oB,gBAGtDC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,qCACVywB,WAAY2iC,EACZ1qB,QAASvoC,EACTuwB,OAAQL,SACNjtB,MAAI2N,MAAM,yCAA0C5Q,GACtDwD,YACA0jC,OAAQA,KAAM,GACd,CACF,EAEWqsB,EAAqB/wD,GAAU6tB,IAC1CA,EACEF,aAAWiX,aACT4rB,EACA,oCACAxwD,GAEH,EAGUgxD,EAAqB,eAAChxD,EAAI4E,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAG5D,EAAS4D,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EAAE4/B,EAAM9/B,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EAAA,OAAK4oB,gBAG5DC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,qCACVywB,WAAY6iC,EACZ5qB,QAAS/lC,EACT+tB,OAAQL,SAAYjtB,MAAIulC,IAAI,yCAA0ChmC,GACtEgB,YACA0jC,UACA,CACF,C,mCCvGF,mjBAGO,MAAMusB,EAAqB,qBAErBC,EACX,gDACWC,EACX,yDAEWC,EACX,gDACWC,EACX,yDAEWC,EACX,0CACWC,EACX,mDAEWC,EAAiC,iCACjCC,EACX,0CAEWC,EACX,kCACWC,EACX,2CAEWC,EAA0BA,CAACp0D,EAAQwD,IAAc0sB,gBAGtDC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,sBACVywB,WAAYojC,EACZnjC,OAAQL,SACNjtB,MAAI2N,MAAM,sCAAuC,CAC/CyjD,aAAc,CAACx5D,SACZmF,IAEPwD,aACA,EAGS8wD,EAA0BA,CAACt0D,EAAQwD,IAAc0sB,gBAGtDC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,sBACVywB,WAAYsjC,EACZrjC,OAAQL,SACNjtB,MAAI2N,MAAM,sCAAuC,CAC/CyjD,aAAc,CAACv5D,QACZkF,IAEPwD,aACA,EAGS+wD,EAAoBA,CAACv0D,EAAQwD,IAAc0sB,gBAChDC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,sBACVywB,WAAYwjC,EACZvjC,OAAQL,SACNjtB,MAAI2N,MAAM,sDAAuD5Q,GACnEwD,aACA,EAGSgxD,EAAaA,CAACx0D,EAAQwD,IAAc0sB,gBACzCC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,sBACVywB,WAAY0jC,EACZzjC,OAAQL,SAAYjtB,MAAI2N,MAAM,gCAC9BpN,aACA,EAGSixD,EAAcA,CAACz0D,EAAQwD,IAAc0sB,gBAC1CC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,sBACVywB,WAAY4jC,EACZ3jC,OAAQL,SAAYjtB,MAAI2N,MAAM,iCAAkC5Q,GAChEwD,aACA,C,meCzFJ,MAAMkxD,EAA2B,6BAC3BztC,EAA0B,0BAC1BE,EAA0B,0BAC1BwtC,EACJ,2CACIztC,EAAc,cACdF,EAAc,a,mCCNpB,MAAM,KAAEnB,GAASrE,OACFqE,K,oJCSA+7B,MARgBF,GACtB3oC,4BAAkB2oC,EAAM,CAC7Bl1C,MAAQnI,IAAO,IAADuwD,EACZ,MAAM,GAAN1wD,OAAUG,EAAEzE,KAAI,OAAAsE,OAAa,QAAb0wD,EAAMvwD,EAAEhE,aAAK,IAAAu0D,OAAA,EAAPA,EAAStwD,cAAa,ICgBnCuwD,MArBkB5tD,IAC/B,IAAKA,EACH,OAAO,KAGT,MAAM4uB,EAAI5uB,EAAMuF,MAAMsoD,YAAY,OAElC,OAAIj/B,EAAI,EACC,CACLnsB,GAAIzC,EAAMpE,IACVjD,KAAMqH,EAAMuF,MAAMuoD,UAAU,EAAGl/B,IAI5B,CACLnsB,GAAIzC,EAAMpE,IACVjD,KAAMqH,EAAMuF,MAAMuoD,UAAU,EAAGl/B,GAC/Bx1B,MAAO4G,EAAMuF,MAAMuoD,UAAUl/B,EAAI,GAClC,EClBH,MAAMm/B,EAAgB,CAAC,MAAO,QA6BfC,MA3BMr1D,IACnB,IAAKA,EACH,MAAO,GAGT,MAAM+oD,EAAO/oD,EACVohD,OACAjgC,MAAM,KACNpY,QACEtE,IAAO,CAAC,KAAM,KAAM,KAAM,MAAO,MAAO,KAAKV,SAASU,EAAER,iBAGvDqxD,EAA4BvM,EAAKhgD,QACpCtE,IAAO2wD,EAAcrxD,SAASU,KAWjC,MAAO,CARcskD,EAAKhkC,MAAMtgB,GAAM2wD,EAAcrxD,SAASU,KAE3C6wD,EAA0BtP,MAAM,EAAG,GAAGzhD,KAAK,KAE3D+wD,EAA0B7tD,OAAS,EAC/B6tD,EAA0BtP,OAAO,GAAGzhD,KAAK,KACzC,MAEqCwE,QAAQtE,KAAQA,IAAGF,KAAK,IAAI,C,mCC1BzE,MAAMsuC,EAAY,CAAC,sBAAuB,iBAmB3BtW,IAjBOA,CAACl1B,EAAOhI,KAC5B,QAAcqI,IAAVL,GAAgC,MAATA,EACzB,OAAO,EAGT,OAAQhI,GACN,IAAK,OACH,OAAOwzC,EAAU9uC,SAASsD,GAC5B,IAAK,OACH,MAAiB,yCAAVA,EACT,IAAK,SACH,OAAqC,IAA9BvE,OAAOC,KAAKsE,GAAOI,OAC5B,QACE,MAAiB,KAAVJ,EACX,C,mCChBF,6CAIA,MAAMqW,EAAmBA,CAAC5V,EAAO6L,KAC/B,MAAM,YAAEgK,EAAW,QAAE/c,KAAYuL,GAASrE,EACpCytD,EAAY3hD,iBAAO,MAQnB4hD,EAAsBvgD,sBAAY4H,oBANhByW,KAClB3V,GACFA,GACF,GAGgE,KAAM,CACtEA,IAeI83C,EAAcA,KAClBF,EAAU59C,QAAQ+9C,UAAU,EAAE,EAShC,OANA59C,8BAAoBnE,GAAK,KAChB,CACL8hD,kBAKFv0D,cAACy0D,aAAU,IACLxpD,EACJwH,IAAK4hD,EACLK,UAAQ,EACRC,SA3BkB1oD,IACpB,MAAM,OAAEhG,GAAWgG,EAEjBkhB,WAAWlnB,EAAOuuD,UAAYvuD,EAAO2uD,cAAcvP,QAAQ,IAC3Dl4B,WAAWlnB,EAAO4uD,cAAcxP,QAAQ,GAAK,IAEzC5oC,IAAgB/c,GAClB40D,GAEJ,EAmBEQ,WAAaC,GACX/0D,cAAA,UACM+0D,EACJv0D,MAAO,IAAKu0D,EAAgBv0D,MAAOw0D,UAAW,YAGlDC,sBAAwBC,GACtBl1D,cAAA,UACMk1D,EACJ10D,MAAO,CAAEU,QAAS,QAClBd,UAAU,sBAGd,EAIS2E,QAAMmT,WAAWsE,E,mCC9DjB,SAAStG,IACtB,IAAIouB,GAAI,IAAIkB,MAAO2vB,UACfC,EAAMC,aAAeA,YAAYC,KAA2B,IAApBD,YAAYC,OAAiB,EACzE,MAAO,uCAAuCxyD,QAAQ,SAAUS,IAC9D,IAAIgyD,EAAoB,GAAhB16B,KAAKE,SAQb,OAPIuJ,EAAI,GACNixB,GAAKjxB,EAAIixB,GAAK,GAAK,EACnBjxB,EAAIzJ,KAAKC,MAAMwJ,EAAI,MAEnBixB,GAAKH,EAAKG,GAAK,GAAK,EACpBH,EAAKv6B,KAAKC,MAAMs6B,EAAK,MAET,MAAN7xD,EAAYgyD,EAAS,EAAJA,EAAW,GAAK/qC,SAAS,GAAG,GAEzD,CAfA,iC,6XCAA,+VAEO,MAAMgrC,EAAiB,iBACjBC,EAA0B,0BAG1BC,EAA+B,+BAG/BC,EACX,uCAEWC,EAAuB,uBACvBC,EAAgC,gCAIhCC,EACX,kDAEWjgD,EAAO3W,GAAWkwB,gBACvBC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,aACVywB,WAAYgmC,EACZ/lC,OAAQL,SAAYjtB,MAAI2N,MAAM,aAAc,IAAK5Q,KACjD,EAGS62D,EAAyB,eAAC72D,EAAMoH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAC,OAAK8oB,gBAC/CC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,aACVywB,WAzBuC,8BA0BvCC,OAAQL,SACNjtB,MAAI2N,MAAM,kCAAmC,IAAK5Q,KACpD,CACF,EAEW82D,EAA0B,eAAC92D,EAAMoH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAC,OAAK8oB,gBAChDC,aAAWC,sBAAsB,CACrCC,WACAxwB,SAAU,aACVywB,WA3BF,yCA4BEC,OAAQL,SAAYjtB,MAAI2N,MAAM,oCAAqC5Q,IACnE,CACF,C,yHCrCa+2D,MATal0D,IAC1B,IACE,MAAMm0D,EAAStwB,aAAazyB,QAAQpR,GACpC,OAAOmvB,KAAKxL,MAAMwwC,EAASC,KAAKD,GAAU,KAC5C,CAAE,MAAOpwD,GACP,MAAO,CAAC,CACV,GCJF,MAAM4nD,EAAOuI,EAAmB,aAC1BhwB,EAAcL,aAAazyB,QAAQ,oBACnC6c,EAAe4V,aAAazyB,QAAQ,qBACpC7D,EAAOo+C,EAAKp+C,MAAQ,CAAC,EACrB8mD,EAAsBxwB,aAAazyB,QAAQ,wBAEpCkjD,EAAmB,IAC3B3I,EACHp+C,KAAI,EACJgnD,OAAQhnD,EAAKgnD,QAAU,GACvBC,YAAajnD,EAAKinD,aAAe,GACjCzuC,eAAgB4lC,EAAK5lC,eAAiB,IAAI0d,KAAKkoB,EAAK5lC,gBAAkB,KACtEkI,aAAY,EACZiW,cACAmwB,oBAAqBA,EACjBllC,KAAKxL,MAAM0wC,GACX,M,uFCLSI,MATU53D,IAAoB,IAAnB,UAAEwB,GAAWxB,EACrC,MAAM63D,EAAUz2D,cAACE,IAAe,CAACM,MAAO,CAAEouB,SAAU,IAAM0jB,MAAI,IAC9D,OACEtyC,cAAA,OAAKI,UAAS,UAAAgD,OAAYhD,GAAYH,SACpCD,cAACmX,IAAI,CAACu/C,UAAWD,KACb,ECFK,SAASE,EAAeC,GAAuC,IAAtBC,EAAWvwD,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACjE,MAAMwwD,UAAkB9xD,YACtB4U,YAAYhT,GACVkT,MAAMlT,GACNsE,KAAK3L,MAAQ,CACXw3D,UAAW,MAEb7rD,KAAK2rD,YAAcA,CACrB,CAEAG,qBACEC,IAAUC,UAAU,CAAEL,YAAa3rD,KAAK2rD,cACxCI,IAAUjoD,OACZ,CAEAmoD,uBACEjsD,KAAKksD,SAAU,CACjB,CAEA,uBAAMt7C,GACJ5Q,KAAKksD,SAAU,EACf,MAAQC,QAASryD,SAAoB4xD,IACrCK,IAAUK,OACNpsD,KAAKksD,SACPlsD,KAAK1L,SAAS,CACZu3D,UAAW/2D,cAACgF,EAAS,IAAKkG,KAAKtE,SAGrC,CAEA0B,SACE,MAAMtD,EACJkG,KAAK3L,MAAMw3D,YACV7rD,KAAK2rD,YAAc72D,cAACw2D,EAAgB,IAAMx2D,cAAAyI,WAAA,KAC7C,OACEzI,cAACu3D,IAAgB,CAACp5D,KAAK,OAAO69B,KAAM,EAAGw7B,MAAqB,OAAdxyD,EAAmB/E,SAC9D+E,GAGP,EAGF,OAAO8xD,CACT,C,iDChDeW,MAFI7wD,GAAUA,EAAM3G,S,6CCsCpBy3D,MA1BM9wD,IACnB,MAAM,MAAE1I,EAAK,UAAEy5D,GAAcvnC,uBAAa7wB,GAAUA,EAAMqQ,WAC1D,IAAI,SAAErR,GAAaqI,EAKnB,OAJI1I,EAAQ05D,KAAYr5D,IAAas5D,MACnCt5D,EAAWu5D,KAIX93D,cAAA,OAAKI,UAAU,yBAAwBH,SACrCD,cAACoxD,OAAI,CAACC,GAAG,OAAOjxD,UAAU,eAAcH,SACrC1B,IAAaw5D,KAAoC75D,GAAS05D,IACzD53D,cAAA,OAAKkE,IAAI,GAAGF,IAAKg0D,EAAQ,KAA4BX,UACnDM,IAAcM,IAChBj4D,cAAA,OACEkE,IAAI,GACJF,IAAKg0D,EAAQ,KAA4BX,QACzCj3D,UAAU,gBAGZJ,cAAA,OAAKkE,IAAI,GAAGF,IAAKg0D,EAAQ,MAA0BX,aAGnD,E,iBC8DKa,MAzFat5D,IAMrB,IANsB,SAC3B+xB,EAAQ,OACRmgC,EAAM,MACN5tD,EAAK,UACLy0D,EAAS,SACT1iD,GACDrW,EACC,MAAM,gBAAE4yD,EAAe,KAAEliD,EAAI,QAAEipB,GAAYhpB,cAoBrC4oD,EAAmBtnB,GAChBA,EAAK/tC,QAAQ,OAAQ,IAAIA,QAAQ,KAAM,IAG1CwC,EAAOA,CAAC0rD,EAAOC,EAAUF,KAC7B,GACEC,EAAMF,SACgB,IAAtBE,EAAME,aACNF,EAAMF,OAAOjtC,MAAMtgB,GAAMA,EAAE+B,OAC3B,CACA,MAAMvD,GAAOkvD,GAAY,IAAMD,EAAMngB,KAErC,OACE7wC,cAAC89C,IAAKqT,QAAO,CAAW5rD,MAAOyrD,EAAMzrD,MAAOlG,SAAU4V,EAAShV,SAC5D+wD,EAAMF,OACJjpD,QAAQtE,GAAMA,EAAE+B,OAChBhC,KAAKC,GAAM+B,EAAK/B,EAAGytD,EAAMngB,MAAM,MAHjB9uC,EAMvB,CAEA,IAAIA,EAAMuvD,yBAAepuD,GAAQ+tD,GAAY,IAAMD,EAAMngB,MAGzD,OAFA9uC,EAAMo2D,EAAgBp2D,GAGpB/B,cAAC89C,IAAKlyC,KAAI,CAAWvM,SAAU4V,EAAShV,SACtCD,cAACoxD,OAAI,CAACC,GAAE,GAAAjuD,OAAKkuD,yBAAepuD,GAAQ+tD,GAAY,IAAMD,EAAMngB,OAAQ5wC,SAClED,cAAA,OAAKI,UAAU,WAAUH,SACvBD,cAAA,QAAAC,SAAO+wD,EAAMzrD,aAHHxD,EAMJ,EAIVwvD,EAAkB,CAAC4G,EAAgBxnC,IACnC9uB,EAAOs2D,EAAgBxnC,GAC1B1Q,MAAM,KACNpY,QAAQtE,KAAQA,IAMnB,OAJI1B,EAAK0E,OAAS,GAChBgrD,EAAgBnpD,KAAK,IAADhF,OAAKvB,EAAK,KAI9B7B,cAAC89C,IAAI,CACHyT,gBAAiBA,EACjB6G,aAAc7G,EACd8G,MAAOV,IAAcM,IAAkB,OAAS,OAChD3hD,KAAK,SAAQrW,SAEZ6wD,GACCA,EACGjpD,QACEmpD,GAxEQA,KACjB,MAAM,MAAEpvB,GAAUovB,EAElB,QAAKQ,MAIDj5B,OAIAqJ,IAAUA,EAAMz5B,MAAM5E,GAAM+L,EAAKsyB,MAAM/+B,SAASU,IAAY,MAANA,KAI/C,EA0DD4S,CAAU66C,KAAWA,EAAM1rD,OAA8B,IAAtB0rD,EAAME,eAE5C5tD,KAAK0tD,GAAU1rD,EAAK0rD,MACpB,ECvEX,MAAMsH,UAAuBtzD,YAAU4U,cAAA,SAAAtT,WAAA,KACrCiyD,iBAAoBh6D,GAEhBA,IAAaw5D,KACbx5D,IAAai6D,IAEN,6BAEF,GACP,KAEFC,wBAA2Bl6D,GACrBA,IAAaw5D,IACR,6BAEF,EACP,CAEFzvD,SACE,MAAM,UACJqvD,EAAS,SACTp5D,EAAQ,SACRoyB,EAAQ,OACRmgC,EAAM,MACN5tD,EAAK,WACLw1D,EAAU,cACVC,EAAa,SACb1jD,GACE/J,KAAKtE,MAET,IAAIwxD,EAAeznC,EAAS1I,OAAO,GAKnC,MAJqB,KAAjBmwC,IACFA,EAAe,SAIfj4D,eAACs3D,EAAS,CAAAx3D,SAAA,CACRD,cAAC03D,EAAW,IAEXiB,GAAiBA,EAAcC,iBAC9B54D,cAAC64D,IAAc,CAACC,eAAgBH,EAAcC,kBAGhD54D,cAAA,OAAKI,UAAU,qBAAoBH,SACjCD,cAACk4D,EAAmB,CAClBpH,OAAQA,EACRngC,SAAUA,EACVztB,MAAOA,EACP+R,SAAUA,QAKpB,EAkBa8jD,yBAdSn6D,IAAmC,IAAlC,SAAEgR,EAAQ,UAAE2gB,EAAY,CAAC,GAAG3xB,EACnD,MAAM,SAAEL,EAAQ,UAAEo5D,EAAS,OAAEhuD,EAAM,SAAEgnB,EAAQ,WAAE+nC,GAAe9oD,GACxD,MAAEopD,EAAQ,CAAC,GAAMzoC,GACfxb,QAASkkD,EAAa,CAACC,gBAAeP,EAAgB,CAAC,GAAMK,EACrE,MAAO,CACLz6D,WACAo5D,YACAhuD,SACAgnB,WACA+nC,aACAO,cACAN,gBACD,GAEYI,CAAyBT,GCzExC,MAAM,MAAEa,GAAUC,IAElB,MAAMC,UAAgBr0D,YACpB4U,YAAYhT,EAAO0yD,GACjBx/C,MAAMlT,EAAO0yD,GACbpuD,KAAKquD,qBAAuBruD,KAAKquD,qBAAqBC,KAAKtuD,KAC7D,CAEA4Q,oBACE4E,OAAO+4C,iBAAiB,UAAU,KAChCvuD,KAAKtE,MAAM3I,kBAAkByiB,OAAOg5C,WAAW,GAEnD,CAEAH,uBACE,MAAM,aAAEl7D,GAAiB6M,KAAKtE,MAC9BsE,KAAKtE,MAAMxI,wBAAwBC,EACrC,CAEAiK,SACE,MAAM,UACJqvD,EAAS,aACTt5D,EAAY,MACZH,EAAK,SACLK,EAAQ,OACRuyD,EAAS,GAAE,MACX5tD,EAAK,SACL+R,GACE/J,KAAKtE,MAET,IAAI+yD,EAAc,uBAsBlB,OApBIp7D,IAAas5D,IACf8B,EAAc,GACLp7D,IAAaw5D,IACtB4B,EAAc,yCACLp7D,IAAai6D,IACtBmB,EAAc,oBACLp7D,IAAaq7D,IACtBD,EAAc,kBACLp7D,IAAau5D,MACtB6B,EAAc,yBAGbp7D,IAAas5D,KACZt5D,IAAaq7D,KACbr7D,IAAai6D,MACft6D,EAAQ05D,MAER+B,EAAc,wBAId35D,cAACm5D,EAAK,CACJ/4D,UAAS,GAAAgD,OAAKu2D,EAAW,KAAAv2D,OACvBu0D,IAAcM,IAAkB,uBAAyB,MAE3Dh8C,QAAS,KACT49C,YACE37D,EAAQ05D,OAEJr5D,IAAaq7D,KACbr7D,IAAaw5D,KAEnBM,MAAOV,IAAcM,IAAkB,OAAS,OAChD6B,aAAW,EAAA75D,SAEV1B,IAAau5D,KAAoB55D,EAAQ05D,IACxC53D,cAACskB,IAAM,CACLlkB,UAAS,qBAAAgD,OACPu0D,IAAcM,IAAkB,yBAA2B,MAE7DtmD,UAAU,OACVgnB,UAAU,EACVnhB,QAAStM,KAAKquD,qBACdrkD,QAAS7W,EAAa4B,SAEtBD,cAACs4D,EAAc,CAACxH,OAAQA,EAAQ5tD,MAAOA,EAAO+R,SAAUA,MAG1DjV,cAACs4D,EAAc,CAACxH,OAAQA,EAAQ5tD,MAAOA,EAAO+R,SAAUA,KAIhE,EAOa8jD,yBAJSn6D,IAAmB,IAAlB,SAAEgR,GAAUhR,EACnC,MAAM,UAAE+4D,EAAS,SAAEp5D,EAAQ,aAAEF,EAAY,MAAEH,EAAK,OAAEyL,GAAWiG,EAC7D,MAAO,CAAE+nD,YAAWp5D,WAAUF,eAAcH,QAAOyL,SAAQ,GAErB,CACtC1L,sBACAG,4BAFa26D,CAGZM,G,mCCqBHU,IAAQ9pD,IACN+pD,IACAC,IACAC,KACAC,IACAC,IACAC,IACAC,KACAC,KACAC,KACAC,IACAC,IACAC,KACAC,KACAC,KACAC,KACAC,IACAC,KACAC,IACAC,KACAC,IACAC,IACAC,IACAC,KACAC,KACAC,IACAC,KACAC,IACAC,IACAC,IACAC,KACAC,IACAC,IACAC,IACAC,KACAC,IACAC,KACAC,KACAC,KACAC,IACAC,IACAC,IACAC,KACAC,KACAC,IACAC,KACAC,IACAC,KACAC,IACAC,IACAC,IACAC,KACAC,IACAC,KACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,KACAC,IACAC,KACAC,KACAC,KACAC,KACAC,IACAC,IACAC,IACAC,KACAC,IACAC,KACAC,IACAC,IACAC,IACAC,KACAC,IACAC,KACAC,IACAC,IACAC,IACAC,IACAC,KACAC,IACAC,KACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,KACAC,IACAC,KACAC,KACAC,IACAC,KACAC,KACAC,KACAC,KACAC,KACAC,IACAC,KACAC,IACAC,IACAC,KACAC,KACAC,KACAC,IACAC,KACAC,IACAC,KACAC,IACAC,IACAC,IACAC,IACAC,KACAC,IACAC,KACAC,KACAC,IACAC,KACAC,IACAC,K,+BCvLaC,OA9DaA,KAC1B,MAAM,KAAEryD,GAASC,cACXggB,EAAWO,wBACXd,EAAUC,eACV,mBAAE2yC,EAAoB,CAAC1I,gBAAeP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","file":"static/js/main.0ff44cc5.chunk.js","sourcesContent":["export const CREATED = 'created';\r\nexport const ACTIVATED = 'activated';\r\nexport const INACTIVATED = 'inactivated';\r\nexport const CANCELED = 'canceled';\r\nexport const SUSPENDED = 'suspended';\r\nexport const EXPIRED = 'expired';\r\nexport const INTRIAL = 'inTrial';\r\nexport const CANCELLATION_REQUESTED = 'cancellationRequested';\r\n\r\nexport const PENDING = 'pending';\r\nexport const ACCEPTED = 'accepted';\r\nexport const RECONCILED = 'reconciled';\r\nexport const IGNORED = 'ignored';\r\n\r\nexport const MEMED = 'memed';\r\nexport const RECEITADIGITAL = 'receitaDigital';\r\n\r\nexport const RECEIPT = 'receipt';\r\nexport const PAYMENT = 'payment';\r\n\r\nexport const SUMMARY = 'summary';\r\nexport const BALANCE = 'balance';\r\nexport const BEFOREBALANCE = 'beforeBalance';\r\nexport const ENDBALANCE = 'endBalance';\r\nexport const INITIALBALANCE = 'initialBalance';\r\n\r\nexport const BILLETBANK = 'billetBank';\r\nexport const CREDITCARD = 'creditCard';\r\nexport const DEBITCARD = 'debitCard';\r\nexport const DIRECTDEBIT = 'directDebit';\r\nexport const BANKDEPOSIT = 'bankDeposit';\r\nexport const PAYPAL = 'paypal';\r\nexport const BANKTRANSFER = 'bankTransfer';\r\nexport const CASH = 'cash';\r\nexport const BANKCHECK = 'bankCheck';\r\nexport const BALANCEWALLETS = 'balanceWallets';\r\nexport const PIX = 'pix';\r\nexport const ELECTRONICTRANSFER = 'electronicTransfer';\r\nexport const OTHER = 'other';\r\n\r\nexport const INCOMING = 'incoming';\r\nexport const OUTGOING = 'outgoing';\r\n\r\nexport const APOSITIVE = 'aPositive';\r\nexport const ANEGATIVE = 'aNegative';\r\nexport const BPOSITIVE = 'bPositive';\r\nexport const BNEGATIVE = 'bNegative';\r\nexport const ABPOSITIVE = 'abPositive';\r\nexport const ABNEGATIVE = 'abNegative';\r\nexport const OPOSITIVE = 'oPositive';\r\nexport const ONEGATIVE = 'oNegative';\r\n\r\nexport const APPROXIMATETAXES_DISABLED = 'disabled';\r\nexport const APPROXIMATETAXES_COMPLETE = 'complete';\r\nexport const APPROXIMATETAXES_SIMPLIFIED = 'simplified';\r\n\r\nexport const YEAR = 'year';\r\nexport const MONTH = 'month';\r\nexport const DAY = 'day';\r\nexport const COSTCENTER = 'costCenter';\r\n\r\nexport const NATIONAL = 'national';\r\nexport const STATE = 'state';\r\nexport const MUNICIPAL = 'municipal';\r\n\r\nexport const ACCOUNT_TYPE_STUDENT = 'student';\r\n\r\nexport const ROLE_ADMIN = 'Admin';\r\nexport const ROLE_PROFESSIONAL = 'Professional';\r\nexport const ROLE_RECEPTIONIST = 'Receptionist';\r\nexport const ROLE_USER = 'User';\r\nexport const ROLE_STUDENT = 'Student';\r\nexport const ROLE_OTHER_HEALTH_PROFESSIONAL = 'Other health professional';\r\nexport const ROLE_CLINIC_ADMINISTRATOR = 'Clinic administrator';\r\nexport const ROLE_FINANCIAL = 'Financial';\r\nexport const ROLE_ACCOUNTANT = 'Accountant';\r\nexport const ROLE_PARTNERSHIP = 'Partnership';\r\nexport const ROLE_FINANCIAL_ADMINISTRATOR = 'Financial administrator';\r\nexport const ROLE_STOCK = 'Stock';\r\n\r\nexport const PROFILE_DOCTOR = 'doctor';\r\nexport const PROFILE_ADMINISTRADOR = 'administrador';\r\nexport const PROFILE_OTHER = 'other';\r\nexport const PROFILE_RECEPTIONIST = 'receptionist';\r\nexport const PROFILE_ACCOUNTANT = 'accountant';\r\nexport const PROFILE_FINANCIAL = 'financial';\r\nexport const PROFILE_STUDENT = 'student';\r\nexport const PROFILE_USER = 'user';\r\nexport const PROFILE_PARTNERSHIP = 'partnership';\r\nexport const PROFILE_FINANCIAL_ADMINISTRATOR = 'financialAdministrator';\r\n\r\nexport const ACCOUNTANTS = 'accountants';\r\n","import { NAV_STYLE } from 'constants/themeSettings';\r\n\r\nexport const TOGGLE_COLLAPSED_NAV = 'SETTINGS_TOGGLE_COLLAPSE_MENU';\r\nexport const WINDOW_WIDTH = 'SETTINGS_WINDOW-WIDTH';\r\nexport const SWITCH_LANGUAGE = 'SETTINGS_SWITCH-LANGUAGE';\r\nexport const CHAT_LOADED = 'CHAT_LOADED';\r\n\r\nexport const updateWindowWidth = (width) => {\r\n return { type: WINDOW_WIDTH, width };\r\n};\r\n\r\nexport function toggleCollapsedSideNav(navCollapsed) {\r\n return { type: TOGGLE_COLLAPSED_NAV, navCollapsed };\r\n}\r\n\r\nexport function onNavStyleChange(navStyle) {\r\n return { type: NAV_STYLE, navStyle };\r\n}\r\n\r\nexport function chatLoad() {\r\n return { type: CHAT_LOADED };\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Input, Row, Col } from 'antd';\r\nimport { MaskedInput } from 'antd-mask-input';\r\nimport { normalizeToSelect } from 'util/converters';\r\nimport {\r\n FormItem,\r\n api,\r\n RemoteSelect,\r\n useFormContext\r\n} from 'react-structure-admin';\r\n\r\nconst formItemLayout = {\r\n labelCol: {\r\n xs: { span: 24 },\r\n sm: { span: 9 }\r\n },\r\n wrapperCol: {\r\n xs: { span: 24 },\r\n sm: { span: 15 }\r\n },\r\n labelAlign: 'left',\r\n colon: false\r\n};\r\n\r\nconst Address = ({ address }) => {\r\n const [state, setState] = useState({\r\n lastPostalCode: null,\r\n loadingAddress: false\r\n });\r\n\r\n const { form } = useFormContext();\r\n\r\n const setAddress = (newAddress) => {\r\n form.setFieldsValue({\r\n address: {\r\n ...newAddress,\r\n city: normalizeToSelect(newAddress.city)\r\n }\r\n });\r\n };\r\n\r\n const findAddress = (postalCode) => {\r\n postalCode = postalCode.replace(/[^0-9.]/g, '');\r\n\r\n if (state.lastPostalCode === postalCode) {\r\n return;\r\n }\r\n\r\n setState({ ...state, lastPostalCode: postalCode, loadingAddress: true });\r\n\r\n api.fetch('localizations', { postalCode }).then(({ data }) => {\r\n setState({ ...state, loadingAddress: false });\r\n setAddress(\r\n data\r\n ? data.result\r\n : {\r\n street: null,\r\n number: null,\r\n district: null,\r\n additionalInformation: null,\r\n city: undefined\r\n }\r\n );\r\n });\r\n };\r\n\r\n const handlePostalCodeChange = (sender) => {\r\n const postalCode = sender.target.value.replace(/[^0-9.]/g, '');\r\n if (postalCode.length === 8) {\r\n findAddress(postalCode);\r\n }\r\n };\r\n\r\n const {\r\n postalCode,\r\n number,\r\n district,\r\n additionalInformation,\r\n city,\r\n street\r\n } = address;\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n >\r\n );\r\n};\r\n\r\nexport default Address;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Upload, Spin, message, Button } from 'antd';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { api, LinkButton } from 'react-structure-admin';\r\nimport join from 'util/functions/join';\r\nimport { CloseCircleOutlined, LoadingOutlined } from '@ant-design/icons';\r\n\r\nconst UploadArchive = ({\r\n onChange,\r\n name,\r\n resource,\r\n extension = ['png', 'jpg'],\r\n type = 'image',\r\n displayDocument = '',\r\n params,\r\n onRemove,\r\n initialValue,\r\n disabled,\r\n placeholder\r\n}) => {\r\n const [state, setState] = useState({\r\n loading: false,\r\n uri: initialValue\r\n });\r\n\r\n useEffect(() => {\r\n setState({ ...state, uri: initialValue });\r\n }, [initialValue]);\r\n\r\n const extractingExtension = (fileName) => {\r\n const text = fileName.match(/\\.[0-9a-z]+$/i)[0];\r\n return text != null ? text : '';\r\n };\r\n\r\n const beforeUpload = (file) => {\r\n let isCorrectFormat = false;\r\n\r\n if (\r\n type === 'image' &&\r\n extension.includes(file.type.replace('image/', '').toLowerCase())\r\n ) {\r\n isCorrectFormat = true;\r\n } else if (\r\n extension.includes(extractingExtension(file.name).replace('.', ''))\r\n ) {\r\n isCorrectFormat = true;\r\n }\r\n\r\n if (!isCorrectFormat) {\r\n message.error(\r\n `É permitido somente arquivos com a extensão ${join(\r\n extension.map((c) => c.toUpperCase()),\r\n ', ',\r\n ' e '\r\n )}.`\r\n );\r\n }\r\n\r\n const isLt2M = file.size / 1024 / 1024 < 2;\r\n\r\n if (!isLt2M) {\r\n message.error('O tamanho do arquivo não pode ser superior a 2MB');\r\n }\r\n\r\n return isCorrectFormat && isLt2M;\r\n };\r\n\r\n const setArchive = (uri, response) => {\r\n setState({\r\n uri,\r\n loading: false\r\n });\r\n\r\n if (onChange) {\r\n onChange(response);\r\n }\r\n };\r\n\r\n const handleUploadChange = (info) => {\r\n if (info.file.status === 'uploading') {\r\n setState({ loading: true });\r\n return;\r\n }\r\n\r\n if (info.file.status === 'done') {\r\n let archive = '';\r\n\r\n if (type === 'image') {\r\n archive = info.file.response.result.uri;\r\n } else {\r\n archive = info.file.response.result;\r\n }\r\n\r\n setArchive(archive, info.file.response.result);\r\n }\r\n };\r\n\r\n const handleRemoveClick = () => {\r\n setArchive(null, null);\r\n\r\n if (onRemove) {\r\n onRemove();\r\n }\r\n };\r\n\r\n const handleOnRequest = (options) => {\r\n const data = new FormData();\r\n\r\n if (params) {\r\n Object.keys(params).forEach((key) => {\r\n data.set(key, params[key]);\r\n });\r\n }\r\n\r\n data.append(name, options.file);\r\n api.post(resource, data).then((res) => {\r\n if (!(res && res.errors)) {\r\n options.onSuccess(res.data, options.file);\r\n } else {\r\n message.error(\r\n 'Ocorreu um erro inesperado ao processar sua solicitação'\r\n );\r\n setState({ ...state, loading: false });\r\n }\r\n });\r\n };\r\n\r\n const uploadButton = (\r\n
\r\n {state.loading ? (\r\n
\r\n ) : (\r\n
\r\n {placeholder ? {placeholder} : null}\r\n \r\n
\r\n )}\r\n
\r\n );\r\n\r\n const getContent = () => {\r\n const { uri } = state;\r\n\r\n if (!uri) {\r\n return uploadButton;\r\n }\r\n\r\n if (type === 'image') {\r\n return (\r\n
\r\n );\r\n }\r\n\r\n if (type === 'document') {\r\n return (\r\n \r\n {displayDocument || uri}\r\n
\r\n );\r\n }\r\n\r\n return null;\r\n };\r\n\r\n const { uri } = state;\r\n\r\n return (\r\n \r\n {uri && !disabled && (\r\n \r\n )}\r\n \r\n {getContent()}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default UploadArchive;\r\n","import React, { useState } from 'react';\r\nimport { UploadOutlined } from '@ant-design/icons';\r\nimport { message, Upload, Button } from 'antd';\r\nimport join from 'util/functions/join';\r\nimport truncate from 'util/functions/truncate';\r\n\r\nconst UploadArchiveManual = ({\r\n placeholder,\r\n extensions = [],\r\n onRequest,\r\n name,\r\n width\r\n}) => {\r\n const [uploading, setUploading] = useState(false);\r\n const [fileName, setFileName] = useState(null);\r\n const [extension, setExtension] = useState(null);\r\n const extractingExtension = (file) => {\r\n const text = file.match(/\\.[0-9a-z]+$/i)[0];\r\n return text != null ? text : '';\r\n };\r\n\r\n const handleBeforeUpload = (file) => {\r\n let isCorrectFormat = false;\r\n\r\n const extractedExtension = extractingExtension(file.name).replace('.', '');\r\n if (extensions.includes(extractedExtension)) {\r\n isCorrectFormat = true;\r\n }\r\n\r\n if (!isCorrectFormat) {\r\n const names = join(extensions, ', ', ' e ');\r\n message.error(`É somente permitido arquivos com a extensão ${names}.`);\r\n }\r\n\r\n const isLt2M = file.size / 1024 / 1024 < 2;\r\n\r\n if (!isLt2M) {\r\n message.error('O tamanho do arquivo não pode ser superior a 2MB');\r\n }\r\n\r\n setFileName(file.name);\r\n setExtension(extractedExtension);\r\n setUploading(isCorrectFormat && isLt2M);\r\n return isCorrectFormat && isLt2M;\r\n };\r\n\r\n const handleCustomRequest = (options) => {\r\n if (onRequest) {\r\n onRequest(options);\r\n }\r\n };\r\n\r\n const uploadProps = {\r\n name,\r\n beforeUpload: handleBeforeUpload,\r\n showUploadList: false,\r\n customRequest: handleCustomRequest\r\n };\r\n\r\n return uploading ? (\r\n \r\n }>\r\n {truncate(fileName, 25, `....${extension}`)}\r\n \r\n \r\n ) : (\r\n \r\n }>\r\n {placeholder}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default UploadArchiveManual;\r\n","import React from 'react';\r\nimport { Form } from '@ant-design/compatible';\r\nimport '@ant-design/compatible/assets/index.css';\r\nimport { FormContextConsumer } from 'react-structure-admin';\r\n\r\nclass FormItem extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.ref = null;\r\n }\r\n\r\n componentDidMount() {\r\n if (this.ref) {\r\n setTimeout(() => this.ref.focus(), 100);\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n isRequired = false,\r\n initialValue,\r\n label,\r\n name,\r\n visible,\r\n type,\r\n children,\r\n autoFocus,\r\n valuePropName = 'value',\r\n useDisplayLabel = true,\r\n ...rest\r\n } = this.props;\r\n\r\n const { rules = [] } = this.props;\r\n\r\n const displayLabel = label || name;\r\n\r\n rules.push({\r\n required: isRequired,\r\n message: `${displayLabel} é obrigatório`\r\n });\r\n\r\n if (type === 'email') {\r\n rules.push({ type: 'email', message: 'E-mail inválido' });\r\n }\r\n\r\n const parent = this;\r\n const input = React.cloneElement(\r\n children,\r\n autoFocus\r\n ? {\r\n ref: (node) => {\r\n parent.ref = node;\r\n }\r\n }\r\n : {}\r\n );\r\n\r\n return visible === false ? null : (\r\n \r\n {(context) => (\r\n \r\n {context.form.getFieldDecorator(name, {\r\n initialValue,\r\n valuePropName,\r\n rules\r\n })(input)}\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default FormItem;\r\n","import React, { useState } from 'react';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { Button, Form } from 'antd';\r\nimport { PlusOutlined } from '@ant-design/icons';\r\n\r\nconst ListHeader = ({\r\n onSearch,\r\n setQueryParams,\r\n queryParams,\r\n menu,\r\n title,\r\n create,\r\n renderButton,\r\n children,\r\n searchForm,\r\n onBeforeFilter\r\n}) => {\r\n const [delayedSearch, setDelayedSearch] = useState(null);\r\n\r\n const handleSearchChange = (e) => {\r\n if (delayedSearch) {\r\n clearTimeout(delayedSearch);\r\n }\r\n\r\n const input = e.target;\r\n\r\n if (onSearch && e.target) {\r\n setDelayedSearch(setTimeout(() => onSearch(input.value), 600));\r\n return;\r\n }\r\n\r\n setDelayedSearch(\r\n setTimeout(\r\n () =>\r\n setQueryParams({\r\n ...queryParams,\r\n page: 1,\r\n filterText: input.value\r\n }),\r\n 600\r\n )\r\n );\r\n };\r\n\r\n const openToCreate = (record = {}) => {\r\n create(record);\r\n };\r\n\r\n const handleOnSubmit = () => {\r\n searchForm.validateFields().then((values) => {\r\n if (onSearch) {\r\n setDelayedSearch(setTimeout(() => onSearch(values), 600));\r\n return;\r\n }\r\n\r\n const newValues = onBeforeFilter ? onBeforeFilter(values) : values;\r\n\r\n setDelayedSearch(\r\n setTimeout(\r\n () =>\r\n setQueryParams({\r\n ...queryParams,\r\n page: 1,\r\n ...newValues\r\n }),\r\n 600\r\n )\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n
\r\n
\r\n \r\n {menu && menu.icon && (\r\n \r\n )}\r\n \r\n {title}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {renderButton ? (\r\n renderButton()\r\n ) : (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n {children ? (\r\n
\r\n {children}\r\n
\r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default ListHeader;\r\n","import React from 'react';\r\nimport { Table, Button, Popconfirm } from 'antd';\r\nimport { configManager } from 'react-structure-admin';\r\n\r\nconst ListTable = (props) => {\r\n const {\r\n dataSource,\r\n loading,\r\n children,\r\n initEditing,\r\n initCreation,\r\n rowSelection,\r\n rowClassName,\r\n className,\r\n handleTableChange,\r\n columns,\r\n components,\r\n moveRow,\r\n onDoubleClick,\r\n removeRecord,\r\n showHeader,\r\n showActions = true,\r\n actionsComponent: ActionsComponent,\r\n header = null,\r\n filter,\r\n showPagination = true,\r\n doubleClick = true\r\n } = props;\r\n\r\n let { pagination } = props;\r\n\r\n if (!showPagination) {\r\n pagination = false;\r\n }\r\n\r\n const handleDoubleClick = (record) => {\r\n if (!doubleClick) {\r\n return;\r\n }\r\n\r\n if (onDoubleClick) {\r\n onDoubleClick(record);\r\n } else if (initEditing) {\r\n initEditing(record);\r\n }\r\n };\r\n\r\n if (\r\n Array.isArray(columns) &&\r\n showActions &&\r\n !columns.some((c) => c.key === 'action')\r\n ) {\r\n columns.push({\r\n key: 'action',\r\n align: 'right',\r\n render: (_, record) =>\r\n ActionsComponent ? (\r\n \r\n ) : (\r\n <>\r\n \r\n removeRecord(record.id)}\r\n cancelText=\"Não\"\r\n okText=\"Sim\"\r\n >\r\n \r\n \r\n >\r\n )\r\n });\r\n }\r\n\r\n const wrapperFilter = (array) => {\r\n if (filter) {\r\n return array.filter(filter);\r\n }\r\n\r\n return array;\r\n };\r\n\r\n return (\r\n <>\r\n {header}\r\n record.id ?? record.uuid}\r\n rowSelection={rowSelection}\r\n pagination={pagination}\r\n onChange={handleTableChange}\r\n dataSource={wrapperFilter(dataSource)}\r\n rowClassName={rowClassName}\r\n showHeader={showHeader}\r\n columns={columns}\r\n locale={{ emptyText: 'Nenhum registro para exibir' }}\r\n components={components}\r\n onRow={(record, index) => {\r\n return {\r\n onDoubleClick: () => handleDoubleClick(record),\r\n index,\r\n moveRow\r\n };\r\n }}\r\n >\r\n {typeof children === 'function'\r\n ? children({ initEditing, removeRecord, initCreation })\r\n : children}\r\n
\r\n >\r\n );\r\n};\r\n\r\nexport default ListTable;\r\n","import React from 'react';\r\nimport { Card } from 'antd';\r\n\r\nconst WidgetCard = ({ title, children, styleName, cover, extra, actions }) => {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default WidgetCard;\r\n","import React from 'react';\r\nimport IcomoonReact from 'icomoon-react';\r\nimport iconSet from './selection.json';\r\n\r\nconst Icon = ({ className, color, size, name }) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default Icon;\r\n","/* eslint-disable no-template-curly-in-string */\r\nimport React, { PureComponent, useContext } from 'react';\r\nimport { Form } from 'antd';\r\n\r\nconst defaultValidateMessages = {\r\n required: '${label} é obrigatório'\r\n};\r\n\r\nconst Context = React.createContext({ form: null });\r\n\r\nclass FormManager extends PureComponent {\r\n static useForm;\r\n\r\n static FormItem;\r\n\r\n render() {\r\n let values = {};\r\n\r\n const {\r\n children,\r\n form,\r\n initialValues = {},\r\n onBeforeBinding,\r\n ...rest\r\n } = this.props;\r\n\r\n if (onBeforeBinding) {\r\n values = onBeforeBinding(initialValues);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nFormManager.useForm = () => {\r\n const { form } = useContext(Context);\r\n\r\n if (!form) {\r\n throw new Error('Missing FormManager in its parent.');\r\n }\r\n\r\n return form;\r\n};\r\n\r\nFormManager.FormItem = ({\r\n children,\r\n label,\r\n required,\r\n message,\r\n rules,\r\n ...rest\r\n}) => {\r\n let defaultRules;\r\n\r\n if (required) {\r\n defaultRules = [{ required }];\r\n }\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default FormManager;\r\n","export default __webpack_public_path__ + \"static/media/location.0c0840fc.svg\";","import React, { useState } from 'react';\r\nimport { Input, Row, Col, Tooltip, Form } from 'antd';\r\nimport { AimOutlined } from '@ant-design/icons';\r\nimport { MaskedInput } from 'antd-mask-input';\r\nimport { normalizeToSelect } from 'util/converters';\r\nimport { api, RemoteSelect } from 'react-structure-admin';\r\nimport FormManager from './FormManager';\r\nimport Maps from './Maps';\r\n\r\nconst { FormItem } = FormManager;\r\n\r\nconst formItemLayout = {\r\n labelCol: {\r\n xs: { span: 24 },\r\n sm: { span: 9 }\r\n },\r\n wrapperCol: {\r\n xs: { span: 24 },\r\n sm: { span: 15 }\r\n },\r\n labelAlign: 'left',\r\n colon: false\r\n};\r\n\r\nconst Address = () => {\r\n const form = FormManager.useForm();\r\n\r\n const [state, setState] = useState({\r\n lastPostalCode: null,\r\n loadingAddress: false,\r\n map: {\r\n visible: false,\r\n text: ''\r\n }\r\n });\r\n\r\n const setAddress = (newAddress) => {\r\n form.setFieldsValue({\r\n address: {\r\n ...newAddress,\r\n city: normalizeToSelect(newAddress.city)\r\n }\r\n });\r\n };\r\n\r\n const findAddress = (postalCode) => {\r\n postalCode = postalCode.replace(/[^0-9.]/g, '');\r\n\r\n if (state.lastPostalCode === postalCode) {\r\n return;\r\n }\r\n\r\n setState({ ...state, lastPostalCode: postalCode, loadingAddress: true });\r\n\r\n api.fetch('localizations', { postalCode }).then(({ data }) => {\r\n setState({ ...state, loadingAddress: false });\r\n setAddress(\r\n data\r\n ? data.result\r\n : {\r\n street: null,\r\n number: null,\r\n district: null,\r\n additionalInformation: null,\r\n city: undefined\r\n }\r\n );\r\n });\r\n };\r\n\r\n const handlePostalCodeChange = (sender) => {\r\n const postalCode = sender.target.value.replace(/[^0-9.]/g, '');\r\n if (postalCode.length === 8) {\r\n findAddress(postalCode);\r\n }\r\n };\r\n\r\n const handleSelectMap = () => {\r\n let value = '';\r\n const { address } = form.getFieldsValue();\r\n const { street, district, city, longitude, latitude } = address;\r\n\r\n if (city && city?.label) {\r\n value = city?.label.toLowerCase().replaceAll(' ', '_');\r\n }\r\n\r\n if (street) {\r\n value += `_${street.toLowerCase().replaceAll(' ', '_')}`;\r\n }\r\n\r\n if (district) {\r\n value += `_${district.toLowerCase().replaceAll(' ', '_')}`;\r\n }\r\n\r\n setState({\r\n ...state,\r\n map: { ...state.map, visible: true, text: value, longitude, latitude }\r\n });\r\n };\r\n\r\n const handleSetPosition = ({ longitude, latitude }) => {\r\n const { address } = form.getFieldsValue();\r\n\r\n form.setFieldsValue({\r\n address: {\r\n ...address,\r\n longitude,\r\n latitude\r\n }\r\n });\r\n };\r\n\r\n const handleChangeMaps = (value) => {\r\n handleSetPosition(value);\r\n\r\n setState({\r\n ...state,\r\n map: { ...state.map, visible: false }\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n\r\n {state.map.visible ? (\r\n \r\n setState({ ...state, map: { ...state.map, visible: false } })\r\n }\r\n />\r\n ) : null}\r\n >\r\n );\r\n};\r\n\r\nexport default Address;\r\n","/* eslint-disable no-template-curly-in-string */\r\nimport React from 'react';\r\nimport { RemoteSelect } from 'react-structure-admin';\r\nimport { Form, Row, Col, Button } from 'antd';\r\nimport FormManager from 'components/FormManager';\r\n\r\nconst defaultValidateMessages = {\r\n required: '${label} é obrigatório'\r\n};\r\n\r\nconst funcDefault = (c) => c;\r\n\r\nconst RemoteInsert = ({\r\n name,\r\n resource,\r\n label,\r\n onValidate,\r\n onChange = funcDefault\r\n}) => {\r\n const [form] = Form.useForm();\r\n const formEditing = FormManager.useForm();\r\n\r\n const handleAdd = (value) => {\r\n const values = formEditing.getFieldValue(name) || [];\r\n\r\n if (onValidate) {\r\n const error = onValidate({ items: values, item: value });\r\n\r\n if (error) {\r\n form.setFields([{ name, errors: [error] }]);\r\n return;\r\n }\r\n }\r\n\r\n formEditing.setFieldsValue({\r\n [name]: [...values, value]\r\n });\r\n\r\n form.resetFields();\r\n };\r\n\r\n const handleClick = () => {\r\n form.validateFields().then((values) => {\r\n handleAdd(onChange(values[name]));\r\n });\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default RemoteInsert;\r\n","import React from 'react';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { Empty } from 'antd';\r\n\r\nconst messages = {\r\n date: 'Data',\r\n time: 'Tempo',\r\n event: 'Evento',\r\n allDay: 'Dia todo',\r\n week: 'Semana',\r\n work_week: 'Semana de trabalho',\r\n day: 'Dia',\r\n month: 'Mês',\r\n previous: 'Voltar',\r\n next: 'Próximo',\r\n yesterday: 'Ontem',\r\n tomorrow: 'Amanhã',\r\n today: 'Hoje',\r\n agenda: 'Agenda',\r\n noEventsInRange: (\r\n \r\n \r\n
\r\n ),\r\n showMore: (count) => `Exibir todos - total ${count + 1}`\r\n};\r\n\r\nexport default messages;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Calendar, momentLocalizer } from 'react-big-calendar';\r\nimport 'react-big-calendar/lib/css/react-big-calendar.css';\r\nimport moment from 'moment';\r\nimport 'moment/locale/pt-br';\r\nimport messages from './messages';\r\n\r\nmoment.locale('pt-br');\r\nconst localizer = momentLocalizer(moment);\r\n\r\nconst VIEWS = {\r\n MONTH: 'month',\r\n WEEK: 'week',\r\n DAY: 'day',\r\n AGENDA: 'agenda'\r\n};\r\n\r\nconst Schedule = (props) => {\r\n const {\r\n events = [],\r\n onChange,\r\n onSelectSlot,\r\n eventPropGetter,\r\n onSelectEvent = () => {},\r\n defaultView,\r\n step,\r\n min,\r\n max\r\n } = props;\r\n let { components } = props;\r\n const [view, setView] = useState(defaultView);\r\n\r\n useEffect(() => {\r\n if (onChange) {\r\n onChange(\r\n moment()\r\n .clone()\r\n .startOf(defaultView),\r\n moment()\r\n .clone()\r\n .endOf(defaultView)\r\n );\r\n }\r\n }, []);\r\n\r\n const handleRangeChange = (dates, nextView) => {\r\n const currentView = nextView ?? view;\r\n\r\n if (!onChange) {\r\n return;\r\n }\r\n\r\n if (nextView) {\r\n setView(nextView);\r\n }\r\n\r\n if (currentView === VIEWS.WEEK) {\r\n onChange(dates[0], dates[6]);\r\n return;\r\n }\r\n\r\n if (currentView === VIEWS.DAY) {\r\n onChange(dates[0], dates[0]);\r\n return;\r\n }\r\n\r\n if (currentView === VIEWS.MONTH) {\r\n onChange(\r\n moment(dates.start).startOf('day'),\r\n moment(dates.end).startOf('day')\r\n );\r\n return;\r\n }\r\n\r\n onChange(dates.start, dates.end);\r\n };\r\n\r\n const handleSelectSlot = ({ start, end, ...rest }) => {\r\n if (!onSelectSlot) {\r\n return;\r\n }\r\n\r\n if (view === VIEWS.MONTH) {\r\n start = moment(start).startOf('day');\r\n end = moment(end).endOf('day');\r\n\r\n onSelectSlot({ ...rest, start, end });\r\n return;\r\n }\r\n\r\n onSelectSlot({ ...rest, start, end });\r\n };\r\n\r\n if (components && !components.header) {\r\n components = {\r\n ...components,\r\n header: ({ date }) => {\r\n if (view === 'month') {\r\n return moment(date).format('dddd');\r\n }\r\n\r\n if (view === 'week') {\r\n return (\r\n \r\n
{moment(date).format('dddd')}
\r\n
\r\n {moment(date).format('DD/MM')}\r\n
\r\n
\r\n );\r\n }\r\n\r\n return null;\r\n }\r\n };\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default Schedule;\r\n","/* eslint-disable spaced-comment */\r\nimport React, { useEffect, useState } from 'react';\r\nimport { api } from 'react-structure-admin';\r\nimport moment from 'moment';\r\nimport { Button, DatePicker, Row, Tooltip } from 'antd';\r\nimport { ReloadOutlined } from '@ant-design/icons';\r\nimport { MaskedInput } from 'antd-mask-input';\r\nimport { formartOnlyNumber } from 'util/formatters';\r\nimport useScreenSize from 'core/hooks/useScreenSize';\r\nimport useAuth from 'core/hooks/useAuth';\r\nimport ResCol from './ResCol';\r\nimport 'moment/locale/pt-br';\r\n\r\nconst SelectScheduled = ({\r\n value,\r\n onChange,\r\n disabled,\r\n serviceProviderId,\r\n tenantId\r\n}) => {\r\n const { user } = useAuth();\r\n const [open, setOpen] = useState(false);\r\n const { isMobile } = useScreenSize();\r\n const { settings } = user;\r\n\r\n const setPeriod = (startTime, endTime) => {\r\n if (onChange) {\r\n onChange({\r\n startTime: moment(startTime),\r\n endTime: moment(endTime)\r\n });\r\n }\r\n };\r\n\r\n const handleChange = (date) => {\r\n setPeriod(date, date);\r\n };\r\n\r\n const handleChangeStartTime = (startTime) => {\r\n if (formartOnlyNumber(startTime).length > 3) {\r\n const startDate = moment(value?.startTime);\r\n startDate.set('hour', 0);\r\n startDate.set('minute', 0);\r\n startDate.add(moment(startTime, 'HH:mm').hour(), 'hour');\r\n startDate.add(moment(startTime, 'HH:mm').minute(), 'minute');\r\n const endDate = startDate.clone();\r\n endDate.add(settings?.durationOfService, 'minute');\r\n\r\n if (onChange) {\r\n onChange({\r\n startTime: startDate,\r\n endTime: endDate\r\n });\r\n }\r\n }\r\n };\r\n\r\n const handleChangeEndTime = (endTime) => {\r\n if (formartOnlyNumber(endTime).length > 3) {\r\n const endDate = moment(value?.endTime);\r\n endDate.set('hour', 0);\r\n endDate.set('minute', 0);\r\n endDate.add(moment(endTime, 'HH:mm').hour(), 'hour');\r\n endDate.add(moment(endTime, 'HH:mm').minute(), 'minute');\r\n\r\n if (onChange) {\r\n onChange({\r\n startTime: value?.startTime,\r\n endTime: endDate\r\n });\r\n }\r\n }\r\n };\r\n\r\n const fetchNextPeriod = (date) => {\r\n if (serviceProviderId) {\r\n api\r\n .fetch('health-service-providers/next-period', {\r\n serviceProviderId,\r\n tenantId,\r\n startDate: moment(date).format('MM-DD-YYYY HH:mm'),\r\n endDate: moment(date)\r\n .add(15, 'day')\r\n .format('MM-DD-YYYY HH:mm'),\r\n firstAvailable: true\r\n })\r\n .then((response) => {\r\n if (!response?.errors) {\r\n const { data } = response;\r\n const { startTime, endTime, ...rest } = data.result;\r\n if (onChange) {\r\n onChange({\r\n ...rest,\r\n startTime: moment(startTime),\r\n endTime: moment(endTime)\r\n });\r\n }\r\n }\r\n });\r\n }\r\n };\r\n\r\n const handleChangeNextTime = () => {\r\n if (!disabled) {\r\n fetchNextPeriod(value?.endTime ?? moment());\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (value === null) {\r\n fetchNextPeriod(moment());\r\n }\r\n\r\n if (\r\n value?.serviceProvider &&\r\n value.serviceProvider?.id !== serviceProviderId\r\n ) {\r\n fetchNextPeriod(moment());\r\n }\r\n }, [value, serviceProviderId]);\r\n\r\n return (\r\n \r\n \r\n date.isBefore(moment(), 'day')}\r\n allowClear={false}\r\n disabled={disabled}\r\n open={open}\r\n onClick={() => setOpen(true)}\r\n onSelect={() => setOpen(false)}\r\n onBlur={() => setOpen(false)}\r\n />\r\n \r\n \r\n \r\n handleChangeStartTime(e.target.value)}\r\n />\r\n às\r\n\r\n handleChangeEndTime(e.target.value)}\r\n />\r\n\r\n \r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default SelectScheduled;\r\n","import React from 'react';\r\nimport { Select } from 'antd';\r\n\r\nconst SelectGender = ({ showUninformed = true, ...rest }) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SelectGender;\r\n","import React, { useState, useCallback, useRef } from 'react';\r\nimport { DndProvider, useDrag, useDrop } from 'react-dnd';\r\nimport { HTML5Backend } from 'react-dnd-html5-backend';\r\nimport update from 'immutability-helper';\r\n\r\nconst type = 'DragableBodyRow';\r\n\r\nconst DragableBodyRow = ({\r\n index,\r\n moveRow,\r\n className,\r\n style,\r\n ...restProps\r\n}) => {\r\n const ref = useRef();\r\n const [{ isOver, dropClassName }, drop] = useDrop({\r\n accept: type,\r\n collect: (monitor) => {\r\n const { index: dragIndex } = monitor.getItem() || {};\r\n if (dragIndex === index) {\r\n return {};\r\n }\r\n return {\r\n isOver: monitor.isOver(),\r\n dropClassName:\r\n dragIndex < index ? ' drop-over-downward' : ' drop-over-upward'\r\n };\r\n },\r\n drop: (item) => {\r\n if (moveRow) {\r\n moveRow(item.index, index);\r\n }\r\n }\r\n });\r\n const [, drag] = useDrag({\r\n type,\r\n item: { type, index },\r\n collect: (monitor) => ({\r\n isDragging: monitor.isDragging()\r\n })\r\n });\r\n drop(drag(ref));\r\n\r\n return (\r\n
\r\n );\r\n};\r\n\r\nconst DragSortingTable = ({\r\n children,\r\n components = {},\r\n dataSource = [],\r\n filter,\r\n onSorting,\r\n ...rest\r\n}) => {\r\n const getDataSource = (filterInverse) => {\r\n if (filter && filterInverse) {\r\n return dataSource.filter((c) => !filter(c));\r\n }\r\n\r\n if (filter) {\r\n return dataSource.filter(filter);\r\n }\r\n\r\n return dataSource;\r\n };\r\n\r\n if (components) {\r\n components.body = { row: DragableBodyRow, ...components.body };\r\n } else {\r\n components = { body: { row: DragableBodyRow, ...components.body } };\r\n }\r\n\r\n const moveRow = useCallback(\r\n (dragIndex, hoverIndex) => {\r\n const dragRow = getDataSource()[dragIndex];\r\n\r\n if (onSorting) {\r\n const rejecteds = filter ? getDataSource(true) : [];\r\n\r\n onSorting([\r\n ...update(getDataSource(), {\r\n $splice: [\r\n [dragIndex, 1],\r\n [hoverIndex, 0, dragRow]\r\n ]\r\n }),\r\n ...rejecteds\r\n ]);\r\n }\r\n },\r\n [dataSource]\r\n );\r\n\r\n return (\r\n \r\n {React.cloneElement(children, {\r\n onRow: (_, index) => ({\r\n index,\r\n moveRow\r\n }),\r\n moveRow,\r\n components,\r\n dataSource,\r\n filter,\r\n ...rest\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default DragSortingTable;\r\n","import React from 'react';\r\nimport { Select } from 'antd';\r\n\r\nconst SelectBloodGroup = (props) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SelectBloodGroup;\r\n","import React, { useMemo, useRef, useState, useImperativeHandle } from 'react';\r\nimport { Button, Form, Spin } from 'antd';\r\nimport { CloseOutlined, EditOutlined } from '@ant-design/icons';\r\nimport {\r\n RemoteSelect,\r\n isEmpty,\r\n normalizeToSelect,\r\n useCrud,\r\n CrudEditContextProvider,\r\n RESOURCE_ACTION_EDIT\r\n} from 'react-structure-admin';\r\nimport generateUUID from 'util/functions/generateUUID';\r\n\r\nconst CreateEditComponentWrap = ({\r\n children,\r\n data,\r\n resource,\r\n resourceTitle,\r\n ...rest\r\n}) => {\r\n const [form] = Form.useForm();\r\n\r\n return (\r\n \r\n {React.cloneElement(children, {\r\n ...rest,\r\n data: data.resourceToEdit,\r\n saving: data.saving,\r\n loading: data.loading,\r\n editing: data.editing,\r\n loadingEdition: data.loadingEdition,\r\n readOnly: data.readOnly,\r\n visible: data.visible || data.editing,\r\n action: data.action,\r\n title: `${data.action !== RESOURCE_ACTION_EDIT ? 'Novo ' : 'Editar '} ${\r\n resourceTitle ? resourceTitle?.toLowerCase() : ''\r\n }`,\r\n resource\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst RemoteSelectCrud = (\r\n {\r\n editComponent: EditComponent,\r\n resource,\r\n textPropName,\r\n resourceTitle,\r\n enableEdit = true,\r\n onChange,\r\n value,\r\n onCreateOrUpdate,\r\n ...rest\r\n },\r\n ref\r\n) => {\r\n const crud = useCrud({ resource });\r\n const {\r\n create,\r\n get,\r\n data: { editing, action, componentKey: stateComponentKey }\r\n } = crud;\r\n\r\n const selectRef = useRef(null);\r\n const [text, setText] = useState(null);\r\n const [componentKey] = useState(generateUUID());\r\n const [allowShow, setAllowShow] = useState(true);\r\n const isMultiple = rest.mode === 'multiple';\r\n\r\n const handleChange = (item) => {\r\n onChange?.(item);\r\n };\r\n\r\n const handleAddClick = () => {\r\n selectRef.current.focus();\r\n selectRef.current.blur();\r\n setText(null);\r\n\r\n if (!isMultiple) {\r\n handleChange({});\r\n }\r\n\r\n setTimeout(() => {\r\n create(textPropName ? { [textPropName]: text } : {}, { componentKey });\r\n }, 500);\r\n };\r\n\r\n const handleEditClick = () => {\r\n const { key } = value;\r\n get(key, { componentKey });\r\n };\r\n\r\n const handleEditClickTag = (key) => {\r\n get(key, { componentKey });\r\n };\r\n\r\n const notFoundRender = () => {\r\n return (\r\n allowShow && (\r\n \r\n )\r\n );\r\n };\r\n\r\n const customDropdownRender = ({ menu, fetching }) => {\r\n return (\r\n <>\r\n {menu}\r\n {fetching ? (\r\n \r\n \r\n
\r\n ) : (\r\n notFoundRender()\r\n )}\r\n >\r\n );\r\n };\r\n\r\n const handleCreateOrUpdateSuccess = ({ data: result }) => {\r\n selectRef.current.reset();\r\n\r\n if (isMultiple) {\r\n const newValue = [...value];\r\n const index = value.findIndex((c) => c.key === result.result.id);\r\n\r\n if (index > -1) {\r\n newValue[index] = normalizeToSelect(result.result);\r\n } else {\r\n newValue.push(normalizeToSelect(result.result));\r\n }\r\n\r\n handleChange(newValue);\r\n } else {\r\n handleChange(normalizeToSelect(result.result));\r\n }\r\n\r\n onCreateOrUpdate?.(result.result);\r\n };\r\n\r\n const handleSearch = (text) => {\r\n setAllowShow(false);\r\n setText(text);\r\n };\r\n\r\n const handleFetched = () => {\r\n setAllowShow(true);\r\n };\r\n\r\n const handleDropdownVisibleChange = (visible) => {\r\n if (!visible) {\r\n setText(null);\r\n }\r\n };\r\n\r\n const tagRender = ({ label, onClose, value }) => {\r\n return (\r\n \r\n
{label}\r\n
\r\n handleEditClickTag(value)}\r\n />\r\n \r\n
\r\n
\r\n );\r\n };\r\n\r\n useImperativeHandle(ref, () => selectRef.current);\r\n\r\n return (\r\n \r\n \r\n {!isMultiple && enableEdit && !isEmpty(value) && (\r\n } />\r\n )}\r\n\r\n {stateComponentKey === componentKey && (\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default React.forwardRef(RemoteSelectCrud);\r\n","import React from 'react';\r\nimport { Row, Col } from 'antd';\r\nimport UserProfileImage from './UserProfileImage';\r\n\r\nconst ServiceProviderProfile = ({\r\n classNameRow,\r\n className,\r\n profileImage = {},\r\n name,\r\n professionalName,\r\n medicalSpecialties = [],\r\n crm\r\n}) => {\r\n const specialty =\r\n medicalSpecialties.length > 0\r\n ? medicalSpecialties[0].medicalSpecialty?.professionalTitle\r\n : null;\r\n\r\n return name ? (\r\n \r\n \r\n \r\n \r\n \r\n {professionalName ?? name}
\r\n {specialty ? (\r\n \r\n {`${specialty}${crm ? ` / CRM ${crm}` : ''}`}\r\n
\r\n ) : null}\r\n \r\n
\r\n ) : null;\r\n};\r\n\r\nexport default ServiceProviderProfile;\r\n","import { Form } from 'antd';\r\nimport React, { forwardRef, useImperativeHandle } from 'react';\r\nimport {\r\n useCrud,\r\n RESOURCE_ACTION_EDIT,\r\n RESOURCE_ACTION_CREATE,\r\n CrudEditContextProvider\r\n} from 'react-structure-admin';\r\n\r\nconst CrudEdit = (\r\n {\r\n children,\r\n editComponent: EditComponent,\r\n resource,\r\n initialValues,\r\n onCreateOrUpdateSuccess\r\n },\r\n ref\r\n) => {\r\n const { cancelEdit, create, get, post, update, data } = useCrud({\r\n resource\r\n });\r\n\r\n const editingRender = () => {\r\n const [form] = Form.useForm();\r\n\r\n if (!data.editing) {\r\n return null;\r\n }\r\n\r\n form.resetFields();\r\n\r\n const editingProps = {\r\n title: `${data.action !== RESOURCE_ACTION_EDIT ? 'Novo ' : 'Editar '}`,\r\n resource,\r\n cancelEdit,\r\n post,\r\n update,\r\n visible: data.editing,\r\n saving: data.saving,\r\n action: data.resourceToEdit?.id\r\n ? RESOURCE_ACTION_EDIT\r\n : RESOURCE_ACTION_CREATE,\r\n data: data.resourceToEdit ?? {}\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const handleClickCreate = (values) => {\r\n create(values ?? initialValues);\r\n };\r\n\r\n const handleClickEdit = (id) => {\r\n if (id) {\r\n get(id);\r\n }\r\n };\r\n\r\n useImperativeHandle(ref, () => ({\r\n create: handleClickCreate,\r\n edit: handleClickEdit\r\n }));\r\n\r\n return (\r\n <>\r\n {children}\r\n {editingRender()}\r\n >\r\n );\r\n};\r\n\r\nexport default forwardRef(CrudEdit);\r\n","import React, { Component } from 'react';\r\nimport { Input, Popover, Spin, Empty, Button, Popconfirm, Tooltip } from 'antd';\r\nimport { api } from 'react-structure-admin';\r\nimport CustomScrollbars from 'components/CustomScrollbars';\r\nimport debounce from 'lodash/debounce';\r\nimport {\r\n CheckOutlined,\r\n DeleteOutlined,\r\n LoadingOutlined,\r\n PlusOutlined\r\n} from '@ant-design/icons';\r\nimport CrudEdit from './CrudEdit';\r\n\r\nclass RemoteSelectPopover extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.handleSearch = debounce(this.fetchData, 800);\r\n this.lastFetchId = 0;\r\n this.fethOnMount = props.fethOnMount;\r\n this.refInput = React.createRef();\r\n this.refCrud = React.createRef();\r\n\r\n this.state = {\r\n data: [],\r\n fetching: false,\r\n visible: false,\r\n textSearched: '',\r\n pagination: {\r\n hasNextPage: true,\r\n currentPage: 0\r\n }\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (this.fethOnMount) {\r\n this.fetchData();\r\n }\r\n }\r\n\r\n fetchData = (value) => {\r\n const { pagination } = this.state;\r\n const { resource, params = {} } = this.props;\r\n\r\n if (!pagination.hasNextPage) {\r\n return;\r\n }\r\n\r\n this.setState({ fetching: true });\r\n this.lastFetchId += 1;\r\n const fetchId = this.lastFetchId;\r\n\r\n const filter = {\r\n filterText: value,\r\n page: pagination.currentPage + 1,\r\n ...params\r\n };\r\n\r\n api.fetch(resource, filter).then((response = {}) => {\r\n const { data = { result: {} } } = response;\r\n if (fetchId !== this.lastFetchId) {\r\n return;\r\n }\r\n const { totalCount = 0, items = [] } = data.result;\r\n\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n data: filter.page === 1 ? items : [...prevState.data, ...items],\r\n fetching: false,\r\n textSearched: value,\r\n pagination: {\r\n hasNextPage:\r\n filter.page === 1\r\n ? items.length < totalCount\r\n : prevState.data.length + items.length < totalCount,\r\n currentPage: filter.page\r\n }\r\n }));\r\n });\r\n };\r\n\r\n isSelect = (record) => {\r\n const { values } = this.props;\r\n return !values.some((c) => c.id === record.id);\r\n };\r\n\r\n handleAdd = (record) => {\r\n const { onSelect, multiple } = this.props;\r\n\r\n if (!multiple) {\r\n this.setState({ visible: false });\r\n }\r\n\r\n onSelect(record);\r\n };\r\n\r\n handleRemove = (record) => {\r\n const { onRemove, multiple } = this.props;\r\n\r\n if (!multiple) {\r\n this.setState({ visible: false });\r\n }\r\n\r\n onRemove(record);\r\n };\r\n\r\n handleOnChangeVisible = (visible) => {\r\n if (this.props.disabled) {\r\n return;\r\n }\r\n\r\n if (!visible) {\r\n this.lastFetchId = 0;\r\n\r\n this.setState({\r\n data: [],\r\n fetching: false,\r\n visible: false,\r\n textSearched: undefined,\r\n pagination: {\r\n hasNextPage: true,\r\n currentPage: 0\r\n }\r\n });\r\n\r\n this.clearSearchField();\r\n }\r\n\r\n if (visible) {\r\n this.fetchData();\r\n }\r\n\r\n this.setState({ visible });\r\n };\r\n\r\n handleOnSearch = (value) => {\r\n this.setState({ pagination: { hasNextPage: true, currentPage: 0 } });\r\n this.handleSearch(value);\r\n };\r\n\r\n clearSearchField = () => {\r\n if (this.refInput.current) {\r\n this.refInput.current.state.value = '';\r\n }\r\n };\r\n\r\n handleOnScroll = () => {\r\n const { textSearched } = this.state;\r\n this.fetchData(textSearched);\r\n };\r\n\r\n renderItem = (record, add, remove) => {\r\n const {\r\n values = [],\r\n loadingId,\r\n customButtonAdd,\r\n customButtonRemove\r\n } = this.props;\r\n\r\n const loading = loadingId === record.id;\r\n const isSelected = values.some((c) => c.id === record.id);\r\n\r\n return (\r\n \r\n
{record?.name}\r\n\r\n
\r\n {loading ? : null}\r\n {isSelected && !loading ? (\r\n customButtonRemove ? (\r\n customButtonRemove(() => remove(record))\r\n ) : (\r\n \r\n remove(record)}\r\n cancelText=\"Não\"\r\n okText=\"Sim\"\r\n >\r\n \r\n \r\n \r\n )\r\n ) : null}\r\n\r\n {!isSelected && !loading ? (\r\n customButtonAdd ? (\r\n customButtonAdd(() => add(record))\r\n ) : (\r\n \r\n add(record)} />\r\n \r\n )\r\n ) : null}\r\n \r\n
\r\n );\r\n };\r\n\r\n handleCreateOrUpdateSuccess = (response) => {\r\n const { onSelect } = this.props;\r\n\r\n if (onSelect) {\r\n onSelect(response.data.result);\r\n }\r\n\r\n this.clearSearchField();\r\n };\r\n\r\n handleClickCreate = () => {\r\n if (this.refCrud.current) {\r\n this.refCrud.current.create({ name: this.state.textSearched });\r\n this.handleOnChangeVisible(false);\r\n }\r\n };\r\n\r\n render() {\r\n const { fetching, visible, data } = this.state;\r\n const {\r\n children,\r\n renderItem,\r\n placeholder,\r\n addButtonText,\r\n editComponent,\r\n resource\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n this.handleOnSearch(e.target.value)}\r\n placeholder={placeholder || 'Pesquisar...'}\r\n />\r\n\r\n \r\n {data.length === 0 && !fetching ? (\r\n \r\n \r\n
\r\n ) : null}\r\n {data.map((record) =>\r\n renderItem\r\n ? renderItem(record, this.handleAdd, this.handleRemove)\r\n : this.renderItem(record, this.handleAdd, this.handleRemove)\r\n )}\r\n {fetching ? (\r\n \r\n ) : null}\r\n \r\n \r\n \r\n }\r\n >\r\n {children}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nRemoteSelectPopover.defaultProps = { fethOnMount: false };\r\n\r\nexport default RemoteSelectPopover;\r\n","import React from 'react';\r\nimport { Select } from 'antd';\r\n\r\nconst SelectBoolean = (props, ref) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default React.forwardRef(SelectBoolean);\r\n","import React, { forwardRef } from 'react';\r\nimport { Input } from 'antd';\r\nimport ReactInputMask from 'react-input-mask';\r\n\r\nconst InputMask = (props, ref) => {\r\n const { disabled } = props;\r\n\r\n return (\r\n \r\n {(inputProps) => (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default forwardRef(InputMask);\r\n","/* eslint-disable react/jsx-indent */\r\nimport React, { useState } from 'react';\r\nimport { Form, Popover } from 'antd';\r\nimport { RemoteSelect } from 'react-structure-admin';\r\n\r\nconst FilterRemoteSelect = ({\r\n children,\r\n className,\r\n data,\r\n initialValue,\r\n isLast,\r\n name,\r\n multiple,\r\n placeholder,\r\n showSearch,\r\n label,\r\n resource,\r\n width,\r\n ...rest\r\n}) => {\r\n const [visible, setVisible] = useState({ popover: false, select: false });\r\n\r\n const handleVisiblePopover = (value) => {\r\n setVisible({ ...visible, popover: visible.select ? false : value });\r\n };\r\n\r\n const handleVisibleSelect = (value) => {\r\n setVisible({ select: value, popover: false });\r\n };\r\n\r\n const getPlaceholder = (values) => {\r\n if (values.length <= 0) {\r\n return '';\r\n }\r\n\r\n if (values.length === 1) {\r\n return values[0].label;\r\n }\r\n\r\n return (\r\n \r\n {values.map((c) => (\r\n \r\n {c.label}\r\n
\r\n ))}\r\n \r\n }\r\n >\r\n {`${values.length} selecionados`}\r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default FilterRemoteSelect;\r\n","import React, { useEffect, useImperativeHandle, useRef, useState } from 'react';\r\nimport { EditorState, Modifier, RichUtils } from 'draft-js';\r\nimport { Editor } from 'react-draft-wysiwyg';\r\nimport { stateToHTML } from 'draft-js-export-html';\r\nimport { stateFromHTML } from 'draft-js-import-html';\r\nimport { insertNewUnstyledBlock } from 'draftjs-utils';\r\nimport translations from './translations';\r\n\r\nconst HtmlEditor = (\r\n { onChange, value = '', readOnly, disabled, options },\r\n ref\r\n) => {\r\n const [editor, setEditor] = useState(EditorState.createEmpty());\r\n const [loaded, setLoaded] = useState(false);\r\n const editorRef = useRef(null);\r\n\r\n useEffect(() => {\r\n if ((readOnly || disabled || !loaded) && value) {\r\n setLoaded(true);\r\n setEditor(EditorState.createWithContent(stateFromHTML(value)));\r\n }\r\n }, [value]);\r\n\r\n const onEditorStateChange = (editorState) => {\r\n if (onChange) {\r\n onChange(stateToHTML(editorState.getCurrentContent()));\r\n }\r\n\r\n setEditor(editorState);\r\n };\r\n\r\n const insert = (html) => {\r\n const currentContent = editor.getCurrentContent();\r\n const currentSelection = editor.getSelection();\r\n\r\n const newContent = Modifier.replaceText(\r\n currentContent,\r\n currentSelection,\r\n html\r\n );\r\n\r\n const newEditorState = EditorState.push(\r\n editor,\r\n newContent,\r\n 'insert-characters'\r\n );\r\n\r\n setEditor(\r\n EditorState.forceSelection(newEditorState, newContent.getSelectionAfter())\r\n );\r\n };\r\n\r\n useImperativeHandle(ref, () => ({\r\n insert\r\n }));\r\n\r\n return (\r\n {\r\n let newEditorState = null;\r\n if (event.keyCode === 13 && event.shiftKey) {\r\n newEditorState = insertNewUnstyledBlock(editor);\r\n } else if (event.keyCode === 13 && !event.shiftKey) {\r\n newEditorState = RichUtils.insertSoftNewline(editor);\r\n }\r\n if (newEditorState) {\r\n setEditor(newEditorState);\r\n return true;\r\n }\r\n return false;\r\n }}\r\n toolbar={{\r\n options: options ?? [\r\n 'inline',\r\n 'blockType',\r\n 'fontFamily',\r\n 'list',\r\n 'textAlign',\r\n 'colorPicker',\r\n 'link'\r\n ]\r\n }}\r\n />\r\n );\r\n};\r\n\r\nexport default React.forwardRef(HtmlEditor);\r\n","import React from 'react';\r\nimport { api } from 'react-structure-admin';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { Button } from 'antd';\r\n\r\nimport {\r\n isAudio,\r\n isExcel,\r\n isImage,\r\n isPDF,\r\n isVideo\r\n} from 'util/functions/mimeTypes';\r\n\r\nconst getIconName = (contentType) => {\r\n if (isImage(contentType)) {\r\n return 'file-image';\r\n }\r\n if (isPDF(contentType)) {\r\n return 'file-pdf';\r\n }\r\n if (isExcel(contentType)) {\r\n return 'file-exel';\r\n }\r\n\r\n if (isVideo(contentType)) {\r\n return 'file-video';\r\n }\r\n\r\n if (isAudio(contentType)) {\r\n return 'file-audio';\r\n }\r\n\r\n return 'file-alt';\r\n};\r\n\r\nconst SectionField = ({ type, field, answer, attachments = [], ...rest }) => {\r\n const handleAttachment = ({ url }) => {\r\n window.open(`${api.getUrlFromResource('attendances')}/${url}`, '_blank');\r\n };\r\n\r\n const render = () => {\r\n if (field.type === 'multiline') {\r\n return (\r\n \r\n \r\n {answer?.split('\\n').map((str) => (\r\n <>\r\n {str}\r\n
\r\n >\r\n ))}\r\n \r\n
\r\n );\r\n }\r\n\r\n if (field.type === 'attachment') {\r\n return (\r\n \r\n {attachments.map((c) => (\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n ))}\r\n
\r\n );\r\n }\r\n\r\n return null;\r\n };\r\n\r\n return (\r\n \r\n
\r\n {field.name}\r\n
\r\n {render()}\r\n
\r\n );\r\n};\r\n\r\nexport default SectionField;\r\n","import React from 'react';\r\nimport moment from 'moment';\r\nimport { Button } from 'antd';\r\nimport { api } from 'react-structure-admin';\r\nimport { DownloadOutlined } from '@ant-design/icons';\r\nimport HtmlEditor from 'components/HtmlEditor/HtmlEditor';\r\n\r\nconst SectionFieldDocument = ({\r\n id,\r\n name,\r\n text,\r\n creationTime,\r\n lastModificationTime\r\n}) => {\r\n const handleDownload = () => {\r\n const url = api.getUrlFromResource(`attendances/${id}/document-pdf`);\r\n window.open(url);\r\n };\r\n\r\n return (\r\n \r\n
{name}
\r\n
\r\n {moment(creationTime).format('[Criado em] DD/MM/YYYY HH:mm')}\r\n
\r\n {lastModificationTime ? (\r\n
\r\n {moment(lastModificationTime).format(\r\n '[Atualizado em] DD/MM/YYYY HH:mm'\r\n )}\r\n
\r\n ) : null}\r\n
\r\n
\r\n }\r\n onClick={handleDownload}\r\n >\r\n Imprimir\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default SectionFieldDocument;\r\n","import React from 'react';\r\nimport moment from 'moment';\r\nimport { Button } from 'antd';\r\nimport { api } from 'react-structure-admin';\r\nimport { DownloadOutlined } from '@ant-design/icons';\r\nimport HtmlEditor from 'components/HtmlEditor/HtmlEditor';\r\nimport { MEMED, RECEITADIGITAL } from 'constants/types';\r\n\r\nconst SectionFieldPrescription = ({\r\n id,\r\n creationTime,\r\n lastModificationTime,\r\n prescription = {}\r\n}) => {\r\n const { name, text, source, receitaDigital } = prescription ?? {};\r\n\r\n const handleDownload = () => {\r\n if (source === RECEITADIGITAL && receitaDigital) {\r\n const { urlFromPdf } = receitaDigital;\r\n window.open(urlFromPdf);\r\n return;\r\n }\r\n\r\n window.open(\r\n api.getUrlFromResource(`attendances/${prescription.id}/prescription-pdf`)\r\n );\r\n };\r\n\r\n return (\r\n \r\n
{name}
\r\n
\r\n {moment(creationTime).format('[Criado em] DD/MM/YYYY HH:mm')}\r\n
\r\n {lastModificationTime ? (\r\n
\r\n {moment(lastModificationTime).format(\r\n '[Atualizado em] DD/MM/YYYY HH:mm'\r\n )}\r\n
\r\n ) : null}\r\n
\r\n
\r\n }\r\n onClick={handleDownload}\r\n id=\"teste-memed\"\r\n >\r\n Imprimir\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default SectionFieldPrescription;\r\n","import React from 'react';\r\nimport SectionField from './SectionField';\r\nimport SectionFieldDocument from './SectionFieldDocument';\r\nimport SectionFieldPrescription from './SectionFieldPrescription';\r\n\r\nconst Section = (props) => {\r\n const {\r\n id,\r\n name,\r\n type,\r\n fields = [],\r\n documents = [],\r\n prescriptions = []\r\n } = props;\r\n\r\n const showFieldMedicalRecord = (c) => {\r\n return c.answer || c.attachments.length > 0;\r\n };\r\n\r\n const render = () => {\r\n if (type === 'medicalRecord') {\r\n return fields\r\n .filter(showFieldMedicalRecord)\r\n .map((values) => );\r\n }\r\n\r\n if (type === 'document') {\r\n return documents.map((c) => );\r\n }\r\n\r\n if (type === 'prescription') {\r\n return prescriptions.map((c) => (\r\n \r\n ));\r\n }\r\n\r\n return null;\r\n };\r\n\r\n if (type === 'medicalRecord' && !fields.some(showFieldMedicalRecord)) {\r\n return null;\r\n }\r\n\r\n if (type === 'document' && documents.length === 0) {\r\n return null;\r\n }\r\n\r\n if (type === 'prescription' && prescriptions.length === 0) {\r\n return null;\r\n }\r\n\r\n if (type === 'comments') {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n
\r\n {name}\r\n
\r\n
{render()}
\r\n
\r\n );\r\n};\r\n\r\nexport default Section;\r\n","import React from 'react';\r\nimport { CirclePicker } from 'react-color';\r\n\r\nconst SelectColor = ({ value, onChange }) => {\r\n return (\r\n \r\n onChange(hex)}\r\n colors={[\r\n '#f9e1db',\r\n '#f56193',\r\n '#cf7bdd',\r\n '#b695f1',\r\n '#c6cfff',\r\n '#9bcdf5',\r\n '#9deff9',\r\n '#b1f7f0',\r\n '#a9ffad',\r\n '#fff1c9',\r\n '#c4d6df'\r\n ]}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default SelectColor;\r\n","import React from 'react';\r\nimport { Form, Button } from 'antd';\r\nimport { FormItemWrap } from 'react-structure-admin';\r\nimport { PlusOutlined } from '@ant-design/icons';\r\nimport lodash from 'lodash';\r\n\r\nconst FormListContext = React.createContext({ form: null });\r\n\r\nconst FormListItemWrap = ({ children, name, noStyle, ...rest }) => {\r\n const { field } = React.useContext(FormListContext);\r\n\r\n if (!field) {\r\n throw new Error('Missing FormListWrap in its parent.');\r\n }\r\n\r\n const getName = () => {\r\n if (typeof name === 'string') {\r\n return [name];\r\n }\r\n\r\n return name;\r\n };\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nconst FormListWrap = ({\r\n form,\r\n name,\r\n onBeforeCreateItem,\r\n onCreateItem,\r\n onRemoveItem,\r\n onAllowRemoveItem = () => true,\r\n onRemove,\r\n addText = 'Adicionar',\r\n hideAddButton = false,\r\n children\r\n}) => {\r\n const handleCreateItem = () => {\r\n if (onCreateItem) {\r\n onCreateItem();\r\n } else {\r\n const items = form.getFieldValue(name) ?? [];\r\n let item = {};\r\n\r\n if (onBeforeCreateItem) {\r\n item = onBeforeCreateItem(item);\r\n }\r\n\r\n form.setFieldsValue({\r\n [name]: [...items, item]\r\n });\r\n }\r\n };\r\n\r\n const handleRemoveItem = (fieldIndex) => {\r\n if (onRemoveItem) {\r\n onRemoveItem(fieldIndex);\r\n return;\r\n }\r\n\r\n const items = form.getFieldValue(name) ?? [];\r\n const item = items.find((_, index) => index === fieldIndex);\r\n\r\n if (!onAllowRemoveItem(item, items)) {\r\n return;\r\n }\r\n\r\n form.setFieldsValue({\r\n [name]: items.filter((_, index) => index !== fieldIndex)\r\n });\r\n\r\n if (onRemove) {\r\n onRemove(item);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {(fields) => (\r\n <>\r\n {fields.map((field, index) => (\r\n \r\n {\r\n return lodash.isEqual(prevValues, curValues);\r\n }}\r\n >\r\n {({ getFieldValue }) => {\r\n return children({\r\n onCreate: handleCreateItem,\r\n onRemove: () => handleRemoveItem(field.name),\r\n field,\r\n fields,\r\n value: getFieldValue([name, field.name]),\r\n index\r\n });\r\n }}\r\n \r\n \r\n ))}\r\n >\r\n )}\r\n \r\n {!hideAddButton && (\r\n } onClick={handleCreateItem}>\r\n {addText}\r\n \r\n )}\r\n >\r\n );\r\n};\r\n\r\nexport { FormListWrap, FormListItemWrap, FormListContext };\r\n","/* eslint-disable react/no-danger */\r\nimport React from 'react';\r\n\r\nconst RawHtml = ({ html }) => {\r\n return ;\r\n};\r\n\r\nexport default RawHtml;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Checkbox, Tooltip } from 'antd';\r\nimport { InfoCircleOutlined } from '@ant-design/icons';\r\n\r\nconst CheckboxInput = ({\r\n placeholder,\r\n children,\r\n onChange,\r\n value,\r\n id,\r\n hint\r\n}) => {\r\n const [loaded, setLoaded] = useState(false);\r\n const [visible, setVisible] = useState(!!value);\r\n\r\n useEffect(() => {\r\n if (!loaded && value) {\r\n setLoaded(true);\r\n setVisible(true);\r\n }\r\n }, [value]);\r\n\r\n const handleChange = ({ target }) => {\r\n if (!target.checked) {\r\n onChange(null);\r\n }\r\n\r\n setVisible(target.checked);\r\n };\r\n\r\n return (\r\n \r\n \r\n {placeholder}\r\n {hint ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n {visible\r\n ? React.cloneElement(children, {\r\n value,\r\n id,\r\n onChange\r\n })\r\n : null}\r\n
\r\n );\r\n};\r\n\r\nexport default CheckboxInput;\r\n","import React from 'react';\r\nimport { Drawer, Modal } from 'antd';\r\n\r\nconst DrawerModal = ({ mode = 'drawer', children, onClose, ...rest }) => {\r\n if (mode === 'drawer') {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n }\r\n\r\n if (mode === 'modal') {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n }\r\n\r\n return null;\r\n};\r\n\r\nexport default DrawerModal;\r\n","import React from 'react';\r\nimport { Button, Popconfirm } from 'antd';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\n\r\nconst ActionsList = ({\r\n editing = true,\r\n record,\r\n initEditing,\r\n removeRecord,\r\n renderRight = () => {},\r\n showDeletedButton = true\r\n}) => {\r\n return (\r\n \r\n {editing ? (\r\n \r\n ) : null}\r\n {showDeletedButton && (\r\n removeRecord(record.id)}\r\n cancelText=\"Não\"\r\n okText=\"Sim\"\r\n >\r\n }\r\n >\r\n Excluir\r\n \r\n \r\n )}\r\n {renderRight(record)}\r\n \r\n );\r\n};\r\n\r\nexport default ActionsList;\r\n","import React from 'react';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport Iugu from 'util/iugu';\r\nimport { AMEX, DINERS, MASTERCARD, VISA } from 'constants/cardBrands';\r\n\r\nconst getBrandIconName = (number) => {\r\n try {\r\n const brand = Iugu.utils.getBrandByCreditCardNumber(number);\r\n\r\n switch (brand) {\r\n case VISA:\r\n return ['fab', 'cc-visa'];\r\n case MASTERCARD:\r\n return ['fab', 'cc-mastercard'];\r\n case AMEX:\r\n return ['fab', 'cc-amex'];\r\n case DINERS:\r\n return ['fab', 'cc-diners-club'];\r\n default:\r\n return null;\r\n }\r\n } catch (error) {\r\n return null;\r\n }\r\n};\r\n\r\nconst CreditCardIcon = ({ className = '', number }) => {\r\n const iconName = getBrandIconName(number);\r\n\r\n return iconName ? (\r\n \r\n ) : null;\r\n};\r\n\r\nexport default CreditCardIcon;\r\n","export const VISA = 'visa';\r\nexport const AMEX = 'amex';\r\nexport const DINERS = 'diners';\r\nexport const MASTERCARD = 'mastercard';\r\nexport const ELO = 'elo';\r\n","import React, { useState } from 'react';\r\nimport {\r\n Form,\r\n Input,\r\n Row,\r\n Button,\r\n Divider,\r\n Select,\r\n InputNumber,\r\n Col,\r\n Alert\r\n} from 'antd';\r\nimport { MaskedInput } from 'antd-mask-input';\r\nimport {\r\n formartOnlyNumber,\r\n configManager,\r\n FormItemWrap\r\n} from 'react-structure-admin';\r\nimport { useLocation } from 'react-router-dom';\r\nimport qs from 'query-string';\r\nimport Iugu from 'util/iugu';\r\nimport ResCol from 'components/forms/ResCol';\r\nimport { formatCurrency } from 'util/formatters';\r\nimport { BsCheck2Square } from 'react-icons/bs';\r\nimport { useSubscriptionPlanHelper } from 'core/hooks';\r\nimport usePermissions from 'core/hooks/usePermissions';\r\nimport CreditCardIcon from './CreditCardIcon';\r\n\r\nconst PaymentPlan = ({ loading, onSubmit, plan, onCancel }) => {\r\n const { search } = useLocation();\r\n const { applypartnerdiscount } = qs.parse(search);\r\n const [validatingCard, setValidatingCard] = useState(false);\r\n const { isPartnership } = usePermissions();\r\n const { getFeatureValue, identifiers } = useSubscriptionPlanHelper(plan);\r\n\r\n const min = isPartnership\r\n ? getFeatureValue(identifiers.MIN_LICENSE)\r\n : getFeatureValue(identifiers.MIN_PROFESSIONAL_NUMBER);\r\n\r\n const max = isPartnership\r\n ? getFeatureValue(identifiers.MAX_LICENSE)\r\n : getFeatureValue(identifiers.MAX_PROFESSIONAL_NUMBER);\r\n\r\n const amountInitial =\r\n (isPartnership\r\n ? getFeatureValue(identifiers.MIN_LICENSE)\r\n : getFeatureValue(identifiers.MIN_PROFESSIONAL_NUMBER)) * plan.amount;\r\n\r\n const [amount, setAmount] = useState(amountInitial);\r\n const [form] = Form.useForm();\r\n\r\n const validateCreditCard = ({\r\n number,\r\n expirationDate,\r\n cardholderName,\r\n securityCode,\r\n installments = null,\r\n numberOfPaidProfessionals,\r\n numberOfLicenses\r\n }) => {\r\n const month = expirationDate.substr(0, 2);\r\n const year = expirationDate.substr(3, 6);\r\n const [firstName, ...lastNames] = cardholderName.split(' ');\r\n const lastName = lastNames.join(' ');\r\n\r\n const cc = Iugu.CreditCard(\r\n number,\r\n month,\r\n year,\r\n firstName,\r\n lastName,\r\n securityCode\r\n );\r\n\r\n if (cc.valid()) {\r\n setValidatingCard(true);\r\n Iugu.createPaymentToken(cc, (response) => {\r\n setValidatingCard(false);\r\n\r\n onSubmit({\r\n numberOfPaidProfessionals,\r\n numberOfLicenses,\r\n amount,\r\n removeLicense: !applypartnerdiscount,\r\n paymentMethod: {\r\n creditCard: {\r\n token: response.id,\r\n holder: {\r\n name: cardholderName\r\n }\r\n },\r\n installments\r\n }\r\n });\r\n });\r\n }\r\n };\r\n\r\n const handleFinish = (values) => {\r\n validateCreditCard(values);\r\n };\r\n\r\n const validateNumber = (rule, value) => {\r\n if (!value) {\r\n return Promise.resolve();\r\n }\r\n\r\n const number = formartOnlyNumber(value);\r\n\r\n if (number.length <= 16 && !Iugu.utils.validateCreditCardNumber(number)) {\r\n return Promise.reject(new Error('Número de cartão inválido'));\r\n }\r\n\r\n return Promise.resolve();\r\n };\r\n\r\n const validateExpirationDate = (rule, value) => {\r\n if (!value) {\r\n return Promise.resolve();\r\n }\r\n\r\n const date = formartOnlyNumber(value);\r\n\r\n if (date.length === 6 && !Iugu.utils.validateExpirationString(value)) {\r\n return Promise.reject(new Error('Data de validade inválida'));\r\n }\r\n\r\n return Promise.resolve();\r\n };\r\n\r\n const validateName = (rule, value) => {\r\n if (!value) {\r\n return Promise.resolve();\r\n }\r\n\r\n if (/\\d/.test(value)) {\r\n return Promise.reject(new Error('Nome não pode conter números'));\r\n }\r\n\r\n if (value.split(' ').filter((c) => c !== '').length === 1) {\r\n return Promise.reject(new Error('Digite o nome completo'));\r\n }\r\n\r\n return Promise.resolve();\r\n };\r\n\r\n const validateSecurityCode = (value, number) => {\r\n if (!value || !number) {\r\n return true;\r\n }\r\n\r\n const cardNumber = formartOnlyNumber(number);\r\n const cvv = formartOnlyNumber(value);\r\n const brand = Iugu.utils.getBrandByCreditCardNumber(cardNumber);\r\n\r\n if (\r\n cardNumber.length === 16 &&\r\n cvv.length === 3 &&\r\n !Iugu.utils.validateCVV(cvv, brand)\r\n ) {\r\n return false;\r\n }\r\n\r\n return true;\r\n };\r\n\r\n const validateNumberOfProfessionals = (rule, value) => {\r\n if (!value && value !== 0) {\r\n return Promise.resolve();\r\n }\r\n\r\n const label = isPartnership ? 'licenças' : 'profissionais';\r\n\r\n if (!Number.isNaN(Number(min)) && value < Number.parseInt(min, 10)) {\r\n return Promise.reject(\r\n new Error(`O plano tem um limite mínimo de ${min} ${label}`)\r\n );\r\n }\r\n\r\n if (!Number.isNaN(Number(max)) && value > Number.parseInt(max, 10)) {\r\n return Promise.reject(\r\n new Error(`O plano tem um limite máximo de ${max} ${label}`)\r\n );\r\n }\r\n\r\n return Promise.resolve();\r\n };\r\n\r\n const handleChangeValues = (\r\n _,\r\n { numberOfPaidProfessionals, numberOfLicenses }\r\n ) => {\r\n if (!isPartnership) {\r\n setAmount(numberOfPaidProfessionals * plan.amount);\r\n return;\r\n }\r\n\r\n if (isPartnership) {\r\n setAmount(numberOfLicenses * plan.amount);\r\n }\r\n };\r\n\r\n const installmentsData = [];\r\n\r\n for (let parcel = 1; parcel < 13; parcel += 1) {\r\n installmentsData.push(parcel);\r\n }\r\n\r\n const isLoading = loading || validatingCard;\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default PaymentPlan;\r\n","import React from 'react';\r\nimport { Button, Card, Row, Col, Spin } from 'antd';\r\n\r\nconst PageContainer = ({\r\n title,\r\n visible,\r\n children,\r\n readOnly = false,\r\n maskClosable = true,\r\n onOkClick,\r\n onBackClick,\r\n okButtonText = 'Confirmar',\r\n backButtonText = 'Voltar',\r\n loading,\r\n saving,\r\n className = '',\r\n toolbarComponent: ToolbarComponent,\r\n size,\r\n ...rest\r\n}) => {\r\n const width =\r\n size && (size.includes('%') || size.includes('px')) ? size : undefined;\r\n const sizeClass = size && !width ? size : null;\r\n\r\n return (\r\n \r\n
\r\n {title}
\r\n {children}\r\n \r\n {ToolbarComponent ? (\r\n
\r\n ) : (\r\n
\r\n {readOnly ? (\r\n \r\n ) : (\r\n <>\r\n \r\n \r\n >\r\n )}\r\n
\r\n )}\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default PageContainer;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Modal } from 'antd';\r\nimport { ExclamationCircleOutlined } from '@ant-design/icons';\r\nimport {\r\n configManager,\r\n useCrudEditContext,\r\n RESOURCE_ACTION_EDIT,\r\n RESOURCE_ACTION_CREATE\r\n} from 'react-structure-admin';\r\nimport PageContainer from './PageContainer';\r\nimport ResourceErrorAlert from './ResourceErrorAlert';\r\n\r\nconst PageEdit = ({\r\n children,\r\n cancelEdit,\r\n post,\r\n update,\r\n visible,\r\n action,\r\n data,\r\n size = 'sm',\r\n resource,\r\n submit,\r\n onSubmit,\r\n onBeforeBinding,\r\n updateFormOnDataChanged = true,\r\n readOnly = false,\r\n onDataChanged,\r\n onValuesChange,\r\n showConfirmDataLoss = true,\r\n onCreateOrUpdateSuccess,\r\n ...rest\r\n}) => {\r\n const { form: editingForm } = useCrudEditContext();\r\n const [modified, setModified] = useState(false);\r\n\r\n useEffect(() => {\r\n const dataChanged = onBeforeBinding ? onBeforeBinding(data) : data;\r\n if (updateFormOnDataChanged) {\r\n editingForm.setFieldsValue(dataChanged);\r\n }\r\n if (onDataChanged) {\r\n onDataChanged(dataChanged);\r\n }\r\n }, [updateFormOnDataChanged, data]);\r\n\r\n const handleSubmit = () => {\r\n if (!action) {\r\n action = data.id ? RESOURCE_ACTION_EDIT : RESOURCE_ACTION_CREATE;\r\n }\r\n\r\n editingForm.validateFields().then((values) => {\r\n let dataToSend = { ...data, ...values };\r\n\r\n if (onSubmit) {\r\n dataToSend = onSubmit(dataToSend);\r\n if (!dataToSend) {\r\n return;\r\n }\r\n }\r\n if (submit) {\r\n submit(values, action);\r\n } else if (action === RESOURCE_ACTION_EDIT) {\r\n update(data.id, dataToSend, onCreateOrUpdateSuccess);\r\n } else {\r\n post(dataToSend, onCreateOrUpdateSuccess);\r\n }\r\n });\r\n };\r\n\r\n const handleValuesChange = (changedValues, allValues) => {\r\n onValuesChange?.(changedValues, allValues);\r\n setModified(true);\r\n };\r\n\r\n const handleBackClick = () => {\r\n if (showConfirmDataLoss && modified) {\r\n Modal.confirm({\r\n title: 'As modifições serão descartadas. Deseja sair sem salvar?',\r\n icon: ,\r\n okText: 'Sair',\r\n cancelText: 'Cancelar',\r\n onOk() {\r\n cancelEdit();\r\n }\r\n });\r\n } else {\r\n cancelEdit();\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n {React.cloneElement(children, {\r\n form: editingForm,\r\n onValuesChange: handleValuesChange,\r\n initialValues: !updateFormOnDataChanged\r\n ? onBeforeBinding\r\n ? onBeforeBinding(data)\r\n : data\r\n : undefined,\r\n ...configManager.getConfig().layout.form\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default PageEdit;\r\n","import React, { useEffect, useState } from 'react';\r\nimport CurrencyInput from 'react-currency-input-field';\r\n\r\nconst InputCurrency = ({\r\n prefix = '',\r\n decimalSeparator = ',',\r\n decimalsLimit = 2,\r\n decimalScale = 2,\r\n onChange,\r\n value,\r\n onFocus,\r\n ...rest\r\n}) => {\r\n const [userValue, setUserValue] = useState(value);\r\n\r\n const triggerChange = (changedValue) => {\r\n onChange?.(\r\n changedValue ? parseFloat(changedValue.replace(decimalSeparator, '.')) : 0\r\n );\r\n setUserValue(changedValue);\r\n };\r\n\r\n const handleOnFocus = (e) => {\r\n e.target.select();\r\n\r\n if (onFocus) {\r\n onFocus(e);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n setUserValue(value ?? 0);\r\n }, [value]);\r\n\r\n return (\r\n \r\n );\r\n};\r\nexport default InputCurrency;\r\n","import React from 'react';\r\nimport { Col, Descriptions, Row, Tag } from 'antd';\r\nimport moment from 'moment';\r\nimport { formatCurrency } from 'util/formatters';\r\nimport display from 'constants/display';\r\nimport { BsCheck2Square } from 'react-icons/bs';\r\nimport useSubscription from 'core/hooks/useSubscription';\r\nimport {\r\n ACTIVATED,\r\n CANCELED,\r\n CREATED,\r\n EXPIRED,\r\n INTRIAL,\r\n SUSPENDED\r\n} from 'constants/types';\r\nimport CustomScrollbars from './CustomScrollbars';\r\n\r\nconst colors = {\r\n [CREATED]: 'blue ',\r\n [ACTIVATED]: 'green ',\r\n [CANCELED]: 'grey',\r\n [SUSPENDED]: 'red',\r\n [EXPIRED]: 'orange ',\r\n [INTRIAL]: 'purple'\r\n};\r\n\r\nconst PlanDetail = ({ subscription }) => {\r\n const { expiresTrialMessage } = useSubscription();\r\n const { plan } = subscription;\r\n\r\n const frequency =\r\n plan != null ? (plan.frequency === 'monthly' ? 'MÊS' : 'ANO') : null;\r\n const isTrial = subscription.status === INTRIAL;\r\n\r\n const getSingularOrPlural = (singularText, isPlural) => {\r\n if (singularText === 'profissional' && isPlural) {\r\n return 'profissionais';\r\n }\r\n\r\n if (singularText === 'Licença' && isPlural) {\r\n return 'licenças';\r\n }\r\n\r\n return singularText;\r\n };\r\n\r\n const getTitle = () => {\r\n const planName = plan?.name ?? 'Licença';\r\n\r\n if (subscription?.numberOfProfessionals > 0) {\r\n let number = subscription?.numberOfProfessionals;\r\n\r\n if (subscription.numberOfPaidProfessionals > 0) {\r\n number = subscription.numberOfPaidProfessionals;\r\n }\r\n\r\n return number === 1\r\n ? `${planName} (1 profissional)`\r\n : `${planName} (${number} profissionais)`;\r\n }\r\n\r\n if (subscription?.numberOfLicenses > 0) {\r\n return subscription?.numberOfLicense === 1\r\n ? `${planName} (1 licença)`\r\n : `${planName} (${subscription?.numberOfLicenses} licenças)`;\r\n }\r\n\r\n return plan?.name;\r\n };\r\n\r\n return (\r\n \r\n {getTitle()}\r\n \r\n {subscription.amount === 0 ? (\r\n 'Bonificado'\r\n ) : (\r\n {`${formatCurrency(subscription.amount)} / ${frequency}`}
\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {display[subscription.status]}\r\n \r\n {subscription.numberOfFreeProfessionals > 0 ? (\r\n \r\n {`+ Licença parceiro (${\r\n subscription.numberOfFreeProfessionals\r\n } ${getSingularOrPlural(\r\n 'profissional',\r\n subscription.numberOfFreeProfessionals > 1\r\n )})`}\r\n \r\n ) : null}\r\n \r\n \r\n {isTrial ? (\r\n \r\n {expiresTrialMessage}\r\n \r\n ) : null}\r\n \r\n
\r\n \r\n {subscription.hasLicense ? (\r\n \r\n \r\n {subscription?.partnershipName}\r\n
\r\n \r\n ) : null}\r\n \r\n \r\n {plan?.features.map((feature, index) => (\r\n \r\n \r\n {feature.description}\r\n
\r\n ))}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default PlanDetail;\r\n","import React from 'react';\r\nimport { Card, Result } from 'antd';\r\nimport { LockOutlined } from '@ant-design/icons';\r\n\r\nconst AccessResourcesDenied = ({ title, subTitle, extra }) => {\r\n return (\r\n \r\n \r\n }\r\n status=\"info\"\r\n title={title}\r\n subTitle={subTitle}\r\n extra={extra}\r\n />\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default AccessResourcesDenied;\r\n","import React from 'react';\r\nimport { Button } from 'antd';\r\nimport { useHistory } from 'react-router';\r\nimport useAuth from 'core/hooks/useAuth';\r\nimport AccessResourcesDenied from './AccessResourcesDenied';\r\n\r\nconst AccountAccessDenied = ({ children, title, types = [] }) => {\r\n const { hasAccountType } = useAuth();\r\n const history = useHistory();\r\n\r\n const handleChangeSubscription = () => {\r\n history.push('/app/subscriptions');\r\n };\r\n\r\n if (types?.length === 0) {\r\n return null;\r\n }\r\n\r\n if (hasAccountType(...types)) {\r\n return (\r\n \r\n Upgrade de assinatura\r\n \r\n }\r\n />\r\n );\r\n }\r\n\r\n return children;\r\n};\r\n\r\nexport default AccountAccessDenied;\r\n","import { dispatcher, api } from 'react-structure-admin';\r\n\r\nexport const NOTIFICATION = 'NOTIFICATION';\r\nexport const NOTIFICATION_SET_VISUALIZED = 'NOTIFICATION_SET_VISUALIZED';\r\nexport const NOTIFICATION_SET_VISUALIZED_FINISHED =\r\n 'NOTIFICATION_SET_VISUALIZED_FINISHED';\r\n\r\nexport const setVisualized = (id, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'notifications',\r\n actionType: NOTIFICATION_SET_VISUALIZED,\r\n effect: async () => api.post(`notifications/visualized/${id}`),\r\n onSuccess\r\n });\r\n};\r\n","import React from 'react';\r\nimport moment from 'moment';\r\n\r\nconst NotificationDate = ({ date }) => {\r\n return (\r\n \r\n {moment(date).fromNow()}\r\n
\r\n );\r\n};\r\n\r\nexport default NotificationDate;\r\n","import React from 'react';\r\nimport useAuth from 'core/hooks/useAuth';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router';\r\nimport { acceptedTreatmentPartner } from 'stores/treatments/treatmentActions';\r\nimport { setVisualized } from 'stores/notifications/notificationActions';\r\nimport { Button } from 'antd';\r\nimport NotificationDate from './NotificationDate';\r\n\r\nconst NotificationTreatmentItem = ({ item, fetch }) => {\r\n const dispatch = useDispatch();\r\n const { refresh, refreshToken } = useAuth();\r\n const history = useHistory();\r\n const { notification, isActive, creationTime } = item;\r\n\r\n const { treatmentPartnerAcceptingId } = useSelector(\r\n (c) => c.resources?.treatments ?? {}\r\n );\r\n\r\n const handleSuccess = ({ data }) => {\r\n const { pathname } = window.location;\r\n\r\n fetch();\r\n dispatch(setVisualized(item.id));\r\n refresh({ refreshToken, type: 'professional' });\r\n\r\n if (\r\n pathname.startsWith('/app/patients/') &&\r\n pathname.endsWith('/history')\r\n ) {\r\n history.replace(`/app/patients/${data.result?.id}/history`);\r\n window.location.reload();\r\n return;\r\n }\r\n\r\n history.push(`/app/patients/${data.result?.id}/history`);\r\n };\r\n\r\n const handleAccepted = (id) => {\r\n dispatch(acceptedTreatmentPartner(id, handleSuccess));\r\n };\r\n\r\n const parameters = JSON.parse(notification.parameters ?? '{}');\r\n const { patientName, profissionalName, treatmentPartnerId } = parameters;\r\n\r\n return (\r\n \r\n
\r\n \r\n Você foi convidado para participar do tratamento do(a) paciente\r\n {` ${patientName} `}\r\n iniciado por\r\n {` ${profissionalName}.`}\r\n \r\n
\r\n
\r\n\r\n {isActive && (\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default NotificationTreatmentItem;\r\n","import React from 'react';\r\nimport NotificationDate from './NotificationDate';\r\n\r\nconst NotificationContainer = ({ item, children, onClick }) => {\r\n const { creationTime, isVisualized } = item;\r\n\r\n let className = 'notification-item';\r\n\r\n if (typeof onClick === 'function') {\r\n className += ' gx-pointer';\r\n }\r\n\r\n if (!isVisualized) {\r\n className += ' not-visualized';\r\n }\r\n\r\n return (\r\n {}}\r\n role=\"button\"\r\n tabIndex=\"0\"\r\n >\r\n {children}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default NotificationContainer;\r\n","import React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { useHistory } from 'react-router';\r\nimport { setVisualized } from 'stores/notifications/notificationActions';\r\nimport NotificationContainer from './NotificationContainer';\r\n\r\nconst NotificationCommonItem = ({ item }) => {\r\n const { notification } = item;\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n\r\n const handlePress = () => {\r\n const { pathname } = window.location;\r\n\r\n const parameters = JSON.parse(notification.parameters ?? '{}');\r\n dispatch(setVisualized(item.id));\r\n\r\n if (\r\n pathname.startsWith('/app/patients/') &&\r\n pathname.endsWith('/history')\r\n ) {\r\n history.replace(`/app/patients/${parameters.patientId}/history`);\r\n window.location.reload();\r\n return;\r\n }\r\n\r\n history.push(`/app/patients/${parameters.patientId}/history`);\r\n };\r\n\r\n return (\r\n \r\n \r\n {notification.title}\r\n
\r\n {notification.description}
\r\n \r\n );\r\n};\r\n\r\nexport default NotificationCommonItem;\r\n","import React from 'react';\r\nimport NotificationTreatmentItem from './NotificationTreatmentItem';\r\nimport NotificationCommonItem from './NotificationCommonItem';\r\n\r\nconst NotificationItem = (props) => {\r\n const { item } = props;\r\n\r\n switch (item.notification.type) {\r\n case 'treatmentInvitation':\r\n return ;\r\n case 'common':\r\n return ;\r\n default:\r\n return null;\r\n }\r\n};\r\n\r\nexport default NotificationItem;\r\n","import React from 'react';\r\nimport { Divider, Empty } from 'antd';\r\nimport CustomScrollbars from 'components/CustomScrollbars';\r\nimport NotificationItem from './NotificationItem';\r\n\r\nconst NotificationList = ({ data, paginationChanged, pagination, fetch }) => {\r\n const { items = [], loaded, loading } = data;\r\n\r\n const renderDivider = (count, index) => {\r\n if (count > 1 && index !== count - 1) {\r\n return ;\r\n }\r\n\r\n return null;\r\n };\r\n\r\n const paginationChangeHandler = () => {\r\n if (pagination.total > items.length) {\r\n paginationChanged(pagination.current + 1);\r\n }\r\n };\r\n\r\n const handleScrollEnd = () => {\r\n paginationChangeHandler();\r\n };\r\n\r\n return (\r\n \r\n {items.map((c, index) => (\r\n \r\n \r\n {renderDivider(items.length, index)}\r\n
\r\n ))}\r\n {loaded && !loading && items.length === 0 && }\r\n \r\n );\r\n};\r\n\r\nexport default NotificationList;\r\n","import React, { useState } from 'react';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { Badge, Popover, Tooltip } from 'antd';\r\nimport { useCrud } from 'react-structure-admin';\r\nimport NotificationList from './NotificationList';\r\n\r\nconst MyNotifications = ({ iconClassName = '' }) => {\r\n const crud = useCrud({\r\n resource: 'notifications',\r\n endpoint: 'notifications/my-notifications',\r\n fixedQueryParams: { onlyIsActive: true }\r\n });\r\n\r\n const { data, fetch } = crud;\r\n\r\n if (!data.loaded && !data.loading) {\r\n fetch();\r\n }\r\n\r\n return (\r\n \r\n }\r\n trigger=\"click\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default MyNotifications;\r\n","import React from 'react';\r\nimport { Select } from 'antd';\r\nimport states from 'constants/states';\r\n\r\nconst SelectStates = ({ ...rest }) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SelectStates;\r\n","import React from 'react';\r\nimport { Select } from 'antd';\r\n\r\nconst items = [\r\n {\r\n initials: 'crm',\r\n name: 'Conselho Regional de Medicina'\r\n },\r\n {\r\n initials: 'crp',\r\n name: 'Conselho Regional de Psicologia'\r\n },\r\n {\r\n initials: 'crefono',\r\n name: 'Conselho Regional de Fonoaudiologia'\r\n },\r\n {\r\n initials: 'crefito',\r\n name: 'Conselho Regional de Fisioterapia e Terapia Ocupacional'\r\n },\r\n {\r\n initials: 'crn',\r\n name: 'Conselho Regional de Nutricionistas'\r\n },\r\n {\r\n initials: 'cro',\r\n name: 'Conselho Regional de Odontologia'\r\n },\r\n {\r\n initials: 'coren',\r\n name: 'Conselho Regional de Enfermagem'\r\n }\r\n];\r\n\r\nconst SelectProfessionalRegistrationTypes = (props) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SelectProfessionalRegistrationTypes;\r\n","import React from 'react';\r\nimport 'moment/locale/pt-br';\r\nimport { Form, DatePicker } from 'antd';\r\n\r\nconst FilterRangePicker = ({\r\n name,\r\n initialValue,\r\n ranges = [],\r\n noStyle = true,\r\n label,\r\n width,\r\n allowClear,\r\n className\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default FilterRangePicker;\r\n","import React from 'react';\r\nimport { formatCurrency } from 'util/formatters';\r\n\r\nconst DisplayAmount = ({\r\n className = '',\r\n amount = 0,\r\n useMoneySign = false\r\n}) => {\r\n if (amount > 0) {\r\n return (\r\n \r\n {formatCurrency(amount, useMoneySign)}\r\n \r\n );\r\n }\r\n\r\n if (amount < 0) {\r\n return (\r\n \r\n {formatCurrency(amount, useMoneySign)}\r\n \r\n );\r\n }\r\n\r\n return (\r\n {formatCurrency(amount, useMoneySign)}\r\n );\r\n};\r\n\r\nexport default DisplayAmount;\r\n","import React from 'react';\r\nimport { Select } from 'antd';\r\nimport {\r\n BANKCHECK,\r\n BANKDEPOSIT,\r\n BILLETBANK,\r\n CASH,\r\n CREDITCARD,\r\n DEBITCARD,\r\n ELECTRONICTRANSFER,\r\n OTHER,\r\n PIX\r\n} from 'constants/types';\r\nimport display from 'constants/display';\r\n\r\nconst { Option } = Select;\r\n\r\nconst items = [\r\n PIX,\r\n CASH,\r\n BANKCHECK,\r\n CREDITCARD,\r\n DEBITCARD,\r\n BANKDEPOSIT,\r\n BILLETBANK,\r\n ELECTRONICTRANSFER,\r\n OTHER\r\n];\r\n\r\nconst SelectPaymentMethod = ({ ignoreds = [], width, ...rest }, ref) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default React.forwardRef(SelectPaymentMethod);\r\n","import React from 'react';\r\n\r\nconst Footer = ({ children }) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default Footer;\r\n","import React from 'react';\r\nimport { Drawer as DrawerAntd } from 'antd';\r\n\r\nconst Drawer = ({\r\n className,\r\n size,\r\n visible,\r\n title,\r\n onClose,\r\n children,\r\n footer\r\n}) => {\r\n const width =\r\n size && (size.includes('%') || size.includes('px')) ? size : undefined;\r\n const sizeClass = size && !width ? size : null;\r\n\r\n return (\r\n \r\n {children}\r\n {footer ? (\r\n \r\n {footer}\r\n
\r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default Drawer;\r\n","import React from 'react';\r\nimport { Select } from 'antd';\r\nimport { PAYMENT, RECEIPT } from 'constants/types';\r\nimport display from 'constants/display';\r\n\r\nconst { Option } = Select;\r\n\r\nconst SelectEntryType = (props) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SelectEntryType;\r\n","const removeAccents = (text) => {\r\n if (!text) {\r\n return '';\r\n }\r\n\r\n return text.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\r\n};\r\n\r\nexport default removeAccents;\r\n","import React from 'react';\r\nimport { TreeSelect } from 'antd';\r\nimport { api } from 'react-structure-admin';\r\nimport removeAccents from 'util/removeAccents';\r\nimport display from 'constants/display';\r\n\r\nconst { TreeNode } = TreeSelect;\r\n\r\nexport default class RemoteSelectTree extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n dataSource: [],\r\n filterText: ''\r\n };\r\n\r\n this.handleLoadData();\r\n }\r\n\r\n handleLoadData = async (treeNode) => {\r\n const { dataSource } = this.state;\r\n const { params, resource } = this.props;\r\n let response;\r\n\r\n if (dataSource.length === 0 && !treeNode) {\r\n response = await api.fetch(`${resource}/tree`, params);\r\n }\r\n\r\n if (response && !response.errors) {\r\n this.setState({ dataSource: response.data.result });\r\n }\r\n };\r\n\r\n handleChange = (value) => {\r\n const { onChange, onChangeSelect, multiple, treeCheckable } = this.props;\r\n const { dataSource } = this.state;\r\n let data = [];\r\n\r\n this.filterNode(dataSource, data, value);\r\n\r\n if (!multiple && !treeCheckable) {\r\n data = data.length === 1 ? data[0] : {};\r\n }\r\n\r\n if (onChange) {\r\n onChange(data);\r\n }\r\n\r\n if (onChangeSelect) {\r\n onChangeSelect(data);\r\n }\r\n };\r\n\r\n filterNode = (items = [], data = [], indexes = []) => {\r\n for (let i = 0; i < items.length; i += 1) {\r\n const item = items[i];\r\n\r\n if (Array.isArray(indexes) && indexes.includes(item.id)) {\r\n data.push(this.normalizeItem(item));\r\n } else if (!Array.isArray(indexes) && indexes === item.id) {\r\n data.push(this.normalizeItem(item));\r\n }\r\n\r\n const subItems = this.getSubItems(item);\r\n\r\n for (let j = 0; j < subItems.length; j += 1) {\r\n this.filterNode([subItems[j]], data, indexes);\r\n }\r\n }\r\n };\r\n\r\n handleSearch = (filterText) => {\r\n this.setState({ filterText });\r\n };\r\n\r\n normalizeString = (text) => {\r\n return removeAccents(text).toLowerCase();\r\n };\r\n\r\n handleFilterTreeNode = (inputValue, { props }) => {\r\n const { onFilterTreeNode } = this.props;\r\n const title = this.getTitle(props.node);\r\n\r\n if (onFilterTreeNode) {\r\n return onFilterTreeNode(this.normalizeString(inputValue), props.node);\r\n }\r\n\r\n return this.normalizeString(title).includes(\r\n this.normalizeString(inputValue)\r\n );\r\n };\r\n\r\n getTitle = (node) => {\r\n const { getTitle } = this.props;\r\n\r\n if (getTitle) {\r\n return getTitle(node);\r\n }\r\n\r\n return node?.title || node?.description;\r\n };\r\n\r\n getSubItems = (node) => {\r\n const { getSubItems } = this.props;\r\n\r\n if (getSubItems) {\r\n return getSubItems(node);\r\n }\r\n\r\n return node?.subItems || [];\r\n };\r\n\r\n normalizeItem = (node) => {\r\n const { normalizeItem } = this.props;\r\n\r\n if (normalizeItem) {\r\n return normalizeItem(node);\r\n }\r\n\r\n return node;\r\n };\r\n\r\n handleDisabled = (node) => {\r\n const { onDisabled } = this.props;\r\n\r\n if (onDisabled) {\r\n return onDisabled(node);\r\n }\r\n\r\n return false;\r\n };\r\n\r\n renderChildren = (node) => {\r\n const { filterText } = this.state;\r\n const { id, type } = node;\r\n\r\n let title = this.getTitle(node);\r\n\r\n const index = this.normalizeString(title).indexOf(\r\n this.normalizeString(filterText)\r\n );\r\n\r\n const beforeStr = title.substr(0, index);\r\n const afterStr = title.substr(index + filterText.length);\r\n\r\n if (index > -1) {\r\n title = (\r\n <>\r\n \r\n {beforeStr}\r\n \r\n {title.substr(index, filterText.length)}\r\n \r\n {afterStr}\r\n \r\n {type ? (\r\n {` / ${display[type]}`}\r\n ) : null}\r\n >\r\n );\r\n }\r\n\r\n const items = this.getSubItems(node) ?? [];\r\n\r\n return (\r\n \r\n {items.map((c) => this.renderChildren(c))}\r\n \r\n );\r\n };\r\n\r\n render() {\r\n const { dataSource } = this.state;\r\n const {\r\n className,\r\n maxTagCount,\r\n placeholder,\r\n style,\r\n multiple,\r\n maxTagPlaceholder,\r\n value,\r\n dropdownMatchSelectWidth,\r\n disabled,\r\n allowClear,\r\n onSelect,\r\n width\r\n } = this.props;\r\n\r\n const tempValue = multiple ? value?.map((c) => c.id) ?? [] : value?.id;\r\n\r\n return (\r\n this.setState({ filterText: '' })}\r\n filterTreeNode={this.handleFilterTreeNode}\r\n dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}\r\n placeholder={placeholder}\r\n maxTagPlaceholder={maxTagPlaceholder}\r\n showSearch\r\n onChange={this.handleChange}\r\n onSelect={onSelect}\r\n >\r\n {dataSource.map((c) => this.renderChildren(c))}\r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\n\r\nconst SelectWrapperPrefix = ({ children, prefix, ...rest }) => {\r\n return (\r\n \r\n
{prefix}
\r\n {React.cloneElement(children, rest)}\r\n
\r\n );\r\n};\r\n\r\nexport default SelectWrapperPrefix;\r\n","import React from 'react';\r\nimport { Select } from 'antd';\r\nimport {\r\n PROFILE_ACCOUNTANT,\r\n PROFILE_ADMINISTRADOR,\r\n PROFILE_DOCTOR,\r\n PROFILE_FINANCIAL,\r\n PROFILE_FINANCIAL_ADMINISTRATOR,\r\n PROFILE_OTHER,\r\n PROFILE_PARTNERSHIP,\r\n PROFILE_RECEPTIONIST,\r\n PROFILE_STUDENT\r\n} from 'constants/types';\r\nimport { display } from '../constants';\r\nimport SelectWrapperPrefix from './SelectWrapperPrefix';\r\n\r\nconst types = [\r\n {\r\n id: PROFILE_FINANCIAL_ADMINISTRATOR,\r\n name: display.PROFILES[PROFILE_FINANCIAL_ADMINISTRATOR]\r\n },\r\n { id: PROFILE_DOCTOR, name: display.PROFILES[PROFILE_DOCTOR] },\r\n { id: PROFILE_ADMINISTRADOR, name: display.PROFILES[PROFILE_ADMINISTRADOR] },\r\n { id: PROFILE_OTHER, name: display.PROFILES[PROFILE_OTHER] },\r\n { id: PROFILE_RECEPTIONIST, name: display.PROFILES[PROFILE_RECEPTIONIST] },\r\n { id: PROFILE_ACCOUNTANT, name: display.PROFILES[PROFILE_ACCOUNTANT] },\r\n { id: PROFILE_FINANCIAL, name: display.PROFILES[PROFILE_FINANCIAL] },\r\n { id: PROFILE_STUDENT, name: display.PROFILES[PROFILE_STUDENT] },\r\n { id: PROFILE_PARTNERSHIP, name: display.PROFILES[PROFILE_PARTNERSHIP] }\r\n];\r\n\r\nconst SelectProfile = ({ hideProfiles = [], prefix, ...rest }) => {\r\n if (!prefix) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default SelectProfile;\r\n","/* eslint-disable react/jsx-indent */\r\nimport React, { useState } from 'react';\r\nimport { Select, Form, Popover } from 'antd';\r\n\r\nconst FilterSelect = (\r\n {\r\n children,\r\n className,\r\n data,\r\n initialValue,\r\n isLast,\r\n name,\r\n multiple,\r\n placeholder,\r\n showSearch,\r\n label,\r\n width,\r\n disabled,\r\n allowClear,\r\n ...rest\r\n },\r\n ref\r\n) => {\r\n const [visible, setVisible] = useState({ popover: false, select: false });\r\n\r\n const handleVisiblePopover = (value) => {\r\n setVisible({ ...visible, popover: visible.select ? false : value });\r\n };\r\n\r\n const handleVisibleSelect = (value) => {\r\n setVisible({ select: value, popover: false });\r\n };\r\n\r\n const getPlaceholder = (values) => {\r\n if (values.length <= 0) {\r\n return '';\r\n }\r\n\r\n if (values.length === 1) {\r\n return values[0].label;\r\n }\r\n\r\n return (\r\n \r\n {values.map((c) => (\r\n \r\n {c.label}\r\n
\r\n ))}\r\n \r\n }\r\n >\r\n {`${values.length} selecionados`}\r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default React.forwardRef(FilterSelect);\r\n","/* eslint-disable react/jsx-indent, camelcase, no-undef, no-empty */\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Helmet } from 'react-helmet';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { chatLoad } from 'stores/settings/settingsActions';\r\n\r\nexport const isTawktoLoaded = () => {\r\n return typeof Tawk_API !== 'undefined';\r\n};\r\n\r\nexport const getTawktoApi = () => {\r\n return Tawk_API;\r\n};\r\n\r\nconst TawktoChat = ({\r\n checkHasFeature = true,\r\n visible = true,\r\n user,\r\n onLoad\r\n}) => {\r\n const dispatch = useDispatch();\r\n const { chatLoaded = false } = useSelector((state) => state.settings);\r\n\r\n const configureChatLoad = () => {\r\n try {\r\n if (window.Tawk_API && !chatLoaded) {\r\n if (window.Tawk_API.onLoaded) {\r\n if (onLoad) {\r\n onLoad();\r\n }\r\n dispatch(chatLoad());\r\n } else {\r\n setTimeout(() => configureChatLoad(), 1000);\r\n }\r\n } else if (\r\n !window.limitRetryChatLoad ||\r\n window.limitRetryChatLoad <= 15\r\n ) {\r\n setTimeout(() => configureChatLoad(), 1000);\r\n }\r\n window.limitRetryChatLoad += 1;\r\n } catch (error) {}\r\n };\r\n\r\n useEffect(() => {\r\n window.limitRetryChatLoad = 1;\r\n configureChatLoad();\r\n }, []);\r\n\r\n useEffect(() => {\r\n try {\r\n if (chatLoaded && user) {\r\n window.Tawk_API.setAttributes({\r\n name: user.name,\r\n email: user.email\r\n });\r\n }\r\n } catch (error) {}\r\n }, [chatLoaded]);\r\n\r\n useEffect(() => {\r\n if (isTawktoLoaded()) {\r\n if (visible) {\r\n Tawk_API.showWidget();\r\n } else {\r\n Tawk_API.hideWidget();\r\n }\r\n }\r\n return () => {\r\n if (Tawk_API && typeof Tawk_API.minimize === 'function') {\r\n Tawk_API.minimize();\r\n Tawk_API.hideWidget();\r\n }\r\n };\r\n }, [visible]);\r\n\r\n return (\r\n !isTawktoLoaded() &&\r\n (!checkHasFeature ? (\r\n \r\n \r\n \r\n ) : null)\r\n );\r\n};\r\n\r\nexport default TawktoChat;\r\n","import { Tag } from 'antd';\r\nimport React from 'react';\r\n\r\nconst labels = {\r\n waitingForAuthorization: 'Aguardando autorização do paciente',\r\n pending: 'Aguardando profissional',\r\n accepted: 'Aceito',\r\n rejected: 'Convite rejeitado',\r\n refuse: 'Não autorizado pelo paciente'\r\n};\r\n\r\nconst colors = {\r\n waitingForAuthorization: 'orange',\r\n pending: 'grey',\r\n accepted: 'green',\r\n rejected: 'red',\r\n refuse: 'red'\r\n};\r\n\r\nconst TreatmentPartnerStatus = ({ status }) => {\r\n return {labels[status]};\r\n};\r\n\r\nexport default TreatmentPartnerStatus;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Form, Modal, Select } from 'antd';\r\nimport { FormItemWrap, configManager } from 'react-structure-admin';\r\nimport useCurrentCollaborator from 'core/hooks/useCurrentCollaborator';\r\nimport useAuth from 'core/hooks/useAuth';\r\nimport { changeTenant } from 'stores/auth/authActions';\r\nimport { useDispatch } from 'react-redux';\r\nimport { useHistory } from 'react-router';\r\nimport RemoteSelect from './RemoteSelect';\r\n\r\nconst ChangeCollaborator = (props) => {\r\n const [form] = Form.useForm();\r\n const [selectedCollaborator, setSelectedCollaborator] = useState(null);\r\n const [visible, setVisible] = useState(false);\r\n const { collaborator, setCollaborator } = useCurrentCollaborator();\r\n const { user, isAdmin } = useAuth();\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n\r\n const handleSubmit = () => {\r\n form.validateFields().then((values) => {\r\n setCollaborator(selectedCollaborator);\r\n document.location.reload();\r\n });\r\n };\r\n\r\n const handleGoAdmin = () => {\r\n dispatch(\r\n changeTenant(null, () => {\r\n history.push('/a/accounts/professional-accounts');\r\n })\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n if (isAdmin() && !collaborator) {\r\n setVisible(true);\r\n } else if (isAdmin() && collaborator) {\r\n setVisible(false);\r\n } else if (!isAdmin() && !collaborator) {\r\n setCollaborator(user);\r\n }\r\n }, [collaborator]);\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ChangeCollaborator;\r\n","import React from 'react';\r\nimport { Select } from 'antd';\r\n\r\nconst SelectCampaignStatus = ({ showUninformed = true, ...rest }) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SelectCampaignStatus;\r\n","import { Tag } from 'antd';\r\nimport React from 'react';\r\n\r\nconst campaignStatus = {\r\n draft: 'Rascunho',\r\n published: 'Publicado'\r\n};\r\n\r\nconst CampaignStatusTag = ({ status }) => {\r\n const color = status === 'published' ? 'green' : undefined;\r\n return (\r\n \r\n {campaignStatus[status]}\r\n \r\n );\r\n};\r\n\r\nexport default CampaignStatusTag;\r\n","import React from 'react';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { Tooltip } from 'antd';\r\n\r\nconst types = {\r\n app: { icon: 'mobile-alt', name: 'App da Kuidare' },\r\n email: { icon: ['far', 'envelope'], name: 'E-mail' },\r\n whatsApp: { icon: ['fab', 'whatsapp'], name: 'WhatsApp' }\r\n};\r\n\r\nconst CampaignEnabledChannels = ({ channelTypes = [] }) => {\r\n return (\r\n \r\n {channelTypes.map((c) => (\r\n \r\n \r\n \r\n ))}\r\n
\r\n );\r\n};\r\n\r\nexport default CampaignEnabledChannels;\r\n","import React, { useRef } from 'react';\r\nimport { Tag } from 'antd';\r\nimport HtmlEditor from './HtmlEditor/HtmlEditor';\r\n\r\nconst HtmlEditorTags = ({ onChange, value, height, keys = [], ...rest }) => {\r\n const ref = useRef(null);\r\n\r\n const handleClickTag = (key) => {\r\n ref.current.insert(key);\r\n };\r\n\r\n return (\r\n \r\n
\r\n
\r\n {keys.map(({ key, color, title }) => (\r\n handleClickTag(key)}\r\n >\r\n {title}\r\n \r\n ))}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default HtmlEditorTags;\r\n","import React from 'react';\r\nimport { Input } from 'antd';\r\n\r\nconst regex = /^-?\\d*(\\.\\d*)?$/;\r\n\r\nconst InputNumeric = ({\r\n style,\r\n onChange,\r\n value,\r\n onBlur,\r\n maxLength,\r\n disabled\r\n}) => {\r\n const handleChange = (e) => {\r\n if (!onChange) {\r\n return;\r\n }\r\n const { value: inputValue } = e.target;\r\n\r\n if (regex.test(inputValue) || inputValue === '') {\r\n onChange(inputValue);\r\n }\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default InputNumeric;\r\n","import React, { useEffect, useState } from 'react';\r\nimport CurrencyInput from 'react-currency-input-field';\r\n\r\nconst InputPercent = ({\r\n suffix = '%',\r\n decimalSeparator = ',',\r\n groupSeparator = '.',\r\n decimalsLimit = 2,\r\n decimalScale = 2,\r\n onChange,\r\n value,\r\n ...rest\r\n}) => {\r\n const [userValue, setUserValue] = useState(value);\r\n\r\n const triggerChange = (changedValue) => {\r\n const number = changedValue\r\n ? parseFloat(changedValue.replace(decimalSeparator, '.'))\r\n : null;\r\n\r\n if (number > -1 && number <= 100) {\r\n onChange?.(number);\r\n setUserValue(changedValue);\r\n } else {\r\n onChange?.(null);\r\n setUserValue(null);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n setUserValue(value ?? 0);\r\n }, [value]);\r\n\r\n return (\r\n <>\r\n \r\n >\r\n );\r\n};\r\nexport default InputPercent;\r\n","import React from 'react';\r\nimport { Tooltip } from 'antd';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\n\r\nconst InvoiceIcon = ({ processingDetail, urlPdf, status }) => {\r\n const icons = {\r\n authorized: {\r\n icon: 'print'\r\n },\r\n canceled: { icon: ['far', 'times-circle'] },\r\n received: { icon: 'hourglass-half' },\r\n enqueued: { icon: 'spinner' },\r\n rejected: { icon: 'exclamation-triangle' },\r\n inContingent: { icon: 'exclamation-triangle' }\r\n };\r\n\r\n const props =\r\n processingDetail?.status === 'processing' ? icons.enqueued : icons[status];\r\n\r\n let title = '';\r\n\r\n if (processingDetail) {\r\n const { message, code } = processingDetail;\r\n title = code ? `${code} - ${message}` : message;\r\n }\r\n\r\n const handleDownload = () => {\r\n if (urlPdf) {\r\n window.open(urlPdf, '_blank').focus();\r\n }\r\n };\r\n\r\n if (props) {\r\n return (\r\n \r\n {status === 'authorized' ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n }\r\n\r\n return null;\r\n};\r\n\r\nexport default InvoiceIcon;\r\n","import { Select } from 'antd';\r\nimport React from 'react';\r\n\r\nconst crtOptions = [\r\n {\r\n label: 'Simples Nacional',\r\n value: 'simplesNacional'\r\n },\r\n {\r\n label: 'Simples Nacional - Excesso Sublimite Receita Bruta',\r\n value: 'simplesNacionalExcessoSublimite'\r\n },\r\n {\r\n label: 'Regime Normal',\r\n value: 'regimeNormal'\r\n }\r\n];\r\n\r\nconst SelectTaxRegime = (props) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SelectTaxRegime;\r\n","import React from 'react';\r\nimport { Select } from 'antd';\r\n\r\nconst specialRegimeOptions = [\r\n {\r\n label: 'Sem regime especial',\r\n value: 'noSpecialRegime'\r\n },\r\n {\r\n label: 'Microempresa Municipal',\r\n value: 'municipalMicroenterprise'\r\n },\r\n {\r\n label: 'Estimativa',\r\n value: 'estimate'\r\n },\r\n {\r\n label: 'Sociedade de Profissionais',\r\n value: 'societyOfProfessionals'\r\n },\r\n {\r\n label: 'Cooperativa',\r\n value: 'cooperative'\r\n },\r\n {\r\n label: 'Microempresário Individual (MEI)',\r\n value: 'individualMicroenterprise'\r\n },\r\n {\r\n label: 'Microempresário e Empresa de Pequeno Porte (ME EPP)',\r\n value: 'microenterpriseAndSmallBusiness'\r\n }\r\n];\r\n\r\nconst SelectSpecialTaxRegime = (props) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SelectSpecialTaxRegime;\r\n","import React from 'react';\r\nimport { Card, Result } from 'antd';\r\nimport { LockOutlined } from '@ant-design/icons';\r\n\r\nconst AccessDenied = ({ title, subTitle, extra }) => {\r\n return (\r\n \r\n \r\n }\r\n status=\"info\"\r\n title={title}\r\n subTitle={subTitle}\r\n extra={extra}\r\n />\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default AccessDenied;\r\n","import React from 'react';\r\nimport { ACCOUNT_TYPE_STUDENT } from 'constants/types';\r\nimport AccountAccessDenied from './AccountAccessDenied';\r\n\r\nconst AccountStudentAccessDenied = ({ children }) => {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default AccountStudentAccessDenied;\r\n","import React, { useState } from 'react';\r\nimport { FormItemWrap } from 'react-structure-admin';\r\nimport { Form, Input, Row, Col, Checkbox, Button, Modal, Select } from 'antd';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport {\r\n closeAnnotation,\r\n createAnnotation\r\n} from 'stores/patients/patientActions';\r\nimport { CloseOutlined, ExclamationCircleOutlined } from '@ant-design/icons';\r\nimport RemoteSelectAutoCrud from 'components/RemoteSelectAutoCrud';\r\nimport isNullOrEmpty from 'util/functions/isNullOrEmpty';\r\nimport { normalizeFromSelect } from 'util/converters';\r\n\r\nconst colors = [\r\n '#00d7ff',\r\n '#ff7963',\r\n '#847770',\r\n '#73bafe',\r\n '#004ab0',\r\n '#efd066',\r\n '#e885a5'\r\n];\r\n\r\nconst getRandomColor = () => {\r\n const index = Math.floor(Math.random() * colors.length);\r\n return colors[index];\r\n};\r\n\r\nconst PatientAnnotationModalWrapper = ({ patient, loading }) => {\r\n const [changed, setChanged] = useState(false);\r\n const { treatment } = patient ?? {};\r\n const [form] = Form.useForm();\r\n const dispatch = useDispatch();\r\n\r\n if (isNullOrEmpty(patient, 'object')) {\r\n return null;\r\n }\r\n\r\n const handleChangeValues = (fields, _) => {\r\n if (!changed) {\r\n setChanged(true);\r\n }\r\n\r\n if (fields.shared) {\r\n Modal.confirm({\r\n title: 'Deseja compartilhar essa anotação com o paciente?',\r\n content: 'Anotações compartilhadas ficarão visíveis ao paciente.',\r\n cancelText: 'Não compartilhar',\r\n okText: 'Compartilhar',\r\n width: 600,\r\n onCancel: () => {\r\n form.setFieldsValue({ shared: false });\r\n }\r\n });\r\n }\r\n };\r\n\r\n const handleSuccess = () => {\r\n form.resetFields();\r\n };\r\n\r\n const handleSubmit = () => {\r\n form.validateFields().then(({ isLinkTreatment, markers, ...rest }) => {\r\n const values = { ...rest };\r\n\r\n if (isLinkTreatment) {\r\n values.treatment = treatment;\r\n } else {\r\n values.treatment = null;\r\n }\r\n\r\n values.markers = markers.map((c) => ({ marker: normalizeFromSelect(c) }));\r\n\r\n dispatch(createAnnotation(patient?.id, values, handleSuccess));\r\n });\r\n };\r\n\r\n const tagRender = (props, item) => {\r\n const { label, onClose } = props;\r\n\r\n const onPreventMouseDown = (event) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {label}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n const handleCancel = () => {\r\n if (changed) {\r\n Modal.confirm({\r\n title: 'Você tem certeza que deseja sair sem salvar?',\r\n icon: ,\r\n content: 'As alterações realizadas não foram salvas.',\r\n okText: 'Sair',\r\n cancelText: 'Cancelar',\r\n onOk() {\r\n dispatch(closeAnnotation());\r\n }\r\n });\r\n } else {\r\n dispatch(closeAnnotation());\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst PatientAnnotationModal = (props) => {\r\n const { createAnnotationData } = useSelector(\r\n (c) => c.resources?.patients ?? {}\r\n );\r\n\r\n if (!createAnnotationData) {\r\n return null;\r\n }\r\n\r\n return ;\r\n};\r\n\r\nexport default PatientAnnotationModal;\r\n","import React, { useRef, useState } from 'react';\r\nimport { Button, Col, Modal, Result, Row, Tag } from 'antd';\r\nimport DocViewer, { DocViewerRenderers } from '@cyntler/react-doc-viewer';\r\nimport {\r\n DownloadOutlined,\r\n LeftOutlined,\r\n RightOutlined\r\n} from '@ant-design/icons';\r\n\r\nconst normalizeDocument = (file) => {\r\n if (!file) {\r\n return null;\r\n }\r\n\r\n return {\r\n uri: `${process.env.REACT_APP_API_URL}/archives/${file.id}/binary`,\r\n fileType: file.extension ? file.extension : file.contentType,\r\n fileName: file.name\r\n };\r\n};\r\n\r\nconst NoRender = () => {\r\n return (\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nconst Header = (state, previousDocument, nextDocument) => {\r\n const { currentDocument, documents = [], currentFileNo } = state;\r\n\r\n const handleDownload = () => {\r\n const link = document.createElement('a');\r\n link.href = currentDocument.uri;\r\n link.download = currentDocument.fileName;\r\n link.click();\r\n };\r\n\r\n const current = currentFileNo + 1;\r\n const max = documents.length;\r\n\r\n return (\r\n \r\n \r\n \r\n {currentDocument.fileName}\r\n \r\n \r\n \r\n {`${current} / ${max}`}\r\n }\r\n type=\"primary\"\r\n >\r\n Baixar\r\n \r\n } />\r\n } />\r\n \r\n
\r\n );\r\n};\r\n\r\nconst ShowFilesModal = ({ onClose, files = [], initialValue }) => {\r\n const docViewerRef = useRef(null);\r\n const [activeDocument, setActiveDocument] = useState(\r\n normalizeDocument(initialValue)\r\n );\r\n\r\n if (!Array.isArray(files) || files.length <= 0) {\r\n return null;\r\n }\r\n\r\n const handleDocumentChange = (document) => {\r\n setActiveDocument(document);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ShowFilesModal;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Alert, Button, Modal, Row, Spin, Upload } from 'antd';\r\nimport QRCode from 'react-qr-code';\r\nimport * as signalR from '@microsoft/signalr';\r\nimport { configManager } from 'react-structure-admin';\r\n\r\nimport useAuth from 'core/hooks/useAuth';\r\nimport ResCol from './ResCol';\r\n\r\nconst SharingFileQRCode = ({ onClose, supportedTypes = [], onNewUpload }) => {\r\n const [token, setToken] = useState(null);\r\n const [files, setFiles] = useState([]);\r\n const [fileUploadedd, setFileUploadedd] = useState(null);\r\n const { user, systemSettings } = useAuth();\r\n\r\n const { apiUrl } = configManager.getConfig();\r\n\r\n const normalizeFile = (file) => {\r\n return {\r\n uid: file.id,\r\n name: file.name,\r\n status: 'done',\r\n url: `${process.env.REACT_APP_API_URL}/archives/${file.id}/binary`,\r\n thumbUrl: `${process.env.REACT_APP_API_URL}/archives/${file.id}/binary`,\r\n extension: file.extension\r\n };\r\n };\r\n\r\n const handleUploadFile = (file) => {\r\n setFiles((prevStates) => [...prevStates, normalizeFile(file)]);\r\n setFileUploadedd(file);\r\n };\r\n\r\n useEffect(() => {\r\n const socket = new signalR.HubConnectionBuilder()\r\n .withUrl(`${apiUrl}/hubs/file-share`, {})\r\n .configureLogging(signalR.LogLevel.None)\r\n .withAutomaticReconnect()\r\n .build();\r\n\r\n socket\r\n .start()\r\n .then(() => {\r\n socket\r\n .invoke('GetToken', user.id, supportedTypes)\r\n .then((token) => {\r\n setToken(token);\r\n })\r\n .catch(console.log);\r\n })\r\n .catch((error) => console.log(error));\r\n\r\n socket?.on('OnUpload', (file) => {\r\n handleUploadFile(file);\r\n });\r\n\r\n return () => {\r\n socket.off('OnUpload');\r\n socket.stop();\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (fileUploadedd) {\r\n onNewUpload({ ...fileUploadedd });\r\n setFileUploadedd(null);\r\n }\r\n }, [fileUploadedd]);\r\n\r\n const url = `${systemSettings.appUrl}/upload?token=${token}`;\r\n\r\n return (\r\n Voltar}\r\n width={900}\r\n onCancel={onClose}\r\n >\r\n \r\n
\r\n \r\n \r\n {token ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n Leia o QR Code para receber anexos de\r\n outros dispositivos.\r\n \r\n }\r\n className=\"gx-mt-2 gx-border-0\"\r\n message={Compartilhar anexos
}\r\n />\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default SharingFileQRCode;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Button, Tooltip, Upload, message } from 'antd';\r\nimport { api } from 'react-structure-admin';\r\nimport { PaperClipOutlined } from '@ant-design/icons';\r\nimport { FaQrcode } from 'react-icons/fa';\r\nimport ShowFilesModal from './ShowFilesModal';\r\nimport SharingFileQRCode from './SharingFileQRCode';\r\n\r\nconst supportedTypes = [\r\n 'application/msword',\r\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\r\n 'image/jpeg',\r\n 'image/png',\r\n 'image/webp',\r\n 'audio/mpeg',\r\n 'application/vnd.oasis.opendocument.presentation',\r\n 'application/pdf',\r\n 'application/vnd.ms-powerpoint',\r\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\r\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\r\n 'text/plain',\r\n 'text/csv',\r\n 'image/svg+xml'\r\n];\r\n\r\nconst UploadList = ({\r\n value = [],\r\n onChange,\r\n disabled,\r\n onUpload,\r\n hiddenQrCode,\r\n params,\r\n showRemove = false,\r\n types = supportedTypes\r\n}) => {\r\n const [files, setFiles] = useState([]);\r\n const [openShowFile, setOpenShowFile] = useState(null);\r\n const [openSharingQRCode, setOpenSharingQRCode] = useState(false);\r\n\r\n const normalizeFile = (file, status = 'done') => {\r\n return {\r\n uid: file.id,\r\n name: file.name,\r\n status,\r\n url: `${process.env.REACT_APP_API_URL}/archives/${file.id}/binary`,\r\n thumbUrl: `${process.env.REACT_APP_API_URL}/archives/${file.id}/binary`,\r\n extension: file.extension\r\n };\r\n };\r\n\r\n if (!Array.isArray(value)) {\r\n value = [];\r\n }\r\n\r\n const handleOnRemove = (file) => {\r\n onChange(value.filter((c) => c.id !== file.uid));\r\n };\r\n\r\n const handlePreview = (file) => {\r\n setOpenShowFile(value.find((c) => c.id === file.uid));\r\n };\r\n\r\n const handleClosePreview = () => {\r\n setOpenShowFile(null);\r\n };\r\n\r\n const handleDownload = (file) => {\r\n const link = document.createElement('a');\r\n link.href = file.url;\r\n link.download = file.name;\r\n link.click();\r\n };\r\n\r\n const handlerUploadError = () => {\r\n message.error('Ocorreu um erro inesperado ao processar sua solicitação.');\r\n };\r\n\r\n const handleOnChange = (newFile) => {\r\n onChange([...value, newFile]);\r\n\r\n if (onUpload) {\r\n onUpload(newFile);\r\n }\r\n };\r\n\r\n const customRequest = (options) => {\r\n const data = new FormData();\r\n\r\n data.append('file', options.file);\r\n\r\n if (params) {\r\n Object.keys(params).forEach((key) => {\r\n data.set(key, params[key]);\r\n });\r\n }\r\n\r\n options.file.status = 'uploading';\r\n setFiles([...files, options.file]);\r\n\r\n api.post('archives', data).then((response) => {\r\n if (!(response && response.errors)) {\r\n handleOnChange(response.data.result);\r\n options.onSuccess(options.file, options.data);\r\n\r\n return;\r\n }\r\n\r\n options.onError();\r\n handlerUploadError();\r\n });\r\n };\r\n\r\n const beforeUpload = (file) => {\r\n const allows = types.includes(file.type);\r\n\r\n if (!allows) {\r\n message.error(\r\n `Esse tipo de arquivo (${file.type}) não é permitido para anexos.`\r\n );\r\n return false;\r\n }\r\n\r\n const isLt3M = file.size / 1024 / 1024 <= 3;\r\n\r\n if (!isLt3M) {\r\n message.error('O tamanho do arquivo não pode ser superior a 3MB!');\r\n }\r\n\r\n return isLt3M;\r\n };\r\n\r\n useEffect(() => {\r\n setFiles(value.map(normalizeFile));\r\n }, [value]);\r\n\r\n return (\r\n <>\r\n {openSharingQRCode ? (\r\n setOpenSharingQRCode(false)}\r\n onNewUpload={handleOnChange}\r\n />\r\n ) : null}\r\n {openShowFile && (\r\n \r\n )}\r\n\r\n {!hiddenQrCode ? (\r\n \r\n }\r\n onClick={() => setOpenSharingQRCode(true)}\r\n />\r\n \r\n ) : null}\r\n\r\n \r\n {!disabled ? (\r\n }\r\n >\r\n Anexar\r\n \r\n ) : null}\r\n \r\n >\r\n );\r\n};\r\n\r\nexport default UploadList;\r\n","import React from 'react';\r\nimport useAuth from 'core/hooks/useAuth';\r\nimport AccessResourcesDenied from './AccessResourcesDenied';\r\n\r\nconst RestrictedAccessRole = ({ children, roles = [] }) => {\r\n const { hasRole } = useAuth();\r\n\r\n if (roles?.length === 0) {\r\n return null;\r\n }\r\n\r\n if (!hasRole(...roles)) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return children;\r\n};\r\n\r\nexport default RestrictedAccessRole;\r\n","import React, { PureComponent } from 'react';\r\n\r\nclass SelectOptionLabel extends PureComponent {\r\n render() {\r\n const { children } = this.props;\r\n return children;\r\n }\r\n}\r\n\r\nexport default SelectOptionLabel;\r\n","import React from 'react';\r\nimport { Select } from 'antd';\r\nimport { omit } from 'lodash';\r\nimport RemoteSelect from './RemoteSelect';\r\nimport SelectOptionLabel from './SelectOptionLabel';\r\n\r\nconst RemoteSelectLedgerAccount = (props) => {\r\n return (\r\n \r\n `${item.code} - ${item.description} (${item.classification})`\r\n }\r\n optionRender={(c) => {\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n {`${c.item.code} - `}\r\n \r\n {c.item.description}\r\n
\r\n
{c.item.classification}\r\n
\r\n \r\n \r\n );\r\n }}\r\n />\r\n );\r\n};\r\n\r\nexport const RemoteSelectLedgerAccountUtils = {\r\n normalizeToSelect: (item) => {\r\n if (!item) {\r\n return null;\r\n }\r\n\r\n return {\r\n key: item.id,\r\n label: `${item.code} - ${item.description} (${item.classification})`,\r\n item\r\n };\r\n },\r\n normalizeFromSelect: (value) => {\r\n if (!value) {\r\n return null;\r\n }\r\n\r\n if (value?.item) {\r\n return value.item;\r\n }\r\n\r\n return omit(value.label?.props, ['children']);\r\n }\r\n};\r\n\r\nexport default RemoteSelectLedgerAccount;\r\n","import React from 'react';\r\nimport { Select } from 'antd';\r\nimport { omit } from 'lodash';\r\nimport RemoteSelect from './RemoteSelect';\r\nimport SelectOptionLabel from './SelectOptionLabel';\r\n\r\nconst RemoteSelectStandardHistory = (props) => {\r\n return (\r\n `${item.code} - ${item.description}`}\r\n optionRender={(c) => (\r\n \r\n \r\n \r\n {`${c.item.code} - `}\r\n \r\n {c.item.description}\r\n \r\n \r\n )}\r\n />\r\n );\r\n};\r\n\r\nexport const RemoteSelectStandardHistoryUtils = {\r\n normalizeToSelect: (item) => {\r\n if (!item) {\r\n return null;\r\n }\r\n\r\n return {\r\n key: item.id,\r\n label: `${item.code} - ${item.description}`,\r\n item\r\n };\r\n },\r\n normalizeFromSelect: (value) => {\r\n if (!value) {\r\n return null;\r\n }\r\n\r\n if (value?.item) {\r\n return value.item;\r\n }\r\n\r\n return omit(value.label?.props, ['children']);\r\n }\r\n};\r\n\r\nexport default RemoteSelectStandardHistory;\r\n","import React from 'react';\r\nimport { Avatar } from 'antd';\r\n\r\nconst FormItemUserDetail = ({ value }) => {\r\n if (!value) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n
\r\n
\r\n
{value?.name}
\r\n
{value?.email}
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default FormItemUserDetail;\r\n","import React from 'react';\r\nimport { Card, Col, Row } from 'antd';\r\nimport moment from 'moment';\r\nimport display from 'constants/display';\r\nimport DisplayAmount from './DisplayAmount';\r\n\r\nconst CardConciliation = ({ transaction }) => {\r\n return (\r\n \r\n \r\n \r\n {moment(transaction.date).format('DD/MM/YYYY')}
\r\n {moment(transaction.date).format('dddd')}
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n {transaction.description}\r\n \r\n \r\n
\r\n\r\n \r\n \r\n {`Arquivo OFX: ${transaction.openFinancialExchangeCode}`}\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default CardConciliation;\r\n","import React from 'react';\r\nimport { Spin } from 'antd';\r\n\r\nconst LoadingWithSpin = ({ children, visible = false }) => {\r\n if (visible) {\r\n return {children};\r\n }\r\n\r\n return children;\r\n};\r\n\r\nexport default LoadingWithSpin;\r\n","import React from 'react';\r\nimport { Tag } from 'antd';\r\nimport {\r\n ACTIVATED,\r\n CANCELED,\r\n IGNORED,\r\n INITIALBALANCE,\r\n PAYMENT,\r\n PENDING,\r\n RECEIPT,\r\n RECONCILED\r\n} from 'constants/types';\r\nimport display from 'constants/display';\r\n\r\nconst getColorByType = (type) => {\r\n switch (type) {\r\n case RECEIPT:\r\n case RECONCILED:\r\n case ACTIVATED:\r\n return 'green';\r\n case PAYMENT:\r\n case CANCELED:\r\n return 'red';\r\n case PENDING:\r\n case INITIALBALANCE:\r\n return 'gray';\r\n case IGNORED:\r\n return 'warning';\r\n default:\r\n return '';\r\n }\r\n};\r\n\r\nconst StatusOrTypeTag = ({ type, customDisplay = {} }) => {\r\n return (\r\n \r\n {customDisplay[type] ?? display[type]}\r\n \r\n );\r\n};\r\n\r\nexport default StatusOrTypeTag;\r\n","import React from 'react';\r\n\r\nconst CardTitle = ({ title, subTitle }) => {\r\n return (\r\n \r\n
{title}
\r\n
{subTitle}
\r\n
\r\n );\r\n};\r\n\r\nexport default CardTitle;\r\n","import React from 'react';\r\nimport { Card, Col, Row } from 'antd';\r\nimport moment from 'moment';\r\nimport CardTitle from './CardTitle';\r\n\r\nconst CardRecharts = ({\r\n children,\r\n className,\r\n title,\r\n subTitle,\r\n componentRight = null,\r\n lastUpdateDate\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {componentRight}\r\n
\r\n \r\n {children}\r\n
\r\n {lastUpdateDate && (\r\n \r\n Última atualização: \r\n {moment(lastUpdateDate).format('DD/MM/YYYY HH:mm')}\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default CardRecharts;\r\n","import React, { useState } from 'react';\r\nimport { Button, Popover, Tooltip, Upload, message } from 'antd';\r\nimport { api } from 'react-structure-admin';\r\nimport {\r\n DeleteOutlined,\r\n LoadingOutlined,\r\n PlusOutlined\r\n} from '@ant-design/icons';\r\nimport { FaQrcode } from 'react-icons/fa';\r\nimport SharingFileQRCode from './SharingFileQRCode';\r\n\r\nconst supportedTypes = ['image/jpeg', 'image/png'];\r\n\r\nconst UploadProfileImageV2 = ({ value, onChange, params }) => {\r\n const [loading, setLoading] = useState(false);\r\n const [openSharingQRCode, setOpenSharingQRCode] = useState(false);\r\n\r\n const handlerUploadError = () => {\r\n setLoading(false);\r\n message.error('Ocorreu um erro inesperado ao processar sua solicitação.');\r\n };\r\n\r\n const handleOnChange = (newFile) => {\r\n setLoading(false);\r\n onChange(newFile);\r\n setOpenSharingQRCode(null);\r\n };\r\n\r\n const customRequest = (options) => {\r\n setLoading(true);\r\n const data = new FormData();\r\n data.append('file', options.file);\r\n data.append('type', 'profile');\r\n\r\n if (params) {\r\n Object.keys(params).forEach((key) => {\r\n data.set(key, params[key]);\r\n });\r\n }\r\n\r\n options.file.status = 'uploading';\r\n\r\n api.post('archives', data).then((response) => {\r\n if (!(response && response.errors)) {\r\n handleOnChange(response.data.result);\r\n options.onSuccess(options.file, options.data);\r\n\r\n return;\r\n }\r\n\r\n options.onError();\r\n handlerUploadError();\r\n });\r\n };\r\n\r\n const uploadButton = (\r\n \r\n );\r\n\r\n const handleRemove = () => {\r\n onChange(null);\r\n };\r\n\r\n const beforeUpload = (file) => {\r\n const allows = supportedTypes.includes(file.type);\r\n\r\n if (!allows) {\r\n message.error(\r\n `Esse tipo de arquivo (${file.type}) não é permitido para anexos.`\r\n );\r\n return false;\r\n }\r\n\r\n const isLt3M = file.size / 1024 / 1024 <= 3;\r\n\r\n if (!isLt3M) {\r\n message.error('O tamanho do arquivo não pode ser superior a 3MB!');\r\n }\r\n\r\n return isLt3M;\r\n };\r\n\r\n return (\r\n \r\n {openSharingQRCode ? (\r\n
setOpenSharingQRCode(false)}\r\n onNewUpload={handleOnChange}\r\n supportedTypes={supportedTypes}\r\n />\r\n ) : null}\r\n\r\n \r\n \r\n }\r\n onClick={() => setOpenSharingQRCode(true)}\r\n />\r\n \r\n {value && (\r\n \r\n } onClick={handleRemove} />\r\n \r\n )}\r\n \r\n }\r\n >\r\n \r\n
\r\n {value?.id ? (\r\n
\r\n ) : (\r\n uploadButton\r\n )}\r\n \r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nexport default UploadProfileImageV2;\r\n","import React, { useState } from 'react';\r\nimport { Upload, message } from 'antd';\r\nimport { LoadingOutlined } from '@ant-design/icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { api } from 'react-structure-admin';\r\n\r\nconst Image = ({ uri }) => {\r\n return (\r\n \r\n

\r\n
\r\n );\r\n};\r\n\r\nconst UploadProfile = ({ value, onChange, resource }) => {\r\n const [loading, setLoading] = useState(false);\r\n\r\n const beforeUpload = (file) => {\r\n const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png';\r\n\r\n if (!isJpgOrPng) {\r\n message.error('É permitido somente arquivos com a extensão JPG/PNG!');\r\n }\r\n\r\n const isLt2M = file.size / 1024 / 1024 < 2;\r\n\r\n if (!isLt2M) {\r\n message.error('O tamanho do arquivo não pode ser superior a 2MB!');\r\n }\r\n return isJpgOrPng && isLt2M;\r\n };\r\n\r\n const handleChange = (info) => {\r\n if (info.file.status === 'uploading') {\r\n setLoading(true);\r\n return;\r\n }\r\n\r\n if (info.file.status === 'done' && onChange) {\r\n onChange(info.file.response.result);\r\n }\r\n };\r\n\r\n const uploadButton = (\r\n \r\n {loading ? (\r\n
\r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n\r\n const handleCustomRequest = (options) => {\r\n const data = new FormData();\r\n\r\n data.append('profileImageFile', options.file);\r\n\r\n setLoading(true);\r\n\r\n api.post(resource, data).then((res) => {\r\n if (!(res && res.errors)) {\r\n options.onSuccess(res.data, options.file);\r\n } else {\r\n message.error('Ocorreu um erro inesperado.');\r\n }\r\n\r\n setLoading(false);\r\n });\r\n };\r\n\r\n return (\r\n \r\n \r\n {value && !loading ? : uploadButton}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default UploadProfile;\r\n","import React from 'react';\r\nimport { Select } from 'antd';\r\n\r\nconst SelectSubscriptionFrequency = ({ ...rest }) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SelectSubscriptionFrequency;\r\n","import React from 'react';\r\nimport { Select } from 'antd';\r\nimport { normalizeToSelect } from 'util/converters';\r\nimport roles from 'constants/roles';\r\n\r\nconst CollaboratorSelectRoles = ({\r\n onChange,\r\n hidePermissions = [],\r\n ...rest\r\n}) => {\r\n if (!rest.value) {\r\n rest.value = [];\r\n }\r\n\r\n const handleTrigger = (value) => {\r\n onChange(\r\n roles\r\n .filter((c) => value.map((d) => d.value).includes(c.id))\r\n .map((c) => ({ role: c }))\r\n );\r\n };\r\n\r\n const value = rest.value.map((c) =>\r\n normalizeToSelect(c.role, { inputKey: 'id', inputLabel: 'description' })\r\n );\r\n\r\n const handleFilter = (role) => {\r\n return !hidePermissions.includes(role.name);\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default CollaboratorSelectRoles;\r\n","import React, { useState } from 'react';\r\nimport { Button, Upload as UploadAntd, message } from 'antd';\r\nimport { api } from 'react-structure-admin';\r\nimport { LoadingOutlined, PaperClipOutlined } from '@ant-design/icons';\r\nimport join from 'util/functions/join';\r\nimport ShowFilesModal from './ShowFilesModal';\r\n\r\nconst Upload = ({ value, onChange, disabled, params, extensions = [] }) => {\r\n const [loading, setLoading] = useState(false);\r\n const [openShowFile, setOpenShowFile] = useState(null);\r\n const { name } = value ?? {};\r\n\r\n const handleOnRemove = () => {\r\n onChange(null);\r\n };\r\n\r\n const extractingExtension = (fileName) => {\r\n const text = fileName.match(/\\.[0-9a-z]+$/i)[0];\r\n return text != null ? text : '';\r\n };\r\n\r\n const handlePreview = () => {\r\n setOpenShowFile(value);\r\n };\r\n\r\n const handleClosePreview = () => {\r\n setOpenShowFile(null);\r\n };\r\n\r\n const handleBeforeUpload = (file) => {\r\n let isCorrectFormat = false;\r\n\r\n if (extensions.includes(file.type.replace('image/', '').toLowerCase())) {\r\n isCorrectFormat = true;\r\n } else if (\r\n extensions.includes(extractingExtension(file.name).replace('.', ''))\r\n ) {\r\n isCorrectFormat = true;\r\n }\r\n\r\n if (!isCorrectFormat) {\r\n message.error(\r\n `É permitido somente arquivos com a extensão ${join(\r\n extensions.map((c) => c.toUpperCase()),\r\n ', ',\r\n ' e '\r\n )}.`\r\n );\r\n }\r\n\r\n const isLt2M = file.size / 1024 / 1024 < 2;\r\n\r\n if (!isLt2M) {\r\n message.error('O tamanho do arquivo não pode ser superior a 2MB');\r\n }\r\n\r\n return isCorrectFormat && isLt2M;\r\n };\r\n\r\n const handleDownload = (file) => {\r\n const link = document.createElement('a');\r\n link.href = file.url;\r\n link.download = file.name;\r\n link.click();\r\n };\r\n\r\n const handlerUploadError = () => {\r\n message.error('Ocorreu um erro inesperado ao processar sua solicitação.');\r\n };\r\n\r\n const customRequest = (options) => {\r\n const data = new FormData();\r\n\r\n data.append('file', options.file);\r\n\r\n if (params) {\r\n Object.keys(params).forEach((key) => {\r\n data.set(key, params[key]);\r\n });\r\n }\r\n\r\n setLoading(true);\r\n\r\n api.post('archives', data).then((response) => {\r\n if (!(response && response.errors)) {\r\n if (!Array.isArray(value)) {\r\n value = [];\r\n }\r\n\r\n onChange(response.data.result);\r\n options.onSuccess(options.file, options.data);\r\n setLoading(false);\r\n return;\r\n }\r\n\r\n options.onError();\r\n handlerUploadError();\r\n setLoading(false);\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n {openShowFile && (\r\n \r\n )}\r\n \r\n : }\r\n >\r\n {loading ? 'Carregando...' : null}\r\n {!loading && !value ? 'Anexar' : null}\r\n {!loading && value ? name : null}\r\n \r\n \r\n >\r\n );\r\n};\r\n\r\nexport default Upload;\r\n","/*eslint-disable */\r\nimport React from 'react';\r\nimport { useClipboard } from 'core/hooks';\r\n\r\nconst ClipboardLabel = ({ children, className }) => {\r\n const { copy } = useClipboard();\r\n\r\n const handleCopy = () => {\r\n if (typeof children !== 'string') {\r\n throw new Error('ClipboardLabel only accept string type child');\r\n }\r\n\r\n copy(children);\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default ClipboardLabel;\r\n","import React from 'react';\r\nimport { Select } from 'antd';\r\n\r\nconst SelectAccountTypes = (props, ref) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default React.forwardRef(SelectAccountTypes);\r\n","import { dispatcher, api } from 'react-structure-admin';\r\n\r\nexport const LOGIN_REQUEST = 'AUTH_LOGIN_REQUEST';\r\nexport const LOGIN_REQUEST_FINISHED = 'AUTH_LOGIN_REQUEST_FINISHED';\r\nexport const AUTH_REFRESH_TOKEN = 'AUTH_REFRESH_TOKEN';\r\nexport const AUTH_REFRESH_TOKEN_FINISHED = 'AUTH_REFRESH_TOKEN_FINISHED';\r\nexport const LOGOUT = 'AUTH_LOGOUT';\r\nexport const AUTH_REFRESH_USER = 'AUTH_UPDATE_USER';\r\n\r\nexport const AUTH_SUBSCRIPTION_CREATE = 'AUTH_SUBSCRIPTION_CREATE';\r\nexport const AUTH_SUBSCRIPTION_CREATE_FINISHED =\r\n 'AUTH_SUBSCRIPTION_CREATE_FINISHED';\r\n\r\nexport const AUTH_SET_CURRENT_COLLABORATOR = 'AUTH_SET_CURRENT_COLLABORATOR';\r\nexport const AUTH_REMOVE_CURRENT_COLLABORATOR =\r\n 'AUTH_REMOVE_CURRENT_COLLABORATOR';\r\n\r\nconst onAuthSuccess = (data) => {\r\n if (data && data.user) {\r\n const expirationDate = new Date();\r\n expirationDate.setSeconds(\r\n expirationDate.getSeconds() + data.expireInSeconds\r\n );\r\n\r\n if (data.tenantId) {\r\n localStorage.setItem('tenantId', data.tenantId);\r\n } else {\r\n localStorage.removeItem('tenantId');\r\n }\r\n localStorage.setItem(\r\n 'auth_data',\r\n btoa(JSON.stringify({ ...data, expirationDate }))\r\n );\r\n localStorage.setItem('auth_accesstoken', data.accessToken);\r\n localStorage.setItem('auth_refreshtoken', data.refreshToken);\r\n }\r\n};\r\n\r\nexport const createAccount = (params, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'auth',\r\n actionType: LOGIN_REQUEST,\r\n effect: async () => api.post('auth', params),\r\n onSuccess: ({ data }) => {\r\n onAuthSuccess(data);\r\n if (onSuccess) {\r\n onSuccess(data);\r\n }\r\n }\r\n });\r\n};\r\n\r\nexport const createSubscription = (params, onSuccess, onFail) => async (\r\n dispatch\r\n) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'auth',\r\n actionType: AUTH_SUBSCRIPTION_CREATE,\r\n effect: async () => api.post('subscriptions', params),\r\n onSuccess,\r\n onFail\r\n });\r\n};\r\n\r\nexport const changeTenant = (tenantId, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'auth',\r\n actionType: LOGIN_REQUEST,\r\n effect: async () => api.post(`auth/change-tenant`, { tenantId }),\r\n onSuccess: ({ data }) => {\r\n onAuthSuccess(data);\r\n if (onSuccess) {\r\n onSuccess(data);\r\n }\r\n }\r\n });\r\n};\r\n\r\nexport const refreshToken = (params, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'auth',\r\n actionType: LOGIN_REQUEST,\r\n effect: async () => api.post('/auth/refresh-token', params),\r\n onSuccess: ({ data }) => {\r\n onAuthSuccess(data);\r\n\r\n if (onSuccess) {\r\n onSuccess();\r\n }\r\n }\r\n });\r\n};\r\n\r\nexport const setCurrentCollaborator = (collaborator) => (dispatch) => {\r\n localStorage.setItem('current_collaborator', JSON.stringify(collaborator));\r\n\r\n dispatch(\r\n dispatcher.createAction(AUTH_SET_CURRENT_COLLABORATOR, 'auth', collaborator)\r\n );\r\n};\r\n\r\nexport const removeCurrentCollaborator = () => (dispatch) => {\r\n localStorage.removeItem('current_collaborator');\r\n dispatch(dispatcher.createAction(AUTH_REMOVE_CURRENT_COLLABORATOR, 'auth'));\r\n};\r\n","import { dispatcher, api } from 'react-structure-admin';\r\n\r\nexport const COMPANY = 'COMPANY';\r\nexport const COMPANY_GET = 'COMPANY_GET';\r\nexport const COMPANY_GET_FINISHED = 'COMPANY_GET_FINISHED';\r\nexport const COMPANY_GET_SETTINGS = 'COMPANY_GET_SETTINGS';\r\nexport const COMPANY_GET_SETTINGS_FINISHED = 'COMPANY_GET_SETTINGS_FINISHED';\r\nexport const COMPANY_UPDATE = 'COMPANY_UPDATE';\r\nexport const COMPANY_UPDATE_FINISHED = 'COMPANY_UPDATE_FINISHED';\r\nexport const COMPANY_SETTINGS_UPDATE = 'COMPANY_SETTINGS_UPDATE';\r\nexport const COMPANY_SETTINGS_UPDATE_FINISHED =\r\n 'COMPANY_SETTINGS_UPDATE_FINISHED';\r\nexport const COMPANY_CREATE = 'COMPANY_CREATE';\r\nexport const COMPANY_CREATE_FINISHED = 'COMPANY_CREATE_FINISHED';\r\nexport const COMPANY_UPLOAD_CERTIFICATE = 'COMPANY_UPLOAD_CERTIFICATE';\r\nexport const COMPANY_UPLOAD_CERTIFICATE_FINISHED =\r\n 'COMPANY_UPLOAD_CERTIFICATE_FINISHED';\r\nexport const COMPANY_UPLOAD_CERTIFICATE_ERROR =\r\n 'COMPANY_UPLOAD_CERTIFICATE_ERROR';\r\nexport const COMPANY_CANCEL = 'COMPANY_CANCEL';\r\nexport const COMPANY_FIND = 'COMPANY_FIND';\r\nexport const COMPANY_ISSUE_TYPES = 'COMPANY_ISSUE_TYPES';\r\nexport const COMPANY_ALLOW_REGISTER = 'COMPANY_ALLOW_REGISTER';\r\nexport const COMPANY_SAVE_CERTIFICATE = 'COMPANY_SAVE_CERTIFICATE';\r\nexport const COMPANY_GET_SETUP_STEPS = 'COMPANY_GET_SETUP_STEPS';\r\nexport const COMPANY_GET_SETUP_STEPS_FINISHED =\r\n 'COMPANY_GET_SETUP_STEPS_FINISHED';\r\n\r\nexport const COMPANY_SERVICE_APPROXIMATE_TAXES_GET =\r\n 'COMPANY_SERVICE_APPROXIMATE_TAXES_GET';\r\n\r\nexport const get = (id, tab) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n payload: { tab },\r\n resource: 'companies',\r\n actionType: COMPANY_GET,\r\n effect: async () => api.get('companies', id)\r\n });\r\n};\r\n\r\nexport const getSettings = (id) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'companies',\r\n actionType: COMPANY_GET_SETTINGS,\r\n effect: async () => api.fetch('companies/:id/settings', { id })\r\n });\r\n};\r\n\r\nexport const update = (payload = {}, onSuccess) => async (dispatch) => {\r\n const { id } = payload;\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'companies',\r\n actionType: COMPANY_UPDATE,\r\n payload,\r\n effect: async () => api.put(`companies/${id}`, { ...payload }),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const updateSettings = (id, payload = {}, onSuccess) => async (\r\n dispatch\r\n) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'companies',\r\n actionType: COMPANY_SETTINGS_UPDATE,\r\n payload,\r\n effect: async () => api.put(`companies/${id}/settings`, payload),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const create = (payload = {}, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'companies',\r\n actionType: COMPANY_CREATE,\r\n payload,\r\n effect: async () => api.post(`companies`, { ...payload }),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const postCertificateError = () => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(COMPANY_UPLOAD_CERTIFICATE_ERROR, 'companies')\r\n );\r\n};\r\n\r\nexport const postCertificate = (formData, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'companies',\r\n actionType: COMPANY_UPLOAD_CERTIFICATE,\r\n effect: async () => api.post(`companies/certificates`, formData),\r\n onSuccess,\r\n onFail: () => dispatch(postCertificateError())\r\n });\r\n};\r\n\r\nexport const cancel = () => (dispatch) => {\r\n dispatch(dispatcher.createAction(COMPANY_CANCEL, 'companies'));\r\n};\r\n\r\nexport const findByFederalTaxNumber = (\r\n federaltaxnumber,\r\n onSuccess,\r\n onFail\r\n) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'companies',\r\n actionType: COMPANY_FIND,\r\n effect: async () => api.get('companies/find', federaltaxnumber),\r\n onSuccess,\r\n onFail\r\n });\r\n};\r\n\r\nexport const getIssueTypes = (\r\n companyId,\r\n model,\r\n environmentType,\r\n onSuccess,\r\n onFail\r\n) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'companies',\r\n actionType: COMPANY_ISSUE_TYPES,\r\n effect: async () =>\r\n api.fetch('companies/:companyId/issue-types', {\r\n companyId,\r\n model,\r\n environmentType\r\n }),\r\n onSuccess,\r\n onFail\r\n });\r\n};\r\n\r\nexport const allowRegisterFederalTaxNumber = (\r\n federaltaxnumber,\r\n onSuccess,\r\n onFail\r\n) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'companies',\r\n actionType: COMPANY_ALLOW_REGISTER,\r\n effect: async () =>\r\n api.get(\r\n 'companies/is-allow-register-federal-tax-number',\r\n federaltaxnumber\r\n ),\r\n onSuccess,\r\n onFail\r\n });\r\n};\r\n\r\nexport const saveCertificate = (formData, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'companies',\r\n actionType: COMPANY_SAVE_CERTIFICATE,\r\n effect: async () => api.post(`companies/certificates`, formData),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const SetupSteps = (id) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'companies',\r\n actionType: COMPANY_GET_SETUP_STEPS,\r\n effect: async () => api.fetch('companies/:id/setup-steps-completed', { id })\r\n });\r\n};\r\n\r\nexport const getServiceApproximateTaxes = (\r\n federalServiceCode,\r\n onSuccess\r\n) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'companies',\r\n actionType: COMPANY_SERVICE_APPROXIMATE_TAXES_GET,\r\n onSuccess,\r\n effect: async () =>\r\n api.get(\r\n 'companies/service-approximate-taxes',\r\n `?federalservicecode=${federalServiceCode}`\r\n )\r\n });\r\n};\r\n","import React from 'react';\r\n\r\nconst FinancialEntryInstallmentNumber = ({ form, value }) => {\r\n const totalInstallments = form.getFieldValue('totalInstallments');\r\n\r\n return {`${value}/${totalInstallments}`};\r\n};\r\nexport default FinancialEntryInstallmentNumber;\r\n","import React, { useEffect, useState } from 'react';\r\nimport lodash from 'lodash';\r\nimport { FormItemWrap, api } from 'react-structure-admin';\r\nimport {\r\n Col,\r\n DatePicker,\r\n Form,\r\n Row,\r\n Modal,\r\n Divider,\r\n Alert,\r\n message\r\n} from 'antd';\r\nimport {\r\n FormItemUserDetail,\r\n InputCurrency,\r\n SelectBoolean,\r\n SelectPaymentMethod\r\n} from 'components';\r\nimport {\r\n BANKCHECK,\r\n BILLETBANK,\r\n CREDITCARD,\r\n DEBITCARD,\r\n PAYMENT,\r\n RECEIPT\r\n} from 'constants/types';\r\nimport RemoteSelect from 'components/RemoteSelect';\r\nimport moment from 'moment';\r\nimport useAuth from 'core/hooks/useAuth';\r\n\r\nconst FinancialEntryFormPaymentItem = ({\r\n onClose,\r\n field,\r\n type,\r\n form,\r\n disabled = false,\r\n showAudit = false\r\n}) => {\r\n const [drawerForm] = Form.useForm();\r\n const selectRef = React.useRef(null);\r\n const [checkingAccount, setCheckingAccount] = useState(null);\r\n const initialValues = form.getFieldValue(['items', field.name]);\r\n const { accountantId } = useAuth();\r\n const typeLabel = type === RECEIPT ? 'recebimento' : 'pagamento';\r\n\r\n const getLabelPaymentMethod = () => {\r\n return type === RECEIPT ? 'Forma de recebimento' : 'Forma de pagamento';\r\n };\r\n\r\n const hasChangedAmount = (values) => {\r\n return (\r\n lodash.get(values, 'payment.interestAmount') !== undefined ||\r\n lodash.get(values, 'payment.discount') !== undefined ||\r\n lodash.get(values, 'payment.fineAmount') !== undefined\r\n );\r\n };\r\n\r\n const handleSelectCheckingAccount = (newCheckingAccount) => {\r\n if (newCheckingAccount?.type === 'card') {\r\n if (newCheckingAccount.credicardType !== type) {\r\n message.error(\r\n `Conta do tipo cartão não pode ser usado para ${typeLabel}`\r\n );\r\n\r\n setTimeout(() => {\r\n drawerForm.setFieldsValue({ checkingAccount: null });\r\n }, 250);\r\n return;\r\n }\r\n }\r\n\r\n setCheckingAccount(newCheckingAccount);\r\n };\r\n\r\n const hasChangedPaymentMethodOrCheckingAccount = (values) => {\r\n return (\r\n lodash.get(values, 'checkingAccount') !== undefined ||\r\n lodash.get(values, 'payment.method') !== undefined ||\r\n lodash.get(values, 'payment.date') !== undefined\r\n );\r\n };\r\n\r\n const alertNotCredicard = () => {\r\n Modal.info({\r\n width: '700px',\r\n title: 'Conta não está configurada para usar cartão de crédito',\r\n content:\r\n 'A conta selecionada não possui as informações do dia de fechamento e vencimento da fatura do cartão de crédito. Favor informar esses dados no cadastro da conta. A data disponível deve ser a data do vencimento da fatura do cartão que essa despesa estará incluída.'\r\n });\r\n };\r\n\r\n const getReceiptNextBusinessDay = ({ method, date }) => {\r\n const nextBusinessDay = moment(date).clone();\r\n\r\n switch (method) {\r\n case BANKCHECK:\r\n case DEBITCARD:\r\n return nextBusinessDay.add(1, 'day');\r\n case BILLETBANK:\r\n return nextBusinessDay.add(2, 'day');\r\n case CREDITCARD:\r\n return nextBusinessDay.add(30, 'day');\r\n default:\r\n return nextBusinessDay;\r\n }\r\n };\r\n\r\n const getPaymentNextBusinessDay = ({ method, date }) => {\r\n const nextBusinessDay = moment(date).clone();\r\n\r\n if (method === CREDITCARD) {\r\n const { type, credicardInvoiceClosingDay, credicardInvoiceDueDate } =\r\n checkingAccount ?? {};\r\n\r\n if (!(type === 'bankAccount')) {\r\n return nextBusinessDay.add(30, 'day');\r\n }\r\n\r\n if (!(type === 'card')) {\r\n alertNotCredicard();\r\n return nextBusinessDay.add(30, 'day');\r\n }\r\n\r\n const invoiceClosing = nextBusinessDay\r\n .clone()\r\n .date(credicardInvoiceClosingDay);\r\n\r\n const invoiceDueDate = nextBusinessDay\r\n .clone()\r\n .date(credicardInvoiceDueDate);\r\n\r\n const newDueDate = moment(invoiceDueDate).clone();\r\n\r\n if (newDueDate > date && date <= invoiceClosing) {\r\n return newDueDate.date(credicardInvoiceDueDate);\r\n }\r\n\r\n return newDueDate.add(1, 'month').date(credicardInvoiceDueDate);\r\n }\r\n\r\n switch (method) {\r\n case BANKCHECK:\r\n return nextBusinessDay.add(1, 'day');\r\n default:\r\n return nextBusinessDay;\r\n }\r\n };\r\n\r\n const getNextBusinessDay = ({ payment, dueDate }) => {\r\n let nextBusinessDay = null;\r\n\r\n if (type === RECEIPT) {\r\n nextBusinessDay = getReceiptNextBusinessDay(payment);\r\n }\r\n\r\n if (type === PAYMENT) {\r\n nextBusinessDay = getPaymentNextBusinessDay(payment, dueDate);\r\n }\r\n\r\n if (nextBusinessDay) {\r\n api\r\n .get(`holidays/next-business-day`, nextBusinessDay.toISOString())\r\n .then(({ data }) => {\r\n if (data?.result) {\r\n drawerForm.setFields([\r\n {\r\n name: ['payment', 'dateOfCompensation'],\r\n value: moment(data?.result)\r\n }\r\n ]);\r\n }\r\n });\r\n }\r\n };\r\n\r\n const checkIsPaymentMethodAllowedForCheckingAccount = (\r\n changedValues,\r\n item\r\n ) => {\r\n const { checkingAccount, payment } = item;\r\n\r\n if (!(checkingAccount && payment.method)) {\r\n return;\r\n }\r\n\r\n const changedCheckingAccount =\r\n lodash.get(changedValues, 'checkingAccount') !== undefined;\r\n const changedPaymentMethod =\r\n lodash.get(changedValues, 'payment.method') !== undefined;\r\n const changedPaymentDate =\r\n lodash.get(changedValues, 'payment.date') !== undefined;\r\n\r\n if (changedCheckingAccount || changedPaymentMethod) {\r\n api\r\n .post(\r\n `checking-accounts/${checkingAccount?.key}/validate-payment-methods/${payment.method}`\r\n )\r\n .then(({ data }) => {\r\n if (!data?.result) {\r\n Modal.confirm({\r\n width: '700px',\r\n cancelText: 'Voltar',\r\n okText: 'Continuar',\r\n afterClose: () => {\r\n selectRef.current.focus();\r\n },\r\n onCancel: () => {\r\n if (changedCheckingAccount) {\r\n setCheckingAccount(null);\r\n drawerForm.setFieldsValue({ checkingAccount: null });\r\n }\r\n\r\n if (changedPaymentMethod) {\r\n drawerForm.setFieldsValue({ payment: { method: null } });\r\n }\r\n },\r\n\r\n onOk: () => {},\r\n title: `A forma de ${typeLabel} selecionada não é recomendada para usar nesta conta. Deseja prosseguir?`\r\n });\r\n }\r\n });\r\n }\r\n\r\n if ((changedPaymentMethod || changedPaymentDate) && item?.payment?.date) {\r\n getNextBusinessDay(item);\r\n }\r\n };\r\n\r\n const handleSubmit = () => {\r\n drawerForm.validateFields().then((values) => {\r\n form.setFields([\r\n {\r\n name: ['items', field.name],\r\n value: {\r\n ...initialValues,\r\n ...values,\r\n checkingAccount: {\r\n ...values.checkingAccount,\r\n item: checkingAccount\r\n }\r\n }\r\n }\r\n ]);\r\n\r\n onClose();\r\n });\r\n };\r\n\r\n const handleChangeValues = (changedValues, values) => {\r\n if (hasChangedAmount(changedValues)) {\r\n const netAmount =\r\n values.amount +\r\n values.payment.interestAmount +\r\n values.payment.fineAmount -\r\n values.payment.discount;\r\n\r\n drawerForm.setFieldsValue({ payment: { netAmount } });\r\n }\r\n\r\n if (!hasChangedPaymentMethodOrCheckingAccount(changedValues)) {\r\n return;\r\n }\r\n\r\n checkIsPaymentMethodAllowedForCheckingAccount(changedValues, values);\r\n };\r\n\r\n const handleTriggerClose = () => {\r\n if (disabled) {\r\n onClose();\r\n return;\r\n }\r\n\r\n Modal.confirm({\r\n width: '700px',\r\n cancelText: 'Voltar',\r\n okText: 'Sim',\r\n onOk: () => {\r\n form.setFields([\r\n {\r\n name: ['items', field.name, 'isPaid'],\r\n value: false\r\n }\r\n ]);\r\n onClose();\r\n },\r\n title: 'Deseja cancelar o pagamento dessa parcela?'\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (!checkingAccount) {\r\n setCheckingAccount(initialValues?.checkingAccount?.item);\r\n }\r\n }, []);\r\n\r\n const handleBeforeBinding = (values) => {\r\n if (!values.payment.date) {\r\n values.payment.date = moment();\r\n }\r\n\r\n return values;\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n {accountantId && checkingAccount?.ledgerAccount === null && (\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n date.isAfter(moment(), 'day')}\r\n disabled={disabled}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {showAudit && (\r\n <>\r\n Auditoria\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n >\r\n )}\r\n\r\n {showAudit && initialValues.exportAudit && (\r\n <>\r\n Auditoria contábil\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n >\r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default FinancialEntryFormPaymentItem;\r\n","import { dispatcher, api } from 'react-structure-admin';\r\n\r\nexport const LEDGERACCOUNT = 'LEDGERACCOUNT';\r\n\r\nexport const LEDGERACCOUNT_FILE_IMPORT = 'LEDGERACCOUNT_FILE_IMPORT';\r\nexport const LEDGERACCOUNT_FILE_IMPORT_FINISHED =\r\n 'LEDGERACCOUNT_FILE_IMPORT_FINISHED';\r\n\r\nexport const importFile = (file, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'ledgerAccounts',\r\n actionType: LEDGERACCOUNT_FILE_IMPORT,\r\n effect: async () => api.post(`ledger-accounts/import-file`, file),\r\n onSuccess,\r\n onFail: () => true\r\n });\r\n};\r\n","import { dispatcher, api } from 'react-structure-admin';\r\n\r\nexport const STANDARDHISTORY = 'STANDARDHISTORY';\r\n\r\nexport const STANDARDHISTORY_FILE_IMPORT = 'STANDARDHISTORY_FILE_IMPORT';\r\nexport const STANDARDHISTORY_FILE_IMPORT_FINISHED =\r\n 'STANDARDHISTORY_FILE_IMPORT_FINISHED';\r\n\r\nexport const importFile = (file, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'standardHistories',\r\n actionType: STANDARDHISTORY_FILE_IMPORT,\r\n effect: async () => api.post(`standard-histories/import-file`, file),\r\n onSuccess,\r\n onFail: () => true\r\n });\r\n};\r\n","import { dispatcher, api } from 'react-structure-admin';\r\n\r\nexport const PACKAGE = 'PACKAGE';\r\n\r\nexport const PACKAGE_FETCH = 'PACKAGE_FETCH';\r\nexport const PACKAGE_FETCH_FINISHED = 'PACKAGE_FETCH_FINISHED';\r\n\r\nexport const fetch = (params) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'packages',\r\n actionType: PACKAGE_FETCH,\r\n effect: async () => api.fetch('packages/without-pagination', params)\r\n });\r\n};\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYQAAAB5CAMAAAAOGKaSAAAAA3NCSVQICAjb4U/gAAAC6FBMVEUhtX2l4ck0u4j///9jy6Td9OuD1rbH7N5HwpMjtn656Nbv+fVUxZtyz6yb3cQquILR8OQ7vo2x5dLp9/JszqmP2b5cyaDz+/h707JNxJcxuocmt4DZ8unj9e6/6tpBv5Cr485mzKY4vYvL7uFZx56L2Lv2/PmV28Ht+fQitX2h38dKw5V+1LTD69wsuYTX8efx+vcpuIF40bDn9/FQxZk2u4m359Vwz6uu5M+e38ZEwZFgyaE+v47r+PPb8+pWx5zP7+Ph9e0ktn6O2b0uuYX1+/mp4s1qzadMw5W86djl9vAyu4fK7d+H17g6vYsitX500a6Y3cNky6XF693V8eaC1bXD69s0vYlSxZr///+559aT27+j4Mkuu4Xv+fcot4Hz+/c2vYvX8enk9e+05dNGwZNuz6rf9OxOxJin4ct91LP1/flIwpTb8+kkt4EsuYOP2b2I17l20a+d3sVeyaFayJ+t489iy6Nmy6VAv4/F7d1CwJA6vY1wz63J7d+/6dnR7+Tp+fPd8+tKw5fN7uKx5dHp9/HX8+lYx508vo2X3MG159Vey6Gh38l607H4/fvj9u+P272559dEwZOF1reR2r9ozKdSx5souYMyu4mF17mr48+B1bXT8OWT28FayZ9Ow5d807PN7uFOxZd206+M2buZ3cNAwZGb38Xr+fXx+/Wl4ctgy6O96dg2vYmJ17s8v4/v+/Xh9e/f9evL7eFSxZmd38Vy0a3l9++z5tPv+/e159OD1bfH7d2v5dHB6trR7+WV3cFUx5tw0a1rzant+fVkzaUwuoVmzaUot4NIwZTV8edAwY+H17lYyZ/X8+d40a+F17e76Neb3cWX3cGR2b+R271ey6Px+/en48vH691cyJ/r+fNMw5dUx53Z8+nB6tu/6dvJ7eHN7eFeyaPH7d88vY1sz6uf38e76de96dmL2bvj9e+R2b2t5c900K1407FIwpOz5dN+1LOh4ceJ2btgyaP///8ApmH5AAAA+HRSTlP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ACjOtjcAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAFnRFWHRDcmVhdGlvbiBUaW1lADA3LzA1LzIxqZV7yAAAEmBJREFUeJztnd9PU9kWxytFq9Ni5YJCaeVHgcKAQBXKj7ZAGX4KiiDVECTBBAU1GJURHWICxuiNaDL1AXyCZMZkeLkxvjgPEyfxRUNyJyZz8fHeB59ufDNX/4Hbrr1Pe37ss/c+py33guf7ZPHss89Zn3P2j7X22sdk4tZ3bCVVmv9KvlqdqQmxVeU+RSy8cX2BXfjskH2L72m7qanDzKHzLbXE0us5PKX7y5xbfFfbTMURHjOapzNIhXv7uQqbXxivAlWNfBBafYSywRAfA/MxAwJVSUBwFnv4GJyY37f1N7adBBDGSwLq+nJeBUJ+K1g4V71oZ17siLc3jS6BLoBwpJYywnRUkiH85EIWtquWLFiE1+xd1//gvraVAMIVWps9Q4bQtQkWPkkeNoEOemNHNC6Rh7eG4tINgW3hAIx+D48aszWW9EJAFu5oULewewFelVljZMSUTgjYwrS58Hh37IhdPqMxYkonhHEPy8JZ9bEj1maM0Slb+iBgC+9Vt7A/HDsir8QYnXJIFwRk4fM/qFvY/hdorlYKvk3Vhe5k6YFg/4wsvKFu4eVYIfPZIqMx4pEeCMtvYxb+QHFGtN+LHVH/0GiMuKQDgmBh9dHpwAd4VY5cS9117mhphyBYmFJmOOZuMjerRIIMyaUdwjB45R5QLFzyJHZEm8OYKnNKM4SSSZaFg/dj5/RMTTCqdhbdzF9f2uKuO6Nhqjz3/20SrxUC28LOHpjI7c+gj05nmxfCu+u9W/q67N1fGHIdbm0p2MI6eaQRArbw+wF1C/8IYYaXfsYj/hhaNfOlrYTwAwqoX97mENgW7oMwgzXAGp0WRrYewpvKnQDBwbRw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\"","import { dispatcher, api } from 'react-structure-admin';\r\n\r\nexport const SUBSCRIPTION = 'SUBSCRIPTION';\r\nexport const SUBSCRIPTION_SET_VALUES = 'SUBSCRIPTION_SET_VALUES';\r\nexport const SUBSCRIPTION_SET_LOADING = 'SUBSCRIPTION_SET_LOADING';\r\nexport const SUBSCRIPTION_CURRENT_GET = 'SUBSCRIPTION_CURRENT_GET';\r\nexport const SUBSCRIPTION_CURRENT_GET_FINISHED =\r\n 'SUBSCRIPTION_CURRENT_GET_FINISHED';\r\n\r\nexport const SUBSCRIPTION_OPEN_PURCHASE_PACKAGE =\r\n 'SUBSCRIPTION_OPEN_PURCHASE_PACKAGE';\r\nexport const SUBSCRIPTION_CLOSE_PURCHASE_PACKAGE =\r\n 'SUBSCRIPTION_CLOSE_PURCHASE_PACKAGE';\r\n\r\nexport const SUBSCRIPTION_OPEN_PACKAGE_LIST = 'SUBSCRIPTION_OPEN_PACKAGE_LIST';\r\nexport const SUBSCRIPTION_CLOSE_PACKAGE_LIST =\r\n 'SUBSCRIPTION_CLOSE_PACKAGE_LIST';\r\n\r\nexport const SUBSCRIPTION_PURCHASE_PACKAGE = 'SUBSCRIPTION_PURCHASE_PACKAGE';\r\nexport const SUBSCRIPTION_PURCHASE_PACKAGE_FINISHED =\r\n 'SUBSCRIPTION_PURCHASE_PACKAGE_FINISHED';\r\n\r\nexport const SUBSCRIPTION_BALANCE_DETAILS = 'SUBSCRIPTION_BALANCE_DETAILS';\r\nexport const SUBSCRIPTION_BALANCE_DETAILS_FINISHED =\r\n 'SUBSCRIPTION_BALANCE_DETAILS_FINISHED';\r\n\r\nexport const SUBSCRIPTION_UPDATE = 'SUBSCRIPTION_UPDATE';\r\nexport const SUBSCRIPTION_UPDATE_FINISHED = 'SUBSCRIPTION_UPDATE_FINISHED';\r\n\r\nexport const setValues = (values) => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(SUBSCRIPTION_SET_VALUES, 'subscriptions', values)\r\n );\r\n};\r\n\r\nexport const setLoading = (loading) => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(SUBSCRIPTION_SET_LOADING, 'subscriptions', loading)\r\n );\r\n};\r\n\r\nexport const getActiveSubscription = () => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'subscriptions',\r\n actionType: SUBSCRIPTION_CURRENT_GET,\r\n effect: async () => api.fetch('subscriptions/current-subscription')\r\n });\r\n};\r\n\r\nexport const openPurchasePackage = () => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(SUBSCRIPTION_OPEN_PURCHASE_PACKAGE, 'subscriptions')\r\n );\r\n};\r\n\r\nexport const closePurchasePackage = () => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(\r\n SUBSCRIPTION_CLOSE_PURCHASE_PACKAGE,\r\n 'subscriptions'\r\n )\r\n );\r\n};\r\n\r\nexport const postPurchasePackage = (\r\n packageId,\r\n paymentMethod,\r\n onSuccess\r\n) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'subscriptions',\r\n actionType: SUBSCRIPTION_PURCHASE_PACKAGE,\r\n onSuccess,\r\n effect: async () =>\r\n api.post(\r\n `subscriptions/purchase-package?packageId=${packageId}`,\r\n paymentMethod\r\n )\r\n });\r\n};\r\n\r\nexport const getBalanceDetails = () => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'subscriptions',\r\n actionType: SUBSCRIPTION_BALANCE_DETAILS,\r\n effect: async () => api.fetch('subscriptions/balance-details')\r\n });\r\n};\r\n\r\nexport const openPackageList = () => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(SUBSCRIPTION_OPEN_PACKAGE_LIST, 'subscriptions')\r\n );\r\n};\r\n\r\nexport const closePackageList = () => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(SUBSCRIPTION_CLOSE_PACKAGE_LIST, 'subscriptions')\r\n );\r\n};\r\n\r\nexport const updateSubscription = (\r\n subscriptionId,\r\n payload = {},\r\n onSuccess,\r\n onFail\r\n) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'subscriptions',\r\n actionType: SUBSCRIPTION_UPDATE,\r\n payload,\r\n effect: async () => api.put(`subscriptions/${subscriptionId}`, payload),\r\n onSuccess,\r\n onFail\r\n });\r\n};\r\n","import { dispatcher, api, RESOURCE_CREATE } from 'react-structure-admin';\r\n\r\nexport const EVENT = 'EVENT';\r\n\r\nexport const EVENT_FETCH_APPOINTMENT_TODAY = 'EVENT_FETCH_APPOINTMENT_TODAY';\r\nexport const EVENT_FETCH_APPOINTMENT_TODAY_FINISHED =\r\n 'EVENT_FETCH_APPOINTMENT_TODAY_FINISHED';\r\n\r\nexport const RESOURCE_FETCH = 'RESOURCE_FETCH';\r\nexport const RESOURCE_FETCH_FINISHED = 'RESOURCE_FETCH_FINISHED';\r\n\r\nexport const EVENT_CHANGE_STATUS = 'EVENT_CHANGE_STATUS';\r\nexport const EVENT_CHANGE_STATUS_FINISHED = 'EVENT_CHANGE_STATUS_FINISHED';\r\n\r\nexport const EVENT_DELETE = 'EVENT_DELETE';\r\nexport const EVENT_DELETE_FINISHED = 'EVENT_DELETE_FINISHED';\r\n\r\nexport const EVENT_GET_VIEW = 'EVENT_GET_VIEW';\r\nexport const EVENT_GET_VIEW_FINISHED = 'EVENT_GET_VIEW_FINISHED';\r\n\r\nexport const EVENT_GET_VIEW_CLOSE = 'EVENT_GET_VIEW_CLOSE';\r\n\r\nexport const EVENT_ADD_OR_UPDATE = 'EVENT_CREATE_OR_UPDATE';\r\n\r\nexport const EVENT_SCHEDULES_UNLOAD = 'EVENT_SCHEDULES_UNLOAD';\r\nexport const EVENT_SCHEDULES = 'EVENT_SCHEDULES';\r\nexport const EVENT_SCHEDULES_FINISHED = 'EVENT_SCHEDULES_FINISHED';\r\n\r\nexport const fetch = (params) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'events',\r\n actionType: RESOURCE_FETCH,\r\n effect: async () => api.fetch('events', params)\r\n });\r\n};\r\n\r\nexport const fetchAppointmentToday = (params) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'events',\r\n actionType: EVENT_FETCH_APPOINTMENT_TODAY,\r\n effect: async () => api.fetch('events', params)\r\n });\r\n};\r\n\r\nexport const fetchByPatient = (params) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'events',\r\n actionType: EVENT_SCHEDULES,\r\n effect: async () => api.fetch('events', params)\r\n });\r\n};\r\n\r\nexport const fetchByPatientUnload = () => (dispatch) => {\r\n dispatch(dispatcher.createAction(EVENT_SCHEDULES_UNLOAD, 'events'));\r\n};\r\n\r\nexport const changeStatus = (id, status, onFail) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'events',\r\n payload: status,\r\n actionType: EVENT_CHANGE_STATUS,\r\n effect: async () => api.put(`events/${id}/change-status`, { status })\r\n });\r\n};\r\n\r\nexport const remove = (id) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'events',\r\n actionType: EVENT_DELETE,\r\n payload: id,\r\n effect: async () => api.del('events', id)\r\n });\r\n};\r\n\r\nexport const addOrUpdate = (event) => (dispatch) => {\r\n dispatch(dispatcher.createAction(EVENT_ADD_OR_UPDATE, 'events', event));\r\n};\r\n\r\nexport const getView = (id, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'events',\r\n actionType: EVENT_GET_VIEW,\r\n effect: async () => api.get('events', id),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const getViewClose = () => (dispatch) => {\r\n dispatch(dispatcher.createAction(EVENT_GET_VIEW_CLOSE, 'events'));\r\n};\r\n\r\nexport const createPatient = (id, data, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'patients',\r\n actionType: RESOURCE_CREATE,\r\n effect: async () => api.post(`events/${id}/patient`, data),\r\n payload: data,\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const updatePatient = (id, data, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'patients',\r\n actionType: RESOURCE_CREATE,\r\n effect: async () => api.put(`events/${id}/patient`, data),\r\n payload: data,\r\n onSuccess\r\n });\r\n};\r\n","import React from 'react';\r\nimport { Col, Form } from 'antd';\r\n\r\nconst ResCol = ({\r\n span = 24,\r\n xs = 24,\r\n sm = 24,\r\n md,\r\n lg,\r\n xl,\r\n xxl,\r\n children,\r\n className\r\n}) => {\r\n if (!xs) {\r\n xs = 24;\r\n }\r\n\r\n if (!sm) {\r\n sm = 24;\r\n }\r\n\r\n if (!md) {\r\n md = span;\r\n }\r\n\r\n if (!lg) {\r\n lg = span;\r\n }\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default ResCol;\r\n","import { dispatcher, api } from 'react-structure-admin';\r\n\r\nexport const MEDICALRECORDSECTION = 'MEDICALRECORDSECTION';\r\nexport const MEDICALRECORDSECTION_SORTING = 'MEDICALRECORDSECTION_SORTING';\r\nexport const MEDICALRECORDSECTION_SORTING_FINISHED =\r\n 'MEDICALRECORDSECTION_SORTING_FINISHED';\r\n\r\nexport const updateSorting = (dataSource = []) => async (dispatch) => {\r\n const params = [];\r\n let ordination = 1;\r\n\r\n dataSource.forEach(({ id }) => {\r\n params.push({ id, ordination });\r\n ordination += 1;\r\n });\r\n\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'medical-record-sections',\r\n actionType: MEDICALRECORDSECTION_SORTING,\r\n payload: dataSource,\r\n effect: async () => api.put(`medical-record-sections/sorting`, params)\r\n });\r\n};\r\n","import { dispatcher, api } from 'react-structure-admin';\r\n\r\nexport const CAMPAIGN = 'CAMPAIGN';\r\n\r\nexport const CAMPAIGN_CLONE_FETCH = 'CAMPAIGN_CLONE_FETCH';\r\nexport const CAMPAIGN_CLONE_FETCH_FINISHED = 'CAMPAIGN_CLONE_FETCH_FINISHED';\r\n\r\nexport const clone = (id, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'campaigns',\r\n actionType: CAMPAIGN_CLONE_FETCH,\r\n effect: async () => api.post(`campaigns/${id}/clone`),\r\n onSuccess\r\n });\r\n};\r\n","import React from 'react';\r\nimport { Form, Input } from 'antd';\r\nimport { FormItemWrap } from 'react-structure-admin';\r\nimport { SearchOutlined } from '@ant-design/icons';\r\n\r\nconst InputListSearch = ({ placeholder, width, name, onChange, prefix }) => {\r\n return (\r\n \r\n
\r\n \r\n }\r\n onChange={onChange}\r\n />\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default InputListSearch;\r\n","/* eslint-disable react/prefer-es6-class */\r\n/* eslint-disable react/prefer-stateless-function */\r\nimport React from 'react';\r\nimport createReactClass from 'create-react-class';\r\nimport { Form } from 'antd';\r\n\r\nconst FormInstanceCreate = ({ children, ...rest }) => {\r\n const [form] = Form.useForm();\r\n return React.cloneElement(children, { form, ...rest });\r\n};\r\n\r\nconst WrapperForm = ({ children, form, ...rest }) => {\r\n if (form) {\r\n return React.cloneElement(children, { form, ...rest });\r\n }\r\n\r\n return {children};\r\n};\r\n\r\nclass FormInstance {\r\n static create(WrappedComponent) {\r\n return createReactClass({\r\n render() {\r\n const { children, ...rest } = this.props;\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport default FormInstance;\r\n","import React, { Component } from 'react';\r\nimport { Form } from 'antd';\r\nimport { debounce, values } from 'lodash';\r\nimport FormInstance from 'core/wrappers/FormInstance';\r\n\r\nclass Filter extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.onChangeDebounce = debounce((value) => props.onChange(value), 800);\r\n }\r\n\r\n handleSubmit = ({ filterText }, allValues) => {\r\n const { onChange, onBeforeSubmit, onSearch } = this.props;\r\n\r\n let values = allValues;\r\n\r\n if (onBeforeSubmit) {\r\n values = onBeforeSubmit(values);\r\n }\r\n\r\n if (filterText !== undefined) {\r\n this.onChangeDebounce(values);\r\n\r\n if (onSearch) {\r\n onSearch(filterText);\r\n }\r\n } else if (onChange) {\r\n onChange(values);\r\n }\r\n };\r\n\r\n submit = () => {\r\n const { form } = this.props;\r\n\r\n form.validateFields().then((values) => {\r\n this.handleSubmit({}, values);\r\n });\r\n };\r\n\r\n handleSetValues = (params = {}) => {\r\n const { form } = this.props;\r\n\r\n if (form) {\r\n form.setFieldsValue({ ...params });\r\n }\r\n };\r\n\r\n handleBeforeBinding = (values) => {\r\n const { onBeforeBinding } = this.props;\r\n\r\n if (onBeforeBinding) {\r\n return onBeforeBinding(values);\r\n }\r\n\r\n return values;\r\n };\r\n\r\n render() {\r\n const {\r\n children,\r\n queryParams,\r\n form,\r\n formProps = {},\r\n autoSubmit = true\r\n } = this.props;\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default FormInstance.create(Filter);\r\n","import { useState } from 'react';\r\nimport { useCookies } from 'react-cookie';\r\nimport moment from 'moment';\r\n\r\nlet COOKIE_DOMAIN = 'kuidare.com.br';\r\nconst COOKIE_PATH = '/';\r\n\r\nconst useCookieHandler = (names = []) => {\r\n const [cookies, setCookie, removeCookie] = useCookies([names]);\r\n const [loaded, setLoaded] = useState(false);\r\n\r\n if (process.env.NODE_ENV !== 'production') {\r\n COOKIE_DOMAIN = undefined;\r\n }\r\n\r\n const getExpires = (days, minutes) => {\r\n let expires = moment();\r\n\r\n if (days) {\r\n expires = expires.add(days, 'days');\r\n }\r\n\r\n if (minutes) {\r\n expires = expires.add(minutes, 'minutes');\r\n }\r\n\r\n return expires.toDate();\r\n };\r\n\r\n const setCookieHandler = (name, value, days, minutes) => {\r\n if (!value) {\r\n return;\r\n }\r\n\r\n setLoaded(true);\r\n setCookie(name, value, {\r\n path: COOKIE_PATH,\r\n domain: COOKIE_DOMAIN,\r\n expires: getExpires(days, minutes)\r\n });\r\n };\r\n\r\n const removeCookieHandler = (name) => {\r\n if (!name) {\r\n return;\r\n }\r\n\r\n removeCookie(name, { domain: COOKIE_DOMAIN, path: COOKIE_PATH });\r\n };\r\n\r\n return {\r\n loaded,\r\n setCookie: setCookieHandler,\r\n removeCookie: removeCookieHandler,\r\n cookies\r\n };\r\n};\r\n\r\nexport default useCookieHandler;\r\n","import { useHistory } from 'react-router-dom';\r\nimport usePermissions from 'core/hooks/usePermissions';\r\n\r\nconst useCustomHistory = () => {\r\n const history = useHistory();\r\n const { isAdmin, isPartnership, hasTenantId } = usePermissions();\r\n\r\n const normalize = (path) => {\r\n if (!hasTenantId && isAdmin) {\r\n return `/a/${path}`;\r\n }\r\n\r\n if (isPartnership) {\r\n return `/p/${path}`;\r\n }\r\n\r\n return `/app/${path}`;\r\n };\r\n\r\n const push = (path, isContainer = true) => {\r\n if (isContainer) {\r\n history.push(normalize(path));\r\n } else {\r\n history.push(path);\r\n }\r\n };\r\n\r\n return { push };\r\n};\r\n\r\nexport default useCustomHistory;\r\n","import { useSelector } from 'react-redux';\r\n\r\nexport const MOBILE = 768;\r\n\r\nconst useScreenSize = () => {\r\n const { width } = useSelector((c) => c.settings ?? {});\r\n\r\n const isMobile = width <= MOBILE;\r\n\r\n return { isMobile, width };\r\n};\r\n\r\nexport default useScreenSize;\r\n","import React, { useEffect, useState } from 'react';\r\nimport CurrencyInput from 'react-currency-input-field';\r\n\r\nconst InputCurrency = ({\r\n prefix = 'R$ ',\r\n decimalSeparator = ',',\r\n decimalsLimit = 2,\r\n decimalScale = 2,\r\n onChange,\r\n value,\r\n ...rest\r\n}) => {\r\n const [userValue, setUserValue] = useState(value);\r\n\r\n const triggerChange = (changedValue) => {\r\n onChange?.(\r\n changedValue ? parseFloat(changedValue.replace(decimalSeparator, '.')) : 0\r\n );\r\n setUserValue(changedValue);\r\n };\r\n\r\n useEffect(() => {\r\n setUserValue(value ?? 0);\r\n }, [value]);\r\n\r\n return (\r\n \r\n );\r\n};\r\nexport default InputCurrency;\r\n","import React, { useEffect, useRef } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { Alert } from 'antd';\r\n\r\nconst ResourceErrorAlert = ({ resource }) => {\r\n const errors = useSelector((state) =>\r\n state.resources[resource] ? state.resources[resource].errors : []\r\n );\r\n const errorText =\r\n errors && errors.length > 0\r\n ? errors.map((item) => item.message).join(' ')\r\n : null;\r\n\r\n const ref = useRef(null);\r\n useEffect(() => {\r\n if (errorText && ref.current) {\r\n ref.current.scrollIntoView();\r\n }\r\n }, [errorText, ref.current]);\r\n\r\n return (\r\n errorText && (\r\n \r\n )\r\n );\r\n};\r\n\r\nexport default ResourceErrorAlert;\r\n","const truncate = (text, limit, ellipsis = '...') => {\r\n if (text.length > limit) {\r\n limit -= 1;\r\n\r\n let last = text.substr(limit - 1, 1);\r\n\r\n while (last !== ' ' && limit > 0) {\r\n limit -= 1;\r\n last = text.substr(limit - 1, 1);\r\n }\r\n\r\n last = text.substr(limit - 2, 1);\r\n\r\n if (last === ',' || last === ';' || last === ':') {\r\n text = text.substr(0, limit - 2) + ellipsis;\r\n } else if (last === '.' || last === '?' || last === '!') {\r\n text = text.substr(0, limit - 1);\r\n } else {\r\n text = text.substr(0, limit - 1) + ellipsis;\r\n }\r\n }\r\n\r\n return text;\r\n};\r\n\r\nexport default truncate;\r\n","import React, { useRef, useState } from 'react';\r\nimport { Button, Spin } from 'antd';\r\nimport { CloseOutlined, EditOutlined } from '@ant-design/icons';\r\nimport { normalizeToSelect, useCrud } from 'react-structure-admin';\r\nimport RemoteSelect from './RemoteSelect';\r\n\r\nconst RemoteSelectAutoCrud = ({\r\n resource,\r\n textPropName,\r\n resourceTitle,\r\n enableEdit = true,\r\n onChange,\r\n value,\r\n onCreate,\r\n onBeforeCreate,\r\n ...rest\r\n}) => {\r\n const ref = useRef(null);\r\n const { get, post } = useCrud({ resource });\r\n const [text, setText] = useState('');\r\n const [allowShow, setAllowShow] = useState(true);\r\n const isMultiple = rest.mode === 'multiple';\r\n\r\n const handleChange = (item) => {\r\n onChange?.(item);\r\n };\r\n\r\n const handleCreateSucess = ({ data: result }) => {\r\n ref.current.add(result.result);\r\n\r\n if (isMultiple) {\r\n const newValue = [...value];\r\n newValue.push({\r\n ...normalizeToSelect(result.result),\r\n item: result.result\r\n });\r\n\r\n handleChange(newValue);\r\n } else {\r\n handleChange({\r\n ...normalizeToSelect(result.result),\r\n item: result.result\r\n });\r\n }\r\n\r\n onCreate?.(result.result);\r\n\r\n return false;\r\n };\r\n\r\n const handleCreate = () => {\r\n ref.current.reset();\r\n setText('');\r\n\r\n const values = onBeforeCreate(text);\r\n post(values, (response) => handleCreateSucess(response));\r\n };\r\n\r\n const handleEditClickTag = (key) => {\r\n get(key);\r\n };\r\n\r\n const notFoundRender = () => {\r\n return allowShow && text ? (\r\n \r\n ) : null;\r\n };\r\n\r\n const customDropdownRender = ({ menu, fetching }) => {\r\n return (\r\n <>\r\n {menu}\r\n {fetching ? (\r\n \r\n \r\n
\r\n ) : (\r\n notFoundRender()\r\n )}\r\n >\r\n );\r\n };\r\n\r\n const handleSearch = (text) => {\r\n setAllowShow(false);\r\n setText(text);\r\n };\r\n\r\n const handleFetched = () => {\r\n setAllowShow(true);\r\n };\r\n\r\n const handleDropdownVisibleChange = (visible) => {\r\n if (!visible) {\r\n setText('');\r\n }\r\n };\r\n\r\n const onKeyDown = (e) => {\r\n if (e.keyCode === 13 && ref.current.isEmpty() && text) {\r\n handleCreate();\r\n }\r\n };\r\n\r\n const tagRender = ({ label, onClose, value }) => {\r\n return (\r\n \r\n
{label}\r\n
\r\n handleEditClickTag(value)}\r\n />\r\n \r\n
\r\n
\r\n );\r\n };\r\n\r\n return (\r\n \r\n
}\r\n ref={ref}\r\n value={value}\r\n onChange={handleChange}\r\n {...rest}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default RemoteSelectAutoCrud;\r\n","import React from 'react';\r\nimport { Col, Form, Row, Tooltip } from 'antd';\r\nimport moment from 'moment';\r\nimport ResCol from 'components/forms/ResCol';\r\nimport { FilterRangePicker, FilterSelect } from 'components';\r\nimport InputListSearch from 'components/InputListSearch';\r\nimport {\r\n FileExcelOutlined,\r\n FilterOutlined,\r\n LoadingOutlined,\r\n SyncOutlined\r\n} from '@ant-design/icons';\r\nimport { useSettingInvoice } from 'core/hooks';\r\n\r\nconst TODAY = 'Hoje';\r\nconst WEEK = 'Semana';\r\nconst MONTH = 'Mês';\r\nconst YEAR = 'Ano';\r\n\r\nconst ranges = {\r\n [TODAY]: [moment(), moment()],\r\n [WEEK]: [moment().startOf('week'), moment().endOf('week')],\r\n [MONTH]: [moment().startOf('month'), moment().endOf('month')],\r\n [YEAR]: [moment().startOf('year'), moment()]\r\n};\r\n\r\nconst dateTypes = [\r\n { key: 'creationTime', label: 'Lançamento' },\r\n { key: 'dateOfCompensation', label: 'Regime de caixa' },\r\n { key: 'effectiveDate', label: 'Competência' },\r\n { key: 'dueDate', label: 'Vencimento' },\r\n { key: 'paymentDate', label: 'Baixa' }\r\n];\r\n\r\nconst invoiceStatus = [\r\n { key: 'created', label: 'Não emitida' },\r\n { key: 'authorized', label: 'Emitida' },\r\n { key: 'rejected', label: 'Rejeitada' },\r\n { key: 'canceled', label: 'Cancelada' }\r\n];\r\n\r\nconst FinancialEntryFilter = ({\r\n onRefreshPage,\r\n loading,\r\n allowSearch,\r\n onFilterAdvanced,\r\n onExportExcel,\r\n exportingExcel\r\n}) => {\r\n const { enableInvoice } = useSettingInvoice();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n {enableInvoice && (\r\n \r\n )}\r\n\r\n {allowSearch && (\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {exportingExcel ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default FinancialEntryFilter;\r\n","/* eslint-disable jsx-a11y/control-has-associated-label */\r\nimport React from 'react';\r\nimport { Button, Card, Col, Row } from 'antd';\r\nimport { useSelector } from 'react-redux';\r\nimport { DisplayAmount } from 'components';\r\n\r\nconst FinancialEntrySummary = ({ onFilter }) => {\r\n const { summary = {} } = useSelector(\r\n (c) => c.resources['financial-entries'] ?? {}\r\n );\r\n\r\n const {\r\n amountReceipt = 0,\r\n amountPayment = 0,\r\n totalReceiptPending = 0,\r\n totalPaymentPending = 0,\r\n totalTransactions = 0,\r\n previousBalance = 0,\r\n balance = 0,\r\n dateType\r\n } = summary;\r\n\r\n const handleFilterReceiptPending = () => {\r\n onFilter({\r\n type: 'receipt',\r\n itemStatus: 'awaitingPayment'\r\n });\r\n };\r\n\r\n const handleFilterPaymentPending = () => {\r\n onFilter({\r\n type: 'payment',\r\n itemStatus: 'awaitingPayment'\r\n });\r\n };\r\n\r\n return (\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n Receitas pendentes | \r\n Despesas pendentes | \r\n Lançamentos | \r\n
\r\n \r\n \r\n {totalReceiptPending > 0 ? (\r\n \r\n {totalReceiptPending}\r\n \r\n ) : (\r\n totalReceiptPending\r\n )}\r\n | \r\n \r\n {totalPaymentPending > 0 ? (\r\n \r\n {totalPaymentPending}\r\n \r\n ) : (\r\n totalPaymentPending\r\n )}\r\n | \r\n \r\n {totalTransactions}\r\n | \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n {dateType === 'dateOfCompensation' ? (\r\n Saldo Anterior | \r\n ) : null}\r\n Total de receitas | \r\n Total de despesas | \r\n {dateType === 'dateOfCompensation' ? (\r\n Saldo atual | \r\n ) : (\r\n Saldo | \r\n )}\r\n
\r\n \r\n {dateType === 'dateOfCompensation' ? (\r\n \r\n \r\n | \r\n ) : null}\r\n \r\n \r\n | \r\n \r\n \r\n | \r\n \r\n \r\n | \r\n
\r\n
\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default FinancialEntrySummary;\r\n","import React from 'react';\r\nimport { FormItemWrap, RemoteSelect } from 'react-structure-admin';\r\nimport {\r\n FilterRangePicker,\r\n FilterRemoteSelect,\r\n FilterSelect,\r\n RemoteSelectTree,\r\n SelectPaymentMethod\r\n} from 'components';\r\nimport moment from 'moment';\r\nimport isNullOrEmpty from 'util/functions/isNullOrEmpty';\r\nimport useCompany from 'core/hooks/useCompany';\r\nimport useCostCenter from 'core/hooks/useCostCenter';\r\n\r\nconst dateTypes = [\r\n { key: 'creationTime', label: 'Lançamento' },\r\n { key: 'dateOfCompensation', label: 'Regime de caixa' },\r\n { key: 'effectiveDate', label: 'Competência' },\r\n { key: 'dueDate', label: 'Vencimento' },\r\n { key: 'paymentDate', label: 'Baixa' }\r\n];\r\n\r\nconst ranges = {\r\n Hoje: [moment(), moment()],\r\n Semana: [moment().startOf('week'), moment().endOf('week')],\r\n Mês: [moment().startOf('month'), moment().endOf('month')],\r\n Ano: [moment().startOf('year'), moment()]\r\n};\r\n\r\nconst types = [\r\n { key: 'receipt', label: 'Receita' },\r\n { key: 'payment', label: 'Despesa' }\r\n];\r\n\r\nconst invoiceStatus = [\r\n { key: 'created', label: 'Não emitida' },\r\n { key: 'authorized', label: 'Emitida' },\r\n { key: 'rejected', label: 'Rejeitada' },\r\n { key: 'canceled', label: 'Cancelada' }\r\n];\r\n\r\nconst FinancialEntryFilterAdvanced = ({ mode = 'all' }) => {\r\n const { enabledCostCenter } = useCostCenter();\r\n const { company, userCompany } = useCompany();\r\n\r\n const isEnableInvoice = () => {\r\n if (!isNullOrEmpty(userCompany, 'object')) {\r\n return userCompany.settings?.enableInvoice;\r\n }\r\n\r\n return company.settings?.enableInvoice;\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n\r\n \r\n subCategories}\r\n getTitle={({ name }) => name}\r\n params={{ types: mode === 'all' ? [] : [mode] }}\r\n allowClear\r\n normalizeItem={({ id, name, type }) => ({\r\n id,\r\n name,\r\n type\r\n })}\r\n />\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n {isEnableInvoice() && (\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n >\r\n );\r\n};\r\n\r\nexport default FinancialEntryFilterAdvanced;\r\n","import React, { useState } from 'react';\r\nimport { Alert, Button, Card, Col, Drawer, Form, Modal, Row } from 'antd';\r\nimport { Filter } from 'components';\r\nimport moment from 'moment';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport {\r\n createFileExport,\r\n openTransfer,\r\n refresh\r\n} from 'stores/financialEntries/financialEntryActions';\r\nimport { configManager, api } from 'react-structure-admin';\r\nimport { useHistory } from 'react-router';\r\nimport { PAYMENT, RECEIPT } from 'constants/types';\r\nimport { DownloadOutlined } from '@ant-design/icons';\r\nimport qs from 'query-string';\r\nimport FinancialEntryFilter from './FinancialEntryFilter';\r\nimport FinancialEntrySummary from './FinancialEntrySummary';\r\nimport FinancialEntryFilterAdvanced from './FinancialEntryFilterAdvanced';\r\n\r\nconst FinancialEntryHeader = (props) => {\r\n const {\r\n data,\r\n disableEditing,\r\n customButtons,\r\n initCreation,\r\n queryParams,\r\n setQueryParams,\r\n mode = 'all',\r\n initialValuesOfCreation = {},\r\n hideSummary,\r\n fixedQueryParams = {},\r\n defaultQueryParams = {},\r\n isBankReconciliation\r\n } = props;\r\n\r\n const dispatch = useDispatch();\r\n const [filterAdvanced, setFilterAdvanced] = useState(false);\r\n const [form] = Form.useForm();\r\n const [formDrawer] = Form.useForm();\r\n const history = useHistory();\r\n const { exportingExcel } = useSelector(\r\n (c) => c.resources['financial-entries'] ?? {}\r\n );\r\n\r\n const allowCreateOrUpdate = () => {\r\n if (disableEditing) {\r\n return false;\r\n }\r\n\r\n return true;\r\n };\r\n\r\n const allowSearch = () => {\r\n return history.location?.pathname !== '/app/patients';\r\n };\r\n\r\n const handleClickPayment = () => {\r\n initCreation({ type: 'payment', ...initialValuesOfCreation });\r\n };\r\n\r\n const handleClickReceipt = () => {\r\n initCreation({ type: 'receipt', ...initialValuesOfCreation });\r\n };\r\n\r\n const handleRefreshPage = () => {\r\n dispatch(refresh());\r\n };\r\n\r\n const convertParamsOfArray = (param) => {\r\n if (Array.isArray(param)) {\r\n return param;\r\n }\r\n\r\n if (!param) {\r\n return [];\r\n }\r\n\r\n return [param];\r\n };\r\n\r\n const handleChangeFilter = ({\r\n rangePicker,\r\n categories = [],\r\n checkingAccounts = [],\r\n costCenters = [],\r\n paymentMethods = [],\r\n dateType = queryParams.dateType,\r\n ...rest\r\n }) => {\r\n const params = {\r\n dateType,\r\n initialDate: rangePicker\r\n ? moment(rangePicker[0]).format('YYYY/MM/DD')\r\n : null,\r\n\r\n endDate: rangePicker ? moment(rangePicker[1]).format('YYYY/MM/DD') : null,\r\n categoryIds: convertParamsOfArray(categories).map((c) => c.id),\r\n checkingAccountIds: convertParamsOfArray(checkingAccounts).map(\r\n (c) => c.key\r\n ),\r\n costCenterIds: convertParamsOfArray(costCenters).map((c) => c.key),\r\n paymentMethods,\r\n ...fixedQueryParams,\r\n ...rest\r\n };\r\n\r\n setQueryParams(params);\r\n };\r\n\r\n const normalizeParams = (param, key = 'id') => {\r\n if (Array.isArray(param)) {\r\n return param.map((c) => ({ [key]: c }));\r\n }\r\n\r\n if (!Array.isArray(param)) {\r\n return { [key]: param };\r\n }\r\n\r\n return null;\r\n };\r\n\r\n const handleBeforeBinding = ({\r\n initialDate,\r\n endDate,\r\n categoryIds = [],\r\n checkingAccountIds = [],\r\n costCenterIds = [],\r\n paymentMethods = [],\r\n ...rest\r\n }) => {\r\n rest.rangePicker = [moment(initialDate), moment(endDate)];\r\n\r\n rest.categories = normalizeParams(categoryIds);\r\n rest.checkingAccounts = normalizeParams(checkingAccountIds, 'value');\r\n rest.costCenters = normalizeParams(costCenterIds, 'value');\r\n rest.paymentMethods = paymentMethods;\r\n\r\n return { ...rest };\r\n };\r\n\r\n const handleOpenFilterAdvanced = () => {\r\n setFilterAdvanced(true);\r\n\r\n formDrawer.resetFields();\r\n formDrawer.setFieldsValue(handleBeforeBinding(queryParams));\r\n };\r\n\r\n const handleCloseFilterAdvanced = () => {\r\n setFilterAdvanced(false);\r\n };\r\n\r\n const handleApplyDrawerFilter = () => {\r\n formDrawer.validateFields().then((values) => {\r\n handleChangeFilter(values);\r\n });\r\n\r\n handleCloseFilterAdvanced();\r\n };\r\n\r\n const handleClearFilter = () => {\r\n handleChangeFilter(defaultQueryParams);\r\n handleCloseFilterAdvanced();\r\n };\r\n\r\n const handleChangeFilterSummary = (otherValues) => {\r\n form.validateFields().then((values) => {\r\n handleChangeFilter({ ...values, ...otherValues });\r\n });\r\n };\r\n\r\n const handleFileExportOnSuccess = ({ data }) => {\r\n const { fileName } = data.result;\r\n const url = api.getUrlFromResource(\r\n `financial-entries/file-export/${fileName}`\r\n );\r\n window.open(url, '_blank');\r\n };\r\n\r\n const handleExportExcel = () => {\r\n Modal.confirm({\r\n title: 'Deseja exportar para Excel?',\r\n okText: 'Exportar',\r\n onOk: () => {\r\n const querySearch = qs.stringify(\r\n { ...queryParams, ...fixedQueryParams },\r\n {\r\n arrayFormat: 'repeat',\r\n skipNull: true\r\n }\r\n );\r\n\r\n dispatch(createFileExport(querySearch, handleFileExportOnSuccess));\r\n }\r\n });\r\n };\r\n\r\n const handleOpenTransfer = () => {\r\n dispatch(openTransfer());\r\n };\r\n\r\n return (\r\n \r\n {!hideSummary && (\r\n
\r\n )}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {filterAdvanced ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n {allowCreateOrUpdate() && (\r\n \r\n \r\n {['all', PAYMENT].includes(mode) && (\r\n \r\n )}\r\n {['all', RECEIPT].includes(mode) && (\r\n \r\n )}\r\n \r\n )}\r\n {customButtons && {customButtons()}}\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default FinancialEntryHeader;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Alert, Button } from 'antd';\r\nimport useAuth from 'core/hooks/useAuth';\r\nimport { api } from 'react-structure-admin';\r\nimport generateUUID from 'util/functions/generateUUID';\r\n\r\nconst FinancialEntryAccountantAlert = () => {\r\n const { accountantId } = useAuth();\r\n const [messages, setMessages] = useState([]);\r\n const [showDetail, setShowDetail] = useState(false);\r\n\r\n const handleCheck = () => {\r\n if (!accountantId) {\r\n return;\r\n }\r\n\r\n api\r\n .get('accountants', `${accountantId}/validate-all-parameters`)\r\n .then(({ errors }) => {\r\n if (Array.isArray(errors)) {\r\n setMessages(errors.map((c) => c.message));\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n handleCheck();\r\n }, []);\r\n\r\n if (!Array.isArray(messages) || messages.length === 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {showDetail ? (\r\n \r\n {messages.map((c, index) => (\r\n
\r\n \r\n {`${index + 1}`}\r\n {` - ${c}`}\r\n \r\n
\r\n ))}\r\n
Favor contactar a contabilidade.
\r\n
\r\n ) : (\r\n \r\n )}\r\n \r\n }\r\n type=\"warning\"\r\n closable\r\n />\r\n );\r\n};\r\n\r\nexport default FinancialEntryAccountantAlert;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { DatePicker, Form, message, Modal, Row, Select, Switch } from 'antd';\r\nimport { FormItemWrap, configManager } from 'react-structure-admin';\r\nimport moment from 'moment';\r\nimport { ResCol } from 'components';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport {\r\n closeResendInvoice,\r\n postResendInvoice\r\n} from 'stores/financialEntries/financialEntryActions';\r\n\r\nconst FinancialEntryResendEmailInternal = ({ saving, data }) => {\r\n const dispatch = useDispatch();\r\n const { financialEntry } = data;\r\n const [form] = Form.useForm();\r\n const [required, setRequired] = useState(true);\r\n\r\n const handleSuccess = () => {\r\n message.success('Enviado com sucesso.');\r\n };\r\n\r\n const handleSubmit = () => {\r\n form.validateFields().then((values) => {\r\n dispatch(\r\n postResendInvoice(\r\n { ...values, id: financialEntry.invoice?.id },\r\n handleSuccess\r\n )\r\n );\r\n });\r\n };\r\n\r\n const handleClose = () => {\r\n form.resetFields();\r\n dispatch(closeResendInvoice());\r\n };\r\n\r\n const emailValidator = (_, value) => {\r\n if (value?.length > 5) {\r\n return Promise.reject(new Error('Maximo de 10 e-mails'));\r\n }\r\n\r\n return Promise.resolve();\r\n };\r\n\r\n useEffect(() => {\r\n if (financialEntry.patient?.email) {\r\n form.setFieldsValue({ emails: [financialEntry.patient?.email] });\r\n }\r\n }, []);\r\n\r\n const handleValuesChange = (_, { allowSendByApp }) => {\r\n setRequired(!allowSendByApp);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst FinancialEntryResendEmail = () => {\r\n const { resendEmailData = false, saving = false } = useSelector(\r\n (state) => state.resources?.['financial-entries'] ?? {}\r\n );\r\n\r\n if (!resendEmailData) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default FinancialEntryResendEmail;\r\n","import React, { useState } from 'react';\r\nimport { Dropdown, Menu, Modal, Table, Tag, Tooltip } from 'antd';\r\nimport { api } from 'react-structure-admin';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport {\r\n DisplayAmount,\r\n InvoiceIcon,\r\n ListTable,\r\n ShowFilesModal\r\n} from 'components';\r\nimport moment from 'moment';\r\nimport { formartDateTimeUTC, formatCurrency } from 'util/formatters';\r\nimport {\r\n cancelInvoice,\r\n deleteTransfer,\r\n editInvoice,\r\n openResendInvoice,\r\n openViewDetail,\r\n syncInvoice\r\n} from 'stores/financialEntries/financialEntryActions';\r\nimport { INITIALBALANCE, PAYMENT, RECEIPT, RECONCILED } from 'constants/types';\r\nimport display from 'constants/display';\r\n\r\nimport {\r\n CloseCircleOutlined,\r\n CloudSyncOutlined,\r\n CopyOutlined,\r\n DownloadOutlined,\r\n EditOutlined,\r\n EyeOutlined,\r\n PaperClipOutlined,\r\n SendOutlined,\r\n WarningOutlined\r\n} from '@ant-design/icons';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport useCompany from 'core/hooks/useCompany';\r\nimport { FaFileInvoiceDollar, FaHandHoldingUsd } from 'react-icons/fa';\r\nimport InvoiceHelper from 'helpers';\r\nimport useAuth from 'core/hooks/useAuth';\r\nimport isNullOrEmpty from 'util/functions/isNullOrEmpty';\r\nimport generateUUID from 'util/functions/generateUUID';\r\nimport FinancialEntryResendEmail from './FinancialEntryResendEmail';\r\nimport FinancialEntryViewDetail from './FinancialEntryViewDetail';\r\n\r\nconst FinancialEntryListTable = ({\r\n disableEditing,\r\n hiddenButtonActions = [],\r\n ...props\r\n}) => {\r\n const { accountantId, isAdmin } = useAuth();\r\n const { company, userCompany } = useCompany();\r\n const dispatch = useDispatch();\r\n const [openFiles, setOpenFiles] = useState();\r\n\r\n const { queryParams } = useSelector(\r\n (c) => c.resources['financial-entries'] ?? {}\r\n );\r\n\r\n const { dateType } = queryParams ?? {};\r\n\r\n const getColorByType = (type) => {\r\n switch (type) {\r\n case RECEIPT:\r\n return 'green';\r\n case PAYMENT:\r\n return 'red';\r\n case INITIALBALANCE:\r\n return 'gray';\r\n default:\r\n return '';\r\n }\r\n };\r\n\r\n const renderPaymentIcon = (record) => {\r\n if (record.status === 'paid') {\r\n const amount = ['dateOfCompensation', 'paymentDate'].includes(dateType)\r\n ? record.amount\r\n : record.payment?.netAmount;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n };\r\n\r\n const renderExportedIcon = (record) => {\r\n const {\r\n financialEntry: { exportAudit: auditedExportDocument },\r\n exportAudit: auditedExportItem\r\n } = record;\r\n\r\n const messages = [];\r\n\r\n const isChanged =\r\n auditedExportItem?.isModified ||\r\n auditedExportDocument?.isModified ||\r\n false;\r\n\r\n const generateMessage = (title, date, user) => {\r\n const formattedData = moment(date).format('DD/MM/YYYY [ás] HH:mm');\r\n messages.push(\r\n `${title} contabilizado em ${formattedData} por ${user?.name}.`\r\n );\r\n };\r\n\r\n if (auditedExportItem) {\r\n generateMessage(\r\n record.type === RECEIPT ? 'Recebimento' : 'Pagamento',\r\n auditedExportItem.date,\r\n auditedExportItem?.user\r\n );\r\n }\r\n\r\n if (auditedExportDocument && messages.length === 0) {\r\n generateMessage(\r\n 'Documento',\r\n auditedExportDocument.date,\r\n auditedExportDocument?.user\r\n );\r\n }\r\n\r\n if (messages.length === 0) {\r\n return null;\r\n }\r\n\r\n const className = isChanged ? 'gx-text-warning' : '';\r\n\r\n return (\r\n (\r\n {c}
\r\n ))}\r\n >\r\n \r\n \r\n );\r\n };\r\n\r\n const isEnableInvoice = () => {\r\n if (!isNullOrEmpty(userCompany, 'object')) {\r\n return userCompany.settings?.enableInvoice;\r\n }\r\n\r\n return company.settings?.enableInvoice;\r\n };\r\n\r\n const handleSendEmail = (record) => {\r\n dispatch(openResendInvoice(record));\r\n };\r\n\r\n const handleViewDetail = ({ financialEntry }) => {\r\n dispatch(openViewDetail(financialEntry.id));\r\n };\r\n\r\n const handleOpenFiles = (attachments) => {\r\n setOpenFiles(attachments.map((c) => c.attachment));\r\n };\r\n\r\n const renderReconciledIcon = ({ transaction }) => {\r\n if (!transaction || transaction.status !== RECONCILED) {\r\n return null;\r\n }\r\n\r\n const { dateOfConciliation, userOfConciliation } = transaction;\r\n\r\n const formattedData = moment(dateOfConciliation).format(\r\n 'DD/MM/YYYY [ás] HH:mm'\r\n );\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const handleEditInvoice = ({ financialEntry }) => {\r\n dispatch(editInvoice(financialEntry.id));\r\n };\r\n\r\n const handleCancelInvoice = ({ financialEntry }) => {\r\n Modal.confirm({\r\n title: 'Deseja cancelar a nota fiscal?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n onOk: () => {\r\n dispatch(cancelInvoice(financialEntry.id));\r\n }\r\n });\r\n };\r\n\r\n const handleDownloadXml = ({ financialEntry }) => {\r\n const { urlXml } = financialEntry?.invoice ?? {};\r\n\r\n if (urlXml) {\r\n window.open(urlXml, '_blank').focus();\r\n }\r\n };\r\n\r\n const allowIssueInvoice = ({ financialEntry }) => {\r\n const { type, effectiveDate, invoice, transferInfo } = financialEntry;\r\n\r\n if (transferInfo) {\r\n return false;\r\n }\r\n\r\n return (\r\n type === RECEIPT &&\r\n effectiveDate &&\r\n isEnableInvoice() &&\r\n (invoice?.status !== undefined\r\n ? !InvoiceHelper.isReadOnly(invoice?.status)\r\n : true)\r\n );\r\n };\r\n\r\n const invoiceIsAuthorized = ({ financialEntry }) => {\r\n return financialEntry.invoice?.status === 'authorized';\r\n };\r\n\r\n const allowAsyncInvoice = ({ financialEntry }) => {\r\n return isAdmin() && financialEntry.invoice?.status === 'enqueued';\r\n };\r\n\r\n const handleSyncInvoice = ({ financialEntry }) => {\r\n dispatch(syncInvoice(financialEntry.invoice?.id));\r\n };\r\n\r\n const handleCancelTransfer = ({ financialEntry }) => {\r\n if (financialEntry?.transferInfo?.transactionId) {\r\n Modal.confirm({\r\n title: 'Deseja cancelar essa transferência?',\r\n cancelText: 'Voltar',\r\n okText: 'Sim',\r\n onOk: () => {\r\n dispatch(deleteTransfer(financialEntry?.transferInfo?.transactionId));\r\n }\r\n });\r\n }\r\n };\r\n\r\n const allowViewInvoice = ({ financialEntry }) => {\r\n const { type, invoice } = financialEntry;\r\n return (\r\n type === RECEIPT &&\r\n invoice &&\r\n isEnableInvoice() &&\r\n InvoiceHelper.isReadOnly(invoice?.status)\r\n );\r\n };\r\n\r\n const handleClone = ({ financialEntry }, _, initCreation) => {\r\n api.get('financial-entries', financialEntry.id).then(({ data }) => {\r\n delete data.result.id;\r\n delete data.result.status;\r\n delete data.result.attachments;\r\n delete data.result.invoice;\r\n delete data.result.transferInfo;\r\n delete data.result.recurring;\r\n\r\n data.result.items = [];\r\n\r\n initCreation(data.result);\r\n });\r\n };\r\n\r\n const buttons = [\r\n {\r\n key: '1',\r\n title: 'Detalhes',\r\n icon: ,\r\n onClick: handleViewDetail,\r\n allowShow: () => true\r\n },\r\n {\r\n key: '2',\r\n title: 'Emitir nota fiscal',\r\n icon: ,\r\n onClick: handleEditInvoice,\r\n allowShow: allowIssueInvoice\r\n },\r\n {\r\n key: '3',\r\n title: 'Visualizar nota fiscal',\r\n icon: ,\r\n onClick: handleEditInvoice,\r\n allowShow: allowViewInvoice\r\n },\r\n {\r\n key: '4',\r\n title: 'Cancelar nota fiscal',\r\n icon: ,\r\n onClick: handleCancelInvoice,\r\n allowShow: invoiceIsAuthorized\r\n },\r\n {\r\n key: '5',\r\n title: 'Enviar para o paciente',\r\n icon: ,\r\n onClick: handleSendEmail,\r\n allowShow: invoiceIsAuthorized\r\n },\r\n {\r\n key: '6',\r\n title: 'Baixar XML',\r\n icon: ,\r\n onClick: handleDownloadXml,\r\n allowShow: invoiceIsAuthorized\r\n },\r\n\r\n {\r\n key: '7',\r\n title: 'Editar',\r\n icon: ,\r\n onClick: ({ financialEntry, transaction }, initEditing) => {\r\n if (transaction) {\r\n Modal.info({\r\n title:\r\n 'Lançamento já conciliado. Para editar ou excluir esse lançamento, primeiro desfaça a conciliação.'\r\n });\r\n\r\n return;\r\n }\r\n initEditing(financialEntry);\r\n },\r\n allowShow: ({ financialEntry }) =>\r\n !disableEditing && !financialEntry.transferInfo\r\n },\r\n {\r\n key: '12',\r\n title: 'Clonar',\r\n icon: ,\r\n onClick: handleClone\r\n },\r\n {\r\n key: '8',\r\n title: 'Sincronizar nota fiscal',\r\n icon: ,\r\n onClick: handleSyncInvoice,\r\n allowShow: allowAsyncInvoice\r\n },\r\n {\r\n key: '9',\r\n title: 'Cancelar transferência',\r\n icon: ,\r\n onClick: handleCancelTransfer,\r\n allowShow: ({ financialEntry }) => !!financialEntry.transferInfo\r\n }\r\n ].filter((c) => !hiddenButtonActions.includes(c.title));\r\n\r\n return (\r\n <>\r\n {openFiles && (\r\n setOpenFiles(null)} />\r\n )}\r\n \r\n \r\n \r\n {({ initEditing, initCreation }) => (\r\n <>\r\n formartDateTimeUTC(creationTime)}\r\n width={160}\r\n />\r\n \r\n formartDateTimeUTC(effectiveDate, 'DD/MM/YYYY')\r\n }\r\n width={110}\r\n />\r\n (\r\n <>\r\n {formartDateTimeUTC(dueDate, 'DD/MM/YYYY')}
\r\n {description}
\r\n >\r\n )}\r\n width={110}\r\n />\r\n {\r\n const {\r\n description,\r\n patient,\r\n supplier,\r\n customer,\r\n transferInfo\r\n } = financialEntry;\r\n\r\n return (\r\n \r\n
{description}
\r\n {(patient || supplier || customer || transferInfo) && (\r\n
\r\n {patient?.name ?? supplier?.name ?? customer?.name}\r\n {transferInfo\r\n ? [\r\n transferInfo.origin?.name,\r\n transferInfo.destination?.name\r\n ].join(' / ')\r\n : null}\r\n
\r\n )}\r\n
\r\n );\r\n }}\r\n />\r\n\r\n {\r\n const { category, costCenter } = financialEntry;\r\n return (\r\n \r\n {category.name}\r\n \r\n {[\r\n costCenter?.name,\r\n status === 'paid' ? checkingAccount?.name : null\r\n ]\r\n .filter((c) => !!c)\r\n .join(' / ')}\r\n
\r\n \r\n );\r\n }}\r\n />\r\n }\r\n />\r\n (\r\n {display[type]}\r\n )}\r\n />\r\n (\r\n \r\n {renderPaymentIcon(record)}\r\n {renderExportedIcon(record)}\r\n {accountantId &&\r\n record?.financialEntry?.category?.hasAccountingIssues && (\r\n \r\n \r\n \r\n )}\r\n {renderReconciledIcon(record)}\r\n
\r\n )}\r\n />\r\n\r\n {company.settings?.enableInvoice && (\r\n \r\n financialEntry?.invoice && (\r\n \r\n )\r\n }\r\n />\r\n )}\r\n\r\n \r\n attachments.length > 0 ? (\r\n handleOpenFiles(attachments)}\r\n />\r\n ) : null\r\n }\r\n />\r\n\r\n \r\n record.financialEntry.type !== INITIALBALANCE ? (\r\n \r\n {buttons\r\n .filter((c) =>\r\n c.allowShow ? c.allowShow(record) : true\r\n )\r\n .map((c) => (\r\n \r\n c.onClick(record, initEditing, initCreation)\r\n }\r\n icon={c.icon}\r\n >\r\n {c.title}\r\n \r\n ))}\r\n \r\n }\r\n >\r\n \r\n \r\n ) : null\r\n }\r\n />\r\n >\r\n )}\r\n \r\n >\r\n );\r\n};\r\n\r\nexport default FinancialEntryListTable;\r\n","import React from 'react';\r\nimport { Drawer, Footer, InputCurrency, UploadList } from 'components';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport {\r\n closeTransfer,\r\n createTransfer\r\n} from 'stores/financialEntries/financialEntryActions';\r\nimport { Button, Col, DatePicker, Divider, Form, Row } from 'antd';\r\nimport { FormItemWrap, configManager } from 'react-structure-admin';\r\nimport RemoteSelect from 'components/RemoteSelect';\r\nimport moment from 'moment';\r\nimport { normalizeFromSelect } from 'util/converters';\r\n\r\nconst FinancialEntryTransferDrawer = () => {\r\n const [form] = Form.useForm();\r\n const dispatch = useDispatch();\r\n const { saving } = useSelector((c) => c.resources['financial-entries'] ?? {});\r\n\r\n const handleClose = () => {\r\n if (!saving) {\r\n dispatch(closeTransfer());\r\n }\r\n };\r\n\r\n const handleSubmit = ({ attachments = [], ...values }) => {\r\n const data = {\r\n ...values,\r\n origin: normalizeFromSelect(values.origin),\r\n destination: normalizeFromSelect(values.destination),\r\n effectiveDate: moment(values.effectiveDate).format('YYYY-MM-DD'),\r\n attachments: attachments.map((c) => ({ attachment: c }))\r\n };\r\n\r\n dispatch(createTransfer(data));\r\n };\r\n\r\n const triggerSubmit = () => {\r\n form.validateFields().then(handleSubmit);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n );\r\n};\r\n\r\nexport default FinancialEntryTransferDrawer;\r\n","import React, { useState, useMemo } from 'react';\r\nimport { Crud } from 'react-structure-admin';\r\nimport { Button } from 'antd';\r\nimport { AccountAccessDenied } from 'components';\r\nimport moment from 'moment';\r\nimport { fetch } from 'stores/financialEntries/financialEntryActions';\r\nimport useAuth from 'core/hooks/useAuth';\r\nimport { useSelector } from 'react-redux';\r\nimport {\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_FINANCIAL,\r\n ACCOUNT_TYPE_STUDENT\r\n} from 'constants/types';\r\nimport FinancialEntryHeader from './FinancialEntryHeader';\r\nimport FinancialEntryAccountantAlert from './FinancialEntryAccountantAlert';\r\nimport FinancialEntryListTable from './FinancialEntryListTable';\r\nimport FinancialEntryEditManager from './FinancialEntryEditManager';\r\nimport FinancialEntryTransferDrawer from './FinancialEntryTransferDrawer';\r\n\r\nconst defaultParams = {\r\n dateType: 'creationTime',\r\n initialDate: moment()\r\n .startOf('month')\r\n .format('YYYY/MM/DD'),\r\n endDate: moment()\r\n .endOf('month')\r\n .format('YYYY/MM/DD')\r\n};\r\n\r\nconst FinancialEntryList = ({\r\n fixedQueryParams,\r\n defaultQueryParams = defaultParams,\r\n disableAccountingAlert = false,\r\n disableEditing = false,\r\n enableSelectRow = false,\r\n mode = 'all',\r\n getCheckboxProps,\r\n initialValuesOfCreation = {},\r\n suggestAsDefaultCheckingAccount = null,\r\n hiddenButtonActions = [],\r\n onConfirmSelect,\r\n titleOfSelectedConfirmButton = 'Confirmar',\r\n useQueryStringParams = true,\r\n hideSummary = false,\r\n isBankReconciliation = false,\r\n loadingSelection = false,\r\n ...props\r\n}) => {\r\n const [selectedRows, setSelectedRows] = useState([]);\r\n const { user, hasRole } = useAuth();\r\n const { serviceProvider } = user;\r\n const { openTransfer } = useSelector(\r\n (c) => c.resources['financial-entries'] ?? {}\r\n );\r\n\r\n const getFixedQueryParams = () => {\r\n if (!hasRole(ROLE_FINANCIAL, ROLE_CLINIC_ADMINISTRATOR)) {\r\n return {\r\n serviceProviderId: serviceProvider?.id,\r\n ...(fixedQueryParams ?? {})\r\n };\r\n }\r\n\r\n return fixedQueryParams;\r\n };\r\n\r\n const onSelectChange = (record, selected) => {\r\n if (selected) {\r\n setSelectedRows([...selectedRows, record]);\r\n } else {\r\n setSelectedRows(selectedRows.filter((c) => c.id !== record.id));\r\n }\r\n };\r\n\r\n const onSelectAllChange = (selected, _, rows) => {\r\n if (selected) {\r\n setSelectedRows([...selectedRows, ...rows]);\r\n } else {\r\n setSelectedRows(\r\n selectedRows.filter((c) => !rows.map((d) => d.id).includes(c.id))\r\n );\r\n }\r\n };\r\n\r\n const rowSelection = {\r\n selectedRowKeys: selectedRows.map((c) => c.id),\r\n onSelect: onSelectChange,\r\n onSelectAll: onSelectAllChange,\r\n getCheckboxProps\r\n };\r\n\r\n const handleConfirmSelect = () => {\r\n if (onConfirmSelect) {\r\n onConfirmSelect(selectedRows);\r\n }\r\n };\r\n\r\n const Header = useMemo(\r\n () => (headerProps) => {\r\n const buttons = enableSelectRow ? (\r\n \r\n ) : null;\r\n\r\n return (\r\n buttons}\r\n hideSummary={hideSummary}\r\n fixedQueryParams={getFixedQueryParams()}\r\n defaultQueryParams={defaultQueryParams}\r\n isBankReconciliation={isBankReconciliation}\r\n />\r\n );\r\n },\r\n [enableSelectRow, selectedRows, loadingSelection]\r\n );\r\n\r\n const handleOnBuildQueryParams = (queryParams) => {\r\n return {\r\n ...defaultQueryParams,\r\n ...queryParams\r\n };\r\n };\r\n\r\n const FinancialEntryEditManagerMemo = useMemo(\r\n () => (props) => {\r\n return (\r\n \r\n );\r\n },\r\n [suggestAsDefaultCheckingAccount]\r\n );\r\n\r\n return (\r\n \r\n {!disableAccountingAlert && }\r\n {openTransfer ? : null}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default FinancialEntryList;\r\n","function formatCurrency(value, useMoneySign = true, useDecimal = false) {\r\n let valueInt = Number(value);\r\n if (Number.isNaN(valueInt)) {\r\n valueInt = 0;\r\n }\r\n\r\n let formattedValue = valueInt.toLocaleString('pt-BR', {\r\n style: useDecimal ? 'decimal' : 'currency',\r\n currency: 'BRL'\r\n });\r\n\r\n if (!useMoneySign) {\r\n formattedValue = formattedValue.replace('R$', '');\r\n }\r\n\r\n formattedValue = formattedValue.trim();\r\n\r\n return formattedValue;\r\n}\r\n\r\nexport default formatCurrency;\r\n","import React, { useState } from 'react';\r\nimport { Input, Row, Select } from 'antd';\r\nimport { MaskedInput } from 'antd-mask-input';\r\nimport {\r\n api,\r\n RemoteSelect,\r\n useCrudEditContext,\r\n FormItemWrap\r\n} from 'react-structure-admin';\r\nimport { postalCodeValidator } from 'util/validators';\r\nimport { cityNormalizeToSelect } from 'util/normalizers';\r\nimport ResCol from './ResCol';\r\n\r\nconst AddressV2 = ({ required = true, disabled = false }) => {\r\n const [state, setState] = useState({\r\n lastPostalCode: null,\r\n loadingAddress: false\r\n });\r\n\r\n const { form } = useCrudEditContext();\r\n\r\n const setAddress = (newAddress) => {\r\n form.setFieldsValue({\r\n address: {\r\n ...newAddress,\r\n city: cityNormalizeToSelect(newAddress.city)\r\n }\r\n });\r\n };\r\n\r\n const findAddress = (postalCode) => {\r\n postalCode = postalCode.replace(/[^0-9.]/g, '');\r\n\r\n if (state.lastPostalCode === postalCode) {\r\n return;\r\n }\r\n\r\n setState({ ...state, lastPostalCode: postalCode, loadingAddress: true });\r\n\r\n api.fetch('localizations', { postalCode }).then(({ data }) => {\r\n setState({ ...state, loadingAddress: false });\r\n setAddress(\r\n data\r\n ? data.result\r\n : {\r\n street: null,\r\n number: null,\r\n district: null,\r\n additionalInformation: null,\r\n city: undefined\r\n }\r\n );\r\n });\r\n };\r\n\r\n const postalCodeChangeHandle = (sender) => {\r\n const postalCode = sender.target.value.replace(/[^0-9.]/g, '');\r\n if (postalCode.length === 8) {\r\n findAddress(postalCode);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n {`${c.item.name} - ${c.item.state.toUpperCase()}`}\r\n \r\n )}\r\n />\r\n \r\n \r\n
\r\n >\r\n );\r\n};\r\n\r\nexport default AddressV2;\r\n","import React, { useState } from 'react';\r\nimport {\r\n Alert,\r\n Avatar,\r\n Checkbox,\r\n Col,\r\n DatePicker,\r\n Divider,\r\n Drawer,\r\n Form,\r\n Input,\r\n InputNumber,\r\n Row,\r\n Select,\r\n Switch\r\n} from 'antd';\r\nimport { FormItemWrap } from 'react-structure-admin';\r\nimport {\r\n FormItemUserDetail,\r\n FormListItemWrap,\r\n FormListWrap,\r\n InputCurrency,\r\n RemoteSelectTree,\r\n ResCol,\r\n SelectBoolean,\r\n SelectPaymentMethod,\r\n UploadList\r\n} from 'components';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { closeViewDetail } from 'stores/financialEntries/financialEntryActions';\r\nimport moment from 'moment';\r\nimport { normalizeToSelect } from 'util/converters';\r\nimport RemoteSelect from 'components/RemoteSelect';\r\nimport { PAYMENT, RECEIPT } from 'constants/types';\r\nimport { EyeOutlined } from '@ant-design/icons';\r\nimport FinancialEntryInstallmentNumber from './FinancialEntryInstallmentNumber';\r\nimport FinancialEntryFormPaymentItem from './FinancialEntryFormPaymentItem';\r\n\r\nconst FinancialEntryViewDetailInternal = ({ data }) => {\r\n const dispatch = useDispatch();\r\n const [form] = Form.useForm();\r\n const [fieldEditing, setFieldEditing] = useState(false);\r\n const { type } = data;\r\n\r\n const handleCancel = () => {\r\n dispatch(closeViewDetail());\r\n };\r\n\r\n const handleBeforePaymentBinding = (payment) => {\r\n if (!payment) {\r\n return null;\r\n }\r\n\r\n return { ...payment, date: moment(payment.date) };\r\n };\r\n\r\n const handleBeforeExportAuditBinding = (exportAudit) => {\r\n if (!exportAudit) {\r\n return null;\r\n }\r\n\r\n return { ...exportAudit, date: moment(exportAudit.date) };\r\n };\r\n\r\n const handleBeforeBinding = ({\r\n checkingAccount,\r\n type,\r\n amount = 0,\r\n effectiveDate,\r\n patient,\r\n customer,\r\n supplier,\r\n costCenter,\r\n attachments = [],\r\n payment,\r\n creationTime,\r\n lastModificationTime,\r\n items = [],\r\n exportAudit,\r\n ...rest\r\n }) => {\r\n return {\r\n ...rest,\r\n type,\r\n creationTime: moment(creationTime),\r\n lastModificationTime: moment(lastModificationTime),\r\n patient: patient ? normalizeToSelect(patient) : null,\r\n customer: customer ? normalizeToSelect(customer) : null,\r\n supplier: supplier ? normalizeToSelect(supplier) : null,\r\n amount: type === PAYMENT && amount < 0 ? amount * -1 : amount,\r\n effectiveDate: effectiveDate ? moment(effectiveDate) : moment(),\r\n checkingAccount: normalizeToSelect(checkingAccount),\r\n costCenter: normalizeToSelect(costCenter),\r\n attachments: attachments.map((c) => c.attachment),\r\n payment: handleBeforePaymentBinding(payment),\r\n exportAudit: handleBeforeExportAuditBinding(exportAudit),\r\n items: items.map((c) => ({\r\n ...c,\r\n dueDate: moment(c.dueDate),\r\n checkingAccount: normalizeToSelect(c.checkingAccount),\r\n exportAudit: handleBeforeExportAuditBinding(c.exportAudit),\r\n payment: {\r\n ...c.payment,\r\n date: c.payment?.date ? moment(c.payment?.date) : null,\r\n creationTime: c.payment?.creationTime\r\n ? moment(c.payment?.creationTime)\r\n : null,\r\n dateOfCompensation: c.payment?.dateOfCompensation\r\n ? moment(c.payment?.dateOfCompensation)\r\n : null\r\n }\r\n }))\r\n };\r\n };\r\n\r\n const handleChangeField = (field) => {\r\n setFieldEditing(field);\r\n };\r\n\r\n const handleFieldClose = () => {\r\n setFieldEditing(null);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst FinancialEntryViewDetail = () => {\r\n const { viewDetail } = useSelector(\r\n (c) => c.resources['financial-entries'] ?? {}\r\n );\r\n\r\n if (!viewDetail) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default FinancialEntryViewDetail;\r\n","import React, { useState } from 'react';\r\nimport { Input, Form, Row, Col, Radio } from 'antd';\r\nimport { DrawerEdit, FormItemWrap } from 'react-structure-admin';\r\nimport { ResCol } from 'components';\r\nimport { federalTaxNumberValidator } from 'util/validators';\r\nimport { MaskedInput } from 'antd-mask-input';\r\n\r\nconst SupplierEdit = (props) => {\r\n const [isLegalPerson, setIsLegalPerson] = useState(false);\r\n\r\n const toggler = () => {\r\n setIsLegalPerson(!isLegalPerson);\r\n };\r\n\r\n const handleSubmit = ({ address, ...rest }) => {\r\n return {\r\n ...rest,\r\n isLegalPerson\r\n };\r\n };\r\n\r\n const handleBeforeBinding = ({ ...rest }) => {\r\n setIsLegalPerson(rest.isLegalPerson ?? false);\r\n\r\n return {\r\n ...rest\r\n };\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default SupplierEdit;\r\n","import React from 'react';\r\nimport { Button, Row, Col, Modal } from 'antd';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { remove } from 'stores/financialEntries/financialEntryActions';\r\n\r\nconst Icon = ({ checked }) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst FinancialEntryToolbarEdit = ({\r\n readOnly,\r\n backButtonText,\r\n onBackClick,\r\n okButtonText,\r\n onOkClick,\r\n saving,\r\n record\r\n}) => {\r\n const dispatch = useDispatch();\r\n\r\n const { deleting } = useSelector(\r\n (c) => c.resources['financial-entries'] ?? {}\r\n );\r\n\r\n const handleDelete = () => {\r\n Modal.confirm({\r\n title: 'Deseja excluir ?',\r\n okText: 'Excluir',\r\n width: 600,\r\n onOk: () => {\r\n dispatch(remove(record.id));\r\n }\r\n });\r\n };\r\n\r\n return (\r\n \r\n \r\n {readOnly ? (\r\n \r\n ) : (\r\n <>\r\n {record?.id && (\r\n \r\n )}\r\n \r\n \r\n >\r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default FinancialEntryToolbarEdit;\r\n","import React, { useState, useEffect, isValidElement } from 'react';\r\nimport {\r\n Form,\r\n Row,\r\n Input,\r\n DatePicker,\r\n Select,\r\n Divider,\r\n Modal,\r\n InputNumber,\r\n Col,\r\n Switch,\r\n Alert,\r\n Radio,\r\n Card,\r\n Tabs\r\n} from 'antd';\r\nimport {\r\n DrawerEdit,\r\n FormItemWrap,\r\n normalizeFromSelect,\r\n normalizeToSelect,\r\n api,\r\n useCrudEditContext\r\n} from 'react-structure-admin';\r\nimport {\r\n FormListItemWrap,\r\n FormListWrap,\r\n InputCurrency,\r\n RemoteSelectTree,\r\n RemoteSelectCrud,\r\n ResCol,\r\n UploadList,\r\n SharingFileQRCode\r\n} from 'components';\r\nimport moment from 'moment';\r\nimport { PAYMENT, RECEIPT } from 'constants/types';\r\nimport { formatFederalTaxNumber } from 'util/formatters';\r\nimport RemoteSelect from 'components/RemoteSelect';\r\nimport { useDispatch } from 'react-redux';\r\nimport lodash from 'lodash';\r\nimport {\r\n create,\r\n createByEvent,\r\n update\r\n} from 'stores/financialEntries/financialEntryActions';\r\nimport useCostCenter from 'core/hooks/useCostCenter';\r\nimport { EditOutlined } from '@ant-design/icons';\r\nimport useAuth from 'core/hooks/useAuth';\r\nimport usePermissions from 'core/hooks/usePermissions';\r\nimport SupplierEdit from '../suppliers/SupplierEdit';\r\nimport FinancialEntryInstallmentNumber from './FinancialEntryInstallmentNumber';\r\nimport FinancialEntryFormPaymentItem from './FinancialEntryFormPaymentItem';\r\nimport FinancialEntryToolbarEdit from './FinancialEntryToolbarEdit';\r\nimport CustomerEdit from '../customers/CustomerEdit';\r\n\r\nconst minimumValueRule = {\r\n required: true,\r\n message: 'Valor total é obrigatório',\r\n type: 'number',\r\n min: 0.01\r\n};\r\n\r\nconst FinancialEntryEdit = (props) => {\r\n const { user, accountantId } = useAuth();\r\n const {\r\n data,\r\n onCreateOrUpdateSuccess,\r\n suggestAsDefaultCheckingAccount = null\r\n } = props;\r\n const { settings } = user;\r\n const [hasOneReceived, setHasOneReceived] = useState(false);\r\n const [numberOfInstallments, setNumberOfInstallments] = useState(0);\r\n const [fieldEditing, setFieldEditing] = useState(false);\r\n const [currentCategory, setCurrentCategory] = useState(null);\r\n const [recurringEnabled, setRecurringEnabled] = useState(false);\r\n const { isFinancialAdministrator } = usePermissions();\r\n const [tabKey, setTabKey] = useState(\r\n isFinancialAdministrator ? 'tab_customer' : 'tab_patient'\r\n );\r\n const { enabledCostCenter } = useCostCenter();\r\n const { form } = useCrudEditContext();\r\n\r\n const dispatch = useDispatch();\r\n const isEditing = !!data?.id;\r\n\r\n const handleBeforeSubmit = ({\r\n effectiveDate,\r\n type,\r\n status = 'awaitingPayment',\r\n patient,\r\n customer,\r\n supplier,\r\n costCenter,\r\n attachments = [],\r\n items = [],\r\n recurring,\r\n ...rest\r\n }) => {\r\n if (!isEditing && !recurringEnabled) {\r\n recurring = null;\r\n }\r\n\r\n if (tabKey === 'tab_patient') {\r\n customer = null;\r\n }\r\n\r\n if (tabKey === 'tab_customer') {\r\n patient = null;\r\n }\r\n\r\n return {\r\n patient: patient\r\n ? {\r\n id: patient.key,\r\n name: isValidElement(patient.label)\r\n ? patient.label.props.label\r\n : patient.label\r\n }\r\n : null,\r\n customer: customer\r\n ? {\r\n id: customer.key,\r\n name: isValidElement(customer.label)\r\n ? customer.label.props.label\r\n : customer.label\r\n }\r\n : null,\r\n supplier: supplier\r\n ? {\r\n id: supplier.key,\r\n name: isValidElement(supplier.label)\r\n ? supplier.label.props.label\r\n : supplier.label\r\n }\r\n : null,\r\n type,\r\n status,\r\n effectiveDate: moment(effectiveDate).format('YYYY-MM-DD'),\r\n costCenter: normalizeFromSelect(costCenter),\r\n attachments: attachments.map((c) => ({ attachment: c })),\r\n recurring,\r\n items: items.map((c) => ({\r\n ...c,\r\n dueDate: moment(c.dueDate).format('YYYY-MM-DD'),\r\n checkingAccount: normalizeFromSelect(c.checkingAccount),\r\n payment: {\r\n ...c.payment,\r\n date: c.payment.date\r\n ? moment(c.payment.date).format('YYYY-MM-DD')\r\n : null,\r\n dateOfCompensation: c.payment.dateOfCompensation\r\n ? moment(c.payment.dateOfCompensation).format('YYYY-MM-DD')\r\n : null,\r\n creationTime: c.payment.creationTime\r\n ? moment(c.payment?.creationTime).format('YYYY-MM-DD HH:mm')\r\n : null\r\n }\r\n })),\r\n ...rest\r\n };\r\n };\r\n\r\n const handleSubmit = (values) => {\r\n if (values?.id) {\r\n dispatch(update(values, onCreateOrUpdateSuccess));\r\n return;\r\n }\r\n\r\n if (data.eventId) {\r\n dispatch(createByEvent(data.eventId, values, onCreateOrUpdateSuccess));\r\n return;\r\n }\r\n\r\n dispatch(create(values, onCreateOrUpdateSuccess));\r\n };\r\n\r\n const handleCheckLimit = () => {\r\n form.validateFields().then((values) => {\r\n const newValues = handleBeforeSubmit({ ...data, ...values });\r\n\r\n if (!enabledCostCenter) {\r\n handleSubmit(newValues);\r\n return;\r\n }\r\n\r\n api\r\n .post('financial-entries/exceeded-monthly-limit', newValues)\r\n .then(({ data }) => {\r\n if (data?.result) {\r\n Modal.confirm({\r\n width: '700px',\r\n okText: 'Continuar',\r\n cancelText: 'Voltar',\r\n onOk: () => {\r\n handleSubmit(newValues);\r\n },\r\n title:\r\n 'Limite mensal excedido para esse centro de custo. Deseja prosseguir?'\r\n });\r\n return;\r\n }\r\n\r\n handleSubmit(newValues);\r\n });\r\n });\r\n };\r\n\r\n const getTitle = () => {\r\n switch (data?.type) {\r\n case RECEIPT:\r\n return data?.id ? 'Editar receita' : 'Nova receita';\r\n case PAYMENT:\r\n return data?.id ? 'Editar despesa' : 'Nova despesa';\r\n default:\r\n return '';\r\n }\r\n };\r\n\r\n const readOnly = data?.invoice?.status === 'authorized';\r\n const type = data?.type;\r\n\r\n const handleSortItems = (a, b) => {\r\n return a.installmentNumber < b.installmentNumber ? -1 : 0;\r\n };\r\n\r\n const hasChangedValues = (values) => {\r\n return ['totalInstallments', 'amount', 'effectiveDate', 'items'].some(\r\n (path) => lodash.get(values, path) !== undefined\r\n );\r\n };\r\n\r\n const distributeValueToInstallments = (value, number) => {\r\n const totalValue = parseFloat(value);\r\n const numInstallments = parseInt(number, 10);\r\n\r\n if (totalValue <= 0 || numInstallments <= 0) {\r\n return [];\r\n }\r\n\r\n const valuePerInstallment = totalValue / numInstallments;\r\n let remainingValue = totalValue;\r\n\r\n const installments = [];\r\n\r\n for (let i = 0; i < numInstallments - 1; i += 1) {\r\n const installment = parseFloat(valuePerInstallment.toFixed(2));\r\n installments.push(installment);\r\n remainingValue -= installment;\r\n }\r\n\r\n installments.push(parseFloat(remainingValue.toFixed(2)));\r\n\r\n return installments;\r\n };\r\n\r\n const handleLoadSettings = () => {\r\n const { items = [], totalInstallments = 1 } = form.getFieldsValue();\r\n\r\n if (totalInstallments > 1) {\r\n setRecurringEnabled(false);\r\n }\r\n\r\n setHasOneReceived(items.some((c) => c.isPaid || false));\r\n setNumberOfInstallments(totalInstallments);\r\n };\r\n\r\n const handleValuesChange = (changedValues, values) => {\r\n const { amount, items = [], effectiveDate, totalInstallments = 1 } = values;\r\n\r\n handleLoadSettings();\r\n\r\n if (!hasChangedValues(changedValues)) {\r\n return;\r\n }\r\n\r\n const allowsUpdateItem =\r\n (lodash.get(changedValues, 'amount') !== undefined ||\r\n lodash.get(changedValues, 'effectiveDate') !== undefined ||\r\n lodash.get(changedValues, 'totalInstallments') !== undefined) &&\r\n items.every((c) => !c.isPaid);\r\n\r\n let newItems = items.sort(handleSortItems);\r\n\r\n if (items.length > totalInstallments) {\r\n newItems = newItems.slice(0, totalInstallments);\r\n }\r\n\r\n const installments = distributeValueToInstallments(\r\n amount,\r\n totalInstallments\r\n );\r\n\r\n for (let number = 1; number <= totalInstallments; number += 1) {\r\n const installment = newItems.find((c) => c.installmentNumber === number);\r\n const installmentAmount = installments[number - 1];\r\n const nextDate = moment(effectiveDate)\r\n .clone()\r\n .add(number - 1, 'month');\r\n\r\n if (!installment) {\r\n newItems.push({\r\n installmentNumber: number,\r\n dueDate: nextDate,\r\n amount: installmentAmount,\r\n checkingAccount: normalizeToSelect(\r\n suggestAsDefaultCheckingAccount ?? settings.checkingAccount\r\n ),\r\n isPaid: false,\r\n payment: {\r\n interestAmount: 0,\r\n discount: 0,\r\n fineAmount: 0,\r\n netAmount: installmentAmount\r\n }\r\n });\r\n } else {\r\n const { payment } = installment;\r\n\r\n if (allowsUpdateItem) {\r\n installment.amount = installmentAmount;\r\n installment.dueDate = nextDate;\r\n installment.interestAmount = 0;\r\n installment.discount = 0;\r\n installment.fineAmount = 0;\r\n }\r\n\r\n installment.payment.netAmount =\r\n installment.amount +\r\n payment.interestAmount +\r\n payment.fineAmount -\r\n payment.discount;\r\n }\r\n }\r\n\r\n form.setFieldsValue({ items: newItems });\r\n };\r\n\r\n const handleBeforeBinding = ({\r\n type,\r\n status,\r\n amount = 0,\r\n totalInstallments = 1,\r\n effectiveDate,\r\n patient,\r\n supplier,\r\n customer,\r\n costCenter,\r\n attachments = [],\r\n items = [],\r\n category,\r\n ...rest\r\n }) => {\r\n if (patient != null) {\r\n setTabKey('tab_patient');\r\n }\r\n\r\n if (customer != null) {\r\n setTabKey('tab_customer');\r\n }\r\n\r\n const values = {\r\n ...rest,\r\n type,\r\n status,\r\n patient: patient ? normalizeToSelect(patient) : null,\r\n customer: customer ? normalizeToSelect(customer) : null,\r\n supplier: supplier ? normalizeToSelect(supplier) : null,\r\n amount,\r\n totalInstallments,\r\n effectiveDate: effectiveDate ? moment(effectiveDate) : moment(),\r\n costCenter: normalizeToSelect(costCenter),\r\n attachments: attachments.map((c) => c.attachment),\r\n category,\r\n items: items.map((c) => ({\r\n ...c,\r\n dueDate: moment(c.dueDate),\r\n checkingAccount: normalizeToSelect(c.checkingAccount),\r\n payment: {\r\n ...c.payment,\r\n date: c.payment?.date ? moment(c.payment?.date) : null,\r\n creationTime: c.payment?.creationTime\r\n ? moment(c.payment?.creationTime)\r\n : null,\r\n dateOfCompensation: c.payment?.dateOfCompensation\r\n ? moment(c.payment?.dateOfCompensation)\r\n : null\r\n }\r\n }))\r\n };\r\n\r\n if (!rest.id) {\r\n handleValuesChange({ totalInstallments }, values);\r\n }\r\n\r\n if (category) {\r\n setCurrentCategory(category);\r\n }\r\n\r\n setHasOneReceived(items.some((c) => c.isPaid || false));\r\n\r\n return values;\r\n };\r\n\r\n const changeField = (fieldKey, newValues) => {\r\n const value = lodash.merge(\r\n form.getFieldValue(['items', fieldKey]),\r\n newValues\r\n );\r\n\r\n form.setFields([{ name: ['items', fieldKey], value }]);\r\n };\r\n\r\n const openEditingField = (editing, field) => {\r\n const { items = [] } = form.getFieldsValue();\r\n\r\n if (editing && items.some((c, index) => !c.isPaid && index < field.name)) {\r\n Modal.confirm({\r\n width: '700px',\r\n okText: 'Continuar',\r\n cancelText: 'Voltar',\r\n onCancel: () => {\r\n changeField(field.name, { isPaid: false });\r\n },\r\n onOk: () => {\r\n setFieldEditing(field);\r\n },\r\n title: 'Existe parcela anterior em aberta. Deseja prosseguir?'\r\n });\r\n return;\r\n }\r\n\r\n setFieldEditing(editing ? field : null);\r\n };\r\n\r\n const closeEditingField = () => {\r\n handleLoadSettings();\r\n openEditingField(false);\r\n };\r\n\r\n const allowsShowCategoryAlert = () => {\r\n if (!currentCategory || !accountantId) {\r\n return false;\r\n }\r\n\r\n return currentCategory.hasAccountingIssues;\r\n };\r\n\r\n const handleTabChange = (tab) => {\r\n const { patient, customer } = form.getFieldsValue();\r\n\r\n if (tab === 'tab_customer' && patient) {\r\n Modal.confirm({\r\n title: 'Deseja remover o paciente?',\r\n onOk: () => {\r\n form.setFieldsValue({ patient: null });\r\n setTabKey(tab);\r\n }\r\n });\r\n\r\n return;\r\n }\r\n\r\n if (tab === 'tab_patient' && customer) {\r\n Modal.confirm({\r\n title: 'Deseja remover o cliente?',\r\n onOk: () => {\r\n form.setFieldsValue({ customer: null });\r\n setTabKey(tab);\r\n }\r\n });\r\n\r\n return;\r\n }\r\n\r\n setTabKey(tab);\r\n };\r\n\r\n return (\r\n (\r\n \r\n )}\r\n >\r\n \r\n \r\n );\r\n};\r\n\r\nexport default FinancialEntryEdit;\r\n","/* eslint-disable prefer-template */\r\nconst roundDecimal = (type, value, exp) => {\r\n if (typeof exp === 'undefined' || +exp === 0) {\r\n return Math[type](value);\r\n }\r\n value = +value;\r\n exp = +exp;\r\n\r\n if (Number.isNaN(value) || !(typeof exp === 'number' && exp % 1 === 0)) {\r\n return NaN;\r\n }\r\n\r\n value = value.toString().split('e');\r\n value = Math[type](+(value[0] + 'e' + (value[1] ? +value[1] - exp : -exp)));\r\n value = value.toString().split('e');\r\n return +(value[0] + 'e' + (value[1] ? +value[1] + exp : exp));\r\n};\r\n\r\nconst round = (value, exp = -2) => {\r\n return roundDecimal('round', value, exp);\r\n};\r\n\r\nconst ceil = (value, exp = -2) => {\r\n return roundDecimal('ceil', value, exp);\r\n};\r\n\r\nconst floor = (value, exp = -2) => {\r\n return roundDecimal('floor', value, exp);\r\n};\r\n\r\nexport { round, ceil, floor };\r\n","import React, { useState, useEffect, isValidElement } from 'react';\r\nimport {\r\n Collapse,\r\n DatePicker,\r\n Divider,\r\n Form,\r\n Input,\r\n InputNumber,\r\n Modal,\r\n Row,\r\n Select,\r\n Switch,\r\n Tabs\r\n} from 'antd';\r\nimport {\r\n DrawerEdit,\r\n FormItemWrap,\r\n api,\r\n ResourceEdit,\r\n useCrudEditContext\r\n} from 'react-structure-admin';\r\nimport {\r\n FormItemUserDetail,\r\n InputCurrency,\r\n InputPercent,\r\n RemoteSelectCrud,\r\n ResCol\r\n} from 'components';\r\nimport isNullOrEmpty from 'util/functions/isNullOrEmpty';\r\nimport useCompany from 'core/hooks/useCompany';\r\nimport { useDispatch } from 'react-redux';\r\nimport { cancelEditInvoice } from 'stores/financialEntries/financialEntryActions';\r\nimport moment from 'moment';\r\nimport { round } from 'util/functions/decimal';\r\nimport { normalizeFromSelect, normalizeToSelect } from 'util/converters';\r\nimport RemoteSelect from 'components/RemoteSelect';\r\nimport InvoiceHelper from 'helpers';\r\nimport { MaskedInput } from 'antd-mask-input';\r\nimport { formatFederalTaxNumber } from 'util/formatters';\r\nimport CustomerEdit from '../customers/CustomerEdit';\r\n\r\nconst FinancialEntryInvoiceEdit = (props) => {\r\n const { data } = props;\r\n const dispatch = useDispatch();\r\n const [hasPerson] = useState(!!(data.patient ?? data.customer));\r\n const [currentPatient, setCurrentPatient] = useState(data.patient);\r\n const { company, userCompany } = useCompany();\r\n const [tabKey, setTabKey] = useState('tab_patient');\r\n const { form } = useCrudEditContext();\r\n\r\n const handleBeforeSubmit = ({ invoice, patient, customer, ...rest }) => {\r\n return {\r\n ...data,\r\n ...rest,\r\n patient: normalizeFromSelect(patient),\r\n customer: normalizeFromSelect(customer),\r\n invoice: {\r\n ...(data.invoice ?? {}),\r\n ...invoice,\r\n company: normalizeFromSelect(invoice?.company),\r\n effectiveDate: moment(invoice?.effectiveDate).format('YYYY-MM-DD HH:mm')\r\n }\r\n };\r\n };\r\n\r\n const handleBeforeBindingIInvoice = (invoice) => {\r\n const {\r\n authorizationDate,\r\n cancellationDate,\r\n creationTime,\r\n lastModificationTime\r\n } = invoice ?? {};\r\n\r\n return {\r\n ...invoice,\r\n authorizationDate: authorizationDate ? moment(authorizationDate) : null,\r\n cancellationDate: cancellationDate ? moment(cancellationDate) : null,\r\n company: normalizeToSelect(invoice?.company),\r\n effectiveDate: invoice?.effectiveDate\r\n ? moment(invoice?.effectiveDate)\r\n : moment(),\r\n creationTime: creationTime ? moment(creationTime) : null,\r\n lastModificationTime: lastModificationTime\r\n ? moment(lastModificationTime)\r\n : null\r\n };\r\n };\r\n\r\n const handleBeforeBinding = ({ invoice, patient, customer, ...rest }) => {\r\n setCurrentPatient(patient);\r\n\r\n if (patient != null) {\r\n setTabKey('tab_patient');\r\n }\r\n\r\n if (customer != null) {\r\n setTabKey('tab_customer');\r\n }\r\n\r\n return {\r\n ...rest,\r\n patient: normalizeToSelect(patient),\r\n customer: normalizeToSelect(customer),\r\n invoice: handleBeforeBindingIInvoice(invoice)\r\n };\r\n };\r\n\r\n const readOnly = InvoiceHelper.isReadOnly(data?.invoice?.status);\r\n\r\n const handleCancel = () => {\r\n dispatch(cancelEditInvoice());\r\n };\r\n\r\n const calculeAmount = (base, rate) => {\r\n return round(base * (rate / 100));\r\n };\r\n\r\n const calculateDisplayTaxes = (total = {}) => {\r\n const display = {};\r\n\r\n display.issAmount = total.issWithheld ? total.issAmount : 0;\r\n display.pisAmount = total.pisWithheld ? total.pisAmount : 0;\r\n display.cofinsAmount = total.cofinsWithheld ? total.cofinsAmount : 0;\r\n display.csllAmount = total.csllWithheld ? total.csllAmount : 0;\r\n display.irAmount = total.irWithheld ? total.irAmount : 0;\r\n display.inssAmount = total.inssWithheld ? total.inssAmount : 0;\r\n\r\n return display;\r\n };\r\n\r\n const recalcuteAll = (allFields) => {\r\n let { invoice = {} } = allFields;\r\n const { amount } = data;\r\n const { total = {} } = invoice;\r\n\r\n const {\r\n deductionsAmount = 0,\r\n issRate = 0,\r\n pisRate = 0,\r\n cofinsRate = 0,\r\n irRate = 0,\r\n csllRate = 0,\r\n inssRate = 0\r\n } = total;\r\n\r\n invoice = {\r\n ...invoice,\r\n total: {\r\n invoiceAmount: amount,\r\n issBaseTax: amount\r\n }\r\n };\r\n\r\n total.invoiceAmount = amount;\r\n total.issBaseTax =\r\n issRate > 0 ? total.invoiceAmount - deductionsAmount : 0.0;\r\n total.issAmount = calculeAmount(total.issBaseTax, issRate);\r\n total.pisAmount = calculeAmount(total.invoiceAmount, pisRate);\r\n total.cofinsAmount = calculeAmount(total.invoiceAmount, cofinsRate);\r\n total.csllAmount = calculeAmount(total.invoiceAmount, csllRate);\r\n total.irAmount = calculeAmount(total.invoiceAmount, irRate);\r\n total.inssAmount = calculeAmount(total.invoiceAmount, inssRate);\r\n\r\n const displayTaxes = calculateDisplayTaxes(total);\r\n\r\n form.setFieldsValue({\r\n ...allFields,\r\n invoice: { ...invoice, total },\r\n display: displayTaxes\r\n });\r\n };\r\n\r\n const handleLoadedSettings = ({ serviceInvoice }) => {\r\n const {\r\n additionalInformation,\r\n cityServiceCode,\r\n cnaeCode,\r\n federalServiceCode,\r\n taxationType,\r\n ...total\r\n } = serviceInvoice;\r\n const { effectiveDate, amount } = data;\r\n\r\n const initialValues = {\r\n ...data,\r\n invoice: {\r\n discrimination: data.description,\r\n effectiveDate: effectiveDate ? moment(effectiveDate) : null,\r\n additionalInformation,\r\n cityServiceCode,\r\n cnaeCode,\r\n federalServiceCode,\r\n taxationType,\r\n total: {\r\n ...total,\r\n invoiceAmount: amount\r\n }\r\n }\r\n };\r\n\r\n recalcuteAll(initialValues);\r\n form.setFieldsValue(initialValues);\r\n };\r\n\r\n const handleGetSettings = (companyId) => {\r\n api.fetch('companies/:id/settings', { id: companyId }).then(({ data }) => {\r\n handleLoadedSettings(data?.result);\r\n });\r\n };\r\n\r\n const handleFieldsChange = ({ invoice }, allFields) => {\r\n if (invoice?.company !== undefined) {\r\n handleGetSettings(invoice?.company.key);\r\n }\r\n\r\n recalcuteAll(allFields);\r\n };\r\n\r\n const getTitle = () => {\r\n return readOnly ? 'Visualizar nota fiscal' : 'Editar nota fiscal';\r\n };\r\n\r\n const handleTabChange = (tab) => {\r\n const { patient, customer } = form.getFieldsValue();\r\n\r\n if (tab === 'tab_customer' && patient) {\r\n Modal.confirm({\r\n title: 'Deseja remover o paciente?',\r\n onOk: () => {\r\n form.setFieldsValue({ patient: null });\r\n setTabKey(tab);\r\n }\r\n });\r\n\r\n return;\r\n }\r\n\r\n if (tab === 'tab_patient' && customer) {\r\n Modal.confirm({\r\n title: 'Deseja remover o cliente?',\r\n onOk: () => {\r\n form.setFieldsValue({ customer: null });\r\n setTabKey(tab);\r\n }\r\n });\r\n\r\n return;\r\n }\r\n\r\n setTabKey(tab);\r\n };\r\n\r\n const handleSuccessUpdate = (response) => {\r\n handleCancel();\r\n if (props.onCreateOrUpdateSuccess) {\r\n props.onCreateOrUpdateSuccess(response);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (!data.invoice?.id) {\r\n const defaultCampany = userCompany ?? company;\r\n form.setFieldsValue({\r\n invoice: { company: normalizeToSelect(defaultCampany) }\r\n });\r\n handleGetSettings(defaultCampany.id);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {company.settings.allowToCreateOtherCompanies ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n \r\n
{c.item.name}
\r\n {c.item.federalTaxNumber ? (\r\n
\r\n {formatFederalTaxNumber(\r\n c.item.federalTaxNumber\r\n )}\r\n
\r\n ) : null}\r\n
\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n (\r\n \r\n \r\n
{c.item.name}
\r\n {c.item.federalTaxNumber ? (\r\n
\r\n {formatFederalTaxNumber(\r\n c.item.federalTaxNumber\r\n )}\r\n
\r\n ) : null}\r\n
\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n\r\n {currentPatient?.responsible && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n date.isAfter(moment(), 'day')}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ({\r\n validator(_, value) {\r\n if (\r\n !value ||\r\n getFieldValue(['invoice', 'total', 'invoiceAmount']) >=\r\n value\r\n ) {\r\n return Promise.resolve();\r\n }\r\n\r\n return Promise.reject(new Error('Valor inválido'));\r\n }\r\n })\r\n ]}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n {data.invoice?.status === 'authorized' && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {data.invoice?.status === 'canceled' && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n {!isNullOrEmpty(data.id) &&\r\n (data.invoice?.rpsNumber > 0 || data.invoice?.number > 0) && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Retenções\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n\r\n {readOnly && (\r\n <>\r\n Auditoria\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n >\r\n )}\r\n >\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ResourceEdit.create(FinancialEntryInvoiceEdit, {\r\n resource: 'financial-entries'\r\n});\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport FinancialEntryEdit from './FinancialEntryEdit';\r\nimport FinancialEntryInvoiceEdit from './FinancialEntryInvoiceEdit';\r\n\r\nconst FinancialEntryEditManager = (props) => {\r\n const { editingInvoice, editing } = useSelector(\r\n (c) => c.resources['financial-entries'] ?? {}\r\n );\r\n\r\n if (!editing) {\r\n return null;\r\n }\r\n\r\n return editingInvoice ? (\r\n \r\n ) : (\r\n \r\n );\r\n};\r\n\r\nexport default FinancialEntryEditManager;\r\n","import { dispatcher, api } from 'react-structure-admin';\r\n\r\nexport const TREATMENT = 'TREATMENT';\r\n\r\nexport const TREATMENT_CONCLUDE = 'TREATMENT_CONCLUDE';\r\nexport const TREATMENT_CONCLUDE_FINISHED = 'TREATMENT_CONCLUDE_FINISHED';\r\n\r\nexport const TREATMENT_SELECT_PARTNER = 'TREATMENT_SELECT_PARTNER';\r\nexport const TREATMENT_SELECT_PARTNER_FINISHED =\r\n 'TREATMENT_SELECT_PARTNER_FINISHED';\r\n\r\nexport const TREATMENT_REMOVE_PARTNER = 'TREATMENT_REMOVE_PARTNER';\r\nexport const TREATMENT_REMOVE_PARTNER_FINISHED =\r\n 'TREATMENT_REMOVE_PARTNER_FINISHED';\r\n\r\nexport const TREATMENT_MY_TREATMENT_PARTNER = 'TREATMENT_MY_TREATMENT_PARTNER';\r\nexport const TREATMENT_MY_TREATMENT_PARTNER_FINISHED =\r\n 'TREATMENT_MY_TREATMENT_PARTNER_FINISHED';\r\n\r\nexport const TREATMENT_ACCEPTED_TREATMENT_PARTNER =\r\n 'TREATMENT_ACCEPTED_TREATMENT_PARTNER';\r\nexport const TREATMENT_ACCEPTED_TREATMENT_PARTNER_FINISHED =\r\n 'TREATMENT_ACCEPTED_TREATMENT_PARTNER_FINISHED';\r\n\r\nexport const TREATMENT_CANCEL = 'TREATMENT_CANCEL';\r\nexport const TREATMENT_CANCEL_FINISHED = 'TREATMENT_CANCEL_FINISHED';\r\n\r\nexport const TREATMENT_OPEN_CANCELLATION = 'TREATMENT_OPEN_CANCELLATION';\r\nexport const TREATMENT_CLOSE_CANCELLATION = 'TREATMENT_CLOSE_CANCELLATION';\r\n\r\nexport const conclude = (id, data, onSuccess, onFail) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'treatments',\r\n actionType: TREATMENT_CONCLUDE,\r\n payload: data,\r\n effect: async () => api.put(`treatments/${id}/conclude`, data),\r\n onSuccess,\r\n onFail\r\n });\r\n};\r\n\r\nexport const selectPartner = (id, partner, onSuccess, onFail) => async (\r\n dispatch\r\n) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'treatments',\r\n actionType: TREATMENT_SELECT_PARTNER,\r\n payload: partner,\r\n effect: async () => api.post(`treatments/${id}/partner`, partner),\r\n onSuccess,\r\n onFail\r\n });\r\n};\r\n\r\nexport const removePartner = (id, partner, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'treatments',\r\n actionType: TREATMENT_REMOVE_PARTNER,\r\n payload: partner,\r\n effect: async () =>\r\n api.del('treatments', `${id}/partner/?partnerId=${partner?.id}`),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const getMyTreatmentPartner = (onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'treatments',\r\n actionType: TREATMENT_MY_TREATMENT_PARTNER,\r\n effect: async () => api.fetch('treatments/my-treatment-partner'),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const acceptedTreatmentPartner = (id, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'treatments',\r\n actionType: TREATMENT_ACCEPTED_TREATMENT_PARTNER,\r\n payload: id,\r\n effect: async () =>\r\n api.post(\r\n 'treatments/accepted-treatment-partner/?treatmentpartnerid=:id',\r\n { id }\r\n ),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const cancel = (data, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'treatments',\r\n actionType: TREATMENT_CANCEL,\r\n effect: async () => api.post('treatments/cancel', data),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const openCancellation = () => (dispatch) => {\r\n dispatch(dispatcher.createAction(TREATMENT_OPEN_CANCELLATION, 'treatments'));\r\n};\r\n\r\nexport const closeCancellation = () => (dispatch) => {\r\n dispatch(dispatcher.createAction(TREATMENT_CLOSE_CANCELLATION, 'treatments'));\r\n};\r\n","import { formartOnlyNumber } from 'react-structure-admin';\r\nconst mobilePhoneValidator = (_, value = '') => {\r\n const formattedValue = formartOnlyNumber(value);\r\n\r\n if (!formattedValue) {\r\n return Promise.resolve();\r\n }\r\n\r\n if (formattedValue.length < 11) {\r\n return Promise.reject(new Error('Celular inválido'));\r\n }\r\n\r\n return Promise.resolve();\r\n};\r\n\r\nexport default mobilePhoneValidator;\r\n","import { formartOnlyNumber } from 'react-structure-admin';\r\n\r\nconst postalCodeValidator = (_, value = '') => {\r\n const formattedValue = formartOnlyNumber(value);\r\n\r\n if (!formattedValue) {\r\n return Promise.resolve();\r\n }\r\n\r\n if (formattedValue.length < 8 && formattedValue.length > 0) {\r\n return Promise.reject(new Error('Preencha o campo CEP'));\r\n }\r\n\r\n return Promise.resolve();\r\n};\r\n\r\nexport default postalCodeValidator;\r\n","import { message } from 'antd';\r\nimport { ROLE_STUDENT } from 'constants/types';\r\nimport { dispatcher, api } from 'react-structure-admin';\r\n\r\nexport const ACCOUNT = 'ACCOUNT';\r\nexport const ACCOUNT_SHARING_UNLOAD = 'ACCOUNT_SHARING_UNLOAD';\r\nexport const ACCOUNT_SHARING_GET = 'ACCOUNT_SHARING_GET';\r\nexport const ACCOUNT_SHARING_GET_FINISHED = 'ACCOUNT_SHARING_GET_FINISHED';\r\nexport const ACCOUNT_SHARING_GET_ERROR = 'ACCOUNT_SHARING_GET_ERROR';\r\nexport const ACCOUNT_ACTIVITY_FETCH = 'ACCOUNT_ACTIVITY_FETCH';\r\nexport const ACCOUNT_ACTIVITY_FETCH_FINISHED =\r\n 'ACCOUNT_ACTIVITY_FETCH_FINISHED';\r\nexport const ACCOUNT_SETTINGS_GET = 'ACCOUNT_SETTINGS_GET';\r\nexport const ACCOUNT_SETTINGS_GET_FINISHED = 'ACCOUNT_SETTINGS_GET_FINISHED';\r\nexport const ACCOUNT_SETTINGS_UPDATE = 'ACCOUNT_SETTINGS_UPDATE';\r\nexport const ACCOUNT_SETTINGS_UPDATE_FINISHED =\r\n 'ACCOUNT_SETTINGS_UPDATE_FINISHED';\r\n\r\nexport const ACCOUNT_CANCEL = 'ACCOUNT_CANCEL';\r\nexport const ACCOUNT_CANCEL_FINISHED = 'ACCOUNT_CANCEL_FINISHED';\r\n\r\nconst getResourceByRole = (role) => {\r\n switch (role) {\r\n case ROLE_STUDENT:\r\n return 'student-accounts';\r\n default:\r\n return 'professional-accounts';\r\n }\r\n};\r\n\r\nexport const getErrorSharing = (payload) => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(ACCOUNT_SHARING_GET_ERROR, 'accounts', payload)\r\n );\r\n};\r\n\r\nexport const getSharing = (token) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'accounts',\r\n actionType: ACCOUNT_SHARING_GET,\r\n effect: async () => api.get('activities/share-by-token', token),\r\n onFail: (response) => {\r\n dispatch(getErrorSharing(response));\r\n return true;\r\n }\r\n });\r\n};\r\n\r\nexport const fetchActivities = (token, queryParams) => async (dispatch) => {\r\n queryParams.shareToken = token;\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'accounts',\r\n actionType: ACCOUNT_ACTIVITY_FETCH,\r\n effect: async () => api.fetch('activities', queryParams)\r\n });\r\n};\r\n\r\nexport const unloadSharing = () => (dispatch) => {\r\n dispatch(dispatcher.createAction(ACCOUNT_SHARING_UNLOAD, 'accounts'));\r\n};\r\n\r\nexport const getSettings = (role, onSuccess) => async (dispatch) => {\r\n const resource = getResourceByRole(role);\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'accounts',\r\n actionType: ACCOUNT_SETTINGS_GET,\r\n effect: async () => api.get(resource, 'settings'),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const updateSettings = (role, data, onSuccess) => async (dispatch) => {\r\n const resource = getResourceByRole(role);\r\n\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'accounts',\r\n actionType: ACCOUNT_SETTINGS_UPDATE,\r\n effect: async () => api.put(`${resource}/settings`, data),\r\n payload: data,\r\n onSuccess: (response) => {\r\n if (onSuccess) {\r\n onSuccess(response);\r\n }\r\n\r\n message.success('Configurações salvas com sucesso.');\r\n }\r\n });\r\n};\r\n\r\nexport const cancel = (resource, id, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource,\r\n actionType: ACCOUNT_CANCEL,\r\n effect: async () => api.del(resource, id),\r\n onSuccess\r\n });\r\n};\r\n","import { dispatcher, api } from 'react-structure-admin';\r\n\r\nexport const HEALTHSERVICEPROVIDER = 'HEALTHSERVICEPROVIDER';\r\n\r\nexport const HEALTHSERVICEPROVIDER_GET_CURRENT =\r\n 'HEALTHSERVICEPROVIDER_GET_CURRENT';\r\nexport const HEALTHSERVICEPROVIDER_GET_CURRENT_FINISHED =\r\n 'HEALTHSERVICEPROVIDER_GET_CURRENT_FINISHED';\r\n\r\nexport const HEALTHSERVICEPROVIDER_PUT_CURRENT =\r\n 'HEALTHSERVICEPROVIDER_PUT_CURRENT';\r\nexport const HEALTHSERVICEPROVIDER_PUT_CURRENT_FINISHED =\r\n 'HEALTHSERVICEPROVIDER_PUT_CURRENT_FINISHED';\r\n\r\nexport const HEALTHSERVICEPROVIDER_CANCEL_CURRENT =\r\n 'HEALTHSERVICEPROVIDER_CANCEL_CURRENT';\r\n\r\nexport const HEALTHSERVICEPROVIDER_AVAILABILITY_FETCH =\r\n 'HEALTHSERVICEPROVIDER_AVAILABILITY_FETCH';\r\nexport const HEALTHSERVICEPROVIDER_AVAILABILITY_FETCH_FINISHED =\r\n 'HEALTHSERVICEPROVIDER_AVAILABILITY_FETCH_FINISHED';\r\n\r\nexport const fetchAvailability = (\r\n serviceProviderId,\r\n startDate,\r\n endDate\r\n) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'health-service-providers',\r\n actionType: HEALTHSERVICEPROVIDER_AVAILABILITY_FETCH,\r\n effect: async () =>\r\n api.fetch(`health-service-providers/:id/?:startDate&:endDate`, {\r\n startDate,\r\n endDate,\r\n serviceProviderId\r\n })\r\n });\r\n};\r\n\r\nexport const getCurrentProfessional = () => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'health-service-providers',\r\n actionType: HEALTHSERVICEPROVIDER_GET_CURRENT,\r\n effect: async () =>\r\n api.get('health-service-providers', 'current-professional')\r\n });\r\n};\r\n\r\nexport const updateCurrentProfessional = (data) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'health-service-providers',\r\n payload: data,\r\n actionType: HEALTHSERVICEPROVIDER_PUT_CURRENT,\r\n effect: async () =>\r\n api.put('health-service-providers/current-professional', data)\r\n });\r\n};\r\n\r\nexport const cancelCurrentProfessional = () => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(\r\n HEALTHSERVICEPROVIDER_CANCEL_CURRENT,\r\n 'health-service-providers'\r\n )\r\n );\r\n};\r\n","import {\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_FINANCIAL,\r\n ROLE_FINANCIAL_ADMINISTRATOR,\r\n ROLE_OTHER_HEALTH_PROFESSIONAL,\r\n ROLE_PARTNERSHIP,\r\n ROLE_PROFESSIONAL,\r\n ROLE_STUDENT\r\n} from 'constants/types';\r\nimport { useCallback } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport useAuth from './useAuth';\r\n\r\nconst usePermissions = () => {\r\n const data = useSelector((state) => state.auth);\r\n const { isAdmin, tenantId } = useAuth();\r\n\r\n const hasRole = useCallback(\r\n (...roles) => data.user.roles.some((role) => roles.includes(role)),\r\n [data]\r\n );\r\n\r\n const isProfessional = hasRole(\r\n ROLE_PROFESSIONAL,\r\n ROLE_OTHER_HEALTH_PROFESSIONAL\r\n );\r\n const isStudent = hasRole(ROLE_STUDENT);\r\n const isUserAdmin = hasRole(\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_FINANCIAL_ADMINISTRATOR\r\n );\r\n const isFinancial = hasRole(ROLE_FINANCIAL);\r\n const isPartnership = hasRole(ROLE_PARTNERSHIP);\r\n const isFinancialAdministrator = hasRole(ROLE_FINANCIAL_ADMINISTRATOR);\r\n\r\n return {\r\n isProfessional,\r\n isStudent,\r\n isUserAdmin,\r\n isAdmin: isAdmin(),\r\n isFinancial,\r\n isPartnership,\r\n isFinancialAdministrator,\r\n hasTenantId: !!tenantId\r\n };\r\n};\r\n\r\nexport default usePermissions;\r\n","import React, { forwardRef, useEffect, useRef, useState } from 'react';\r\nimport { Input, Table, Form } from 'antd';\r\nimport {\r\n DrawerForm,\r\n FormContextProvider,\r\n api,\r\n configManager\r\n} from 'react-structure-admin';\r\nimport { debounce } from 'lodash';\r\n\r\nconst SearchValue = ({\r\n allowClear = true,\r\n searchInputPlaceHolder,\r\n resource,\r\n fixedParams = {},\r\n sorting,\r\n defaultSorting = true,\r\n tenant,\r\n title,\r\n columns,\r\n value,\r\n onChange,\r\n onSelect,\r\n drawerSize,\r\n searchForm: SearchForm,\r\n autoFocus,\r\n ...rest\r\n}) => {\r\n const inputRef = useRef(null);\r\n const [drawerVisible, setDrawerVisible] = useState(false);\r\n const [lastFetchId, setLastFetchId] = useState(0);\r\n const [loading, setLoading] = useState(false);\r\n const [pagination, setPagination] = useState({\r\n total: 0,\r\n pageSize: configManager.pageSize,\r\n current: 1,\r\n showSizeChanger: false,\r\n showLessItems: true\r\n });\r\n const [dataSource, setDataSource] = useState([]);\r\n const [form] = Form.useForm();\r\n\r\n if (!columns) {\r\n columns = [\r\n {\r\n title: 'Cód',\r\n dataIndex: 'id',\r\n isKey: true\r\n },\r\n {\r\n title: 'Descrição',\r\n dataIndex: 'description'\r\n }\r\n ];\r\n }\r\n\r\n const idColumn = columns.find((c) => c.isKey) ?? columns[0];\r\n\r\n const onSearch = (value, event) => {\r\n if (\r\n event.currentTarget.classList.contains('ant-input-search-button') ||\r\n event.currentTarget.classList.contains('anticon-search')\r\n ) {\r\n setDrawerVisible(true);\r\n }\r\n };\r\n\r\n const triggerChange = (value) => {\r\n onChange?.(value);\r\n };\r\n\r\n const setValue = (value) => {\r\n triggerChange(value);\r\n };\r\n\r\n const onCancel = () => {\r\n setDrawerVisible(false);\r\n };\r\n\r\n const onSelectValue = (row) => {\r\n if (onSelect) {\r\n onSelect(row);\r\n }\r\n\r\n let value = row;\r\n if (Array.isArray(idColumn.dataIndex)) {\r\n const { dataIndex: idFieldName = [] } = idColumn;\r\n for (let index = 0; index < idFieldName.length; index += 1) {\r\n const fieldName = idFieldName[index];\r\n value = value[fieldName];\r\n }\r\n } else {\r\n value = row[idColumn.dataIndex];\r\n }\r\n setValue(value);\r\n setDrawerVisible(false);\r\n };\r\n\r\n const fetchData = () => {\r\n form.validateFields().then((params) => {\r\n setLoading(true);\r\n setLastFetchId(lastFetchId + 1);\r\n\r\n const fetchId = lastFetchId;\r\n\r\n const queryParams = {\r\n page: pagination.current,\r\n sorting,\r\n ...params,\r\n ...fixedParams\r\n };\r\n\r\n api.fetch(resource, queryParams, null, tenant).then((response = {}) => {\r\n const { data = { result: {} } } = response;\r\n\r\n if (fetchId !== lastFetchId) {\r\n return;\r\n }\r\n const { totalCount = 0, items = [] } = data.result;\r\n\r\n setLoading(false);\r\n setDataSource(items);\r\n setPagination({ ...pagination, total: totalCount });\r\n });\r\n });\r\n };\r\n\r\n const handleSubmit = debounce(() => {\r\n if (pagination.current !== 1) {\r\n setPagination({ ...pagination, current: 1 });\r\n return;\r\n }\r\n fetchData();\r\n }, 600);\r\n\r\n const handleSearchFormChange = (e) => {\r\n form.setFieldsValue({ [e.target.id]: e.target.value });\r\n handleSubmit();\r\n };\r\n\r\n const handleTableChange = (tablePagination) => {\r\n setPagination({ ...pagination, current: tablePagination.current });\r\n };\r\n\r\n useEffect(() => {\r\n if (!drawerVisible) {\r\n return;\r\n }\r\n\r\n fetchData();\r\n }, [drawerVisible, pagination.current]);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n if (inputRef.current && autoFocus) {\r\n inputRef.current.focus();\r\n }\r\n }, 500);\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n {\r\n return {\r\n onClick: (event) => {\r\n onSelectValue(record);\r\n }\r\n };\r\n }}\r\n rowClassName=\"gx-pointer\"\r\n pagination={pagination}\r\n onChange={handleTableChange}\r\n loading={loading}\r\n rowKey={(record) => record.id}\r\n dataSource={dataSource}\r\n columns={columns}\r\n />\r\n \r\n \r\n >\r\n );\r\n};\r\n\r\nexport default SearchValue;\r\n","import React from 'react';\r\nimport { Input, Form, Row, Switch, Select, InputNumber } from 'antd';\r\nimport { FormItemWrap } from 'react-structure-admin';\r\nimport ResCol from 'components/forms/ResCol';\r\nimport {\r\n InputNumeric,\r\n InputPercent,\r\n SelectSpecialTaxRegime,\r\n SelectTaxRegime\r\n} from 'components';\r\nimport SearchValue from 'components/SearchValue';\r\nimport usePermissions from 'core/hooks/usePermissions';\r\n\r\nconst CompanySettingsForm = ({\r\n data,\r\n enabled,\r\n hideAllowToCreateOtherCompanies\r\n}) => {\r\n const { isFinancialAdministrator } = usePermissions();\r\n const { serviceInvoice } = data ?? {};\r\n\r\n const useBatchNumber = false;\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n {serviceInvoice?.provider !== 'softplan' &&\r\n (serviceInvoice?.useInvoiceNumber || serviceInvoice?.useRps) && (\r\n \r\n \r\n \r\n )}\r\n\r\n {serviceInvoice === 'softplan' ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n\r\n {serviceInvoice?.useRps && (\r\n <>\r\n {useBatchNumber && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {serviceInvoice?.useSeries && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n >\r\n )}\r\n {serviceInvoice?.authentication === 'userName' && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n >\r\n )}\r\n {serviceInvoice?.authentication === 'token' && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n >\r\n )}\r\n \r\n \r\n \r\n \r\n
\r\n\r\n {serviceInvoice === 'sigep' ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n {serviceInvoice?.useFederalServiceCode && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {!isFinancialAdministrator && (\r\n \r\n \r\n \r\n )}\r\n >\r\n );\r\n};\r\n\r\nexport default CompanySettingsForm;\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { Menu } from 'antd';\r\nimport { Link } from 'react-router-dom';\r\nimport { buildMatchPath } from 'react-structure-admin';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport useAuth from 'core/hooks/useAuth';\r\nimport { ROLE_ADMIN } from 'constants/types';\r\n\r\nconst HorizontalMenu = ({ routes, match, sub, readOnly }) => {\r\n const { pathname } = useSelector((state) => state.settings || {});\r\n\r\n const allowShow = (route) => {\r\n const { roles } = route;\r\n const { isAuthenticated, user, isAdmin } = useAuth();\r\n\r\n if (!isAuthenticated) {\r\n return false;\r\n }\r\n\r\n if (isAdmin()) {\r\n return true;\r\n }\r\n\r\n if (roles && !roles.some((c) => user.roles.includes(c) || c === '*')) {\r\n return false;\r\n }\r\n\r\n if (route?.hidden) {\r\n return !route.hidden(user?.settings);\r\n }\r\n\r\n return true;\r\n };\r\n\r\n const menu = (route, basePath, sub) => {\r\n let { roles } = route;\r\n const { hasRole } = useAuth();\r\n\r\n if (!Array.isArray(roles)) {\r\n roles = [];\r\n }\r\n\r\n if (\r\n route.routes &&\r\n route.isContainer !== false &&\r\n route.routes.find((c) => c.menu)\r\n ) {\r\n return (\r\n \r\n {route.title}\r\n \r\n \r\n }\r\n >\r\n {route.routes\r\n .filter((c) => c.menu)\r\n .map((c) => menu(c, route.path, true))}\r\n \r\n );\r\n }\r\n\r\n if (roles.length > 0 && !hasRole(...roles, ROLE_ADMIN)) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {sub && route.menu && (\r\n \r\n )}\r\n {route.title}\r\n \r\n \r\n );\r\n };\r\n\r\n const defaultOpenKeys = pathname.replace('/app', '');\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default HorizontalMenu;\r\n","import React from 'react';\r\nimport HorizontalMenu from './HorizontalMenu';\r\n\r\nconst HorizontalToolbar = ({ routes, match, readOnly }) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default HorizontalToolbar;\r\n","module.exports = {\r\n // Generic\r\n 'generic.add': 'Adicionar',\r\n 'generic.cancel': 'Cancelar',\r\n\r\n // BlockType\r\n 'components.controls.blocktype.h1': 'H1',\r\n 'components.controls.blocktype.h2': 'H2',\r\n 'components.controls.blocktype.h3': 'H3',\r\n 'components.controls.blocktype.h4': 'H4',\r\n 'components.controls.blocktype.h5': 'H5',\r\n 'components.controls.blocktype.h6': 'H6',\r\n 'components.controls.blocktype.blockquote': 'Blockquote',\r\n 'components.controls.blocktype.code': 'Código',\r\n 'components.controls.blocktype.blocktype': 'Bloquear',\r\n 'components.controls.blocktype.normal': 'Normal',\r\n\r\n // Color Picker\r\n 'components.controls.colorpicker.colorpicker': 'Seletor de cores',\r\n 'components.controls.colorpicker.text': 'Cor do texto',\r\n 'components.controls.colorpicker.background': 'Cor de destaque',\r\n\r\n // Embedded\r\n 'components.controls.embedded.embedded': 'Embedded',\r\n 'components.controls.embedded.embeddedlink': 'Link Embedded',\r\n 'components.controls.embedded.enterlink': 'Insira o link',\r\n\r\n // Emoji\r\n 'components.controls.emoji.emoji': 'Emoji',\r\n\r\n // FontFamily\r\n 'components.controls.fontfamily.fontfamily': 'Fonte',\r\n\r\n // FontSize\r\n 'components.controls.fontsize.fontsize': 'Tamanho da fonte',\r\n\r\n // History\r\n 'components.controls.history.history': 'Registro',\r\n 'components.controls.history.undo': 'Desfazer',\r\n 'components.controls.history.redo': 'Refazer',\r\n\r\n // Image\r\n 'components.controls.image.image': 'Imagem',\r\n 'components.controls.image.fileUpload': 'Upload de arquivo',\r\n 'components.controls.image.byURL': 'URL',\r\n 'components.controls.image.dropFileText':\r\n 'Arraste o arquivo ou clique para fazer o upload',\r\n\r\n // Inline\r\n 'components.controls.inline.bold': 'Negrito',\r\n 'components.controls.inline.italic': 'Itálico',\r\n 'components.controls.inline.underline': 'Sublinhar',\r\n 'components.controls.inline.strikethrough': 'Tachar',\r\n 'components.controls.inline.monospace': 'monospace',\r\n 'components.controls.inline.superscript': 'Sobrescrito',\r\n 'components.controls.inline.subscript': 'Subscrito',\r\n\r\n // Link\r\n 'components.controls.link.linkTitle': 'Título do link',\r\n 'components.controls.link.linkTarget': 'Endereço do link',\r\n 'components.controls.link.linkTargetOption': 'Abra o link em uma nova janela',\r\n 'components.controls.link.link': 'Inserir link',\r\n 'components.controls.link.unlink': 'Remover link',\r\n\r\n // List\r\n 'components.controls.list.list': 'Lista',\r\n 'components.controls.list.unordered': 'Lista com marcadores',\r\n 'components.controls.list.ordered': 'Lista numerada',\r\n 'components.controls.list.indent': 'Aumentar recuo',\r\n 'components.controls.list.outdent': 'Diminuir recuo',\r\n\r\n // Remove\r\n 'components.controls.remove.remove': 'Remover',\r\n\r\n // TextAlign\r\n 'components.controls.textalign.textalign': 'Alinhar o texto',\r\n 'components.controls.textalign.left': 'Alinhar à esquerda',\r\n 'components.controls.textalign.center': 'Alinhar no centro',\r\n 'components.controls.textalign.right': 'Alinhar à direita',\r\n 'components.controls.textalign.justify': 'Justificar'\r\n};\r\n","import { dispatcher, api } from 'react-structure-admin';\r\n\r\nexport const OPENFINANCIALEXCHANGE = 'OPENFINANCIALEXCHANGE';\r\n\r\nexport const OPENFINANCIALEXCHANGE_FILE_IMPORT =\r\n 'OPENFINANCIALEXCHANGE_FILE_IMPORT';\r\nexport const OPENFINANCIALEXCHANGE_FILE_IMPORT_FINISHED =\r\n 'OPENFINANCIALEXCHANGE_FILE_IMPORT_FINISHED';\r\n\r\nexport const OPENFINANCIALEXCHANGE_TRANSACTIONS_QUERYPARAMS =\r\n 'OPENFINANCIALEXCHANGE_TRANSACTIONS_QUERYPARAMS';\r\n\r\nexport const OPENFINANCIALEXCHANGE_TRANSACTIONS =\r\n 'OPENFINANCIALEXCHANGE_TRANSACTIONS';\r\nexport const OPENFINANCIALEXCHANGE_TRANSACTIONS_FINISHED =\r\n 'OPENFINANCIALEXCHANGE_TRANSACTIONS_FINISHED';\r\n\r\nexport const OPENFINANCIALEXCHANGE_UPDATE_TRANSACTION =\r\n 'OPENFINANCIALEXCHANGE_UPDATE_TRANSACTION';\r\n\r\nexport const OPENFINANCIALEXCHANGE_CONCILIATIONS =\r\n 'OPENFINANCIALEXCHANGE_CONCILIATIONS';\r\nexport const OPENFINANCIALEXCHANGE_CONCILIATIONS_FINISHED =\r\n 'OPENFINANCIALEXCHANGE_CONCILIATIONS_FINISHED';\r\n\r\nexport const OPENFINANCIALEXCHANGE_CHANGE_CONCILIATION =\r\n 'OPENFINANCIALEXCHANGE_CHANGE_CONCILIATION';\r\nexport const OPENFINANCIALEXCHANGE_CHANGE_CONCILIATION_FINISHED =\r\n 'OPENFINANCIALEXCHANGE_CHANGE_CONCILIATION_FINISHED';\r\n\r\nexport const importFile = (file, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'openFinancialExchanges',\r\n actionType: OPENFINANCIALEXCHANGE_FILE_IMPORT,\r\n effect: async () => api.post(`open-financial-exchanges/import-file`, file),\r\n onSuccess,\r\n onFail: () => true\r\n });\r\n};\r\n\r\nexport const setTransactionsQueryParams = (params) => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(\r\n OPENFINANCIALEXCHANGE_TRANSACTIONS_QUERYPARAMS,\r\n 'openFinancialExchangeTransactions',\r\n params\r\n )\r\n );\r\n};\r\n\r\nexport const transactionsFetch = (params = {}, onSuccess) => async (\r\n dispatch\r\n) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'openFinancialExchangeTransactions',\r\n actionType: OPENFINANCIALEXCHANGE_TRANSACTIONS,\r\n payload: params,\r\n effect: async () =>\r\n api.fetch(`open-financial-exchanges/transactions`, params),\r\n onSuccess,\r\n onFail: () => true\r\n });\r\n};\r\n\r\nexport const conciliationsFetch = (params = {}, onSuccess) => async (\r\n dispatch\r\n) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'openFinancialExchangeConciliations',\r\n actionType: OPENFINANCIALEXCHANGE_CONCILIATIONS,\r\n payload: params,\r\n effect: async () =>\r\n api.fetch(`open-financial-exchanges/conciliations`, params),\r\n onSuccess,\r\n onFail: () => true\r\n });\r\n};\r\n\r\nexport const changeTransaction = (data) => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(\r\n OPENFINANCIALEXCHANGE_UPDATE_TRANSACTION,\r\n 'openFinancialExchangeTransactions',\r\n data\r\n )\r\n );\r\n};\r\n\r\nexport const changeConciliation = (data = {}, onSuccess, onFail) => async (\r\n dispatch\r\n) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'openFinancialExchangeConciliations',\r\n actionType: OPENFINANCIALEXCHANGE_CHANGE_CONCILIATION,\r\n payload: data,\r\n effect: async () => api.put(`open-financial-exchanges/conciliations`, data),\r\n onSuccess,\r\n onFail\r\n });\r\n};\r\n","import { RECEIPT, PAYMENT } from 'constants/types';\r\nimport { dispatcher, api } from 'react-structure-admin';\r\n\r\nexport const FINANCIALSTATISTIC = 'FINANCIALSTATISTIC';\r\n\r\nexport const FINANCIALSTATISTIC_GET_TOP_RECEIPT_CATEGORIES =\r\n 'FINANCIALSTATISTIC_GET_TOP_RECEIPT_CATEGORIES';\r\nexport const FINANCIALSTATISTIC_GET_TOP_RECEIPT_CATEGORIES_FINISHED =\r\n 'FINANCIALSTATISTIC_GET_TOP_RECEIPT_CATEGORIES_FINISHED';\r\n\r\nexport const FINANCIALSTATISTIC_GET_TOP_PAYMENT_CATEGORIES =\r\n 'FINANCIALSTATISTIC_GET_TOP_PAYMENT_CATEGORIES';\r\nexport const FINANCIALSTATISTIC_GET_TOP_PAYMENT_CATEGORIES_FINISHED =\r\n 'FINANCIALSTATISTIC_GET_TOP_PAYMENT_CATEGORIES_FINISHED';\r\n\r\nexport const FINANCIALSTATISTIC_GET_TOTAL_LAST_MONTH =\r\n 'FINANCIALSTATISTIC_GET_TOTAL_LAST_MONTH';\r\nexport const FINANCIALSTATISTIC_GET_TOTAL_LAST_MONTH_FINISHED =\r\n 'FINANCIALSTATISTIC_GET_TOTAL_LAST_MONTH_FINISHED';\r\n\r\nexport const FINANCIALSTATISTIC_GET_SUMMARY = 'FINANCIALSTATISTIC_GET_SUMMARY';\r\nexport const FINANCIALSTATISTIC_GET_SUMMARY_FINISHED =\r\n 'FINANCIALSTATISTIC_GET_SUMMARY_FINISHED';\r\n\r\nexport const FINANCIALSTATISTIC_GET_CASHFLOW =\r\n 'FINANCIALSTATISTIC_GET_CASHFLOW';\r\nexport const FINANCIALSTATISTIC_GET_CASHFLOW_FINISHED =\r\n 'FINANCIALSTATISTIC_GET_CASHFLOW_FINISHED';\r\n\r\nexport const getReceiptTopCategories = (params, onSuccess) => async (\r\n dispatch\r\n) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'financialStatistics',\r\n actionType: FINANCIALSTATISTIC_GET_TOP_RECEIPT_CATEGORIES,\r\n effect: async () =>\r\n api.fetch('financial-statistics/top-categories', {\r\n categoryType: [RECEIPT],\r\n ...params\r\n }),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const getPaymentTopCategories = (params, onSuccess) => async (\r\n dispatch\r\n) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'financialStatistics',\r\n actionType: FINANCIALSTATISTIC_GET_TOP_PAYMENT_CATEGORIES,\r\n effect: async () =>\r\n api.fetch('financial-statistics/top-categories', {\r\n categoryType: [PAYMENT],\r\n ...params\r\n }),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const getTotalLastMonth = (params, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'financialStatistics',\r\n actionType: FINANCIALSTATISTIC_GET_TOTAL_LAST_MONTH,\r\n effect: async () =>\r\n api.fetch('financial-statistics/total-movement-for-last-months', params),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const getSummary = (params, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'financialStatistics',\r\n actionType: FINANCIALSTATISTIC_GET_SUMMARY,\r\n effect: async () => api.fetch('financial-statistics/summary'),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const getCashFlow = (params, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'financialStatistics',\r\n actionType: FINANCIALSTATISTIC_GET_CASHFLOW,\r\n effect: async () => api.fetch('financial-statistics/cash-flow', params),\r\n onSuccess\r\n });\r\n};\r\n","const LIMIT_APPOINTMENTS_TODAY = 'limit_appointments_per_day';\r\nconst MIN_PROFESSIONAL_NUMBER = 'min_professional_number';\r\nconst MAX_PROFESSIONAL_NUMBER = 'max_professional_number';\r\nconst MAX_FREE_INVOICES_MONTH_PER_PROFESSIONAL =\r\n 'max_free_invoices_month_per_professional';\r\nconst MAX_LICENSE = 'max_license';\r\nconst MIN_LICENSE = 'min_license';\r\n\r\nexport {\r\n LIMIT_APPOINTMENTS_TODAY,\r\n MIN_PROFESSIONAL_NUMBER,\r\n MAX_PROFESSIONAL_NUMBER,\r\n MAX_FREE_INVOICES_MONTH_PER_PROFESSIONAL,\r\n MAX_LICENSE,\r\n MIN_LICENSE\r\n};\r\n","const { Iugu } = window;\r\nexport default Iugu;\r\n","import { normalizeToSelect } from 'react-structure-admin';\r\n\r\nconst cityNormalizeToSelect = (city) => {\r\n return normalizeToSelect(city, {\r\n label: (c) => {\r\n return `${c.name} - ${c.state?.toUpperCase()}`;\r\n }\r\n });\r\n};\r\n\r\nexport default cityNormalizeToSelect;\r\n","const cityNormalizeFromSelect = (value) => {\r\n if (!value) {\r\n return null;\r\n }\r\n\r\n const i = value.label.lastIndexOf(' - ');\r\n\r\n if (i < 0) {\r\n return {\r\n id: value.key,\r\n name: value.label.substring(0, i)\r\n };\r\n }\r\n\r\n return {\r\n id: value.key,\r\n name: value.label.substring(0, i),\r\n state: value.label.substring(i + 3)\r\n };\r\n};\r\n\r\nexport default cityNormalizeFromSelect;","const abbreviations = ['Dr.', 'Dra.'];\r\n\r\nconst reducerName = (name) => {\r\n if (!name) {\r\n return '';\r\n }\r\n\r\n const base = name\r\n .trim()\r\n .split(' ')\r\n .filter(\r\n (c) => !['de', 'da', 'do', 'das', 'dos', 'e'].includes(c.toLowerCase())\r\n );\r\n\r\n const namesWithoutAbbreviations = base.filter(\r\n (c) => !abbreviations.includes(c)\r\n );\r\n\r\n const abbreviation = base.find((c) => abbreviations.includes(c));\r\n\r\n const firstName = namesWithoutAbbreviations.slice(0, 1).join(' ');\r\n const lastName =\r\n namesWithoutAbbreviations.length > 1\r\n ? namesWithoutAbbreviations.slice(-1).join(' ')\r\n : null;\r\n\r\n return [abbreviation, firstName, lastName].filter((c) => !!c).join(' ');\r\n};\r\n\r\nexport default reducerName;\r\n","const dateTypes = ['0001-01-01T00:00:00', '0001-01-01T00'];\r\n\r\nconst isNullOrEmpty = (value, type) => {\r\n if (value === undefined || value == null) {\r\n return true;\r\n }\r\n\r\n switch (type) {\r\n case 'date':\r\n return dateTypes.includes(value);\r\n case 'guid':\r\n return value === '00000000-0000-0000-0000-000000000000';\r\n case 'object':\r\n return Object.keys(value).length === 0;\r\n default:\r\n return value === '';\r\n }\r\n};\r\n\r\nexport default isNullOrEmpty;\r\n","import React, { useRef, useImperativeHandle, useCallback } from 'react';\r\nimport { debounce } from 'lodash';\r\nimport { Scrollbars } from 'react-custom-scrollbars';\r\n\r\nconst CustomScrollbars = (props, ref) => {\r\n const { onScrollEnd, loading, ...rest } = props;\r\n const scrollbar = useRef(null);\r\n\r\n const handleScrollEnd = () => {\r\n if (onScrollEnd) {\r\n onScrollEnd();\r\n }\r\n };\r\n\r\n const debouncingScrollEnd = useCallback(debounce(handleScrollEnd, 200), [\r\n onScrollEnd\r\n ]);\r\n\r\n const handleScroll = (event) => {\r\n const { target } = event;\r\n if (\r\n parseFloat(target.scrollTop + target.offsetHeight).toFixed(0) >=\r\n parseFloat(target.scrollHeight).toFixed(0) - 10\r\n ) {\r\n if (onScrollEnd && !loading) {\r\n debouncingScrollEnd();\r\n }\r\n }\r\n };\r\n\r\n const resetScroll = () => {\r\n scrollbar.current.scrollTop(0);\r\n };\r\n\r\n useImperativeHandle(ref, () => {\r\n return {\r\n resetScroll\r\n };\r\n });\r\n\r\n return (\r\n (\r\n \r\n )}\r\n renderTrackHorizontal={(renderProps) => (\r\n \r\n )}\r\n />\r\n );\r\n};\r\n\r\nexport default React.forwardRef(CustomScrollbars);\r\n","/* eslint-disable no-bitwise */\r\nexport default function generateUUID() {\r\n let d = new Date().getTime();\r\n let d2 = (performance && performance.now && performance.now() * 1000) || 0;\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\r\n let r = Math.random() * 16;\r\n if (d > 0) {\r\n r = (d + r) % 16 | 0;\r\n d = Math.floor(d / 16);\r\n } else {\r\n r = (d2 + r) % 16 | 0;\r\n d2 = Math.floor(d2 / 16);\r\n }\r\n return (c === 'x' ? r : (r & 0x3) | 0x8).toString(16);\r\n });\r\n}\r\n","import { api, dispatcher } from 'react-structure-admin';\r\n\r\nexport const STATISTICS_GET = 'STATISTICS_GET';\r\nexport const STATISTICS_GET_FINISHED = 'STATISTICS_GET_FINISHED';\r\n\r\nexport const STATISTICS_USER_GET = 'STATISTICS_USER_GET';\r\nexport const STATISTICS_USER_GET_FINISHED = 'STATISTICS_USER_GET_FINISHED';\r\n\r\nexport const STATISTICS_GET_PRODUCTIVITY = 'STATISTICS_GET_PRODUCTIVITY';\r\nexport const STATISTICS_GET_PRODUCTIVITY_FINISHED =\r\n 'STATISTICS_GET_PRODUCTIVITY_FINISHED';\r\n\r\nexport const STATISTICS_GET_STEPS = 'STATISTICS_GET_STEPS';\r\nexport const STATISTICS_GET_STEPS_FINISHED = 'STATISTICS_GET_STEPS_FINISHED';\r\n\r\nexport const STATISTICS_GET_ATTENDANCES_IN_PROGRESS =\r\n 'STATISTICS_GET_ATTENDANCES_IN_PROGRESS';\r\nexport const STATISTICS_GET_ATTENDANCES_IN_PROGRESS_FINISHED =\r\n 'STATISTICS_GET_ATTENDANCES_IN_PROGRESS_FINISHED';\r\n\r\nexport const get = (params) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'statistics',\r\n actionType: STATISTICS_GET,\r\n effect: async () => api.fetch(`statistics`, { ...params })\r\n });\r\n};\r\n\r\nexport const getMonthlyProductivity = (params = {}) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'statistics',\r\n actionType: STATISTICS_GET_PRODUCTIVITY,\r\n effect: async () =>\r\n api.fetch(`statistics/monthly-productivity`, { ...params })\r\n });\r\n};\r\n\r\nexport const getAttendanceInProgress = (params = {}) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'statistics',\r\n actionType: STATISTICS_GET_ATTENDANCES_IN_PROGRESS,\r\n effect: async () => api.fetch(`statistics/attendance-in-progress`, params)\r\n });\r\n};\r\n","const getDataFromStorage = (key) => {\r\n try {\r\n const auth64 = localStorage.getItem(key);\r\n return JSON.parse(auth64 ? atob(auth64) : '{}');\r\n } catch (e) {\r\n return {};\r\n }\r\n};\r\n\r\nexport default getDataFromStorage;\r\n","import getDataFromStorage from 'util/getDataFromStorage';\r\n\r\nconst auth = getDataFromStorage('auth_data');\r\nconst accessToken = localStorage.getItem('auth_accesstoken');\r\nconst refreshToken = localStorage.getItem('auth_refreshtoken');\r\nconst user = auth.user || {};\r\nconst currentCollaborator = localStorage.getItem('current_collaborator');\r\n\r\nexport const authInitialState = {\r\n ...auth,\r\n user,\r\n claims: user.claims || [],\r\n permissions: user.permissions || [],\r\n expirationDate: auth.expirationDate ? new Date(auth.expirationDate) : null,\r\n refreshToken,\r\n accessToken,\r\n currentCollaborator: currentCollaborator\r\n ? JSON.parse(currentCollaborator)\r\n : null\r\n};\r\n","import React from 'react';\r\nimport { LoadingOutlined } from '@ant-design/icons';\r\nimport { Spin } from 'antd';\r\n\r\nconst CircularProgress = ({ className }) => {\r\n const antIcon = ;\r\n return (\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default CircularProgress;\r\n","import React, { Component } from 'react';\r\nimport Nprogress from 'nprogress';\r\nimport ReactPlaceholder from 'react-placeholder';\r\nimport 'nprogress/nprogress.css';\r\nimport 'react-placeholder/lib/reactPlaceholder.css';\r\nimport CircularProgress from '../components/CircularProgress';\r\n\r\nexport default function asyncComponent(importComponent, showSpinner = false) {\r\n class AsyncFunc extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n component: null\r\n };\r\n this.showSpinner = showSpinner;\r\n }\r\n\r\n componentWillMount() {\r\n Nprogress.configure({ showSpinner: this.showSpinner });\r\n Nprogress.start();\r\n }\r\n\r\n componentWillUnmount() {\r\n this.mounted = false;\r\n }\r\n\r\n async componentDidMount() {\r\n this.mounted = true;\r\n const { default: Component } = await importComponent();\r\n Nprogress.done();\r\n if (this.mounted) {\r\n this.setState({\r\n component: \r\n });\r\n }\r\n }\r\n\r\n render() {\r\n const Component =\r\n this.state.component ||\r\n (this.showSpinner ? : <>>);\r\n return (\r\n \r\n {Component}\r\n \r\n );\r\n }\r\n }\r\n\r\n return AsyncFunc;\r\n}\r\n","const Auxiliary = (props) => props.children;\r\n\r\nexport default Auxiliary;\r\n","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport { useSelector } from 'react-redux';\r\nimport {\r\n NAV_STYLE_DRAWER,\r\n NAV_STYLE_FIXED,\r\n NAV_STYLE_NO_HEADER_MINI_SIDEBAR,\r\n TAB_SIZE,\r\n THEME_TYPE_LITE\r\n} from '../../constants/themeSettings';\r\n\r\nconst SidebarLogo = (props) => {\r\n const { width, themeType } = useSelector((state) => state.settings);\r\n let { navStyle } = props;\r\n if (width < TAB_SIZE && navStyle === NAV_STYLE_FIXED) {\r\n navStyle = NAV_STYLE_DRAWER;\r\n }\r\n\r\n return (\r\n \r\n
\r\n {navStyle === NAV_STYLE_NO_HEADER_MINI_SIDEBAR && width >= TAB_SIZE ? (\r\n
.default})
\r\n ) : themeType === THEME_TYPE_LITE ? (\r\n
.default}\r\n)
\r\n ) : (\r\n
.default})
\r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default SidebarLogo;\r\n","import React from 'react';\r\nimport { Menu } from 'antd';\r\nimport { Link } from 'react-router-dom';\r\nimport { buildMatchPath } from 'react-structure-admin';\r\nimport useAuth from 'core/hooks/useAuth';\r\nimport { THEME_TYPE_LITE } from '../../constants/themeSettings';\r\n\r\nconst SidebarContentRoute = ({\r\n pathname,\r\n routes,\r\n match,\r\n themeType,\r\n readOnly\r\n}) => {\r\n const { isAuthenticated, user, isAdmin } = useAuth();\r\n\r\n const allowShow = (route) => {\r\n const { roles } = route;\r\n\r\n if (!isAuthenticated) {\r\n return false;\r\n }\r\n\r\n if (isAdmin()) {\r\n return true;\r\n }\r\n\r\n if (roles && !roles.some((c) => user.roles.includes(c) || c === '*')) {\r\n return false;\r\n }\r\n\r\n return true;\r\n };\r\n\r\n const replacePathBase = (path) => {\r\n return path.replace('/app', '').replace('/a', '');\r\n };\r\n\r\n const menu = (route, basePath, sub) => {\r\n if (\r\n route.routes &&\r\n route.isContainer !== false &&\r\n route.routes.find((c) => c.menu)\r\n ) {\r\n const key = (basePath || '') + route.path;\r\n\r\n return (\r\n \r\n {route.routes\r\n .filter((c) => c.menu)\r\n .map((c) => menu(c, route.path, true))}\r\n \r\n );\r\n }\r\n\r\n let key = buildMatchPath(match, (basePath || '') + route.path);\r\n key = replacePathBase(key);\r\n\r\n return (\r\n \r\n \r\n \r\n {route.title}\r\n
\r\n \r\n \r\n );\r\n };\r\n\r\n const defaultOpenKeys = [replacePathBase(pathname)];\r\n const keys = replacePathBase(pathname)\r\n .split('/')\r\n .filter((c) => !!c);\r\n\r\n if (keys.length > 1) {\r\n defaultOpenKeys.push(`/${keys[0]}`);\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SidebarContentRoute;\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Menu } from 'antd';\r\nimport { Link } from 'react-router-dom';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport Auxiliary from 'components/Auxiliary';\r\nimport { buildMatchPath, RECORD_FIELD } from 'react-structure-admin';\r\nimport UserEdit from 'pages/shared/CurrentUserEdit';\r\nimport UpdatePassword from 'pages/shared/UpdatePassword';\r\nimport CurrentUserProfile from 'components/CurrentUserProfile';\r\nimport CustomScrollbars from 'components/CustomScrollbars';\r\nimport SidebarLogo from './SidebarLogo';\r\nimport SidebarContentRoute from './SidebarContentRoute';\r\n\r\nimport {\r\n NAV_STYLE_NO_HEADER_EXPANDED_SIDEBAR,\r\n NAV_STYLE_NO_HEADER_MINI_SIDEBAR,\r\n THEME_TYPE_LITE,\r\n APP_ADMIN\r\n} from '../../constants/themeSettings';\r\n\r\nclass SidebarContent extends Component {\r\n getNoHeaderClass = (navStyle) => {\r\n if (\r\n navStyle === NAV_STYLE_NO_HEADER_MINI_SIDEBAR ||\r\n navStyle === NAV_STYLE_NO_HEADER_EXPANDED_SIDEBAR\r\n ) {\r\n return 'gx-no-header-notifications';\r\n }\r\n return '';\r\n };\r\n\r\n getNavStyleSubMenuClass = (navStyle) => {\r\n if (navStyle === NAV_STYLE_NO_HEADER_MINI_SIDEBAR) {\r\n return 'gx-no-header-submenu-popup';\r\n }\r\n return '';\r\n };\r\n\r\n render() {\r\n const {\r\n themeType,\r\n navStyle,\r\n pathname,\r\n routes,\r\n match,\r\n currentApp,\r\n resourceUsers,\r\n readOnly\r\n } = this.props;\r\n\r\n let selectedKeys = pathname.substr(1);\r\n if (selectedKeys === '') {\r\n selectedKeys = 'index';\r\n }\r\n\r\n return (\r\n \r\n \r\n\r\n {resourceUsers && resourceUsers.editingPassword && (\r\n \r\n )}\r\n\r\n \r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nSidebarContent.propTypes = {};\r\nconst mapStateToProps = ({ settings, resources = {} }) => {\r\n const { navStyle, themeType, locale, pathname, currentApp } = settings;\r\n const { users = {} } = resources;\r\n const { editing: editingUser, [RECORD_FIELD]: resourceUsers = {} } = users;\r\n return {\r\n navStyle,\r\n themeType,\r\n locale,\r\n pathname,\r\n currentApp,\r\n editingUser,\r\n resourceUsers\r\n };\r\n};\r\nexport default connect(mapStateToProps)(SidebarContent);\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Drawer, Layout } from 'antd';\r\n\r\nimport {\r\n NAV_STYLE_DRAWER,\r\n NAV_STYLE_FIXED,\r\n NAV_STYLE_MINI_SIDEBAR,\r\n NAV_STYLE_NO_HEADER_EXPANDED_SIDEBAR,\r\n NAV_STYLE_NO_HEADER_MINI_SIDEBAR,\r\n TAB_SIZE,\r\n THEME_TYPE_LITE\r\n} from 'constants/themeSettings';\r\nimport {\r\n toggleCollapsedSideNav,\r\n updateWindowWidth\r\n} from 'stores/settings/settingsActions';\r\nimport SidebarContent from './SidebarContent';\r\n\r\nconst { Sider } = Layout;\r\n\r\nclass Sidebar extends Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n this.onToggleCollapsedNav = this.onToggleCollapsedNav.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n window.addEventListener('resize', () => {\r\n this.props.updateWindowWidth(window.innerWidth);\r\n });\r\n }\r\n\r\n onToggleCollapsedNav() {\r\n const { navCollapsed } = this.props;\r\n this.props.toggleCollapsedSideNav(!navCollapsed);\r\n }\r\n\r\n render() {\r\n const {\r\n themeType,\r\n navCollapsed,\r\n width,\r\n navStyle,\r\n routes = [],\r\n match,\r\n readOnly\r\n } = this.props;\r\n\r\n let drawerStyle = 'gx-collapsed-sidebar';\r\n\r\n if (navStyle === NAV_STYLE_FIXED) {\r\n drawerStyle = '';\r\n } else if (navStyle === NAV_STYLE_NO_HEADER_MINI_SIDEBAR) {\r\n drawerStyle = 'gx-mini-sidebar gx-mini-custom-sidebar';\r\n } else if (navStyle === NAV_STYLE_NO_HEADER_EXPANDED_SIDEBAR) {\r\n drawerStyle = 'gx-custom-sidebar';\r\n } else if (navStyle === NAV_STYLE_MINI_SIDEBAR) {\r\n drawerStyle = 'gx-mini-sidebar';\r\n } else if (navStyle === NAV_STYLE_DRAWER) {\r\n drawerStyle = 'gx-collapsed-sidebar';\r\n }\r\n if (\r\n (navStyle === NAV_STYLE_FIXED ||\r\n navStyle === NAV_STYLE_MINI_SIDEBAR ||\r\n navStyle === NAV_STYLE_NO_HEADER_EXPANDED_SIDEBAR) &&\r\n width < TAB_SIZE\r\n ) {\r\n drawerStyle = 'gx-collapsed-sidebar';\r\n }\r\n\r\n return (\r\n \r\n {navStyle === NAV_STYLE_DRAWER || width < TAB_SIZE ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = ({ settings }) => {\r\n const { themeType, navStyle, navCollapsed, width, locale } = settings;\r\n return { themeType, navStyle, navCollapsed, width, locale };\r\n};\r\nexport default connect(mapStateToProps, {\r\n updateWindowWidth,\r\n toggleCollapsedSideNav\r\n})(Sidebar);\r\n","import { library } from '@fortawesome/fontawesome-svg-core';\r\n\r\nimport {\r\n faUniversity,\r\n faGavel,\r\n faCity,\r\n faBuilding,\r\n faTachometerAlt,\r\n faUser,\r\n faList,\r\n faClipboardCheck,\r\n faForward,\r\n faPencilAlt,\r\n faTrashAlt,\r\n faSave,\r\n faTimes,\r\n faClipboardList,\r\n faLayerGroup,\r\n faBook,\r\n faHome,\r\n faFileAlt,\r\n faFileSignature,\r\n faPlusCircle,\r\n faCaretRight,\r\n faEye,\r\n faUserShield,\r\n faChevronLeft,\r\n faCheck,\r\n faCheckSquare,\r\n faHeartbeat,\r\n faLaptopMedical,\r\n faReply,\r\n faFilter,\r\n faDownload,\r\n faArrowRight,\r\n faFileContract,\r\n faInfoCircle,\r\n faCopy as fasFaCopy,\r\n faUpload,\r\n faUndoAlt,\r\n faUserEdit,\r\n faLightbulb,\r\n faExclamationTriangle,\r\n faCircle,\r\n faUsers,\r\n faUserFriends,\r\n faBox,\r\n faUserMd,\r\n faBriefcaseMedical,\r\n faFileMedicalAlt,\r\n faShareAltSquare,\r\n faBan,\r\n faFirstAid,\r\n faNotesMedical,\r\n faAngleDown,\r\n faSlidersH,\r\n faShareAlt,\r\n faFileMedical,\r\n faPrescriptionBottleAlt,\r\n faPlayCircle,\r\n faListAlt,\r\n faProcedures,\r\n faCalendarDay,\r\n faUserCheck,\r\n faArrowLeft,\r\n faMobileAlt,\r\n faAt,\r\n faCalendarAlt,\r\n faBriefcase,\r\n faThumbsUp,\r\n faMapMarkedAlt,\r\n faCashRegister,\r\n faWallet,\r\n faEnvelope,\r\n faCoins,\r\n faBalanceScaleRight,\r\n faBell,\r\n faClock,\r\n faHandHoldingUsd,\r\n faTags,\r\n faChartLine,\r\n faReceipt,\r\n faStickyNote,\r\n faAngleLeft,\r\n faUserPlus,\r\n faTimesCircle,\r\n faUserTimes,\r\n faSignInAlt,\r\n faPaperPlane,\r\n faMobile,\r\n faFileInvoiceDollar,\r\n faSpinner,\r\n faHourglassHalf,\r\n faPrint,\r\n faLandmark,\r\n faCogs,\r\n faTruckLoading,\r\n faCalendar,\r\n faCalculator,\r\n faBalanceScale,\r\n faUserGraduate,\r\n faGraduationCap,\r\n faSchool,\r\n faIdBadge,\r\n faCubes,\r\n faRulerHorizontal,\r\n faBoxes,\r\n faCog\r\n} from '@fortawesome/free-solid-svg-icons';\r\n\r\nimport {\r\n faCopy as farFaCopy,\r\n faFileAlt as farFile,\r\n faFilePdf,\r\n faFileExcel,\r\n faFileVideo,\r\n faFileAudio,\r\n faFileWord,\r\n faFileImage,\r\n faCalendarAlt as farCalendarAlt,\r\n faCalendarCheck as farCalendarCheck,\r\n faEnvelope as farEnvelope,\r\n faTimesCircle as farTimesCircle,\r\n faCheckCircle as farCheckCircle\r\n} from '@fortawesome/free-regular-svg-icons';\r\n\r\nimport {\r\n faCcVisa,\r\n faCcMastercard,\r\n faCcDinersClub,\r\n faCcAmex,\r\n faWhatsapp\r\n} from '@fortawesome/free-brands-svg-icons';\r\n\r\nlibrary.add(\r\n fasFaCopy,\r\n farFaCopy,\r\n faUniversity,\r\n faGavel,\r\n faCity,\r\n faBuilding,\r\n faTachometerAlt,\r\n faUser,\r\n faList,\r\n faClipboardCheck,\r\n faForward,\r\n faPencilAlt,\r\n faTrashAlt,\r\n faSave,\r\n faTimes,\r\n faClipboardList,\r\n faLayerGroup,\r\n faBook,\r\n faHome,\r\n faFileAlt,\r\n faFileSignature,\r\n faEye,\r\n faInfoCircle,\r\n faPlusCircle,\r\n faCaretRight,\r\n faUserShield,\r\n faChevronLeft,\r\n faCheck,\r\n faCheckSquare,\r\n faReply,\r\n faFilter,\r\n faDownload,\r\n faArrowRight,\r\n faUpload,\r\n faFileContract,\r\n faUndoAlt,\r\n faUserEdit,\r\n faLightbulb,\r\n faExclamationTriangle,\r\n faCircle,\r\n farFile,\r\n faUsers,\r\n faUserFriends,\r\n faBox,\r\n faUserMd,\r\n faBriefcaseMedical,\r\n faShareAltSquare,\r\n faFileMedicalAlt,\r\n faBan,\r\n faFirstAid,\r\n faNotesMedical,\r\n faAngleDown,\r\n faSlidersH,\r\n faFilePdf,\r\n faFileExcel,\r\n faFileVideo,\r\n faFileAudio,\r\n faFileWord,\r\n faFileImage,\r\n faShareAlt,\r\n faFileMedical,\r\n faPrescriptionBottleAlt,\r\n faPlayCircle,\r\n faListAlt,\r\n faProcedures,\r\n farCalendarAlt,\r\n farCalendarCheck,\r\n faCalendarDay,\r\n faUserCheck,\r\n faArrowLeft,\r\n faMobileAlt,\r\n faAt,\r\n faCalendarAlt,\r\n faHeartbeat,\r\n faLaptopMedical,\r\n faBriefcase,\r\n faThumbsUp,\r\n faCcVisa,\r\n faCcMastercard,\r\n faCcDinersClub,\r\n faCcAmex,\r\n faMapMarkedAlt,\r\n faCashRegister,\r\n faWallet,\r\n faEnvelope,\r\n faCoins,\r\n faBalanceScaleRight,\r\n faBell,\r\n faClock,\r\n faHandHoldingUsd,\r\n faTags,\r\n faChartLine,\r\n faReceipt,\r\n faStickyNote,\r\n faAngleLeft,\r\n faUserPlus,\r\n faTimesCircle,\r\n faUserTimes,\r\n faSignInAlt,\r\n faPaperPlane,\r\n faWhatsapp,\r\n faMobile,\r\n farEnvelope,\r\n faFileInvoiceDollar,\r\n faSpinner,\r\n faHourglassHalf,\r\n faPrint,\r\n farTimesCircle,\r\n faLandmark,\r\n faCogs,\r\n faTruckLoading,\r\n faCalendar,\r\n faCalculator,\r\n faBalanceScale,\r\n farCheckCircle,\r\n faUserGraduate,\r\n faGraduationCap,\r\n faSchool,\r\n faIdBadge,\r\n faCubes,\r\n faRulerHorizontal,\r\n faBoxes,\r\n faCog\r\n);\r\n","import React from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Menu, Dropdown } from 'antd';\r\nimport { RECORD_FIELD } from 'react-structure-admin';\r\nimport UserProfileImage from 'components/UserProfileImage';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { updatePassword, currentUserGet } from 'stores/users/userActions';\r\n\r\nimport UpdatePassword from 'pages/shared/UpdatePassword';\r\nimport CurrentUserEdit from 'pages/shared/CurrentUserEdit';\r\nimport useAuth from 'core/hooks/useAuth';\r\n\r\nconst CurrentAdminProfile = () => {\r\n const { user } = useAuth();\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const { editingCurrentUser, [RECORD_FIELD]: resourceUsers } = useSelector(\r\n (state) => state.resources.users || {}\r\n );\r\n\r\n const signoutClickHandle = () => {\r\n history.push('/signout');\r\n };\r\n\r\n const changePasswordClickHandle = () => {\r\n dispatch(updatePassword({ userId: user.id }));\r\n };\r\n\r\n const handleEditProfile = () => {\r\n dispatch(currentUserGet(user.id));\r\n };\r\n\r\n const userMenuOptions = (\r\n \r\n );\r\n\r\n const userName = user ? user.displayName || user.name : null;\r\n\r\n if (!user) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n
\r\n\r\n
\r\n {userName ? (\r\n {userName}\r\n ) : (\r\n Carregando...\r\n )}\r\n \r\n
\r\n
\r\n \r\n {editingCurrentUser ? : null}\r\n {resourceUsers && resourceUsers.editingPassword && (\r\n \r\n )}\r\n >\r\n );\r\n};\r\n\r\nexport default CurrentAdminProfile;\r\n","import React from 'react';\r\nimport { Layout } from 'antd';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport {\r\n NAV_STYLE_DRAWER,\r\n NAV_STYLE_FIXED,\r\n NAV_STYLE_MINI_SIDEBAR,\r\n NAV_STYLE_NO_HEADER_MINI_SIDEBAR,\r\n TAB_SIZE\r\n} from 'constants/themeSettings';\r\nimport {\r\n onNavStyleChange,\r\n toggleCollapsedSideNav\r\n} from 'stores/settings/settingsActions';\r\nimport CurrentAdminProfile from 'components/CurrentAdminProfile';\r\n\r\nconst { Header } = Layout;\r\n\r\nconst TopbarAdmin = () => {\r\n const dispatch = useDispatch();\r\n\r\n const { width, navCollapsed } = useSelector((state) => state.settings);\r\n\r\n let { navStyle } = useSelector((state) => state.settings);\r\n\r\n if (width < TAB_SIZE && navStyle === NAV_STYLE_FIXED) {\r\n navStyle = NAV_STYLE_DRAWER;\r\n }\r\n\r\n const toggleClickHandle = () => {\r\n if (navStyle === NAV_STYLE_DRAWER) {\r\n dispatch(toggleCollapsedSideNav(!navCollapsed));\r\n } else if (navStyle === NAV_STYLE_FIXED) {\r\n dispatch(onNavStyleChange(NAV_STYLE_MINI_SIDEBAR));\r\n } else if (navStyle === NAV_STYLE_NO_HEADER_MINI_SIDEBAR) {\r\n dispatch(toggleCollapsedSideNav(!navCollapsed));\r\n } else {\r\n dispatch(onNavStyleChange(NAV_STYLE_FIXED));\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n >\r\n );\r\n};\r\n\r\nexport default TopbarAdmin;\r\n","import React from 'react';\r\nimport useAuth from 'core/hooks/useAuth';\r\nimport { Redirect, Route } from 'react-router-dom';\r\nimport { configManager } from 'react-structure-admin';\r\nimport { ROLE_ADMIN } from 'constants/types';\r\n\r\nconst RestrictedRoute = ({ roles = [], features = [], ...rest }) => {\r\n const {\r\n isAuthenticated,\r\n tenantId,\r\n user = {},\r\n features: userFeatures = []\r\n } = useAuth();\r\n const userRoles = user?.role ? [user?.role] : user?.roles || [];\r\n\r\n const userHasRole = () => {\r\n return (\r\n roles.length === 0 ||\r\n roles.findIndex((c) => userRoles.includes(c) || c === '*') >= 0\r\n );\r\n };\r\n\r\n const userHasFeature = () => {\r\n return (\r\n features.length === 0 ||\r\n features.findIndex((c) => userFeatures.includes(c)) >= 0\r\n );\r\n };\r\n\r\n const redirectToDefaultUserRoute = () => {\r\n const config = configManager.getConfig();\r\n\r\n const role =\r\n config.roles.find((c) => userRoles.includes(c.name)) ||\r\n config.roles.find((c) => c.name === `*`);\r\n\r\n if (userRoles.includes(ROLE_ADMIN)) {\r\n return ;\r\n }\r\n\r\n if (role && role.defaultPath) {\r\n return (\r\n } />\r\n );\r\n }\r\n\r\n return } />;\r\n };\r\n\r\n if (!userRoles.includes(ROLE_ADMIN) && !tenantId) {\r\n return (\r\n } />\r\n );\r\n }\r\n\r\n if (!isAuthenticated) {\r\n localStorage.removeItem('tenantId');\r\n return } />;\r\n }\r\n\r\n if (!userHasRole() || !userHasFeature()) {\r\n return redirectToDefaultUserRoute();\r\n }\r\n\r\n return ;\r\n};\r\n\r\nexport default RestrictedRoute;\r\n","import { useHistory } from 'react-router-dom';\r\n\r\nconst RouteRedirect = ({ to }) => {\r\n useHistory().push(to);\r\n return null;\r\n};\r\n\r\nexport default RouteRedirect;\r\n","import React from 'react';\r\nimport { Route } from 'react-router-dom';\r\n\r\nconst SimpleRoute = ({ basePath, route, ...rest }) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SimpleRoute;\r\n","import React, { Suspense, useCallback } from 'react';\r\nimport { Switch } from 'react-router-dom';\r\nimport { buildPath } from 'react-structure-admin';\r\nimport generateUUID from 'util/functions/generateUUID';\r\nimport RestrictedRoute from './RestrictedRoute';\r\nimport RouteRedirect from './RouteRedirect';\r\nimport SimpleRoute from './SimpleRoute';\r\n\r\nconst WrappedRoute = (props) => {\r\n const { route, isContainer, onBeforeRouteRender } = props;\r\n const { roles = [], features = [] } = route;\r\n let { basePath } = props;\r\n\r\n basePath = buildPath(basePath, route.path);\r\n\r\n const renderRoute = (routeProps) => {\r\n if (onBeforeRouteRender) {\r\n const result = onBeforeRouteRender({ basePath, route, routeProps });\r\n\r\n if (result) {\r\n return result;\r\n }\r\n }\r\n\r\n return ;\r\n };\r\n\r\n const isContainerAux = route.isContainer ?? isContainer;\r\n\r\n if (route.redirectTo) {\r\n return (\r\n }\r\n />\r\n );\r\n }\r\n\r\n return (\r\n <>\r\n {(roles && roles.length > 0) || (features && features.length > 0) ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {isContainerAux && route.routes && (\r\n \r\n )}\r\n >\r\n );\r\n};\r\n\r\nconst Routes = ({\r\n routes = [],\r\n roles = [],\r\n basePath = '',\r\n isContainer,\r\n onBeforeRouteRender\r\n}) => {\r\n return (\r\n \r\n Carregando...}>\r\n {routes.map((route) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Routes;\r\n","import React from 'react';\r\nimport { Layout } from 'antd';\r\nimport Sidebar from 'components/Sidebar/Sidebar';\r\nimport { RouteRedirect } from 'react-structure-admin';\r\nimport 'components/IconLibrary';\r\nimport TopbarAdmin from 'components/Topbar/TopbarAdmin';\r\nimport useAuth from 'core/hooks/useAuth';\r\nimport { Routes } from 'components/routes';\r\n\r\nconst { Content } = Layout;\r\n\r\nconst AdminContainer = (props) => {\r\n const { match, routes, roles, basePath } = props;\r\n const { isAuthenticated, isAdmin, tenantId } = useAuth();\r\n\r\n const onBeforeRouteRender = () => {\r\n if (isAuthenticated && !isAdmin() && tenantId) {\r\n return ;\r\n }\r\n\r\n return null;\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AdminContainer;\r\n","/* eslint-disable prefer-const */\r\nimport React from 'react';\r\nimport { Layout, Row, Col, Tooltip } from 'antd';\r\nimport { Link } from 'react-router-dom';\r\nimport { useAuthContext } from 'react-structure-admin';\r\nimport logo from 'assets/images/logo.png';\r\nimport wlogo from 'assets/images/w-logo.png';\r\nimport CurrentUserProfile from 'components/CurrentUserProfile';\r\nimport HorizontalToolbar from 'components/HorizontalToolbar';\r\nimport { MyNotifications } from 'components';\r\nimport { connect, useDispatch } from 'react-redux';\r\nimport { useHistory } from 'react-router';\r\nimport {\r\n NAV_STYLE_DRAWER,\r\n NAV_STYLE_FIXED,\r\n NAV_STYLE_MINI_SIDEBAR,\r\n NAV_STYLE_NO_HEADER_MINI_SIDEBAR,\r\n TAB_SIZE\r\n} from 'constants/themeSettings';\r\nimport {\r\n onNavStyleChange,\r\n toggleCollapsedSideNav\r\n} from 'stores/settings/settingsActions';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { QuestionCircleOutlined } from '@ant-design/icons';\r\nimport useAuth from 'core/hooks/useAuth';\r\nimport {\r\n ROLE_ACCOUNTANT,\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_FINANCIAL,\r\n ROLE_FINANCIAL_ADMINISTRATOR,\r\n ROLE_OTHER_HEALTH_PROFESSIONAL,\r\n ROLE_PROFESSIONAL,\r\n ROLE_STUDENT\r\n} from 'constants/types';\r\n\r\nconst { Header } = Layout;\r\n\r\nconst InsideHeader = ({\r\n routes,\r\n match,\r\n width,\r\n navCollapsed,\r\n navStyle,\r\n readOnly\r\n}) => {\r\n const { isAuthenticated, user } = useAuthContext();\r\n const { serviceProvider } = user;\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const { hasRole } = useAuth();\r\n\r\n const toggleClickHandle = () => {\r\n if (navStyle === NAV_STYLE_DRAWER) {\r\n dispatch(toggleCollapsedSideNav(!navCollapsed));\r\n } else if (navStyle === NAV_STYLE_FIXED) {\r\n dispatch(onNavStyleChange(NAV_STYLE_MINI_SIDEBAR));\r\n } else if (navStyle === NAV_STYLE_NO_HEADER_MINI_SIDEBAR) {\r\n dispatch(toggleCollapsedSideNav(!navCollapsed));\r\n } else {\r\n dispatch(onNavStyleChange(NAV_STYLE_FIXED));\r\n }\r\n };\r\n\r\n const handleClickHelp = () => {\r\n window.open('https://kuidare.tawk.help/', '_blank');\r\n };\r\n\r\n const handleClickSettings = () => {\r\n history.push('/app/settings');\r\n };\r\n\r\n return (\r\n \r\n
\r\n \r\n
TAB_SIZE ? 'start' : 'space-between'}\r\n gutter={[1, 0]}\r\n className=\"gx-w-100 gx-flex-nowrap\"\r\n >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n

\r\n \r\n
\r\n

\r\n \r\n
\r\n \r\n \r\n {width > TAB_SIZE ? (\r\n \r\n \r\n \r\n \r\n \r\n {isAuthenticated ? (\r\n \r\n {hasRole(\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_FINANCIAL_ADMINISTRATOR,\r\n ROLE_PROFESSIONAL,\r\n ROLE_OTHER_HEALTH_PROFESSIONAL,\r\n ROLE_STUDENT,\r\n ROLE_FINANCIAL,\r\n ROLE_ACCOUNTANT\r\n ) ? (\r\n
\r\n \r\n \r\n ) : null}\r\n\r\n {serviceProvider ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n ) : null}\r\n \r\n
\r\n ) : isAuthenticated ? (\r\n \r\n
\r\n\r\n {serviceProvider ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n
\r\n
\r\n ) : null}\r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nconst mapStateToProps = ({ settings }) => {\r\n const { themeType, navStyle, navCollapsed, width, locale } = settings;\r\n return { themeType, navStyle, navCollapsed, width, locale };\r\n};\r\n\r\nexport default connect(mapStateToProps, {})(InsideHeader);\r\n","import React, { useState } from 'react';\r\nimport { api } from 'react-structure-admin';\r\nimport { Alert, Button, Col, Modal, Row, Upload, message } from 'antd';\r\nimport { UploadOutlined } from '@ant-design/icons';\r\nimport useAuth from 'core/hooks/useAuth';\r\n\r\nconst extensions = ['application/pdf'];\r\n\r\nconst UploadRegistrationStatementModal = () => {\r\n const { isRequiredRegistrationStatement, refresh, refreshToken } = useAuth();\r\n const [visible, setVisible] = useState(isRequiredRegistrationStatement);\r\n const [fileList, setFileList] = useState([]);\r\n const [uploading, setUploading] = useState(false);\r\n\r\n const handleUpload = () => {\r\n const formData = new FormData();\r\n\r\n fileList.forEach((file) => {\r\n formData.append('file', file);\r\n formData.append('type', 'attachment');\r\n });\r\n\r\n setUploading(true);\r\n\r\n api\r\n .post('student-accounts/registration-statement', formData)\r\n .then((res) => {\r\n if (res.status !== 200 && res?.message) {\r\n throw new Error(res?.message);\r\n }\r\n })\r\n .then(() => {\r\n setFileList([]);\r\n refresh({ refreshToken, type: 'professional' });\r\n message.success('Declaração de matrícula enviada.');\r\n setVisible(false);\r\n })\r\n .catch((error) => {\r\n message.error(error?.message ?? 'Ocorreu um erro ao enviar o arquivo.');\r\n })\r\n .finally(() => {\r\n setUploading(false);\r\n });\r\n };\r\n\r\n const props = {\r\n onRemove: (file) => {\r\n const index = fileList.indexOf(file);\r\n const newFileList = fileList.slice();\r\n newFileList.splice(index, 1);\r\n setFileList(newFileList);\r\n },\r\n beforeUpload: (file) => {\r\n if (!extensions.includes(file.type.toLowerCase())) {\r\n message.error('É permitido somente arquivos com a extensão .pdf');\r\n return false;\r\n }\r\n\r\n const isLt2M = file.size / 1024 / 1024 < 2;\r\n\r\n if (!isLt2M) {\r\n message.error('O tamanho do arquivo não pode ser superior a 2MB');\r\n return false;\r\n }\r\n\r\n setFileList([...fileList, file]);\r\n\r\n return false;\r\n },\r\n fileList\r\n };\r\n\r\n return (\r\n setVisible(false)}\r\n width={800}\r\n footer={\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n } disabled={fileList.length > 0}>\r\n Selecione o arquivo (*.pdf)\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default UploadRegistrationStatementModal;\r\n","import React from 'react';\r\nimport { Layout } from 'antd';\r\nimport Sidebar from 'components/Sidebar/Sidebar';\r\nimport { RouteRedirect } from 'react-structure-admin';\r\nimport 'components/IconLibrary';\r\nimport InsideHeader from 'components/Topbar/InsideHeader';\r\nimport useSubscription from 'core/hooks/useSubscription';\r\n\r\nimport { ChangeCollaborator } from 'components';\r\nimport UploadRegistrationStatementModal from 'pages/shared/UploadRegistrationStatementModal';\r\nimport useAuth from 'core/hooks/useAuth';\r\nimport { Routes } from 'components/routes';\r\n\r\nconst { Content } = Layout;\r\n\r\nconst AppContainer = (props) => {\r\n const { match, routes, roles, basePath } = props;\r\n const { isAuthenticated, isAdmin, isMultiTenant, user, tenantId } = useAuth();\r\n const { isActivated, hasLicense } = useSubscription();\r\n\r\n const onBeforeRouteRender = ({ route }) => {\r\n if (isAuthenticated && isAdmin() && !tenantId) {\r\n return ;\r\n }\r\n\r\n if (isAuthenticated && isMultiTenant && !tenantId) {\r\n return ;\r\n }\r\n\r\n if (!isAuthenticated) {\r\n return ;\r\n }\r\n\r\n if (\r\n !isActivated &&\r\n hasLicense &&\r\n route?.path !== '/expired-license' &&\r\n route?.path !== '/subscriptions'\r\n ) {\r\n return ;\r\n }\r\n\r\n if (\r\n !isActivated &&\r\n route?.path !== '/subscriptions' &&\r\n route?.path !== '/expired-license'\r\n ) {\r\n const allowedRoutes =\r\n !isAdmin() && user.hasTreatmentInvite\r\n ? ['/patients', '/:id/history']\r\n : [];\r\n\r\n if (!allowedRoutes.some((c) => route.path.startsWith(c))) {\r\n return ;\r\n }\r\n }\r\n\r\n return null;\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AppContainer;\r\n","import React from 'react';\r\nimport { Menu } from 'antd';\r\nimport { buildMatchPath } from 'react-structure-admin';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { useHistory } from 'react-router-dom';\r\nimport useAuth from 'core/hooks/useAuth';\r\nimport { ROLE_ADMIN } from 'constants/types';\r\n\r\nconst SettingsMenu = (props) => {\r\n const { match, routes, collapsed } = props;\r\n const { user, hasRole } = useAuth();\r\n const history = useHistory();\r\n\r\n const handleGo = (url) => {\r\n history.push(url);\r\n };\r\n\r\n const getIcon = (route) => {\r\n if (!route.menu) {\r\n return null;\r\n }\r\n\r\n return ;\r\n };\r\n\r\n const menu = (route, basePath, sub, index) => {\r\n if (Array.isArray(route.roles) && !hasRole(...route.roles, ROLE_ADMIN)) {\r\n return null;\r\n }\r\n\r\n const url = `${buildMatchPath(match, (basePath || '') + route.path)}`;\r\n\r\n if (route.routes) {\r\n return (\r\n \r\n {route?.menu?.icon ? (\r\n \r\n ) : null}\r\n {collapsed ? null : route.title}\r\n \r\n }\r\n >\r\n {route.routes\r\n .filter((c) => !c.hide)\r\n .map((c) => menu(c, route.path, true, index))}\r\n \r\n );\r\n }\r\n\r\n return (\r\n handleGo(url)}\r\n icon={getIcon(route)}\r\n >\r\n {route.title}\r\n \r\n );\r\n };\r\n\r\n const index = window.location.href.indexOf(match.path);\r\n const key = window.location.href.substring(\r\n index + match.path.length,\r\n window.location.href.length\r\n );\r\n\r\n const defaultOpenKeys = [];\r\n\r\n if ((key.match(new RegExp('/', 'g')) || []).length === 2) {\r\n defaultOpenKeys.push(`/${key.split('/').filter((c) => c !== '')[0]}`);\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SettingsMenu;\r\n","import React from 'react';\r\nimport { Button, Layout } from 'antd';\r\nimport 'components/IconLibrary';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { Routes } from 'components/routes';\r\nimport useAuth from 'core/hooks/useAuth';\r\nimport { MenuFoldOutlined } from '@ant-design/icons';\r\nimport { ROLE_ADMIN } from 'constants/types';\r\nimport SettingsMenu from './SettingsMenu';\r\n\r\n\r\nconst { Content, Sider } = Layout;\r\n\r\nconst Settings = (props) => {\r\n const { match, routes, roles, basePath } = props;\r\n const { hasRole } = useAuth();\r\n const [collapsed, setCollapsed] = React.useState(true);\r\n\r\n const toggleCollapsed = () => {\r\n setCollapsed(!collapsed);\r\n };\r\n\r\n const baseRoute = '/app/settings';\r\n\r\n const index = window.location.href.indexOf(baseRoute);\r\n\r\n const isBaseRoute = !!window.location.href.substring(\r\n index + baseRoute.length,\r\n window.location.href.length\r\n );\r\n\r\n const defaultRoute = routes.find(\r\n (c) => c.roles === undefined || hasRole(...c.roles, ROLE_ADMIN)\r\n );\r\n\r\n return (\r\n \r\n {!isBaseRoute && }\r\n \r\n \r\n \r\n }\r\n />\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Settings;\r\n","import React from 'react';\r\nimport { Layout } from 'antd';\r\nimport Sidebar from 'components/Sidebar/Sidebar';\r\nimport { RouteRedirect, Routes } from 'react-structure-admin';\r\nimport 'components/IconLibrary';\r\nimport InsideHeader from 'components/Topbar/InsideHeader';\r\nimport useAuth from 'core/hooks/useAuth';\r\nimport useSubscription from 'core/hooks/useSubscription';\r\n\r\nconst { Content } = Layout;\r\n\r\nconst PartnershipContainer = (props) => {\r\n const { match, routes, roles, basePath } = props;\r\n const { isAuthenticated, isAdmin, isMultiTenant, tenantId } = useAuth();\r\n const { isActivated } = useSubscription();\r\n\r\n const onBeforeRouteRender = ({ route }) => {\r\n if (isAuthenticated && isAdmin() && !tenantId) {\r\n return ;\r\n }\r\n\r\n if (isAuthenticated && isMultiTenant && !tenantId) {\r\n return ;\r\n }\r\n\r\n if (!isAuthenticated) {\r\n return ;\r\n }\r\n\r\n if (!isActivated && route?.path !== '/subscriptions') {\r\n return ;\r\n }\r\n\r\n return null;\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default PartnershipContainer;\r\n","import config from './config';\r\n\r\nexport default config;\r\n","/* eslint-disable import/no-cycle */\r\nimport React from 'react';\r\nimport asyncComponent from 'util/asyncComponent';\r\nimport AdminContainer from 'containers/admin/AdminContainer';\r\nimport AppContainer from 'containers/app/AppContainer';\r\nimport Settings from 'pages/app/settings/Settings';\r\nimport {\r\n ROLE_ACCOUNTANT,\r\n ROLE_ADMIN,\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_FINANCIAL,\r\n ROLE_FINANCIAL_ADMINISTRATOR,\r\n ROLE_OTHER_HEALTH_PROFESSIONAL,\r\n ROLE_PARTNERSHIP,\r\n ROLE_PROFESSIONAL,\r\n ROLE_RECEPTIONIST,\r\n ROLE_STOCK,\r\n ROLE_STUDENT\r\n} from 'constants/types';\r\nimport PartnershipContainer from 'containers/partnership/PartnershipContainer';\r\n\r\nexport default {\r\n roles: [\r\n {\r\n name: ROLE_ADMIN,\r\n defaultPath: '/a/accounts/professional-accounts'\r\n },\r\n {\r\n name: '*',\r\n defaultPath: '/app'\r\n },\r\n {\r\n name: ROLE_PARTNERSHIP,\r\n defaultPath: '/p'\r\n },\r\n {\r\n name: ROLE_FINANCIAL,\r\n defaultPath: '/app/financial/financial-dashboard'\r\n },\r\n {\r\n name: ROLE_FINANCIAL_ADMINISTRATOR,\r\n defaultPath: '/app/financial/financial-dashboard'\r\n },\r\n {\r\n name: ROLE_ACCOUNTANT,\r\n defaultPath: '/app/settings/accountings'\r\n }\r\n ],\r\n routes: [\r\n {\r\n path: '/signin',\r\n component: asyncComponent(() => import('pages/sign/SignIn'))\r\n },\r\n {\r\n path: '/signup',\r\n component: asyncComponent(() => import('pages/sign/SignUp'))\r\n },\r\n {\r\n path: '/partnerships/signup',\r\n component: asyncComponent(() => import('pages/sign/SignUpPartnership'))\r\n },\r\n {\r\n path: '/signout',\r\n component: asyncComponent(() => import('pages/sign/SignOut'))\r\n },\r\n {\r\n path: '/sign-forgot-password',\r\n component: asyncComponent(() => import('pages/sign/SignForgotPassword'))\r\n },\r\n {\r\n path: '/sign-reset-password',\r\n component: asyncComponent(() => import('pages/sign/SignResetPassword'))\r\n },\r\n {\r\n path: '/accounts-chooser',\r\n title: 'Alterar',\r\n component: asyncComponent(() => import('pages/shared/TenantChooser')),\r\n menu: { icon: 'th-large' }\r\n },\r\n {\r\n path: '/profile/:token',\r\n component: asyncComponent(() =>\r\n import('../pages/app/accountSharings/AccountSharingProfile')\r\n )\r\n },\r\n {\r\n path: '/request-share',\r\n component: asyncComponent(() =>\r\n import('../pages/public/RequestShareQRCode')\r\n )\r\n },\r\n {\r\n path: '/collaborator-invitation',\r\n component: asyncComponent(() =>\r\n import('pages/shared/CollaboratorInvitation')\r\n )\r\n },\r\n {\r\n path: '/partnerships-invitation',\r\n component: asyncComponent(() =>\r\n import('pages/shared/PartnershipInvitation')\r\n )\r\n },\r\n {\r\n path: '/partnerships-subscription-invitation',\r\n component: asyncComponent(() =>\r\n import('pages/shared/PartnershipSubscriptionInvitation')\r\n )\r\n },\r\n {\r\n path: '/support',\r\n component: asyncComponent(() => import('pages/public/RequestSupport'))\r\n },\r\n\r\n {\r\n path: '/subscription-success',\r\n component: asyncComponent(() =>\r\n import('pages/app/subscriptions/SubscriptionSuccess')\r\n )\r\n },\r\n {\r\n path: '/upload',\r\n component: asyncComponent(() => import('pages/public/MobileUploadPage'))\r\n },\r\n {\r\n path: '/a',\r\n component: (props) => ,\r\n roles: [ROLE_ADMIN],\r\n routes: [\r\n {\r\n path: '/accounts',\r\n title: 'Contas',\r\n singularTitle: 'Conta',\r\n menu: { icon: 'user' },\r\n exact: true,\r\n routes: [\r\n {\r\n path: '/professional-accounts',\r\n accountType: 'professional',\r\n resource: 'professional-accounts',\r\n endpoint: 'professional-accounts/accounts-with-details',\r\n title: 'Profissionais',\r\n singularTitle: 'Profissional',\r\n component: asyncComponent(() =>\r\n import('pages/admin/accounts/AccountList')\r\n ),\r\n menu: { icon: 'user' }\r\n },\r\n {\r\n path: '/student-accounts',\r\n accountType: 'student',\r\n resource: 'student-accounts',\r\n endpoint: 'student-accounts/accounts-with-details',\r\n title: 'Estudantes',\r\n singularTitle: 'Estudante',\r\n component: asyncComponent(() =>\r\n import('pages/admin/accounts/AccountList')\r\n ),\r\n menu: { icon: 'user' }\r\n },\r\n {\r\n path: '/user-accounts',\r\n accountType: 'user',\r\n resource: 'user-accounts',\r\n endpoint: 'user-accounts/accounts-with-details',\r\n title: 'Usuários',\r\n singularTitle: 'Usuário',\r\n component: asyncComponent(() =>\r\n import('pages/admin/accounts/AccountList')\r\n ),\r\n menu: { icon: 'user' }\r\n }\r\n ]\r\n },\r\n {\r\n path: '/packages',\r\n resource: 'packages',\r\n title: 'Pacotes',\r\n singularTitle: 'Pacote',\r\n component: asyncComponent(() =>\r\n import('pages/admin/packages/PackageList')\r\n ),\r\n menu: { icon: 'box' }\r\n },\r\n {\r\n path: '/subscription-plans',\r\n title: 'Planos',\r\n singularTitle: 'Plano',\r\n component: asyncComponent(() =>\r\n import('pages/admin/subscriptionPlans/SubscriptionPlanList')\r\n ),\r\n menu: { icon: 'hand-holding-usd' }\r\n },\r\n {\r\n path: '/partnerships',\r\n resource: 'partnerships',\r\n title: 'Parceiros',\r\n singularTitle: 'Parceiro',\r\n component: asyncComponent(() =>\r\n import('pages/admin/partnerships/PartnershipList')\r\n ),\r\n menu: { icon: 'box' }\r\n }\r\n ]\r\n },\r\n {\r\n path: '/p',\r\n component: (props) => ,\r\n roles: [ROLE_PARTNERSHIP],\r\n routes: [\r\n {\r\n roles: [ROLE_PARTNERSHIP],\r\n path: '/licenses',\r\n title: 'Licenças',\r\n singularTitle: 'Licença',\r\n resource: 'partnerships/subscriptions',\r\n menu: { icon: 'id-badge' },\r\n exact: true,\r\n component: asyncComponent(() =>\r\n import('pages/partnerships/licenses/LicenseList')\r\n )\r\n },\r\n {\r\n roles: [ROLE_PARTNERSHIP],\r\n path: '/subscriptions',\r\n title: 'Assinatura',\r\n exact: true,\r\n component: asyncComponent(() =>\r\n import('pages/app/subscriptions/Subscription')\r\n )\r\n },\r\n {\r\n roles: [ROLE_PARTNERSHIP],\r\n path: '/current-subscriptions',\r\n title: 'Minha assinatura',\r\n exact: true,\r\n component: asyncComponent(() =>\r\n import('pages/app/subscriptions/SubscriptionDetail')\r\n )\r\n }\r\n ]\r\n },\r\n {\r\n path: '/app',\r\n component: (props) => ,\r\n roles: ['*'],\r\n routes: [\r\n {\r\n path: '/',\r\n title: 'Visão geral',\r\n exact: true,\r\n component: asyncComponent(() => import('pages/app/home/Home')),\r\n menu: { icon: 'tachometer-alt' },\r\n roles: [\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_RECEPTIONIST,\r\n ROLE_PROFESSIONAL,\r\n ROLE_OTHER_HEALTH_PROFESSIONAL,\r\n ROLE_STUDENT\r\n ]\r\n },\r\n {\r\n roles: [ROLE_CLINIC_ADMINISTRATOR, ROLE_FINANCIAL_ADMINISTRATOR],\r\n path: '/subscriptions',\r\n title: 'Assinatura',\r\n exact: true,\r\n component: asyncComponent(() =>\r\n import('pages/app/subscriptions/Subscription')\r\n )\r\n },\r\n {\r\n path: '/expired-license',\r\n title: 'Licença expirada',\r\n exact: true,\r\n component: asyncComponent(() =>\r\n import('pages/shared/LicenseSuspendInfo')\r\n )\r\n },\r\n {\r\n roles: [ROLE_CLINIC_ADMINISTRATOR, ROLE_FINANCIAL_ADMINISTRATOR],\r\n path: '/current-subscriptions',\r\n title: 'Minha assinatura',\r\n exact: true,\r\n component: asyncComponent(() =>\r\n import('pages/app/subscriptions/SubscriptionDetail')\r\n )\r\n },\r\n {\r\n path: '/schedule',\r\n title: 'Agenda',\r\n singularTitle: 'Agenda',\r\n roles: [\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_RECEPTIONIST,\r\n ROLE_PROFESSIONAL,\r\n ROLE_OTHER_HEALTH_PROFESSIONAL,\r\n ROLE_STUDENT\r\n ],\r\n component: asyncComponent(() =>\r\n import('pages/app/events/EventSchedule')\r\n ),\r\n menu: { icon: 'tachometer-alt' }\r\n },\r\n {\r\n path: '/patients',\r\n title: 'Pacientes',\r\n exact: true,\r\n singularTitle: 'Paciente',\r\n component: asyncComponent(() =>\r\n import('pages/app/patients/PatientList')\r\n ),\r\n menu: { icon: 'users' },\r\n roles: [\r\n ROLE_RECEPTIONIST,\r\n ROLE_PROFESSIONAL,\r\n ROLE_OTHER_HEALTH_PROFESSIONAL,\r\n ROLE_STUDENT\r\n ],\r\n routes: [\r\n {\r\n path: '/:id/history',\r\n title: 'Prontuário',\r\n exact: true,\r\n singularTitle: 'Prontuário',\r\n roles: [\r\n ROLE_PROFESSIONAL,\r\n ROLE_OTHER_HEALTH_PROFESSIONAL,\r\n ROLE_STUDENT\r\n ],\r\n component: asyncComponent(() =>\r\n import('pages/app/patients/PatientDetail')\r\n )\r\n }\r\n ]\r\n },\r\n {\r\n path: '/relationship',\r\n title: 'Relacionamento',\r\n exact: true,\r\n singularTitle: 'Relacionamento',\r\n menu: { icon: 'users' },\r\n roles: [\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_PROFESSIONAL,\r\n ROLE_OTHER_HEALTH_PROFESSIONAL,\r\n ROLE_STUDENT\r\n ],\r\n routes: [\r\n {\r\n path: '/campaigns',\r\n title: 'Campanhas',\r\n resource: 'campaigns',\r\n singularTitle: 'Campanha',\r\n component: asyncComponent(() =>\r\n import('pages/app/campaigns/CampaignList')\r\n ),\r\n menu: { icon: 'paper-plane' },\r\n roles: [\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_OTHER_HEALTH_PROFESSIONAL,\r\n ROLE_PROFESSIONAL\r\n ]\r\n },\r\n {\r\n path: '/contacts',\r\n title: 'Contatos',\r\n resource: 'contacts',\r\n singularTitle: 'Contato',\r\n component: asyncComponent(() =>\r\n import('pages/app/contacts/ContactList')\r\n ),\r\n roles: [\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_OTHER_HEALTH_PROFESSIONAL,\r\n ROLE_PROFESSIONAL,\r\n ROLE_STUDENT\r\n ],\r\n menu: { icon: 'user' }\r\n }\r\n ]\r\n },\r\n {\r\n path: '/attendances/:id',\r\n exact: true,\r\n title: 'Prontuário',\r\n singularTitle: 'Prontuário',\r\n roles: [\r\n ROLE_OTHER_HEALTH_PROFESSIONAL,\r\n ROLE_PROFESSIONAL,\r\n ROLE_STUDENT\r\n ],\r\n component: asyncComponent(() =>\r\n import('pages/app/attendances/AttendanceEdit')\r\n )\r\n },\r\n {\r\n path: '/attendances/:id/redirect',\r\n title: 'Redirecionamento',\r\n singularTitle: 'Prontuário',\r\n component: asyncComponent(() =>\r\n import('pages/shared/ReceitaDigitalRedirect')\r\n )\r\n },\r\n {\r\n path: '/patients/:id/history/redirect',\r\n title: 'Redirecionamento',\r\n singularTitle: 'Prontuário',\r\n component: asyncComponent(() =>\r\n import('pages/shared/ReceitaDigitalRedirect')\r\n )\r\n },\r\n\r\n {\r\n path: '/financial',\r\n title: 'Financeiro',\r\n singularTitle: 'Financeiro',\r\n exact: true,\r\n menu: { icon: 'users' },\r\n roles: [\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_FINANCIAL_ADMINISTRATOR,\r\n ROLE_FINANCIAL\r\n ],\r\n routes: [\r\n {\r\n path: '/financial-dashboard',\r\n title: 'Painel financeiro',\r\n singularTitle: 'Painel financeiro',\r\n roles: [\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_FINANCIAL_ADMINISTRATOR,\r\n ROLE_FINANCIAL\r\n ],\r\n component: asyncComponent(() =>\r\n import(\r\n 'pages/app/financialStatistic/FinancialStatisticDashboard'\r\n )\r\n ),\r\n menu: { icon: 'chart-line' }\r\n },\r\n {\r\n path: '/financial-entries',\r\n title: 'Movimentações financeira',\r\n singularTitle: 'Movimentações financeira',\r\n roles: [\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_FINANCIAL_ADMINISTRATOR,\r\n ROLE_FINANCIAL\r\n ],\r\n component: asyncComponent(() =>\r\n import('pages/app/financialEntries/FinancialEntryList')\r\n ),\r\n menu: { icon: 'receipt' }\r\n },\r\n {\r\n path: '/open-financial-exchanges',\r\n title: 'Conciliação bancária',\r\n singularTitle: 'Conciliação bancária',\r\n roles: [\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_FINANCIAL_ADMINISTRATOR,\r\n ROLE_FINANCIAL\r\n ],\r\n component: asyncComponent(() =>\r\n import(\r\n 'pages/app/openFinancialExchanges/OpenFinancialExchangeTab'\r\n )\r\n ),\r\n menu: { icon: 'landmark' }\r\n },\r\n {\r\n path: '/balances',\r\n title: 'DRE Gerencial',\r\n singularTitle: 'DRE Gerencial',\r\n roles: [\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_FINANCIAL_ADMINISTRATOR,\r\n ROLE_FINANCIAL\r\n ],\r\n component: asyncComponent(() =>\r\n import('pages/app/checkingAccounts/CheckingAccountBalance')\r\n ),\r\n menu: { icon: 'chart-line' }\r\n }\r\n ]\r\n },\r\n {\r\n path: '/stock',\r\n title: 'Estoque',\r\n exact: true,\r\n singularTitle: 'Estoque',\r\n menu: { icon: 'cubes' },\r\n hidden: (settings) => !settings.enableStock,\r\n roles: [ROLE_CLINIC_ADMINISTRATOR, ROLE_STOCK],\r\n routes: [\r\n {\r\n path: '/product-movements',\r\n title: 'Entrada e saída de produtos',\r\n resource: 'product-movements',\r\n singularTitle: 'Entrada e saída de produto',\r\n component: asyncComponent(() =>\r\n import('pages/app/stocks/productMovements/ProductMovementList')\r\n ),\r\n menu: { icon: 'cubes' },\r\n roles: [ROLE_CLINIC_ADMINISTRATOR, ROLE_STOCK]\r\n },\r\n {\r\n path: '/products',\r\n title: 'Produtos',\r\n resource: 'products',\r\n singularTitle: 'Produto',\r\n component: asyncComponent(() =>\r\n import('pages/app/stocks/products/ProductList')\r\n ),\r\n menu: { icon: 'box' },\r\n roles: [ROLE_CLINIC_ADMINISTRATOR, ROLE_STOCK]\r\n },\r\n {\r\n path: '/groups',\r\n title: 'Grupos',\r\n resource: 'groups',\r\n singularTitle: 'Grupo',\r\n component: asyncComponent(() =>\r\n import('pages/app/stocks/groups/GroupList')\r\n ),\r\n menu: { icon: 'cubes' },\r\n roles: [ROLE_CLINIC_ADMINISTRATOR, ROLE_STOCK]\r\n },\r\n {\r\n path: '/brands',\r\n title: 'Marcas',\r\n resource: 'brands',\r\n singularTitle: 'Marca',\r\n component: asyncComponent(() =>\r\n import('pages/app/stocks/brands/BrandList')\r\n ),\r\n menu: { icon: 'tags' },\r\n roles: [ROLE_CLINIC_ADMINISTRATOR, ROLE_STOCK]\r\n },\r\n {\r\n path: '/units',\r\n title: 'Unidades',\r\n resource: 'units',\r\n singularTitle: 'Unidade',\r\n component: asyncComponent(() =>\r\n import('pages/app/stocks/units/UnitList')\r\n ),\r\n menu: { icon: 'ruler-horizontal' },\r\n roles: [ROLE_CLINIC_ADMINISTRATOR, ROLE_STOCK]\r\n },\r\n {\r\n path: '/product-suites',\r\n title: 'Kit de produtos',\r\n resource: 'product-suites',\r\n singularTitle: 'Kit de produto',\r\n component: asyncComponent(() =>\r\n import('pages/app/stocks/products/ProductSuiteList')\r\n ),\r\n menu: { icon: 'boxes' },\r\n roles: [ROLE_CLINIC_ADMINISTRATOR, ROLE_STOCK]\r\n }\r\n ]\r\n },\r\n {\r\n path: '/settings',\r\n title: 'Configurações',\r\n component: (props) => ,\r\n hidden: () => true,\r\n isContainer: false,\r\n roles: [\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_FINANCIAL_ADMINISTRATOR,\r\n ROLE_PROFESSIONAL,\r\n ROLE_OTHER_HEALTH_PROFESSIONAL,\r\n ROLE_STUDENT,\r\n ROLE_FINANCIAL,\r\n ROLE_ACCOUNTANT\r\n ],\r\n routes: [\r\n {\r\n roles: [ROLE_CLINIC_ADMINISTRATOR],\r\n path: '/geral-settings',\r\n title: 'Configurações gerais',\r\n singularTitle: 'Confiração geral',\r\n component: asyncComponent(() =>\r\n import('pages/app/settings/GeralSettings')\r\n ),\r\n menu: { icon: 'cogs' }\r\n },\r\n {\r\n roles: [\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_FINANCIAL_ADMINISTRATOR,\r\n ROLE_ACCOUNTANT\r\n ],\r\n path: '/place-of-service',\r\n title: 'Local de atendimento',\r\n singularTitle: 'Local de atendimento',\r\n component: asyncComponent(() =>\r\n import('pages/shared/CurrentCompanyEdit')\r\n ),\r\n menu: { icon: 'map-marked-alt' }\r\n },\r\n {\r\n roles: [ROLE_CLINIC_ADMINISTRATOR],\r\n path: '/document-models',\r\n title: 'Modelos de documento',\r\n singularTitle: 'Modelo de documento',\r\n component: asyncComponent(() =>\r\n import('pages/app/documentModels/DocumentModelList')\r\n ),\r\n menu: { icon: 'file-alt' }\r\n },\r\n {\r\n roles: [\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_PROFESSIONAL,\r\n ROLE_STUDENT,\r\n ROLE_OTHER_HEALTH_PROFESSIONAL\r\n ],\r\n path: '/medical-record',\r\n title: 'Prontuário',\r\n component: () => null,\r\n menu: { icon: 'notes-medical' },\r\n routes: [\r\n {\r\n roles: [\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_PROFESSIONAL,\r\n ROLE_STUDENT,\r\n ROLE_OTHER_HEALTH_PROFESSIONAL\r\n ],\r\n path: '/medical-record-sections',\r\n title: 'Seções',\r\n singularTitle: 'Seção',\r\n component: asyncComponent(() =>\r\n import(\r\n 'pages/app/medicalRecordSections/MedicalRecordSectionList'\r\n )\r\n ),\r\n menu: { icon: 'clipboard-list' }\r\n },\r\n {\r\n roles: [ROLE_CLINIC_ADMINISTRATOR],\r\n path: '/prescription-models',\r\n title: 'Modelos de prescrição',\r\n singularTitle: 'Modelo de prescrição',\r\n component: asyncComponent(() =>\r\n import('pages/app/prescriptionModels/PrescriptionModelList')\r\n ),\r\n menu: { icon: 'briefcase-medical' }\r\n }\r\n ]\r\n },\r\n {\r\n roles: [ROLE_CLINIC_ADMINISTRATOR],\r\n path: '/procedures',\r\n title: 'Procedimentos',\r\n singularTitle: 'Procedimento',\r\n component: asyncComponent(() =>\r\n import('pages/app/procedures/ProcedureList')\r\n ),\r\n menu: { icon: 'procedures' }\r\n },\r\n {\r\n roles: [ROLE_CLINIC_ADMINISTRATOR],\r\n path: '/health-insurances',\r\n title: 'Convênios',\r\n singularTitle: 'Convênio',\r\n component: asyncComponent(() =>\r\n import('pages/app/healthInsurances/HealthInsuranceList')\r\n ),\r\n menu: { icon: 'file-medical-alt' }\r\n },\r\n {\r\n roles: [ROLE_CLINIC_ADMINISTRATOR, ROLE_FINANCIAL_ADMINISTRATOR],\r\n path: '/collaborators',\r\n title: 'Colaboradores',\r\n resource: 'collaborators',\r\n singularTitle: 'Colaborador',\r\n component: asyncComponent(() =>\r\n import('pages/app/collaborators/CollaboratorList')\r\n ),\r\n menu: { icon: 'users' }\r\n },\r\n {\r\n roles: [\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_FINANCIAL_ADMINISTRATOR,\r\n ROLE_FINANCIAL\r\n ],\r\n path: '/finances',\r\n title: 'Financeiro',\r\n component: () => null,\r\n menu: { icon: 'cash-register' },\r\n routes: [\r\n {\r\n roles: [\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_FINANCIAL_ADMINISTRATOR,\r\n ROLE_FINANCIAL\r\n ],\r\n path: '/checking-accounts',\r\n title: 'Contas',\r\n singularTitle: 'Conta',\r\n component: asyncComponent(() =>\r\n import('pages/app/checkingAccounts/CheckingAccountList')\r\n ),\r\n menu: { icon: 'wallet' }\r\n },\r\n {\r\n roles: [\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_FINANCIAL_ADMINISTRATOR,\r\n ROLE_FINANCIAL\r\n ],\r\n path: '/categories',\r\n title: 'Categorias',\r\n singularTitle: 'Categoria',\r\n component: asyncComponent(() =>\r\n import('pages/app/categories/CategoryList')\r\n ),\r\n menu: { icon: 'tags' }\r\n },\r\n {\r\n roles: [\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_FINANCIAL_ADMINISTRATOR,\r\n ROLE_FINANCIAL\r\n ],\r\n path: '/cost-centers',\r\n title: 'Centro de Custos',\r\n singularTitle: 'Centro de Custo',\r\n component: asyncComponent(() =>\r\n import('pages/app/costCenters/CostCenterList')\r\n ),\r\n menu: { icon: 'coins' }\r\n },\r\n {\r\n roles: [\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_FINANCIAL_ADMINISTRATOR,\r\n ROLE_FINANCIAL\r\n ],\r\n path: '/customers',\r\n title: 'Clientes',\r\n singularTitle: 'Cliente',\r\n component: asyncComponent(() =>\r\n import('pages/app/customers/CustomerList')\r\n ),\r\n menu: { icon: 'user-friends' }\r\n },\r\n {\r\n roles: [\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_FINANCIAL_ADMINISTRATOR,\r\n ROLE_FINANCIAL\r\n ],\r\n path: '/suppliers',\r\n title: 'Fornecedores',\r\n singularTitle: 'Fornecedor',\r\n component: asyncComponent(() =>\r\n import('pages/app/suppliers/SupplierList')\r\n ),\r\n menu: { icon: 'truck-loading' }\r\n },\r\n {\r\n roles: [\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_FINANCIAL_ADMINISTRATOR,\r\n ROLE_FINANCIAL\r\n ],\r\n path: '/holidays',\r\n title: 'Feriados',\r\n singularTitle: 'Feriado',\r\n component: asyncComponent(() =>\r\n import('pages/app/holidays/HolidayList')\r\n ),\r\n menu: { icon: 'calendar' }\r\n }\r\n ]\r\n },\r\n {\r\n roles: [\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_FINANCIAL_ADMINISTRATOR,\r\n ROLE_ACCOUNTANT\r\n ],\r\n path: '/accountings',\r\n title: 'Contabilidade',\r\n singularTitle: 'Contablidades',\r\n component: asyncComponent(() =>\r\n import('pages/app/accountings/AccountantTab')\r\n ),\r\n menu: { icon: 'calculator' }\r\n },\r\n {\r\n roles: [\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_FINANCIAL_ADMINISTRATOR,\r\n ROLE_ACCOUNTANT\r\n ],\r\n path: '/settings-invoice',\r\n title: 'Nota fiscal de serviço',\r\n singularTitle: 'Nota fiscal de serviço',\r\n component: asyncComponent(() =>\r\n import('pages/shared/CompanySettingsEdit')\r\n ),\r\n menu: { icon: 'file-invoice-dollar' }\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n path: '/',\r\n exact: true,\r\n redirectTo: '/app/'\r\n },\r\n {\r\n path: '/p',\r\n exact: true,\r\n redirectTo: '/p/licenses'\r\n }\r\n ]\r\n};\r\n","import {\r\n updateResourceState,\r\n normalizeResourceState,\r\n createResourceReducer,\r\n RESOURCE,\r\n RECORD_FIELD\r\n} from 'react-structure-admin';\r\nimport {\r\n USER,\r\n USER_UPDATE_PASSWORD,\r\n USER_SAVE_PASSWORD,\r\n USER_SAVE_PASSWORD_FINISHED,\r\n USER_SAVE_PASSWORD_FAILED,\r\n USER_CURRENT_UPDATE_FINISHED,\r\n USER_CURRENT_UPDATE,\r\n USER_CURRENT_GET_FINISHED,\r\n USER_CURRENT_CANCEL,\r\n USER_REPORT_CANCEL,\r\n USER_REPORT_FAIL,\r\n USER_REPORT_SEND,\r\n USER_REPORT_SEND_FINISHED,\r\n USER_REPORT_INITIALIZE,\r\n USER_CONTRIBUTOR_DELETE_FINISHED,\r\n USER_GET_MY_PREFERENCES_FINISHED,\r\n USER_UPDATE_MY_PREFERENCES_FINISHED,\r\n USER_UPDATE_MY_PREFERENCES,\r\n USER_CANCEL_MY_PREFERENCES,\r\n USER_CREATE_COMPANY,\r\n USER_CLOSE_COMPANY_EDIT,\r\n USER_GET_COMPANY,\r\n USER_GET_COMPANY_FINISHED,\r\n USER_PUT_COMPANY,\r\n USER_POST_COMPANY,\r\n USER_POST_COMPANY_FINISHED,\r\n USER_PUT_COMPANY_FINISHED\r\n} from './userActions';\r\n\r\nconst userReducer = createResourceReducer(\r\n USER,\r\n [],\r\n {\r\n [USER_UPDATE_PASSWORD](state, action) {\r\n const newState = normalizeResourceState(state, action.resource);\r\n return updateResourceState(newState, action, RECORD_FIELD, () => ({\r\n editingPassword: action.payload\r\n }));\r\n },\r\n\r\n [USER_SAVE_PASSWORD](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loading: true\r\n }));\r\n },\r\n\r\n [USER_SAVE_PASSWORD_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, (resource) => ({\r\n [RECORD_FIELD]: {\r\n ...resource[RECORD_FIELD],\r\n editingPassword: null\r\n },\r\n loading: false\r\n }));\r\n },\r\n\r\n [USER_SAVE_PASSWORD_FAILED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loading: false\r\n }));\r\n },\r\n\r\n [USER_CURRENT_GET_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n currentUser: action.payload.data.result,\r\n editingCurrentUser: true,\r\n visible: true\r\n }));\r\n },\r\n\r\n [USER_CURRENT_UPDATE](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n currentUser: action.payload,\r\n loading: true\r\n }));\r\n },\r\n\r\n [USER_CURRENT_UPDATE_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n currentUser: null,\r\n editingCurrentUser: false,\r\n visible: false,\r\n loading: false\r\n }));\r\n },\r\n\r\n [USER_CURRENT_CANCEL](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n currentUser: null,\r\n editingCurrentUser: false\r\n }));\r\n },\r\n\r\n [USER_REPORT_INITIALIZE](state, action) {\r\n const newState = normalizeResourceState(state, action.resource);\r\n\r\n if (action.payload.type === 'suggestion') {\r\n action.payload.title = 'Sugestão';\r\n } else {\r\n action.payload.title = 'Reportar problema';\r\n }\r\n\r\n return updateResourceState(newState, action, RESOURCE, () => ({\r\n report: { ...action.payload }\r\n }));\r\n },\r\n [USER_REPORT_CANCEL](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n report: null\r\n }));\r\n },\r\n [USER_REPORT_FAIL](state, action) {\r\n return updateResourceState(state, action, RESOURCE, (resource) => ({\r\n report: { ...resource.report, loading: false }\r\n }));\r\n },\r\n [USER_REPORT_SEND](state, action) {\r\n return updateResourceState(state, action, RESOURCE, (resource) => ({\r\n report: { ...resource.report, loading: true }\r\n }));\r\n },\r\n\r\n [USER_REPORT_SEND_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n report: null\r\n }));\r\n },\r\n\r\n [USER_CONTRIBUTOR_DELETE_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loaded: false\r\n }));\r\n },\r\n\r\n [USER_GET_MY_PREFERENCES_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n myPreferences: action.payload.data.result\r\n }));\r\n },\r\n\r\n [USER_UPDATE_MY_PREFERENCES](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n myPreferences: action.payload,\r\n saving: true\r\n }));\r\n },\r\n\r\n [USER_UPDATE_MY_PREFERENCES_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n myPreferences: null,\r\n saving: false\r\n }));\r\n },\r\n\r\n [USER_CANCEL_MY_PREFERENCES](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n myPreferences: null\r\n }));\r\n },\r\n\r\n [USER_CREATE_COMPANY](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n userCompany: {\r\n settings: {\r\n serviceInvoice: {\r\n useRps: true,\r\n useBatchNumber: false,\r\n useSeries: true,\r\n useFederalServiceCode: true\r\n }\r\n }\r\n },\r\n saving: false\r\n }));\r\n },\r\n\r\n [USER_CLOSE_COMPANY_EDIT](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n userCompany: null,\r\n saving: false\r\n }));\r\n },\r\n\r\n [USER_GET_COMPANY_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n userCompany: action.payload.data.result,\r\n saving: false\r\n }));\r\n },\r\n\r\n [USER_POST_COMPANY](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n userCompany: action.payload,\r\n saving: true\r\n }));\r\n },\r\n\r\n [USER_POST_COMPANY_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n userCompany: null,\r\n saving: false\r\n }));\r\n },\r\n\r\n [USER_PUT_COMPANY](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n userCompany: action.payload,\r\n saving: true\r\n }));\r\n },\r\n\r\n [USER_PUT_COMPANY_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n userCompany: null,\r\n saving: false\r\n }));\r\n }\r\n },\r\n (state, action) => {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loading: false,\r\n saving: false\r\n }));\r\n }\r\n);\r\n\r\nexport default userReducer;\r\n","import {\r\n CHAT_LOADED,\r\n SWITCH_LANGUAGE,\r\n TOGGLE_COLLAPSED_NAV,\r\n WINDOW_WIDTH\r\n} from 'stores/settings/settingsActions';\r\n\r\nimport {\r\n LAYOUT_TYPE_FULL,\r\n NAV_STYLE_FIXED,\r\n THEME_COLOR_SELECTION_PRESET,\r\n THEME_TYPE_LITE,\r\n THEME_TYPE,\r\n THEME_COLOR,\r\n THEME_TYPE_SEMI_DARK,\r\n NAV_STYLE,\r\n LAYOUT_TYPE,\r\n APP_DEFAULT,\r\n APP_ADMIN,\r\n NAV_STYLE_DRAWER\r\n} from 'constants/themeSettings';\r\n\r\nconst initialState = {\r\n navCollapsed: false,\r\n navStyle: NAV_STYLE_DRAWER,\r\n layoutType: LAYOUT_TYPE_FULL,\r\n themeType: THEME_TYPE_LITE,\r\n colorSelection: THEME_COLOR_SELECTION_PRESET,\r\n currentApp: APP_DEFAULT,\r\n pathname: '',\r\n width: window.innerWidth,\r\n isDirectionRTL: false,\r\n locale: {\r\n languageId: 'english',\r\n locale: 'en',\r\n name: 'English',\r\n icon: 'us'\r\n }\r\n};\r\n\r\nconst settingsReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case '@@router/LOCATION_CHANGE': {\r\n const themeType = THEME_TYPE_SEMI_DARK;\r\n let currentApp = APP_DEFAULT;\r\n let { navStyle } = initialState;\r\n\r\n if (\r\n action.payload.location.pathname &&\r\n (action.payload.location.pathname.endsWith('/a') ||\r\n action.payload.location.pathname.startsWith('/a/'))\r\n ) {\r\n currentApp = APP_ADMIN;\r\n navStyle = NAV_STYLE_FIXED;\r\n }\r\n\r\n localStorage.setItem('currentApp', currentApp);\r\n\r\n return {\r\n ...state,\r\n pathname: action.payload.location.pathname || '',\r\n themeType,\r\n currentApp,\r\n navStyle,\r\n navCollapsed: false\r\n };\r\n }\r\n case TOGGLE_COLLAPSED_NAV:\r\n return {\r\n ...state,\r\n navCollapsed: action.navCollapsed\r\n };\r\n case WINDOW_WIDTH:\r\n return {\r\n ...state,\r\n width: action.width\r\n };\r\n case THEME_TYPE:\r\n return {\r\n ...state,\r\n themeType: action.themeType\r\n };\r\n case THEME_COLOR:\r\n return {\r\n ...state,\r\n themeColor: action.themeColor\r\n };\r\n case CHAT_LOADED:\r\n return {\r\n ...state,\r\n chatLoaded: true\r\n };\r\n\r\n case NAV_STYLE:\r\n return {\r\n ...state,\r\n navStyle: action.navStyle\r\n };\r\n case LAYOUT_TYPE:\r\n return {\r\n ...state,\r\n layoutType: action.layoutType\r\n };\r\n\r\n case SWITCH_LANGUAGE:\r\n return {\r\n ...state,\r\n locale: action.payload\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default settingsReducer;\r\n","import { authInitialState } from 'core/auth/authInitialState';\r\nimport { createResourceReducer, concatReducers } from 'react-structure-admin';\r\n\r\nimport {\r\n LOGIN_REQUEST,\r\n LOGIN_REQUEST_FINISHED,\r\n LOGOUT,\r\n AUTH_REFRESH_USER,\r\n AUTH_REFRESH_TOKEN_FINISHED,\r\n AUTH_SUBSCRIPTION_CREATE_FINISHED,\r\n AUTH_SET_CURRENT_COLLABORATOR,\r\n AUTH_REMOVE_CURRENT_COLLABORATOR\r\n} from './authActions';\r\n\r\nconst updateLocalStorage = (auth) => {\r\n localStorage.setItem('auth_data', btoa(JSON.stringify(auth)));\r\n};\r\n\r\nexport const authReducer = createResourceReducer(\r\n 'AUTH',\r\n { ...authInitialState },\r\n {\r\n [LOGIN_REQUEST](state, { payload }) {\r\n localStorage.removeItem('current_collaborator');\r\n\r\n return {\r\n ...state,\r\n authenticating: true\r\n };\r\n },\r\n\r\n [LOGIN_REQUEST_FINISHED](state, { payload }) {\r\n const now = new Date();\r\n now.setSeconds(now.getSeconds() + payload.data.expireInSeconds);\r\n\r\n return {\r\n ...state,\r\n ...payload.data,\r\n claims: payload.data.user.claims ?? [],\r\n expirationDate: now,\r\n authenticating: false,\r\n currentCollaborator: null\r\n };\r\n },\r\n\r\n [AUTH_REFRESH_TOKEN_FINISHED](state, { payload }) {\r\n const now = new Date();\r\n now.setSeconds(now.getSeconds() + payload.data.expireInSeconds);\r\n return {\r\n ...state,\r\n ...payload.data,\r\n expirationDate: now\r\n };\r\n },\r\n\r\n [LOGOUT](state) {\r\n localStorage.removeItem('current_collaborator');\r\n localStorage.removeItem('auth_refreshtoken');\r\n\r\n return {\r\n user: null,\r\n claims: [],\r\n permissions: [],\r\n expirationDate: null,\r\n tenantId: null,\r\n tenantName: null,\r\n company: null,\r\n subscription: null,\r\n refreshToken: null,\r\n accessToken: null,\r\n currentCollaborator: null\r\n };\r\n },\r\n\r\n [AUTH_REFRESH_USER](state, { payload }) {\r\n const auth = {\r\n ...state,\r\n user: {\r\n ...state.user,\r\n ...payload\r\n }\r\n };\r\n\r\n localStorage.setItem('auth_data', btoa(JSON.stringify(auth)));\r\n return auth;\r\n },\r\n\r\n [AUTH_SET_CURRENT_COLLABORATOR](state, { payload }) {\r\n return {\r\n ...state,\r\n currentCollaborator: payload\r\n };\r\n },\r\n\r\n [AUTH_REMOVE_CURRENT_COLLABORATOR](state) {\r\n return {\r\n ...state,\r\n currentCollaborator: null\r\n };\r\n }\r\n },\r\n (state) => ({\r\n ...state,\r\n authenticating: false\r\n })\r\n);\r\n\r\nexport default concatReducers([authReducer], authInitialState);\r\n","import {\r\n updateResourceState,\r\n normalizeResourceState,\r\n createResourceReducer,\r\n RESOURCE,\r\n RECORD_FIELD\r\n} from 'react-structure-admin';\r\nimport {\r\n ACCOUNT,\r\n ACCOUNT_SHARING_GET,\r\n ACCOUNT_SHARING_GET_FINISHED,\r\n ACCOUNT_ACTIVITY_FETCH,\r\n ACCOUNT_ACTIVITY_FETCH_FINISHED,\r\n ACCOUNT_SHARING_UNLOAD,\r\n ACCOUNT_SHARING_GET_ERROR,\r\n ACCOUNT_SETTINGS_GET,\r\n ACCOUNT_SETTINGS_GET_FINISHED,\r\n ACCOUNT_SETTINGS_UPDATE,\r\n ACCOUNT_SETTINGS_UPDATE_FINISHED,\r\n ACCOUNT_CANCEL,\r\n ACCOUNT_CANCEL_FINISHED\r\n} from './accountActions';\r\n\r\nconst accountReducer = createResourceReducer(\r\n ACCOUNT,\r\n [],\r\n {\r\n [ACCOUNT_SHARING_UNLOAD](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n activities: {}\r\n }));\r\n },\r\n\r\n [ACCOUNT_SHARING_GET](state, action) {\r\n const newState = normalizeResourceState(state, action.resource);\r\n\r\n return updateResourceState(newState, action, RESOURCE, () => ({\r\n activities: { [RECORD_FIELD]: {}, loading: true, errorMessage: null }\r\n }));\r\n },\r\n\r\n [ACCOUNT_SHARING_GET_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, (resource) => ({\r\n activities: {\r\n [RECORD_FIELD]: action.payload.data.result,\r\n loading: false\r\n }\r\n }));\r\n },\r\n\r\n [ACCOUNT_ACTIVITY_FETCH](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n fetching: true\r\n }));\r\n },\r\n\r\n [ACCOUNT_ACTIVITY_FETCH_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, (resource) => {\r\n const { items = [] } = resource.activities;\r\n return {\r\n activities: {\r\n ...resource.activities,\r\n pagination: {\r\n ...resource.activities.pagination,\r\n total: action.payload.data.result.totalCount,\r\n current: Number(action.payload.config.params.page) || 1\r\n },\r\n totalCount: action.payload.data.result.totalCount,\r\n items: [...items, ...action.payload.data.result.items],\r\n queryParams: action.payload.config.params,\r\n editing: action.payload.config.params.act === 'editing',\r\n loaded: true,\r\n fetching: false\r\n }\r\n };\r\n });\r\n },\r\n\r\n [ACCOUNT_SHARING_GET_ERROR](state, action) {\r\n return updateResourceState(state, action, RESOURCE, (resource) => ({\r\n activities: {\r\n ...resource.activities,\r\n loading: false,\r\n errorMessage: action.payload.message\r\n }\r\n }));\r\n },\r\n [ACCOUNT_SETTINGS_GET](state, action) {\r\n const newState = normalizeResourceState(state, action.resource);\r\n return updateResourceState(newState, action, RESOURCE, () => ({\r\n settings: {\r\n loading: true\r\n }\r\n }));\r\n },\r\n\r\n [ACCOUNT_SETTINGS_GET_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n settings: { [RECORD_FIELD]: action.payload.data.result, loading: false }\r\n }));\r\n },\r\n [ACCOUNT_SETTINGS_UPDATE](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n settings: { [RECORD_FIELD]: action.payload, saving: true }\r\n }));\r\n },\r\n\r\n [ACCOUNT_SETTINGS_UPDATE_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, (resource) => ({\r\n settings: { saving: false }\r\n }));\r\n },\r\n\r\n [ACCOUNT_CANCEL_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, (resource) => ({\r\n loaded: false\r\n }));\r\n }\r\n },\r\n (state, action) => {\r\n return updateResourceState(state, action, RESOURCE, ({ settings }) => ({\r\n settings: { ...settings, saving: false }\r\n }));\r\n }\r\n);\r\n\r\nexport default accountReducer;\r\n","import {\r\n updateResourceState,\r\n normalizeResourceState,\r\n createResourceReducer,\r\n RESOURCE\r\n} from 'react-structure-admin';\r\n\r\nimport {\r\n MEDICALRECORDSECTION,\r\n MEDICALRECORDSECTION_SORTING\r\n} from './medicalRecordSectionActions';\r\n\r\nconst medicalRecordSectionReducer = createResourceReducer(\r\n MEDICALRECORDSECTION,\r\n [],\r\n {\r\n [MEDICALRECORDSECTION_SORTING](state, action) {\r\n const newState = normalizeResourceState(state, action.resource);\r\n\r\n return updateResourceState(newState, action, RESOURCE, () => ({\r\n items: action.payload\r\n }));\r\n }\r\n }\r\n);\r\n\r\nexport default medicalRecordSectionReducer;\r\n","import {\r\n createResourceReducer,\r\n updateResourceState,\r\n defaultResourceState,\r\n RESOURCE\r\n} from 'react-structure-admin';\r\n\r\nimport {\r\n EVENT,\r\n EVENT_ADD_OR_UPDATE,\r\n EVENT_CHANGE_STATUS,\r\n EVENT_CHANGE_STATUS_FINISHED,\r\n EVENT_DELETE,\r\n EVENT_DELETE_FINISHED,\r\n EVENT_FETCH_APPOINTMENT_TODAY,\r\n EVENT_FETCH_APPOINTMENT_TODAY_FINISHED,\r\n EVENT_GET_VIEW,\r\n EVENT_GET_VIEW_CLOSE,\r\n EVENT_GET_VIEW_FINISHED,\r\n EVENT_SCHEDULES,\r\n EVENT_SCHEDULES_FINISHED,\r\n EVENT_SCHEDULES_UNLOAD\r\n} from './eventActions';\r\n\r\nconst eventReducer = createResourceReducer(\r\n EVENT,\r\n [],\r\n {\r\n [EVENT_FETCH_APPOINTMENT_TODAY](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loading: true\r\n }));\r\n },\r\n\r\n [EVENT_FETCH_APPOINTMENT_TODAY_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n appointmentTodayItems: action.payload.data.result.items,\r\n loading: false\r\n }));\r\n },\r\n\r\n [EVENT_GET_VIEW](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loading: true\r\n }));\r\n },\r\n\r\n [EVENT_CHANGE_STATUS](state, action) {\r\n return updateResourceState(\r\n state,\r\n action,\r\n RESOURCE,\r\n ({ view, items = [] }) => ({\r\n updatingStatus: true,\r\n items: items.map((c) => {\r\n if (c.id === view.id) {\r\n return { ...c, status: action.payload };\r\n }\r\n\r\n return c;\r\n })\r\n })\r\n );\r\n },\r\n\r\n [EVENT_CHANGE_STATUS_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n view: {\r\n ...action.payload.data.result\r\n },\r\n updatingStatus: false\r\n }));\r\n },\r\n\r\n [EVENT_DELETE](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n deletingId: action.payload\r\n }));\r\n },\r\n\r\n [EVENT_DELETE_FINISHED](state, action) {\r\n return updateResourceState(\r\n state,\r\n action,\r\n RESOURCE,\r\n ({ items = [], deletingId }) => ({\r\n deletingId: null,\r\n items: items.filter((c) => c.id !== deletingId),\r\n view: null\r\n })\r\n );\r\n },\r\n\r\n [EVENT_GET_VIEW_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, ({ items = [] }) => {\r\n const updatedEvent = action.payload.data.result;\r\n\r\n const index = items.findIndex((c) => c.id === updatedEvent.id);\r\n\r\n if (index > -1) {\r\n items[index] = updatedEvent;\r\n } else {\r\n items.push(updatedEvent);\r\n }\r\n\r\n return {\r\n view: updatedEvent,\r\n loading: false,\r\n items\r\n };\r\n });\r\n },\r\n\r\n [EVENT_GET_VIEW_CLOSE](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n view: null\r\n }));\r\n },\r\n\r\n [EVENT_ADD_OR_UPDATE](state, action) {\r\n return updateResourceState(\r\n state,\r\n action,\r\n RESOURCE,\r\n ({ items = [], view }) => {\r\n const event = action.payload;\r\n\r\n const index = items.findIndex((c) => c.id === event.id);\r\n\r\n if (index > -1) {\r\n items[index] = event;\r\n } else {\r\n items.push(event);\r\n }\r\n\r\n if (view?.id === event.id) {\r\n view = event;\r\n }\r\n\r\n return {\r\n items,\r\n view\r\n };\r\n }\r\n );\r\n },\r\n\r\n [EVENT_SCHEDULES](state, action) {\r\n return updateResourceState(state, action, RESOURCE, (resource) => ({\r\n schedules: {\r\n ...(resource?.schedules ?? defaultResourceState),\r\n loading: true\r\n }\r\n }));\r\n },\r\n\r\n [EVENT_SCHEDULES_FINISHED](state, action) {\r\n return updateResourceState(\r\n state,\r\n action,\r\n RESOURCE,\r\n ({ schedules = {} }) => ({\r\n schedules: {\r\n ...schedules,\r\n pagination: {\r\n ...schedules?.pagination,\r\n total: action.payload.data.result.totalCount,\r\n current: Number(action.payload.config.params?.page) || 1\r\n },\r\n ...action.payload.data.result,\r\n queryParams: action.payload.config.params,\r\n loaded: true,\r\n saving: false,\r\n loading: false\r\n }\r\n })\r\n );\r\n },\r\n\r\n [EVENT_SCHEDULES_UNLOAD](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n schedules: {}\r\n }));\r\n }\r\n },\r\n (state, action) => {\r\n return updateResourceState(state, action, RESOURCE, () => {\r\n return {\r\n loading: false,\r\n deletingId: null,\r\n updatingStatus: false\r\n };\r\n });\r\n }\r\n);\r\n\r\nexport default eventReducer;\r\n","import {\r\n updateResourceState,\r\n createResourceReducer,\r\n RESOURCE,\r\n RECORD_FIELD\r\n} from 'react-structure-admin';\r\nimport {\r\n ATTENDANCE,\r\n ATTENDANCE_CLOSE_DOCUMENT,\r\n ATTENDANCE_CREATE_DOCUMENT,\r\n ATTENDANCE_CREATE_DOCUMENT_FIELD,\r\n ATTENDANCE_CREATE_DOCUMENT_FIELD_FINISHED,\r\n ATTENDANCE_DELETE_DOCUMENT_FIELD,\r\n ATTENDANCE_START_OR_STOP_SERVICE,\r\n ATTENDANCE_START_OR_STOP_SERVICE_FINISHED,\r\n ATTENDANCE_UPDATE_ANSWER,\r\n ATTENDANCE_UPDATE_ANSWER_FINISHED,\r\n ATTENDANCE_UPDATE_DOCUMENT_FIELD,\r\n ATTENDANCE_UPDATE_DOCUMENT_FIELD_FINISHED,\r\n ATTENDANCE_SET_EDIT_VALUES,\r\n ATTENDANCE_CREATE_PRESCRIPTION_FIELD,\r\n ATTENDANCE_CREATE_PRESCRIPTION_FIELD_FINISHED,\r\n ATTENDANCE_CLOSE_PRESCRIPTION,\r\n ATTENDANCE_CREATE_PRESCRIPTION,\r\n ATTENDANCE_UPDATE_PRESCRIPTION_FIELD,\r\n ATTENDANCE_UPDATE_PRESCRIPTION_FIELD_FINISHED,\r\n ATTENDANCE_DELETE_PRESCRIPTION_FIELD,\r\n ATTENDANCE_PRESCRIPTION_REDIRECT_RECEITA_DIGITAL,\r\n ATTENDANCE_PRESCRIPTION_REDIRECT_RECEITA_DIGITAL_FINISHED\r\n} from './attendanceActions';\r\n\r\nconst handleError = (state, action) => {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n startingOrstopping: false,\r\n creatingPrescription: false,\r\n creatingDocument: false,\r\n loading: false,\r\n saving: false,\r\n redirecting: false\r\n }));\r\n};\r\n\r\nconst attendanceReducer = createResourceReducer(\r\n ATTENDANCE,\r\n [],\r\n {\r\n [ATTENDANCE_START_OR_STOP_SERVICE](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n startingOrstopping: true\r\n }));\r\n },\r\n\r\n [ATTENDANCE_START_OR_STOP_SERVICE_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => {\r\n return {\r\n startingOrstopping: false,\r\n [RECORD_FIELD]: {\r\n ...action.payload.data.result\r\n }\r\n };\r\n });\r\n },\r\n\r\n [ATTENDANCE_SET_EDIT_VALUES](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n [RECORD_FIELD]: {\r\n ...action.payload\r\n }\r\n }));\r\n },\r\n\r\n [ATTENDANCE_UPDATE_ANSWER](state, action) {\r\n return updateResourceState(\r\n state,\r\n action,\r\n RESOURCE,\r\n ({ [RECORD_FIELD]: { sections = [], ...rest } }) => {\r\n const { id, fields } = action.payload;\r\n\r\n const newSections = sections.map((c) => {\r\n if (c.id === id) {\r\n return { ...c, fields };\r\n }\r\n\r\n return c;\r\n });\r\n\r\n return {\r\n saving: true,\r\n [RECORD_FIELD]: {\r\n ...rest,\r\n sections: newSections\r\n }\r\n };\r\n }\r\n );\r\n },\r\n\r\n [ATTENDANCE_CREATE_DOCUMENT](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n modalDocumentEdit: action.payload\r\n }));\r\n },\r\n\r\n [ATTENDANCE_CLOSE_DOCUMENT](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n modalDocumentEdit: null\r\n }));\r\n },\r\n\r\n [ATTENDANCE_CREATE_DOCUMENT_FIELD](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n creatingDocument: true\r\n }));\r\n },\r\n\r\n [ATTENDANCE_CREATE_DOCUMENT_FIELD_FINISHED](state, action) {\r\n return updateResourceState(\r\n state,\r\n action,\r\n RESOURCE,\r\n ({ [RECORD_FIELD]: { sections = [], ...rest } }) => {\r\n const newSections = [\r\n ...sections.map((c) => {\r\n if (\r\n c.type === 'document' &&\r\n c.id === action.payload.data.result.sectionId\r\n ) {\r\n return {\r\n ...c,\r\n documents: [action.payload.data.result, ...c.documents]\r\n };\r\n }\r\n\r\n return c;\r\n })\r\n ];\r\n\r\n return {\r\n creatingDocument: false,\r\n modalDocumentEdit: null,\r\n [RECORD_FIELD]: {\r\n ...rest,\r\n sections: [...newSections]\r\n }\r\n };\r\n }\r\n );\r\n },\r\n\r\n [ATTENDANCE_UPDATE_DOCUMENT_FIELD](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n creatingDocument: true\r\n }));\r\n },\r\n\r\n [ATTENDANCE_UPDATE_DOCUMENT_FIELD_FINISHED](state, action) {\r\n return updateResourceState(\r\n state,\r\n action,\r\n RESOURCE,\r\n ({ [RECORD_FIELD]: { sections = [], ...rest } }) => {\r\n const newSections = [\r\n ...sections.map((c) => {\r\n if (\r\n c.type === 'document' &&\r\n c.id === action.payload.data.result.sectionId\r\n ) {\r\n return {\r\n ...c,\r\n documents: c.documents.map((d) => {\r\n if (d.id === action.payload.data.result.id) {\r\n return action.payload.data.result;\r\n }\r\n\r\n return d;\r\n })\r\n };\r\n }\r\n\r\n return c;\r\n })\r\n ];\r\n\r\n return {\r\n creatingDocument: false,\r\n modalDocumentEdit: null,\r\n [RECORD_FIELD]: {\r\n ...rest,\r\n sections: [...newSections]\r\n }\r\n };\r\n }\r\n );\r\n },\r\n\r\n [ATTENDANCE_DELETE_DOCUMENT_FIELD](state, action) {\r\n return updateResourceState(\r\n state,\r\n action,\r\n RESOURCE,\r\n ({ [RECORD_FIELD]: { sections = [], ...rest } }) => {\r\n const newSections = [\r\n ...sections.map((c) => {\r\n if (c.type === 'document') {\r\n return {\r\n ...c,\r\n documents: c.documents.filter((d) => d.id !== action.payload)\r\n };\r\n }\r\n\r\n return c;\r\n })\r\n ];\r\n\r\n return {\r\n [RECORD_FIELD]: {\r\n ...rest,\r\n sections: [...newSections]\r\n }\r\n };\r\n }\r\n );\r\n },\r\n\r\n [ATTENDANCE_DELETE_PRESCRIPTION_FIELD](state, action) {\r\n return updateResourceState(\r\n state,\r\n action,\r\n RESOURCE,\r\n ({ [RECORD_FIELD]: { sections = [], ...rest } }) => {\r\n const newSections = [\r\n ...sections.map((c) => {\r\n if (c.type === 'prescription') {\r\n return {\r\n ...c,\r\n prescriptions: c.prescriptions.filter(\r\n (d) => d.id !== action.payload\r\n )\r\n };\r\n }\r\n\r\n return c;\r\n })\r\n ];\r\n\r\n return {\r\n [RECORD_FIELD]: {\r\n ...rest,\r\n sections: [...newSections]\r\n }\r\n };\r\n }\r\n );\r\n },\r\n\r\n [ATTENDANCE_UPDATE_ANSWER_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n saving: false\r\n }));\r\n },\r\n\r\n [ATTENDANCE_CREATE_PRESCRIPTION_FIELD](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n creatingPrescription: true\r\n }));\r\n },\r\n\r\n [ATTENDANCE_CREATE_PRESCRIPTION_FIELD_FINISHED](state, action) {\r\n return updateResourceState(\r\n state,\r\n action,\r\n RESOURCE,\r\n ({ [RECORD_FIELD]: { sections = [], ...rest } }) => {\r\n const newSections = [\r\n ...sections.map((c) => {\r\n if (\r\n c.type === 'prescription' &&\r\n c.id === action.payload.data.result.sectionId\r\n ) {\r\n return {\r\n ...c,\r\n prescriptions: [\r\n action.payload.data.result,\r\n ...c.prescriptions\r\n ]\r\n };\r\n }\r\n\r\n return c;\r\n })\r\n ];\r\n\r\n return {\r\n creatingPrescription: false,\r\n modalPrescriptionEdit: null,\r\n [RECORD_FIELD]: {\r\n ...rest,\r\n sections: [...newSections]\r\n }\r\n };\r\n }\r\n );\r\n },\r\n\r\n [ATTENDANCE_CLOSE_PRESCRIPTION](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n modalPrescriptionEdit: null\r\n }));\r\n },\r\n\r\n [ATTENDANCE_CREATE_PRESCRIPTION](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n modalPrescriptionEdit: action.payload\r\n }));\r\n },\r\n\r\n [ATTENDANCE_UPDATE_PRESCRIPTION_FIELD](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n creatingPrescription: true\r\n }));\r\n },\r\n\r\n [ATTENDANCE_UPDATE_PRESCRIPTION_FIELD_FINISHED](state, action) {\r\n return updateResourceState(\r\n state,\r\n action,\r\n RESOURCE,\r\n ({ [RECORD_FIELD]: { sections = [], ...rest } }) => {\r\n const newSections = [\r\n ...sections.map((c) => {\r\n if (\r\n c.type === 'prescription' &&\r\n c.id === action.payload.data.result.sectionId\r\n ) {\r\n return {\r\n ...c,\r\n prescriptions: c.prescriptions.map((d) => {\r\n if (d.id === action.payload.data.result.id) {\r\n return action.payload.data.result;\r\n }\r\n\r\n return d;\r\n })\r\n };\r\n }\r\n\r\n return c;\r\n })\r\n ];\r\n\r\n return {\r\n creatingPrescription: false,\r\n modalPrescriptionEdit: null,\r\n [RECORD_FIELD]: {\r\n ...rest,\r\n sections: [...newSections]\r\n }\r\n };\r\n }\r\n );\r\n },\r\n\r\n [ATTENDANCE_PRESCRIPTION_REDIRECT_RECEITA_DIGITAL](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n redirecting: true\r\n }));\r\n },\r\n\r\n [ATTENDANCE_PRESCRIPTION_REDIRECT_RECEITA_DIGITAL_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n redirecting: false\r\n }));\r\n }\r\n },\r\n handleError\r\n);\r\n\r\nexport default attendanceReducer;\r\n","import {\r\n updateResourceState,\r\n createResourceReducer,\r\n normalizeResourceState,\r\n RESOURCE\r\n} from 'react-structure-admin';\r\n\r\nimport {\r\n PATIENT,\r\n PATIENT_CREATE_ATTENDANCE,\r\n PATIENT_VIEW,\r\n PATIENT_VIEW_FINISHED,\r\n PATIENT_VIEW_UPDATE,\r\n PATIENT_EVENT_FETCH,\r\n PATIENT_EVENT_FETCH_FINISHED,\r\n PATIENT_EVENT_UNLOAD,\r\n PATIENT_EVENT_CREATE_ANNOTATION,\r\n PATIENT_EVENT_CREATE_ANNOTATION_FINISHED,\r\n PATIENT_EVENT_LINK_TREATMENT_FINISHED,\r\n PATIENT_EVENT_SHARE_FINISHED,\r\n PATIENT_SHOW_EVENTS,\r\n PATIENT_SHOW_ACTIVITIES,\r\n PATIENT_SHOW_SCHEDULES,\r\n PATIENT_CLOSE_SCHEDULES,\r\n PATIENT_EVENT_PRESCRIPTION_SHOW,\r\n PATIENT_EVENT_PRESCRIPTION_CLOSE,\r\n PATIENT_EVENT,\r\n PATIENT_EVENT_FINISHED,\r\n PATIENT_PRESCRIPTION_CREATE_INTEGRATED,\r\n PATIENT_PRESCRIPTION_CREATE_INTEGRATED_FINISHED,\r\n PATIENT_OPEN_ANNOTATION,\r\n PATIENT_CLOSE_ANNOTATION,\r\n PATIENT_EVENT_LIST_OPEN_FILTER,\r\n PATIENT_EVENT_LIST_CLOSE_FILTER,\r\n PATIENT_GET_TAGS,\r\n PATIENT_GET_TAGS_FINISHED,\r\n PATIENT_CREATE_TAG,\r\n PATIENT_REMOVE_TAG,\r\n PATIENT_CLOSE_FINANCIALENTRY,\r\n PATIENT_SHOW_FINANCIALENTRY\r\n} from './patientActions';\r\n\r\nconst handleError = (state, action) => {\r\n return updateResourceState(\r\n state,\r\n action,\r\n RESOURCE,\r\n ({ createAnnotationData }) => ({\r\n loading: false,\r\n saving: false,\r\n redirecting: false,\r\n createAnnotationData: createAnnotationData\r\n ? { ...createAnnotationData, loading: false }\r\n : null\r\n })\r\n );\r\n};\r\n\r\nconst patientReducer = createResourceReducer(\r\n PATIENT,\r\n [],\r\n {\r\n [PATIENT_VIEW](state, action) {\r\n const newState = normalizeResourceState(state, action.resource);\r\n return updateResourceState(newState, action, RESOURCE, () => ({\r\n loading: true\r\n }));\r\n },\r\n\r\n [PATIENT_EVENT_FETCH](state, action) {\r\n const newState = normalizeResourceState(state, action.resource);\r\n return updateResourceState(\r\n newState,\r\n action,\r\n RESOURCE,\r\n ({ events = {} }) => ({\r\n events: {\r\n ...events,\r\n loading: true\r\n }\r\n })\r\n );\r\n },\r\n\r\n [PATIENT_EVENT_FETCH_FINISHED](state, action) {\r\n const page = Number(action.payload.config.params.page) || 1;\r\n\r\n return updateResourceState(state, action, RESOURCE, ({ events = {} }) => {\r\n const { items = [], pagination = {} } = events;\r\n\r\n const newItems =\r\n page === 1\r\n ? action.payload.data.result.items\r\n : [...items, ...action.payload.data.result.items];\r\n\r\n return {\r\n events: {\r\n ...events,\r\n pagination: {\r\n ...pagination,\r\n total: action.payload.data.result.totalCount,\r\n current: page\r\n },\r\n queryParams: action.payload.config.params,\r\n items: [...newItems],\r\n editing: false,\r\n loaded: true,\r\n saving: false,\r\n loading: false\r\n }\r\n };\r\n });\r\n },\r\n\r\n [PATIENT_VIEW_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loading: false,\r\n resourceView: action.payload.data.result\r\n }));\r\n },\r\n\r\n [PATIENT_VIEW_UPDATE](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n resourceView: action.payload\r\n }));\r\n },\r\n\r\n [PATIENT_CREATE_ATTENDANCE](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n creatingService: action.payload\r\n }));\r\n },\r\n\r\n [PATIENT_EVENT_UNLOAD](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n events: {}\r\n }));\r\n },\r\n\r\n [PATIENT_EVENT_LINK_TREATMENT_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, ({ events = {} }) => {\r\n const { items = [], pagination } = events;\r\n\r\n return {\r\n events: {\r\n ...events,\r\n items: items.map((c) => {\r\n if (c.id === action.payload.data.result.id) {\r\n return action.payload.data.result;\r\n }\r\n\r\n return c;\r\n }),\r\n pagination: {\r\n ...pagination,\r\n total: pagination.total + 1\r\n }\r\n }\r\n };\r\n });\r\n },\r\n\r\n [PATIENT_EVENT_SHARE_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, ({ events = {} }) => {\r\n const { items = [], pagination } = events;\r\n\r\n return {\r\n events: {\r\n ...events,\r\n items: items.map((c) => {\r\n if (c.id === action.payload.data.result.id) {\r\n return action.payload.data.result;\r\n }\r\n\r\n return c;\r\n }),\r\n pagination: {\r\n ...pagination,\r\n total: pagination.total + 1\r\n }\r\n }\r\n };\r\n });\r\n },\r\n\r\n [PATIENT_SHOW_EVENTS](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n show: 'EVENTS'\r\n }));\r\n },\r\n\r\n [PATIENT_SHOW_ACTIVITIES](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n show: 'ACTIVITIES'\r\n }));\r\n },\r\n\r\n [PATIENT_SHOW_SCHEDULES](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n showSchedulesPatientId: action.payload\r\n }));\r\n },\r\n\r\n [PATIENT_CLOSE_SCHEDULES](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n showSchedulesPatientId: null\r\n }));\r\n },\r\n\r\n [PATIENT_EVENT_PRESCRIPTION_SHOW](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n eventPrescription: true\r\n }));\r\n },\r\n\r\n [PATIENT_EVENT_PRESCRIPTION_CLOSE](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n eventPrescription: false\r\n }));\r\n },\r\n\r\n [PATIENT_EVENT](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n saving: true\r\n }));\r\n },\r\n\r\n [PATIENT_EVENT_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, ({ events = {} }) => {\r\n const { items = [], pagination } = events;\r\n\r\n return {\r\n eventPrescription: false,\r\n saving: false,\r\n events: {\r\n ...events,\r\n items: [action.payload.data.result, ...items],\r\n pagination: {\r\n ...pagination,\r\n total: pagination.total + 1\r\n }\r\n }\r\n };\r\n });\r\n },\r\n\r\n [PATIENT_PRESCRIPTION_CREATE_INTEGRATED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n redirecting: true\r\n }));\r\n },\r\n\r\n [PATIENT_PRESCRIPTION_CREATE_INTEGRATED_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n redirecting: false\r\n }));\r\n },\r\n\r\n [PATIENT_OPEN_ANNOTATION](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => {\r\n return {\r\n createAnnotationData: {\r\n patient: action.payload,\r\n loading: false\r\n }\r\n };\r\n });\r\n },\r\n\r\n [PATIENT_CLOSE_ANNOTATION](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => {\r\n return {\r\n createAnnotationData: null\r\n };\r\n });\r\n },\r\n\r\n [PATIENT_EVENT_CREATE_ANNOTATION](state, action) {\r\n return updateResourceState(\r\n state,\r\n action,\r\n RESOURCE,\r\n ({ createAnnotationData = {} }) => ({\r\n createAnnotationData: {\r\n ...createAnnotationData,\r\n loading: true\r\n }\r\n })\r\n );\r\n },\r\n\r\n [PATIENT_EVENT_CREATE_ANNOTATION_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, ({ events = {} }) => {\r\n const { items = [], pagination } = events;\r\n\r\n return {\r\n createAnnotationData: null,\r\n events: {\r\n ...events,\r\n items: [action.payload.data.result, ...items],\r\n pagination: {\r\n ...pagination,\r\n total: pagination?.total + 1\r\n }\r\n }\r\n };\r\n });\r\n },\r\n\r\n [PATIENT_EVENT_LIST_OPEN_FILTER](state, action) {\r\n return updateResourceState(state, action, RESOURCE, ({ events = {} }) => {\r\n return {\r\n events: {\r\n ...events,\r\n openFilter: true\r\n }\r\n };\r\n });\r\n },\r\n\r\n [PATIENT_EVENT_LIST_CLOSE_FILTER](state, action) {\r\n return updateResourceState(state, action, RESOURCE, ({ events = {} }) => {\r\n return {\r\n events: {\r\n ...events,\r\n openFilter: false\r\n }\r\n };\r\n });\r\n },\r\n\r\n [PATIENT_GET_TAGS_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => {\r\n return {\r\n tags: action.payload?.data?.result ?? []\r\n };\r\n });\r\n },\r\n\r\n [PATIENT_CREATE_TAG](state, action) {\r\n return updateResourceState(state, action, RESOURCE, ({ tags = [] }) => {\r\n return {\r\n tags: [...tags, { tag: action.payload }]\r\n };\r\n });\r\n },\r\n\r\n [PATIENT_REMOVE_TAG](state, action) {\r\n return updateResourceState(state, action, RESOURCE, ({ tags = [] }) => {\r\n return {\r\n tags: tags.filter((c) => c.id !== action.payload)\r\n };\r\n });\r\n },\r\n\r\n [PATIENT_SHOW_FINANCIALENTRY](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n visibleFinancialEntryPatientId: action.payload\r\n }));\r\n },\r\n\r\n [PATIENT_CLOSE_FINANCIALENTRY](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n visibleFinancialEntryPatientId: null\r\n }));\r\n }\r\n },\r\n handleError\r\n);\r\n\r\nexport default patientReducer;\r\n","import {\r\n updateResourceState,\r\n createResourceReducer,\r\n RESOURCE,\r\n RECORD_FIELD\r\n} from 'react-structure-admin';\r\nimport {\r\n TREATMENT,\r\n TREATMENT_ACCEPTED_TREATMENT_PARTNER,\r\n TREATMENT_ACCEPTED_TREATMENT_PARTNER_FINISHED,\r\n TREATMENT_CANCEL,\r\n TREATMENT_CANCEL_FINISHED,\r\n TREATMENT_CLOSE_CANCELLATION,\r\n TREATMENT_CONCLUDE,\r\n TREATMENT_CONCLUDE_FINISHED,\r\n TREATMENT_MY_TREATMENT_PARTNER,\r\n TREATMENT_MY_TREATMENT_PARTNER_FINISHED,\r\n TREATMENT_OPEN_CANCELLATION\r\n} from './treatmentActions';\r\n\r\nconst handleError = (state, action) => {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n myTreatmentPartnerLoading: false,\r\n treatmentPartnerAcceptingId: null,\r\n loading: false,\r\n saving: false,\r\n canceling: false\r\n }));\r\n};\r\n\r\nconst treatmentReducer = createResourceReducer(\r\n TREATMENT,\r\n [],\r\n {\r\n [TREATMENT_CONCLUDE](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n saving: true,\r\n [RECORD_FIELD]: {\r\n ...action.payload\r\n }\r\n }));\r\n },\r\n\r\n [TREATMENT_CONCLUDE_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => {\r\n return {\r\n saving: false,\r\n editing: false,\r\n [RECORD_FIELD]: {\r\n ...action.payload.data.result\r\n }\r\n };\r\n });\r\n },\r\n\r\n [TREATMENT_MY_TREATMENT_PARTNER](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => {\r\n return {\r\n myTreatmentPartnerLoading: true\r\n };\r\n });\r\n },\r\n\r\n [TREATMENT_MY_TREATMENT_PARTNER_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => {\r\n return {\r\n myTreatmentPartnerLoading: false,\r\n myTreatmentPartners: action.payload.data.result\r\n };\r\n });\r\n },\r\n\r\n [TREATMENT_ACCEPTED_TREATMENT_PARTNER](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => {\r\n return {\r\n treatmentPartnerAcceptingId: action.payload\r\n };\r\n });\r\n },\r\n\r\n [TREATMENT_ACCEPTED_TREATMENT_PARTNER_FINISHED](state, action) {\r\n return updateResourceState(\r\n state,\r\n action,\r\n RESOURCE,\r\n ({ myTreatmentPartners = [], treatmentPartnerAcceptingId }) => {\r\n return {\r\n treatmentPartnerAcceptingId: null,\r\n myTreatmentPartners: myTreatmentPartners.filter(\r\n (c) => c.id !== treatmentPartnerAcceptingId\r\n )\r\n };\r\n }\r\n );\r\n },\r\n\r\n [TREATMENT_CANCEL](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => {\r\n return {\r\n canceling: true\r\n };\r\n });\r\n },\r\n\r\n [TREATMENT_CANCEL_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => {\r\n return {\r\n canceling: false\r\n };\r\n });\r\n },\r\n\r\n [TREATMENT_OPEN_CANCELLATION](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => {\r\n return {\r\n cancellation: true\r\n };\r\n });\r\n },\r\n\r\n [TREATMENT_CLOSE_CANCELLATION](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => {\r\n return {\r\n cancellation: false\r\n };\r\n });\r\n }\r\n },\r\n handleError\r\n);\r\n\r\nexport default treatmentReducer;\r\n","import {\r\n createResourceReducer,\r\n updateResourceState,\r\n RESOURCE\r\n} from 'react-structure-admin';\r\n\r\nimport {\r\n STATISTICS_GET,\r\n STATISTICS_GET_ATTENDANCES_IN_PROGRESS_FINISHED,\r\n STATISTICS_GET_FINISHED,\r\n STATISTICS_GET_PRODUCTIVITY_FINISHED,\r\n STATISTICS_GET_STEPS,\r\n STATISTICS_GET_STEPS_FINISHED,\r\n STATISTICS_USER_GET_FINISHED\r\n} from './dashboardActions';\r\n\r\nconst dashboardReducer = createResourceReducer('statistics', [], {\r\n [STATISTICS_GET](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loading: true\r\n }));\r\n },\r\n\r\n [STATISTICS_GET_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n data: { ...action.payload.data },\r\n loading: false\r\n }));\r\n },\r\n\r\n [STATISTICS_USER_GET_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n userProductivity: { ...action.payload.data }\r\n }));\r\n },\r\n\r\n [STATISTICS_GET_PRODUCTIVITY_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n productivity: action.payload.data\r\n }));\r\n },\r\n\r\n [STATISTICS_GET_STEPS](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loading: true,\r\n onlyConcluded: action.payload?.onlyConcluded\r\n }));\r\n },\r\n\r\n [STATISTICS_GET_STEPS_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n steps: action.payload.data,\r\n loading: false\r\n }));\r\n },\r\n\r\n [STATISTICS_GET_ATTENDANCES_IN_PROGRESS_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n attendances: action.payload.data\r\n }));\r\n }\r\n});\r\n\r\nexport default dashboardReducer;\r\n","import {\r\n updateResourceState,\r\n createResourceReducer,\r\n RESOURCE,\r\n RECORD_FIELD\r\n} from 'react-structure-admin';\r\nimport {\r\n COMPANY,\r\n COMPANY_CANCEL,\r\n COMPANY_GET,\r\n COMPANY_GET_FINISHED,\r\n COMPANY_GET_SETTINGS,\r\n COMPANY_GET_SETTINGS_FINISHED,\r\n COMPANY_GET_SETUP_STEPS,\r\n COMPANY_GET_SETUP_STEPS_FINISHED,\r\n COMPANY_UPDATE,\r\n COMPANY_UPDATE_FINISHED,\r\n COMPANY_SETTINGS_UPDATE,\r\n COMPANY_SETTINGS_UPDATE_FINISHED,\r\n COMPANY_UPLOAD_CERTIFICATE,\r\n COMPANY_UPLOAD_CERTIFICATE_ERROR,\r\n COMPANY_UPLOAD_CERTIFICATE_FINISHED\r\n} from './companyActions';\r\n\r\nconst companyReducer = createResourceReducer(COMPANY, [], {\r\n [COMPANY_GET](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loading: true,\r\n tab: action.payload.tab\r\n }));\r\n },\r\n\r\n [COMPANY_GET_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n [RECORD_FIELD]: action.payload.data.result,\r\n loading: false,\r\n visible: true\r\n }));\r\n },\r\n\r\n [COMPANY_GET_SETTINGS](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loadingEdition: true\r\n }));\r\n },\r\n\r\n [COMPANY_GET_SETTINGS_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n editingSettings: action.payload.data.result,\r\n loadingEdition: false\r\n }));\r\n },\r\n\r\n [COMPANY_UPDATE](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n [RECORD_FIELD]: action.payload,\r\n saving: true\r\n }));\r\n },\r\n\r\n [COMPANY_UPDATE_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n [RECORD_FIELD]: null,\r\n saving: false,\r\n visible: false,\r\n tab: null\r\n }));\r\n },\r\n\r\n [COMPANY_SETTINGS_UPDATE](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n editingSettings: action.payload,\r\n saving: true\r\n }));\r\n },\r\n\r\n [COMPANY_SETTINGS_UPDATE_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n editingSettings: action.payload.data.result,\r\n loading: false,\r\n saving: false\r\n }));\r\n },\r\n\r\n [COMPANY_CANCEL](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n [RECORD_FIELD]: null,\r\n loading: false,\r\n saving: false,\r\n visible: false\r\n }));\r\n },\r\n\r\n [COMPANY_UPLOAD_CERTIFICATE](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n uploading: true\r\n }));\r\n },\r\n\r\n [COMPANY_UPLOAD_CERTIFICATE_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, (resource) => ({\r\n uploading: false\r\n }));\r\n },\r\n\r\n [COMPANY_UPLOAD_CERTIFICATE_ERROR](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n uploading: false\r\n }));\r\n },\r\n\r\n [COMPANY_GET_SETUP_STEPS](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loading: true\r\n }));\r\n },\r\n\r\n [COMPANY_GET_SETUP_STEPS_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n setupSteps: action.payload.data.result,\r\n loading: false\r\n }));\r\n }\r\n});\r\n\r\nexport default companyReducer;\r\n","const createReducer = (\r\n actionTypePrefix,\r\n initialState = {},\r\n methods,\r\n errorHandler\r\n) => (state = initialState, action) => {\r\n if (\r\n !actionTypePrefix ||\r\n !action.type.toUpperCase().startsWith(`${actionTypePrefix.toUpperCase()}_`)\r\n ) {\r\n return state;\r\n }\r\n\r\n if (action.error) {\r\n if (errorHandler) {\r\n return errorHandler(state, action);\r\n }\r\n\r\n const errors =\r\n action.payload && action.payload.errors\r\n ? action.payload.errors || []\r\n : [];\r\n\r\n return {\r\n ...state,\r\n [action.resource]: {\r\n ...state[action.resource],\r\n errors,\r\n saving: false\r\n }\r\n };\r\n }\r\n\r\n if (\r\n !action.type.endsWith('_FINISHED') &&\r\n action.resource &&\r\n state[action.resource] &&\r\n state[action.resource].errors &&\r\n state[action.resource].errors.length > 0\r\n ) {\r\n state = {\r\n ...state,\r\n [action.resource]: { ...state[action.resource], errors: [] }\r\n };\r\n }\r\n\r\n const method = methods[action.type];\r\n\r\n return method ? method(state, action) : state;\r\n};\r\n\r\nexport default createReducer;\r\n","import createReducer from 'core/store/createReducer';\r\nimport {\r\n RESOURCE,\r\n RECORD_FIELD,\r\n updateResourceState\r\n} from 'react-structure-admin';\r\n\r\nimport {\r\n SUBSCRIPTION,\r\n SUBSCRIPTION_CURRENT_GET,\r\n SUBSCRIPTION_CURRENT_GET_FINISHED,\r\n SUBSCRIPTION_SET_LOADING,\r\n SUBSCRIPTION_SET_VALUES,\r\n SUBSCRIPTION_UPDATE,\r\n SUBSCRIPTION_UPDATE_FINISHED,\r\n SUBSCRIPTION_OPEN_PURCHASE_PACKAGE,\r\n SUBSCRIPTION_CLOSE_PURCHASE_PACKAGE,\r\n SUBSCRIPTION_PURCHASE_PACKAGE,\r\n SUBSCRIPTION_PURCHASE_PACKAGE_FINISHED,\r\n SUBSCRIPTION_BALANCE_DETAILS,\r\n SUBSCRIPTION_BALANCE_DETAILS_FINISHED,\r\n SUBSCRIPTION_OPEN_PACKAGE_LIST,\r\n SUBSCRIPTION_CLOSE_PACKAGE_LIST\r\n} from './subscriptionActions';\r\n\r\nconst handleError = (state, action) => {\r\n return {\r\n ...state,\r\n saving: false,\r\n loading: false,\r\n canceling: false,\r\n buyingPackage: false\r\n };\r\n};\r\n\r\nconst subscriptionReducer = createReducer(\r\n SUBSCRIPTION,\r\n [],\r\n {\r\n [SUBSCRIPTION_CURRENT_GET](state, action) {\r\n return {\r\n ...state,\r\n subscription: null,\r\n loading: true,\r\n plans: false\r\n };\r\n },\r\n\r\n [SUBSCRIPTION_CURRENT_GET_FINISHED](state, action) {\r\n return {\r\n ...state,\r\n subscription: action.payload.data.result,\r\n loading: false,\r\n plans: false\r\n };\r\n },\r\n\r\n [SUBSCRIPTION_SET_VALUES](state, action) {\r\n if (!state[RECORD_FIELD]) {\r\n state[RECORD_FIELD] = {};\r\n }\r\n\r\n return {\r\n ...state,\r\n [RECORD_FIELD]: {\r\n ...state[RECORD_FIELD],\r\n ...action.payload\r\n },\r\n loading: false\r\n };\r\n },\r\n\r\n [SUBSCRIPTION_SET_LOADING](state, action) {\r\n return {\r\n ...state,\r\n loading: action.payload\r\n };\r\n },\r\n\r\n [SUBSCRIPTION_OPEN_PURCHASE_PACKAGE](state, action) {\r\n return {\r\n ...state,\r\n purchasePackage: true\r\n };\r\n },\r\n\r\n [SUBSCRIPTION_CLOSE_PURCHASE_PACKAGE](state, action) {\r\n return {\r\n ...state,\r\n purchasePackage: false\r\n };\r\n },\r\n\r\n [SUBSCRIPTION_PURCHASE_PACKAGE](state, action) {\r\n return {\r\n ...state,\r\n buyingPackage: true\r\n };\r\n },\r\n\r\n [SUBSCRIPTION_PURCHASE_PACKAGE_FINISHED](state, action) {\r\n return {\r\n ...state,\r\n buyingPackage: false,\r\n purchasePackage: false\r\n };\r\n },\r\n\r\n [SUBSCRIPTION_BALANCE_DETAILS](state, action) {\r\n return {\r\n ...state,\r\n balanceDetails: {}\r\n };\r\n },\r\n\r\n [SUBSCRIPTION_BALANCE_DETAILS_FINISHED](state, action) {\r\n return {\r\n ...state,\r\n balanceDetails: action.payload.data.result\r\n };\r\n },\r\n\r\n [SUBSCRIPTION_OPEN_PACKAGE_LIST](state, action) {\r\n return {\r\n ...state,\r\n packageList: true\r\n };\r\n },\r\n\r\n [SUBSCRIPTION_CLOSE_PACKAGE_LIST](state, action) {\r\n return {\r\n ...state,\r\n packageList: false\r\n };\r\n },\r\n\r\n [SUBSCRIPTION_UPDATE](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n saving: true\r\n }));\r\n },\r\n\r\n [SUBSCRIPTION_UPDATE_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n subscription: action.payload.data.result,\r\n plans: false,\r\n saving: false\r\n }));\r\n }\r\n },\r\n handleError\r\n);\r\n\r\nexport default subscriptionReducer;\r\n","import {\r\n updateResourceState,\r\n createResourceReducer,\r\n RESOURCE\r\n} from 'react-structure-admin';\r\nimport {\r\n PRESCRIPTION,\r\n PRESCRIPTION_CLOSE,\r\n PRESCRIPTION_SHOW\r\n} from './prescriptionActions';\r\n\r\nconst prescriptionReducer = createResourceReducer(PRESCRIPTION, [], {\r\n [PRESCRIPTION_SHOW](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n visible: true,\r\n forceDefaultPrescription: action.payload\r\n }));\r\n },\r\n\r\n [PRESCRIPTION_CLOSE](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n visible: false\r\n }));\r\n }\r\n});\r\n\r\nexport default prescriptionReducer;\r\n","import {\r\n updateResourceState,\r\n createResourceReducer,\r\n RESOURCE,\r\n RECORD_FIELD\r\n} from 'react-structure-admin';\r\n\r\nimport {\r\n FINANCIALENTRY,\r\n FINANCIALENTRY_CANCEL_INVOICE_FINISHED,\r\n FINANCIALENTRY_CHANGE_TO_EXPORT,\r\n FINANCIALENTRY_CHANGE_TO_EXPORT_FINISHED,\r\n FINANCIALENTRY_CLOSE_DETAIL,\r\n FINANCIALENTRY_CLOSE_INVOICE,\r\n FINANCIALENTRY_CLOSE_RESEND_EMAIL_INVOICE,\r\n FINANCIALENTRY_DELETE,\r\n FINANCIALENTRY_DELETE_FINISHED,\r\n FINANCIALENTRY_EXPORT,\r\n FINANCIALENTRY_EXPORT_CSV,\r\n FINANCIALENTRY_EXPORT_CSV_FINISHED,\r\n FINANCIALENTRY_EXPORT_FINISHED,\r\n FINANCIALENTRY_OPEN_DETAIL,\r\n FINANCIALENTRY_OPEN_DETAIL_FINISHED,\r\n FINANCIALENTRY_OPEN_INVOICE_FINISHED,\r\n FINANCIALENTRY_OPEN_RESEND_EMAIL_INVOICE,\r\n FINANCIALENTRY_POST,\r\n FINANCIALENTRY_POST_FINISHED,\r\n FINANCIALENTRY_REFRESH,\r\n FINANCIALENTRY_RESEND_EMAIL_INVOICE,\r\n FINANCIALENTRY_RESEND_EMAIL_INVOICE_FINISHED,\r\n FINANCIALENTRY_OPEN_TRANSFER,\r\n FINANCIALENTRY_CLOSE_TRANSFER,\r\n FINANCIALENTRY_CREATE_TRANSFER,\r\n FINANCIALENTRY_CREATE_TRANSFER_FINISHED,\r\n FINANCIALENTRY_DELETE_TRANSFER,\r\n FINANCIALENTRY_DELETE_TRANSFER_FINISHED\r\n} from './financialEntryActions';\r\n\r\nconst financialEntryReducer = createResourceReducer(\r\n FINANCIALENTRY,\r\n [],\r\n {\r\n [FINANCIALENTRY_OPEN_INVOICE_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n [RECORD_FIELD]: action.payload.data.result,\r\n editingInvoice: true,\r\n editing: true,\r\n visible: true\r\n }));\r\n },\r\n\r\n [FINANCIALENTRY_CLOSE_INVOICE](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n [RECORD_FIELD]: null,\r\n editingInvoice: false,\r\n editing: false,\r\n visible: false\r\n }));\r\n },\r\n\r\n [FINANCIALENTRY_CANCEL_INVOICE_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loaded: false\r\n }));\r\n },\r\n\r\n [FINANCIALENTRY_REFRESH](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loaded: false\r\n }));\r\n },\r\n\r\n [FINANCIALENTRY_OPEN_RESEND_EMAIL_INVOICE](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n resendEmailData: action.payload\r\n }));\r\n },\r\n\r\n [FINANCIALENTRY_CLOSE_RESEND_EMAIL_INVOICE](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n resendEmailData: null\r\n }));\r\n },\r\n\r\n [FINANCIALENTRY_CLOSE_RESEND_EMAIL_INVOICE](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n resendEmailData: null\r\n }));\r\n },\r\n\r\n [FINANCIALENTRY_RESEND_EMAIL_INVOICE](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n saving: true\r\n }));\r\n },\r\n\r\n [FINANCIALENTRY_RESEND_EMAIL_INVOICE_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n resendEmailData: null,\r\n saving: false\r\n }));\r\n },\r\n\r\n [FINANCIALENTRY_POST](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n [RECORD_FIELD]: action.payload,\r\n saving: true\r\n }));\r\n },\r\n\r\n [FINANCIALENTRY_POST_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n [RECORD_FIELD]: null,\r\n saving: false,\r\n editing: false,\r\n loaded: false\r\n }));\r\n },\r\n\r\n [FINANCIALENTRY_OPEN_DETAIL](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({}));\r\n },\r\n\r\n [FINANCIALENTRY_OPEN_DETAIL_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n viewDetail: action.payload.data.result\r\n }));\r\n },\r\n\r\n [FINANCIALENTRY_CLOSE_DETAIL](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n viewDetail: null\r\n }));\r\n },\r\n\r\n [FINANCIALENTRY_DELETE](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n deleting: true\r\n }));\r\n },\r\n\r\n [FINANCIALENTRY_DELETE_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n [RECORD_FIELD]: null,\r\n saving: false,\r\n editing: false,\r\n loaded: false,\r\n deleting: false\r\n }));\r\n },\r\n\r\n [FINANCIALENTRY_EXPORT](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n exporting: true\r\n }));\r\n },\r\n\r\n [FINANCIALENTRY_EXPORT_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n exporting: false,\r\n exportedItems: action.payload.data.result\r\n }));\r\n },\r\n\r\n [FINANCIALENTRY_CHANGE_TO_EXPORT](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n exporting: true\r\n }));\r\n },\r\n\r\n [FINANCIALENTRY_CHANGE_TO_EXPORT_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n exporting: false\r\n }));\r\n },\r\n\r\n [FINANCIALENTRY_EXPORT_CSV](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n exportingExcel: true\r\n }));\r\n },\r\n\r\n [FINANCIALENTRY_EXPORT_CSV_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n exportingExcel: false\r\n }));\r\n },\r\n\r\n [FINANCIALENTRY_OPEN_TRANSFER](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n openTransfer: true\r\n }));\r\n },\r\n\r\n [FINANCIALENTRY_CLOSE_TRANSFER](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n openTransfer: false\r\n }));\r\n },\r\n\r\n [FINANCIALENTRY_CLOSE_TRANSFER](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n openTransfer: false\r\n }));\r\n },\r\n\r\n [FINANCIALENTRY_CREATE_TRANSFER](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n saving: true\r\n }));\r\n },\r\n\r\n [FINANCIALENTRY_CREATE_TRANSFER_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n saving: false,\r\n openTransfer: false,\r\n loaded: false\r\n }));\r\n },\r\n\r\n [FINANCIALENTRY_DELETE_TRANSFER](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({}));\r\n },\r\n\r\n [FINANCIALENTRY_DELETE_TRANSFER_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loaded: false\r\n }));\r\n }\r\n },\r\n\r\n (state, action) => {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n saving: false,\r\n deleting: false,\r\n exportingExcel: false\r\n }));\r\n }\r\n);\r\n\r\nexport default financialEntryReducer;\r\n","import {\r\n updateResourceState,\r\n createResourceReducer,\r\n normalizeResourceState,\r\n RESOURCE\r\n} from 'react-structure-admin';\r\nimport {\r\n CATEGORY,\r\n CATEGORY_FETCH,\r\n CATEGORY_FETCH_FINISHED\r\n} from './categoryActions';\r\n\r\nconst categoryReducer = createResourceReducer(CATEGORY, [], {\r\n [CATEGORY_FETCH](state, action) {\r\n const newState = normalizeResourceState(state, action.resource);\r\n\r\n return updateResourceState(newState, action, RESOURCE, () => ({\r\n loading: true\r\n }));\r\n },\r\n\r\n [CATEGORY_FETCH_FINISHED](state, action) {\r\n const newState = normalizeResourceState(state, action.resource);\r\n\r\n return updateResourceState(newState, action, RESOURCE, () => ({\r\n items: action.payload.data.result,\r\n queryParams: action.payload.config.params,\r\n editing: false,\r\n saving: false,\r\n loading: false,\r\n loaded: true\r\n }));\r\n }\r\n});\r\n\r\nexport default categoryReducer;\r\n","import {\r\n updateResourceState,\r\n createResourceReducer,\r\n RESOURCE\r\n} from 'react-structure-admin';\r\n\r\nimport {\r\n CHECKINGACCOUNT,\r\n CHECKINGACCOUNT_REFRESH_RESOURCE,\r\n CHECKINGACCOUNT_FETCH_BALANCES,\r\n CHECKINGACCOUNT_FETCH_BALANCES_FINISHED\r\n} from './checkingAccountActions';\r\n\r\nconst checkingAccountReducer = createResourceReducer(CHECKINGACCOUNT, [], {\r\n [CHECKINGACCOUNT_REFRESH_RESOURCE](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loaded: false\r\n }));\r\n },\r\n\r\n [CHECKINGACCOUNT_FETCH_BALANCES](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loading: true\r\n }));\r\n },\r\n\r\n [CHECKINGACCOUNT_FETCH_BALANCES_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n balances: action.payload.data.result,\r\n loading: false\r\n }));\r\n }\r\n});\r\n\r\nexport default checkingAccountReducer;\r\n","import {\r\n updateResourceState,\r\n createResourceReducer,\r\n normalizeResourceState,\r\n RESOURCE\r\n} from 'react-structure-admin';\r\nimport { CAMPAIGN, CAMPAIGN_CLONE_FETCH_FINISHED } from './campaignActions';\r\n\r\nconst handleError = (state, action) => {\r\n return updateResourceState(state, action, RESOURCE, () => {\r\n return {\r\n cloningCampaign: false\r\n };\r\n });\r\n};\r\n\r\nconst campaignReducer = createResourceReducer(\r\n CAMPAIGN,\r\n [],\r\n {\r\n [CAMPAIGN_CLONE_FETCH_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loaded: false\r\n }));\r\n }\r\n },\r\n handleError\r\n);\r\n\r\nexport default campaignReducer;\r\n","import {\r\n updateResourceState,\r\n createResourceReducer,\r\n RESOURCE\r\n} from 'react-structure-admin';\r\nimport {\r\n LEDGERACCOUNT,\r\n LEDGERACCOUNT_FILE_IMPORT,\r\n LEDGERACCOUNT_FILE_IMPORT_FINISHED\r\n} from './ledgerAccountActions';\r\n\r\nconst handleError = (state, action) => {\r\n const errors =\r\n action.payload && action.payload.errors ? action.payload.errors || [] : [];\r\n\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n saving: false,\r\n loading: false,\r\n importingFile: false,\r\n errors\r\n }));\r\n};\r\n\r\nconst ledgerAccountReducer = createResourceReducer(\r\n LEDGERACCOUNT,\r\n [],\r\n {\r\n [LEDGERACCOUNT_FILE_IMPORT](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n importingFile: true\r\n }));\r\n },\r\n\r\n [LEDGERACCOUNT_FILE_IMPORT_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loaded: false,\r\n importingFile: false\r\n }));\r\n }\r\n },\r\n handleError\r\n);\r\n\r\nexport default ledgerAccountReducer;\r\n","import {\r\n updateResourceState,\r\n createResourceReducer,\r\n RESOURCE\r\n} from 'react-structure-admin';\r\nimport {\r\n STANDARDHISTORY,\r\n STANDARDHISTORY_FILE_IMPORT,\r\n STANDARDHISTORY_FILE_IMPORT_FINISHED\r\n} from './standardHistoryActions';\r\n\r\nconst handleError = (state, action) => {\r\n const errors =\r\n action.payload && action.payload.errors ? action.payload.errors || [] : [];\r\n\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n saving: false,\r\n loading: false,\r\n importingFile: false,\r\n errors\r\n }));\r\n};\r\n\r\nconst standardHistoryReducer = createResourceReducer(\r\n STANDARDHISTORY,\r\n [],\r\n {\r\n [STANDARDHISTORY_FILE_IMPORT](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n importingFile: true\r\n }));\r\n },\r\n\r\n [STANDARDHISTORY_FILE_IMPORT_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loaded: false,\r\n importingFile: false\r\n }));\r\n }\r\n },\r\n handleError\r\n);\r\n\r\nexport default standardHistoryReducer;\r\n","import {\r\n updateResourceState,\r\n createResourceReducer,\r\n RESOURCE,\r\n normalizeResourceState\r\n} from 'react-structure-admin';\r\nimport {\r\n OPENFINANCIALEXCHANGE,\r\n OPENFINANCIALEXCHANGE_CHANGE_CONCILIATION,\r\n OPENFINANCIALEXCHANGE_CHANGE_CONCILIATION_FINISHED,\r\n OPENFINANCIALEXCHANGE_CONCILIATIONS,\r\n OPENFINANCIALEXCHANGE_CONCILIATIONS_FINISHED,\r\n OPENFINANCIALEXCHANGE_FILE_IMPORT,\r\n OPENFINANCIALEXCHANGE_FILE_IMPORT_FINISHED,\r\n OPENFINANCIALEXCHANGE_TRANSACTIONS,\r\n OPENFINANCIALEXCHANGE_TRANSACTIONS_FINISHED,\r\n OPENFINANCIALEXCHANGE_TRANSACTIONS_QUERYPARAMS,\r\n OPENFINANCIALEXCHANGE_UPDATE_TRANSACTION\r\n} from './openFinancialExchangeActions';\r\n\r\nconst handleError = (state, action) => {\r\n const errors =\r\n action.payload && action.payload.errors ? action.payload.errors || [] : [];\r\n\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n saving: false,\r\n loading: false,\r\n importingFile: false,\r\n loadingConciliationId: null,\r\n errors\r\n }));\r\n};\r\n\r\nconst openFinancialExchangeReducer = createResourceReducer(\r\n OPENFINANCIALEXCHANGE,\r\n [],\r\n {\r\n [OPENFINANCIALEXCHANGE_FILE_IMPORT](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n importingFile: true\r\n }));\r\n },\r\n\r\n [OPENFINANCIALEXCHANGE_FILE_IMPORT_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loaded: false,\r\n importingFile: false\r\n }));\r\n },\r\n\r\n [OPENFINANCIALEXCHANGE_TRANSACTIONS_QUERYPARAMS](state, action) {\r\n const newState = normalizeResourceState(state, action.resource);\r\n return updateResourceState(newState, action, RESOURCE, () => ({\r\n queryParams: action.payload,\r\n loaded: false\r\n }));\r\n },\r\n\r\n [OPENFINANCIALEXCHANGE_TRANSACTIONS](state, action) {\r\n const newState = normalizeResourceState(state, action.resource);\r\n return updateResourceState(newState, action, RESOURCE, () => ({\r\n loading: true,\r\n queryParams: action.payload\r\n }));\r\n },\r\n\r\n [OPENFINANCIALEXCHANGE_TRANSACTIONS_FINISHED](state, action) {\r\n const newState = normalizeResourceState(state, action.resource);\r\n\r\n return updateResourceState(\r\n newState,\r\n action,\r\n RESOURCE,\r\n ({ pagination }) => ({\r\n pagination: {\r\n ...pagination,\r\n total: action.payload.data.result.totalCount,\r\n current: Number(action.payload.config.params.page) || 1\r\n },\r\n ...action.payload.data.result,\r\n loaded: true,\r\n saving: false,\r\n loading: false\r\n })\r\n );\r\n },\r\n\r\n [OPENFINANCIALEXCHANGE_UPDATE_TRANSACTION](state, action) {\r\n return updateResourceState(state, action, RESOURCE, ({ items = [] }) => ({\r\n items: items.map((c) =>\r\n c.id === action.payload.id ? action.payload : c\r\n )\r\n }));\r\n },\r\n\r\n [OPENFINANCIALEXCHANGE_CONCILIATIONS](state, action) {\r\n const newState = normalizeResourceState(state, action.resource);\r\n return updateResourceState(newState, action, RESOURCE, () => ({\r\n loading: true,\r\n queryParams: action.payload\r\n }));\r\n },\r\n\r\n [OPENFINANCIALEXCHANGE_CONCILIATIONS_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n items: action.payload.data.result,\r\n loaded: true,\r\n saving: false,\r\n loading: false\r\n }));\r\n },\r\n\r\n [OPENFINANCIALEXCHANGE_CHANGE_CONCILIATION](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loadingConciliationId: action.payload.transaction.id\r\n }));\r\n },\r\n\r\n [OPENFINANCIALEXCHANGE_CHANGE_CONCILIATION_FINISHED](state, action) {\r\n const conciliation = action.payload.data.result;\r\n\r\n return updateResourceState(state, action, RESOURCE, ({ items = [] }) => ({\r\n loadingConciliationId: null,\r\n items: items.map((c) =>\r\n c.transaction.id === conciliation.transaction.id ? conciliation : c\r\n )\r\n }));\r\n }\r\n },\r\n handleError\r\n);\r\n\r\nexport default openFinancialExchangeReducer;\r\n","import {\r\n updateResourceState,\r\n createResourceReducer,\r\n RESOURCE\r\n} from 'react-structure-admin';\r\nimport { PAYMENT, RECEIPT } from 'constants/types';\r\nimport moment from 'moment';\r\nimport {\r\n FINANCIALSTATISTIC,\r\n FINANCIALSTATISTIC_GET_CASHFLOW,\r\n FINANCIALSTATISTIC_GET_CASHFLOW_FINISHED,\r\n FINANCIALSTATISTIC_GET_SUMMARY,\r\n FINANCIALSTATISTIC_GET_SUMMARY_FINISHED,\r\n FINANCIALSTATISTIC_GET_TOP_PAYMENT_CATEGORIES,\r\n FINANCIALSTATISTIC_GET_TOP_PAYMENT_CATEGORIES_FINISHED,\r\n FINANCIALSTATISTIC_GET_TOP_RECEIPT_CATEGORIES,\r\n FINANCIALSTATISTIC_GET_TOP_RECEIPT_CATEGORIES_FINISHED,\r\n FINANCIALSTATISTIC_GET_TOTAL_LAST_MONTH,\r\n FINANCIALSTATISTIC_GET_TOTAL_LAST_MONTH_FINISHED\r\n} from './financialStatisticActions';\r\n\r\nconst handleError = (state, action) => {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n saving: false,\r\n loading: false,\r\n [`${RECEIPT}LoadingTopCategories`]: false,\r\n [`${PAYMENT}LoadingTopCategories`]: false,\r\n loadingSummary: false,\r\n loadingCashFlow: false\r\n }));\r\n};\r\n\r\nconst financialStatisticReducer = createResourceReducer(\r\n FINANCIALSTATISTIC,\r\n [],\r\n {\r\n [FINANCIALSTATISTIC_GET_TOP_RECEIPT_CATEGORIES](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n [`${RECEIPT}LoadingTopCategories`]: true\r\n }));\r\n },\r\n\r\n [FINANCIALSTATISTIC_GET_TOP_RECEIPT_CATEGORIES_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n [`${RECEIPT}LoadingTopCategories`]: false,\r\n [`${RECEIPT}TopCategories`]: action.payload?.data\r\n }));\r\n },\r\n\r\n [FINANCIALSTATISTIC_GET_TOP_PAYMENT_CATEGORIES](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n [`${PAYMENT}LoadingTopCategories`]: true\r\n }));\r\n },\r\n\r\n [FINANCIALSTATISTIC_GET_TOP_PAYMENT_CATEGORIES_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n [`${PAYMENT}LoadingTopCategories`]: false,\r\n [`${PAYMENT}TopCategories`]: action.payload?.data\r\n }));\r\n },\r\n\r\n [FINANCIALSTATISTIC_GET_TOTAL_LAST_MONTH](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({}));\r\n },\r\n\r\n [FINANCIALSTATISTIC_GET_TOTAL_LAST_MONTH_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n totalLastMonths: action.payload?.data\r\n }));\r\n },\r\n\r\n [FINANCIALSTATISTIC_GET_SUMMARY](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loadingSummary: true\r\n }));\r\n },\r\n\r\n [FINANCIALSTATISTIC_GET_SUMMARY_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loadingSummary: false,\r\n summary: action.payload.data\r\n }));\r\n },\r\n\r\n [FINANCIALSTATISTIC_GET_CASHFLOW](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loadingCashFlow: true\r\n }));\r\n },\r\n\r\n [FINANCIALSTATISTIC_GET_CASHFLOW_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loadingCashFlow: false,\r\n cashFlow: action.payload.data\r\n }));\r\n }\r\n },\r\n handleError\r\n);\r\n\r\nexport default financialStatisticReducer;\r\n","import {\r\n updateResourceState,\r\n createResourceReducer,\r\n RESOURCE\r\n} from 'react-structure-admin';\r\nimport {\r\n COLLABORATOR,\r\n COLLABORATOR_INVITATION_RESEND,\r\n COLLABORATOR_INVITATION_RESEND_FINISHED,\r\n COLLABORATOR_CHANGE_INACTIVATE,\r\n COLLABORATOR_CHANGE_INACTIVATE_FINISHED\r\n} from './collaboratorActions';\r\n\r\nconst collaboratorReducer = createResourceReducer(\r\n COLLABORATOR,\r\n [],\r\n {\r\n [COLLABORATOR_INVITATION_RESEND_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loaded: false\r\n }));\r\n },\r\n\r\n [COLLABORATOR_CHANGE_INACTIVATE_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loaded: false\r\n }));\r\n }\r\n },\r\n (state, action) => {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loading: false\r\n }));\r\n }\r\n);\r\n\r\nexport default collaboratorReducer;\r\n","import {\r\n updateResourceState,\r\n normalizeResourceState,\r\n createResourceReducer,\r\n RESOURCE,\r\n RECORD_FIELD,\r\n defaultResourceState\r\n} from 'react-structure-admin';\r\n\r\nimport {\r\n HEALTHSERVICEPROVIDER,\r\n HEALTHSERVICEPROVIDER_AVAILABILITY_FETCH,\r\n HEALTHSERVICEPROVIDER_AVAILABILITY_FETCH_FINISHED,\r\n HEALTHSERVICEPROVIDER_GET_CURRENT_FINISHED,\r\n HEALTHSERVICEPROVIDER_CANCEL_CURRENT,\r\n HEALTHSERVICEPROVIDER_PUT_CURRENT,\r\n HEALTHSERVICEPROVIDER_PUT_CURRENT_FINISHED\r\n} from './healthServiceProviderActions';\r\n\r\nconst healthServiceProviderReducer = createResourceReducer(\r\n HEALTHSERVICEPROVIDER,\r\n [],\r\n {\r\n [HEALTHSERVICEPROVIDER_AVAILABILITY_FETCH](state, action) {\r\n const newState = normalizeResourceState(state, action.resource);\r\n\r\n return updateResourceState(newState, action, RESOURCE, () => ({\r\n activities: { ...defaultResourceState, loading: true }\r\n }));\r\n },\r\n\r\n [HEALTHSERVICEPROVIDER_AVAILABILITY_FETCH_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, (resource) => ({\r\n activities: {\r\n [RECORD_FIELD]: action.payload.data.result,\r\n loading: false\r\n },\r\n notFound: false\r\n }));\r\n },\r\n\r\n [HEALTHSERVICEPROVIDER_GET_CURRENT_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n currentProfessional: action.payload.data.result,\r\n editingCurrentProfessional: true,\r\n visible: false\r\n }));\r\n },\r\n\r\n [HEALTHSERVICEPROVIDER_PUT_CURRENT](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n currentProfessional: action.payload,\r\n loading: true\r\n }));\r\n },\r\n\r\n [HEALTHSERVICEPROVIDER_PUT_CURRENT_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n currentProfessional: null,\r\n editingCurrentProfessional: false,\r\n visible: false,\r\n loading: false\r\n }));\r\n },\r\n\r\n [HEALTHSERVICEPROVIDER_CANCEL_CURRENT](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n currentProfessional: null,\r\n editingCurrentProfessional: false\r\n }));\r\n }\r\n },\r\n (state, action) => {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loading: false,\r\n saving: false\r\n }));\r\n }\r\n);\r\n\r\nexport default healthServiceProviderReducer;\r\n","import {\r\n updateResourceState,\r\n createResourceReducer,\r\n RESOURCE\r\n} from 'react-structure-admin';\r\nimport {\r\n PACKAGE,\r\n PACKAGE_FETCH,\r\n PACKAGE_FETCH_FINISHED\r\n} from './packageActions';\r\n\r\nconst packageReducer = createResourceReducer(PACKAGE, [], {\r\n [PACKAGE_FETCH](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loading: true,\r\n items: []\r\n }));\r\n },\r\n\r\n [PACKAGE_FETCH_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loading: false,\r\n items: action.payload.data.result\r\n }));\r\n }\r\n});\r\n\r\nexport default packageReducer;\r\n","import {\r\n updateResourceState,\r\n createResourceReducer,\r\n RESOURCE\r\n} from 'react-structure-admin';\r\n\r\nimport {\r\n PARTNERSHIP,\r\n PARTNERSHIP_INVITATION_RESEND,\r\n PARTNERSHIP_LICENSE_SUMMARY_FINISHED\r\n} from './partnershipActions';\r\n\r\nconst partnershipReducer = createResourceReducer(PARTNERSHIP, [], {\r\n [PARTNERSHIP_INVITATION_RESEND](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n loaded: false\r\n }));\r\n },\r\n\r\n [PARTNERSHIP_LICENSE_SUMMARY_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n summary: action.payload.data.result\r\n }));\r\n }\r\n});\r\n\r\nexport default partnershipReducer;\r\n","/* eslint-disable dot-notation */\r\nimport {\r\n RESOURCE,\r\n RESOURCE_FETCH,\r\n RESOURCE_FETCH_FINISHED,\r\n RESOURCE_CANCEL_EDIT,\r\n RESOURCE_GET_TO_EDIT_FINISHED,\r\n RESOURCE_CREATE_INITIALIZE,\r\n RESOURCE_UPDATE,\r\n RESOURCE_CREATE,\r\n RESOURCE_CREATE_FINISHED,\r\n RESOURCE_SET_CURRENT,\r\n RESOURCE_UNLOAD,\r\n RESOURCE_SET_PARAMS_FINISHED,\r\n RESOURCE_GET_TO_EDIT,\r\n RESOURCE_UPDATE_FINISHED,\r\n RESOURCE_CURRENT_UNLOAD,\r\n RESOURCE_ACTION_EDIT,\r\n RESOURCE_ACTION_CREATE,\r\n normalizeResourceState,\r\n updateResourceState,\r\n createResourceReducer\r\n} from 'react-structure-admin';\r\nimport { isEmpty } from 'lodash';\r\n\r\nconst resourceReducer = createResourceReducer('RESOURCE', [], {\r\n [RESOURCE_GET_TO_EDIT](state, action) {\r\n const newState = normalizeResourceState(state, action.resource);\r\n const { readOnly = false } = action.payload || {};\r\n\r\n return {\r\n ...newState,\r\n [action.resource]: {\r\n ...newState[action.resource],\r\n ...action.payload,\r\n loadingEdition: true,\r\n readOnly\r\n }\r\n };\r\n },\r\n\r\n [RESOURCE_GET_TO_EDIT_FINISHED](state, action) {\r\n return {\r\n ...state,\r\n [action.resource]: {\r\n ...state[action.resource],\r\n editing: !state[action.resource].readOnly,\r\n action: RESOURCE_ACTION_EDIT /* todo */,\r\n saving: false,\r\n loadingEdition: false,\r\n resourceToEdit: action.payload.data.result\r\n }\r\n };\r\n },\r\n\r\n [RESOURCE_UPDATE](state, action) {\r\n const newState = normalizeResourceState(state, action.resource);\r\n\r\n return {\r\n ...newState,\r\n [action.resource]: {\r\n ...newState[action.resource],\r\n editing: true,\r\n saving: true,\r\n resourceToEdit: action.payload\r\n }\r\n };\r\n },\r\n\r\n [RESOURCE_UPDATE_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n resourceToEdit: action.payload.data.result,\r\n saving: false,\r\n editing: false,\r\n action: null,\r\n loaded: false\r\n }));\r\n },\r\n\r\n [RESOURCE_CREATE](state, action) {\r\n const newState = normalizeResourceState(state, action.resource);\r\n\r\n return {\r\n ...newState,\r\n [action.resource]: {\r\n ...newState[action.resource],\r\n editing: true,\r\n saving: true,\r\n resourceToEdit: action.payload\r\n }\r\n };\r\n },\r\n\r\n [RESOURCE_CREATE_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n saving: false,\r\n editing: false,\r\n action: null\r\n }));\r\n },\r\n\r\n [RESOURCE_SET_PARAMS_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, (resource = {}) => ({\r\n queryParams: action.payload,\r\n loaded:\r\n !isEmpty(resource?.queryParams) &&\r\n JSON.stringify(resource?.queryParams) ===\r\n JSON.stringify(action.payload || {})\r\n }));\r\n },\r\n\r\n [RESOURCE_SET_CURRENT](state, action) {\r\n const newState = normalizeResourceState(state, action.resource);\r\n\r\n return {\r\n ...newState,\r\n [action.resource]: {\r\n ...newState[action.resource],\r\n [action.payload.currentAttr]: action.payload.data\r\n }\r\n };\r\n },\r\n\r\n [RESOURCE_CREATE_INITIALIZE](state, action) {\r\n const newState = normalizeResourceState(state, action.resource);\r\n const { initialValues = {}, ...rest } = action.payload;\r\n return {\r\n ...newState,\r\n [action.resource]: {\r\n ...newState[action.resource],\r\n editing: true,\r\n saving: false,\r\n action: RESOURCE_ACTION_CREATE,\r\n resourceToEdit: initialValues,\r\n ...rest\r\n }\r\n };\r\n },\r\n\r\n [RESOURCE_FETCH](state, action) {\r\n const newState = normalizeResourceState(state, action.resource);\r\n\r\n return updateResourceState(newState, action, RESOURCE, () => ({\r\n loading: true\r\n }));\r\n },\r\n\r\n [RESOURCE_FETCH_FINISHED](state, action) {\r\n const newState = normalizeResourceState(state, action.resource);\r\n\r\n return {\r\n ...newState,\r\n [action.resource]: {\r\n ...newState[action.resource],\r\n pagination: {\r\n ...newState[action.resource].pagination,\r\n total: action.payload.data.result.totalCount,\r\n current: Number(action.payload.config.params.page) || 1\r\n },\r\n ...action.payload.data.result,\r\n queryParams: action.payload.config.params,\r\n editing: action.payload.config.params.act === 'editing',\r\n loaded: true,\r\n saving: false,\r\n loading: false\r\n }\r\n };\r\n },\r\n\r\n [RESOURCE_CANCEL_EDIT](state, action) {\r\n const newState = normalizeResourceState(state, action.resource);\r\n return {\r\n ...newState,\r\n [action.resource]: {\r\n ...newState[action.resource],\r\n editing: false,\r\n action: null,\r\n saving: false,\r\n readOnly: false,\r\n componentKey: null,\r\n resourceToEdit: {}\r\n }\r\n };\r\n },\r\n\r\n [RESOURCE_UNLOAD](state, action) {\r\n delete state[action.resource];\r\n return {\r\n ...state\r\n };\r\n },\r\n\r\n [RESOURCE_CURRENT_UNLOAD](state, action) {\r\n const resourceState = state[action.resource];\r\n\r\n if (resourceState && resourceState['componentKey']) {\r\n delete resourceState['componentKey'];\r\n }\r\n\r\n if (resourceState && resourceState[action.payload.currentAttr]) {\r\n delete resourceState[action.payload.currentAttr];\r\n }\r\n\r\n return {\r\n ...state\r\n };\r\n }\r\n});\r\n\r\nexport default resourceReducer;\r\n","import {\r\n updateResourceState,\r\n createResourceReducer,\r\n RESOURCE,\r\n RECORD_FIELD\r\n} from 'react-structure-admin';\r\n\r\nimport {\r\n PRODUCTMOVEMENT,\r\n PRODUCTMOVEMENT_DELETE,\r\n PRODUCTMOVEMENT_DELETE_FINISHED\r\n} from './productMovementActions';\r\n\r\nconst productMovementReducer = createResourceReducer(PRODUCTMOVEMENT, [], {\r\n [PRODUCTMOVEMENT_DELETE](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n deleting: true\r\n }));\r\n },\r\n\r\n [PRODUCTMOVEMENT_DELETE_FINISHED](state, action) {\r\n return updateResourceState(state, action, RESOURCE, () => ({\r\n [RECORD_FIELD]: null,\r\n saving: false,\r\n editing: false,\r\n loaded: false,\r\n deleting: false\r\n }));\r\n }\r\n});\r\n\r\nexport default productMovementReducer;\r\n","import { combineReducers } from 'redux';\r\nimport { connectRouter } from 'connected-react-router';\r\nimport { settingsReducer, userReducer } from 'stores';\r\nimport { concatReducers } from 'react-structure-admin';\r\nimport authReducer from './auth/authReducer';\r\nimport accountReducer from './accounts/accountReducer';\r\nimport medicalRecordSectionReducer from './medicalRecordSections/medicalRecordSectionReducer';\r\nimport eventReducer from './events/eventReducer';\r\nimport attendanceReducer from './attendances/attendanceReducer';\r\nimport patientReducer from './patients/patientReducer';\r\nimport treatmentReducer from './treatments/treatmentReducer';\r\nimport dashboardReducer from './dashboards/dashboardReducer';\r\nimport companyReducer from './companies/companyReducer';\r\nimport subscriptionReducer from './subscriptions/subscriptionReducer';\r\nimport prescriptionReducer from './prescriptions/prescriptionReducer';\r\nimport financialEntryReducer from './financialEntries/financialEntryReducer';\r\nimport categoryReducer from './categories/categoryReducer';\r\nimport checkingAccountReducer from './checkingAccounts/checkingAccountReducer';\r\nimport campaignReducer from './campaigns/campaignReducer';\r\nimport ledgerAccountReducer from './ledgerAccounts/ledgerAccountReducer';\r\nimport standardHistoryReducer from './standardHistories/standardHistoryReducer';\r\nimport openFinancialExchangeReducer from './openFinancialExchanges/openFinancialExchangeReducer';\r\nimport financialStatisticReducer from './financialStatistic/financialStatisticReducer';\r\nimport collaboratorReducer from './collaborators/collaboratorReducer';\r\nimport healthServiceProviderReducer from './healthServiceProviders/healthServiceProviderReducer';\r\nimport packageReducer from './packages/packageReducer';\r\nimport partnershipReducer from './partnerships/partnershipReducer';\r\nimport { LOGIN_REQUEST } from './auth/authActions';\r\nimport resourceReducer from './resourceReducer';\r\nimport productMovementReducer from './productMovements/productMovementReducer';\r\n\r\nconst resourceRedurcers = concatReducers(\r\n [\r\n resourceReducer,\r\n userReducer,\r\n accountReducer,\r\n eventReducer,\r\n medicalRecordSectionReducer,\r\n attendanceReducer,\r\n patientReducer,\r\n treatmentReducer,\r\n dashboardReducer,\r\n companyReducer,\r\n prescriptionReducer,\r\n financialEntryReducer,\r\n categoryReducer,\r\n checkingAccountReducer,\r\n campaignReducer,\r\n ledgerAccountReducer,\r\n standardHistoryReducer,\r\n openFinancialExchangeReducer,\r\n financialStatisticReducer,\r\n collaboratorReducer,\r\n healthServiceProviderReducer,\r\n packageReducer,\r\n partnershipReducer,\r\n productMovementReducer\r\n ],\r\n []\r\n);\r\n\r\nconst appReducer = (history) => {\r\n const reducerMap = {\r\n router: connectRouter(history),\r\n resources: resourceRedurcers,\r\n auth: authReducer,\r\n subscriptions: subscriptionReducer,\r\n settings: settingsReducer\r\n };\r\n\r\n return combineReducers(reducerMap);\r\n};\r\n\r\nconst rootReducer = (history) => (state, action) => {\r\n try {\r\n if (action.type === LOGIN_REQUEST) {\r\n state.resources = {};\r\n return appReducer(history)(state, action);\r\n }\r\n\r\n return appReducer(history)(state, action);\r\n } catch (error) {\r\n return state;\r\n }\r\n};\r\n\r\nexport default rootReducer;\r\n","import { applyMiddleware, createStore, compose } from 'redux';\r\nimport thunk from 'redux-thunk';\r\nimport { routerMiddleware } from 'connected-react-router';\r\nimport rootReducer from './rootReducer';\r\n\r\nconst enableReduxLog = false;\r\n\r\nexport default (initialState, history) => {\r\n const middlewares = [thunk, routerMiddleware(history)].filter(Boolean);\r\n\r\n if (process.env.NODE_ENV === 'development' && enableReduxLog) {\r\n const { logger } = require(`redux-logger`);\r\n middlewares.push(logger);\r\n }\r\n\r\n const store = compose(\r\n createStore(\r\n rootReducer(history),\r\n initialState,\r\n applyMiddleware(...middlewares)\r\n )\r\n );\r\n\r\n return store;\r\n};\r\n","import React, { Component } from 'react';\r\nimport ptBR from 'antd/es/locale/pt_BR';\r\nimport moment from 'moment';\r\nimport 'moment/locale/pt-br';\r\nimport { connect } from 'react-redux';\r\nimport { Empty, ConfigProvider } from 'antd';\r\nimport { AuthContextProvider } from 'react-structure-admin';\r\nimport getDataFromStorage from 'util/getDataFromStorage';\r\nimport { Routes } from 'components/routes';\r\nimport config from './config';\r\n\r\nimport {\r\n LAYOUT_TYPE_BOXED,\r\n LAYOUT_TYPE_FRAMED,\r\n LAYOUT_TYPE_FULL,\r\n NAV_STYLE_ABOVE_HEADER,\r\n NAV_STYLE_BELOW_HEADER,\r\n NAV_STYLE_DARK_HORIZONTAL,\r\n NAV_STYLE_DEFAULT_HORIZONTAL,\r\n NAV_STYLE_INSIDE_HEADER_HORIZONTAL,\r\n THEME_TYPE_DARK\r\n} from './constants/themeSettings';\r\nimport 'assets/vendors/style';\r\nimport 'styles/wieldy.less';\r\n\r\nmoment.locale('pt-br');\r\nmoment.updateLocale('pt-br', {\r\n weekdaysMin: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb']\r\n});\r\n\r\nconst customizeRenderEmpty = () => (\r\n \r\n);\r\n\r\nclass Main extends Component {\r\n componentDidMount() {\r\n window.addEventListener('focus', this.onFocus);\r\n }\r\n\r\n onFocus = () => {\r\n const { refreshToken } = this.props;\r\n const { expirationDate } = getDataFromStorage('auth_data');\r\n\r\n if (expirationDate) {\r\n const expiration = moment(expirationDate);\r\n const base = moment();\r\n\r\n if (expiration.isBefore(base)) {\r\n window.location.reload();\r\n }\r\n }\r\n\r\n const currentRefreshToken = localStorage.getItem('auth_refreshtoken');\r\n if (currentRefreshToken && refreshToken !== currentRefreshToken) {\r\n window.location.reload();\r\n }\r\n };\r\n\r\n handleBeforeRefreshToken = (authData) => {\r\n return {\r\n refreshToken: authData.refreshToken,\r\n type: 'professional'\r\n };\r\n };\r\n\r\n setLayoutType = (layoutType) => {\r\n if (layoutType === LAYOUT_TYPE_FULL) {\r\n document.body.classList.remove('boxed-layout');\r\n document.body.classList.remove('framed-layout');\r\n document.body.classList.add('full-layout');\r\n } else if (layoutType === LAYOUT_TYPE_BOXED) {\r\n document.body.classList.remove('full-layout');\r\n document.body.classList.remove('framed-layout');\r\n document.body.classList.add('boxed-layout');\r\n } else if (layoutType === LAYOUT_TYPE_FRAMED) {\r\n document.body.classList.remove('boxed-layout');\r\n document.body.classList.remove('full-layout');\r\n document.body.classList.add('framed-layout');\r\n }\r\n };\r\n\r\n setNavStyle = (navStyle) => {\r\n if (\r\n navStyle === NAV_STYLE_DEFAULT_HORIZONTAL ||\r\n navStyle === NAV_STYLE_DARK_HORIZONTAL ||\r\n navStyle === NAV_STYLE_INSIDE_HEADER_HORIZONTAL ||\r\n navStyle === NAV_STYLE_ABOVE_HEADER ||\r\n navStyle === NAV_STYLE_BELOW_HEADER\r\n ) {\r\n document.body.classList.add('full-scroll');\r\n document.body.classList.add('horizontal-layout');\r\n } else {\r\n document.body.classList.remove('full-scroll');\r\n document.body.classList.remove('horizontal-layout');\r\n }\r\n };\r\n\r\n componentWilUnmount() {\r\n window.removeEventListener('focus', this.onFocus);\r\n }\r\n\r\n render() {\r\n const { themeType, layoutType, navStyle } = this.props;\r\n\r\n if (themeType === THEME_TYPE_DARK) {\r\n document.body.classList.add('dark-theme');\r\n }\r\n\r\n this.setLayoutType(layoutType);\r\n this.setNavStyle(navStyle);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = ({ settings, auth }) => {\r\n const { themeType, layoutType, navStyle } = settings;\r\n const { refreshToken } = auth;\r\n return { themeType, layoutType, navStyle, refreshToken };\r\n};\r\n\r\nexport default connect(mapStateToProps, null)(Main);\r\n","/* eslint-disable no-template-curly-in-string */\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { createBrowserHistory } from 'history';\r\nimport { ConnectedRouter } from 'connected-react-router';\r\nimport { Provider } from 'react-redux';\r\nimport { Switch, Route } from 'react-router-dom';\r\nimport { configManager } from 'react-structure-admin';\r\nimport { authInitialState } from 'core/auth/authInitialState';\r\nimport config from 'config';\r\nimport Iugu from 'util/iugu';\r\nimport rootStore from './stores/rootStore';\r\nimport Main from './Main';\r\n\r\nconfigManager.setConfig({\r\n apiUrl: process.env.REACT_APP_API_URL,\r\n memedUrl: process.env.REACT_APP_MEMED_SERVER_URL,\r\n multiTenant: { enabled: false, host: 'a' },\r\n iuguAccountId: process.env.REACT_APP_IUGU_ID,\r\n isTestMode: process.env.REACT_APP_IUGU_DEVELOPMENT === 'true',\r\n layout: {\r\n form: {\r\n layout: 'vertical',\r\n labelCol: null,\r\n wrapperCol: null,\r\n validateMessages: {\r\n pattern: {\r\n mismatch: '${label} é inválido'\r\n }\r\n }\r\n },\r\n list: { table: { size: 'middle' } }\r\n },\r\n roles: config.roles,\r\n map: {\r\n token:\r\n 'pk.eyJ1IjoiZGV2dW5pY3VzIiwiYSI6ImNrbDZtam9qaDFrYmcycGxjanpuMTBzbXAifQ.OCfiXk8HWMf2IigIPeLJvQ'\r\n }\r\n});\r\n\r\nconst initialState = {\r\n resources: [],\r\n auth: authInitialState\r\n};\r\n\r\nconst settings = configManager.getConfig();\r\n\r\ntry {\r\n Iugu.setAccountID(settings.iuguAccountId);\r\n Iugu.setTestMode(settings.isTestMode);\r\n} catch (error) {\r\n console.log(error);\r\n}\r\n\r\nconst history = createBrowserHistory();\r\nconst store = rootStore(initialState, history);\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n","import React, { useState } from 'react';\r\nimport { Avatar } from 'antd';\r\n\r\nconst UserProfileImage = ({ id, className, uri, name, color }) => {\r\n if (uri) {\r\n return (\r\n \r\n
\r\n \r\n );\r\n }\r\n\r\n if (id) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (name) {\r\n const colorIndex = Math.floor(Math.random() * 4);\r\n\r\n const initials = name\r\n .split(' ')\r\n .filter((word) => word.length !== 2)\r\n .filter((_, index) => index <= 1)\r\n .map((n) => n[0])\r\n .join('')\r\n .toUpperCase();\r\n\r\n return (\r\n \r\n {initials}\r\n \r\n );\r\n }\r\n\r\n return null;\r\n};\r\n\r\nexport default UserProfileImage;\r\n","const join = (arr = [], middleSeparator = ', ', lastSeparator = null) => {\r\n const count = arr.length;\r\n\r\n if (count > 1 && lastSeparator) {\r\n return `${arr.slice(0, -1).join(middleSeparator)}${lastSeparator}${\r\n arr[count - 1]\r\n }`;\r\n }\r\n return arr.join(middleSeparator);\r\n};\r\n\r\nexport default join;\r\n","import moment from 'moment';\r\nimport { ACTIVATED, EXPIRED, INTRIAL } from 'constants/types';\r\nimport useAuth from './useAuth';\r\n\r\nconst getMessage = (endTrialPeriod) => {\r\n if (!endTrialPeriod) {\r\n return null;\r\n }\r\n\r\n if (moment(endTrialPeriod).isBefore(new Date(), 'day')) {\r\n return 'Seu período de avaliação terminou.';\r\n }\r\n\r\n if (moment(endTrialPeriod).isSame(new Date(), 'day')) {\r\n return 'Seu período de avaliação termina hoje.';\r\n }\r\n\r\n const period = moment\r\n .duration(moment(endTrialPeriod).diff(moment()))\r\n .humanize();\r\n\r\n return `Seu período de avaliação termina em ${period}.`;\r\n};\r\n\r\nconst useSubscription = () => {\r\n const { subscription, isAdmin } = useAuth();\r\n const { features = [], endTrialPeriod } = subscription ?? {};\r\n\r\n const isTrial = subscription?.status === INTRIAL;\r\n const isExpired = subscription?.status === EXPIRED;\r\n const isActivated =\r\n isAdmin() || isTrial || subscription?.status === ACTIVATED;\r\n const expiresTrialMessage = isTrial ? getMessage(endTrialPeriod) : null;\r\n\r\n const hasFeature = (identifier) => {\r\n return features.findIndex((c) => c.identifier === identifier) >= 0;\r\n };\r\n\r\n const getValueFeature = (identifier, allowThrow = true) => {\r\n const feature = features.find((c) => c.identifier === identifier);\r\n\r\n if (!feature && allowThrow) {\r\n throw new Error('Feature não existe no plano');\r\n }\r\n\r\n return feature?.value;\r\n };\r\n\r\n return {\r\n subscription,\r\n hasLicense: subscription?.hasLicense ?? false,\r\n features,\r\n hasFeature,\r\n isActivated,\r\n isTrial,\r\n isExpired,\r\n expiresTrialMessage,\r\n getValueFeature\r\n };\r\n};\r\n\r\nexport default useSubscription;\r\n","import useAuth from './useAuth';\r\n\r\nconst useCompany = () => {\r\n const { company, userCompany } = useAuth();\r\n\r\n return {\r\n company,\r\n userCompany\r\n };\r\n};\r\n\r\nexport default useCompany;\r\n","import { message } from 'antd';\r\n\r\nconst useClipboard = () => {\r\n const copy = (text, customMessage) => {\r\n navigator.clipboard.writeText(text);\r\n\r\n message.success(\r\n typeof customMessage === 'string'\r\n ? customMessage\r\n : 'Copiado para área de transferência'\r\n );\r\n };\r\n\r\n return { copy };\r\n};\r\n\r\nexport default useClipboard;\r\n","import { featureIdentifiers } from '../../constants';\r\n\r\nconst useSubscriptionPlanHelper = (plan) => {\r\n const { features = [] } = plan ?? {};\r\n\r\n const getFeatureValue = (identifier) => {\r\n return features.find((c) => c.identifier === identifier)?.value;\r\n };\r\n\r\n return { getFeatureValue, identifiers: featureIdentifiers };\r\n};\r\n\r\nexport default useSubscriptionPlanHelper;\r\n","import isNullOrEmpty from 'util/functions/isNullOrEmpty';\r\nimport useAuth from './useAuth';\r\n\r\nconst useSettingInvoice = () => {\r\n const { company, userCompany } = useAuth();\r\n\r\n const isEnableInvoice = () => {\r\n if (!isNullOrEmpty(userCompany, 'object')) {\r\n return userCompany.settings?.enableInvoice;\r\n }\r\n\r\n return company.settings?.enableInvoice;\r\n };\r\n\r\n const enableInvoice = isEnableInvoice();\r\n\r\n return { enableInvoice };\r\n};\r\n\r\nexport default useSettingInvoice;\r\n","export const APP_DEFAULT = 'APP_DEFAULT';\r\nexport const APP_ADMIN = 'APP_ADMIN';\r\n\r\nexport const THEME_TYPE = 'THEME_TYPE';\r\nexport const THEME_TYPE_LITE = 'THEME_TYPE_LITE';\r\nexport const THEME_TYPE_DARK = 'THEME_TYPE_DARK';\r\nexport const THEME_TYPE_SEMI_DARK = 'THEME_TYPE_SEMI_DARK';\r\n\r\nexport const THEME_COLOR = 'THEME_COLOR';\r\nexport const THEME_COLOR_SELECTION = 'THEME_COLOR_SELECTION';\r\nexport const THEME_COLOR_SELECTION_PRESET = 'THEME_COLOR_SELECTION_PRESET';\r\nexport const THEME_COLOR_SELECTION_CUSTOMIZE =\r\n 'THEME_COLOR_SELECTION_CUSTOMIZE';\r\n\r\nexport const HORIZONTAL_NAVIGATION = 'HORIZONTAL_NAVIGATION';\r\n\r\nexport const HORIZONTAL_MENU_POSITION = 'HORIZONTAL_MENU_POSITION';\r\nexport const ABOVE_THE_HEADER = 'ABOVE_THE_HEADER';\r\nexport const INSIDE_THE_HEADER = 'INSIDE_THE_HEADER';\r\nexport const BELOW_THE_HEADER = 'BELOW_THE_HEADER';\r\n\r\nexport const VERTICAL_NAVIGATION = 'VERTICAL_NAVIGATION';\r\nexport const NAV_STYLE_MINI = 'NAV_STYLE_MINI';\r\n\r\nexport const LAYOUT_TYPE = 'LAYOUT_TYPE';\r\n\r\nexport const LAYOUT_TYPE_FRAMED = 'LAYOUT_TYPE_FRAMED';\r\nexport const LAYOUT_TYPE_BOXED = 'LAYOUT_TYPE_BOXED';\r\nexport const LAYOUT_TYPE_FULL = 'LAYOUT_TYPE_FULL';\r\n\r\nexport const NAV_STYLE = 'NAV_STYLE';\r\n\r\nexport const NAV_STYLE_FIXED = 'NAV_STYLE_FIXED';\r\nexport const NAV_STYLE_MINI_SIDEBAR = 'NAV_STYLE_MINI_SIDEBAR';\r\nexport const NAV_STYLE_DRAWER = 'NAV_STYLE_DRAWER';\r\nexport const NAV_STYLE_NO_HEADER_MINI_SIDEBAR =\r\n 'NAV_STYLE_NO_HEADER_MINI_SIDEBAR';\r\nexport const NAV_STYLE_NO_HEADER_EXPANDED_SIDEBAR =\r\n 'NAV_STYLE_NO_HEADER_EXPANDED_SIDEBAR';\r\n\r\nexport const NAV_STYLE_DEFAULT_HORIZONTAL = 'NAV_STYLE_DEFAULT_HORIZONTAL';\r\nexport const NAV_STYLE_DARK_HORIZONTAL = 'NAV_STYLE_DARK_HORIZONTAL';\r\nexport const NAV_STYLE_INSIDE_HEADER_HORIZONTAL =\r\n 'NAV_STYLE_INSIDE_HEADER_HORIZONTAL';\r\nexport const NAV_STYLE_BELOW_HEADER = 'NAV_STYLE_BELOW_HEADER';\r\nexport const NAV_STYLE_ABOVE_HEADER = 'NAV_STYLE_ABOVE_HEADER';\r\n\r\nexport const LIGHT_PURPLE = '#8A2BE2';\r\nexport const LIGHT_PURPLE_SEC = '#00B378';\r\nexport const LIGHT_PURPLE_NAV_DARK_BG = '#32394F';\r\nexport const LIGHT_PURPLE_DARK_TEXT_COLOR = '#9799AC';\r\n\r\nexport const RED = '#FF2B7A';\r\nexport const RED_SEC = '#00D9C9';\r\nexport const RED_NAV_DARK_BG = '#3C3766';\r\nexport const RED_DARK_TEXT_COLOR = '#878BAB';\r\n\r\nexport const BLUE = '#3DA4E6';\r\nexport const BLUE_SEC = '#FCB53B';\r\nexport const BLUE_NAV_DARK_BG = '#444342';\r\nexport const BLUE_DARK_TEXT_COLOR = '#AAA59A';\r\n\r\nexport const DARK_BLUE = '#0469B9';\r\nexport const DARK_BLUE_SEC = '#17BDE5';\r\nexport const DARK_BLUE_NAV_DARK_BG = '#086880';\r\nexport const DARK_BLUE_DARK_TEXT_COLOR = '#9DDAE9';\r\n\r\nexport const ORANGE = '#F18805';\r\nexport const ORANGE_SEC = '#F1D065';\r\nexport const ORANGE_NAV_DARK_BG = '#272932';\r\nexport const ORANGE_DARK_TEXT_COLOR = '#ABA895';\r\n\r\nexport const LIGHT_BLUE = '#6A95FF';\r\nexport const LIGHT_BLUE_SEC = '#59DCFF';\r\nexport const LIGHT_BLUE_NAV_DARK_BG = '#1B2642';\r\nexport const LIGHT_BLUE_DARK_TEXT_COLOR = '#92A2C8';\r\n\r\nexport const DEEP_ORANGE = '#F87060';\r\nexport const DEEP_ORANGE_SEC = '#70A288';\r\nexport const DEEP_ORANGE_NAV_DARK_BG = '#08415C';\r\nexport const DEEP_ORANGE_DARK_TEXT_COLOR = '#97B8C7';\r\n\r\nexport const LIGHT_PURPLE_1 = '#A172E7';\r\nexport const LIGHT_PURPLE_1_SEC = '#E14594';\r\nexport const LIGHT_PURPLE_1_NAV_DARK_BG = '#182952';\r\nexport const LIGHT_PURPLE_1_DARK_TEXT_COLOR = '#8288B4';\r\n\r\nexport const LIGHT_PURPLE_2 = '#956FE7';\r\nexport const LIGHT_PURPLE_2_SEC = '#64D7D6';\r\nexport const LIGHT_PURPLE_2_NAV_DARK_BG = '#284C7C';\r\nexport const LIGHT_PURPLE_2_DARK_TEXT_COLOR = '#5782BB';\r\n\r\nexport const TAB_SIZE = 992;\r\n","import React from 'react';\r\nimport { Input, message } from 'antd';\r\nimport {\r\n DrawerForm,\r\n useFormField,\r\n Edit,\r\n useFormContext\r\n} from 'react-structure-admin';\r\n\r\nimport { useDispatch } from 'react-redux';\r\nimport {\r\n updatePassword,\r\n savePassword,\r\n savePasswordFailed\r\n} from 'stores/users/userActions';\r\n\r\nconst UpdatePassword = ({ visible = true, data = {}, loading }) => {\r\n const { editingPassword } = data;\r\n const dispatch = useDispatch();\r\n const { form } = useFormContext();\r\n const formField = useFormField(form);\r\n\r\n const onSuccess = () => {\r\n message.success('A senha foi alterada com sucesso.');\r\n };\r\n const onFail = () => {\r\n dispatch(savePasswordFailed());\r\n };\r\n\r\n const handleSave = () => {\r\n form.validateFields((err, values) => {\r\n if (err) {\r\n return;\r\n }\r\n\r\n if (values.newPassword !== values.passwordConfirmation) {\r\n message.warn('As senhas não coincidem.');\r\n return;\r\n }\r\n\r\n dispatch(savePassword(editingPassword.userId, values, onSuccess, onFail));\r\n });\r\n };\r\n\r\n const handleClose = () => {\r\n dispatch(updatePassword(null));\r\n };\r\n\r\n return (\r\n \r\n {formField('currentPassword', 'Senha atual', {\r\n isRequired: true,\r\n labelCol: {\r\n sm: { span: 7 }\r\n },\r\n wrapperCol: {\r\n sm: { span: 17 }\r\n },\r\n style: { width: '100%' }\r\n })()}\r\n\r\n {formField('newPassword', 'Nova senha', {\r\n isRequired: true,\r\n labelCol: {\r\n sm: { span: 7 }\r\n },\r\n wrapperCol: {\r\n sm: { span: 17 }\r\n },\r\n style: { width: '100%' }\r\n })()}\r\n\r\n {formField('passwordConfirmation', 'Confirmação da senha', {\r\n isRequired: true,\r\n labelCol: {\r\n sm: { span: 7 }\r\n },\r\n wrapperCol: {\r\n sm: { span: 17 }\r\n },\r\n style: { width: '100%' }\r\n })()}\r\n \r\n );\r\n};\r\n\r\nexport default Edit.create(UpdatePassword, { resource: 'users' });\r\n","const image = [\r\n 'image/gif',\r\n 'image/png',\r\n 'image/jpeg',\r\n 'image/bmp',\r\n 'image/webp',\r\n 'image/ief'\r\n];\r\nconst text = ['text/plain', 'text/html', 'text/css', 'text/javascript'];\r\nconst video = [\r\n 'video/webm',\r\n 'video/ogg',\r\n 'video/x-flv',\r\n 'video/mp4',\r\n 'application/x-mpegURL',\r\n 'video/MP2T',\r\n 'video/3gpp',\r\n 'video/quicktime',\r\n 'video/x-msvieo',\r\n 'video/x-ms-wmv',\r\n 'video/mpeg'\r\n];\r\nconst audio = [\r\n 'audio/midi',\r\n 'audio/mpeg',\r\n 'audio/webm',\r\n 'audio/ogg',\r\n 'audio/wav',\r\n 'audio/mp4'\r\n];\r\n\r\nconst pdf = ['application/pdf'];\r\nconst excel = ['application/excel'];\r\n\r\nexport const isImage = (contentType) => {\r\n if (contentType.includes('image')) {\r\n return true;\r\n }\r\n\r\n return image.includes(contentType);\r\n};\r\n\r\nexport const isText = (contentType) => {\r\n return text.includes(contentType);\r\n};\r\n\r\nexport const isVideo = (contentType) => {\r\n return video.includes(contentType);\r\n};\r\n\r\nexport const isAudio = (contentType) => {\r\n return audio.includes(contentType);\r\n};\r\n\r\nexport const isPDF = (contentType) => {\r\n if (contentType.includes('pdf')) {\r\n return true;\r\n }\r\n\r\n return pdf.includes(contentType);\r\n};\r\n\r\nexport const isExcel = (contentType) => {\r\n if (contentType.includes('image')) {\r\n return true;\r\n }\r\n\r\n return excel.includes(contentType);\r\n};\r\n","import React, { useCallback } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { useAuthContext } from 'react-structure-admin';\r\nimport { ROLE_ADMIN } from 'constants/types';\r\n\r\nconst useAuth = (getKey = null) => {\r\n const auth = useAuthContext(getKey);\r\n const data = useSelector((state) => state.auth);\r\n\r\n const hasRole = useCallback(\r\n (...roles) => data.user.roles.some((role) => roles.includes(role)),\r\n [auth.refreshToken]\r\n );\r\n\r\n const hasAccountType = useCallback(\r\n (...types) =>\r\n data.user.tenants.some((account) => types.includes(account.type)),\r\n [auth.refreshToken]\r\n );\r\n\r\n const isAdmin = useCallback(\r\n () => data?.user?.roles?.some((role) => role === ROLE_ADMIN) ?? false,\r\n [auth.refreshToken]\r\n );\r\n\r\n return {\r\n ...auth,\r\n authenticating: data?.authenticating ?? false,\r\n serviceProvider: auth?.user?.serviceProvider,\r\n company: auth?.company,\r\n hasRole,\r\n hasAccountType,\r\n isAdmin\r\n };\r\n};\r\n\r\nexport default useAuth;\r\n","import {\r\n dispatcher,\r\n api,\r\n RESOURCE_FETCH,\r\n RESOURCE_GET_TO_EDIT\r\n} from 'react-structure-admin';\r\n\r\nexport const FINANCIALENTRY = 'FINANCIALENTRY';\r\n\r\nexport const FINANCIALENTRY_POST = 'FINANCIALENTRY_POST';\r\nexport const FINANCIALENTRY_POST_FINISHED = 'FINANCIALENTRY_POST_FINISHED';\r\n\r\nexport const FINANCIALENTRY_GET = 'FINANCIALENTRY_GET';\r\nexport const FINANCIALENTRY_GET_FINISHED = 'FINANCIALENTRY_GET_FINISHED';\r\n\r\nexport const FINANCIALENTRY_CLOSE_CONFIRM_PAYMENT =\r\n 'FINANCIALENTRY_CLOSE_CONFIRM_PAYMENT';\r\n\r\nexport const FINANCIALENTRY_OPEN_INVOICE = 'FINANCIALENTRY_OPEN_INVOICE';\r\nexport const FINANCIALENTRY_OPEN_INVOICE_FINISHED =\r\n 'FINANCIALENTRY_OPEN_INVOICE_FINISHED';\r\nexport const FINANCIALENTRY_CLOSE_INVOICE = 'FINANCIALENTRY_CLOSE_INVOICE';\r\n\r\nexport const FINANCIALENTRY_CANCEL_INVOICE = 'FINANCIALENTRY_CANCEL_INVOICE';\r\nexport const FINANCIALENTRY_CANCEL_INVOICE_FINISHED =\r\n 'FINANCIALENTRY_CANCEL_INVOICE_FINISHED';\r\n\r\nexport const FINANCIALENTRY_REFRESH = 'FINANCIALENTRY_REFRESH';\r\n\r\nexport const FINANCIALENTRY_OPEN_RESEND_EMAIL_INVOICE =\r\n 'FINANCIALENTRY_OPEN_RESEND_EMAIL_INVOICE';\r\nexport const FINANCIALENTRY_CLOSE_RESEND_EMAIL_INVOICE =\r\n 'FINANCIALENTRY_CLOSE_RESEND_EMAIL_INVOICE';\r\n\r\nexport const FINANCIALENTRY_RESEND_EMAIL_INVOICE =\r\n 'FINANCIALENTRY_RESEND_EMAIL_INVOICE';\r\nexport const FINANCIALENTRY_RESEND_EMAIL_INVOICE_FINISHED =\r\n 'FINANCIALENTRY_RESEND_EMAIL_INVOICE_FINISHED';\r\n\r\nexport const FINANCIALENTRY_OPEN_DETAIL = 'FINANCIALENTRY_OPEN_DETAIL';\r\nexport const FINANCIALENTRY_OPEN_DETAIL_FINISHED =\r\n 'FINANCIALENTRY_OPEN_DETAIL_FINISHED';\r\n\r\nexport const FINANCIALENTRY_DELETE = 'FINANCIALENTRY_DELETE';\r\nexport const FINANCIALENTRY_DELETE_FINISHED = 'FINANCIALENTRY_DELETE_FINISHED';\r\n\r\nexport const FINANCIALENTRY_EXPORT = 'FINANCIALENTRY_EXPORT';\r\nexport const FINANCIALENTRY_EXPORT_FINISHED = 'FINANCIALENTRY_EXPORT_FINISHED';\r\n\r\nexport const FINANCIALENTRY_CHANGE_TO_EXPORT =\r\n 'FINANCIALENTRY_CHANGE_TO_EXPORT';\r\nexport const FINANCIALENTRY_CHANGE_TO_EXPORT_FINISHED =\r\n 'FINANCIALENTRY_CHANGE_TO_EXPORT_FINISHED';\r\n\r\nexport const FINANCIALENTRY_SYNC_INVOICE = 'FINANCIALENTRY_SYNC_INVOICE';\r\nexport const FINANCIALENTRY_SYNC_INVOICE_FINISHED =\r\n 'FINANCIALENTRY_SYNC_INVOICE_FINISHED';\r\n\r\nexport const FINANCIALENTRY_CLOSE_DETAIL = 'FINANCIALENTRY_CLOSE_DETAIL';\r\n\r\nexport const FINANCIALENTRY_EXPORT_CSV = 'FINANCIALENTRY_EXPORT_CSV';\r\nexport const FINANCIALENTRY_EXPORT_CSV_FINISHED =\r\n 'FINANCIALENTRY_EXPORT_CSV_FINISHED';\r\n\r\nexport const FINANCIALENTRY_OPEN_TRANSFER = 'FINANCIALENTRY_OPEN_TRANSFER';\r\nexport const FINANCIALENTRY_CLOSE_TRANSFER = 'FINANCIALENTRY_CLOSE_TRANSFER';\r\n\r\nexport const FINANCIALENTRY_CREATE_TRANSFER = 'FINANCIALENTRY_CREATE_TRANSFER';\r\nexport const FINANCIALENTRY_CREATE_TRANSFER_FINISHED =\r\n 'FINANCIALENTRY_CREATE_TRANSFER_FINISHED';\r\n\r\nexport const FINANCIALENTRY_DELETE_TRANSFER = 'FINANCIALENTRY_DELETE_TRANSFER';\r\nexport const FINANCIALENTRY_DELETE_TRANSFER_FINISHED =\r\n 'FINANCIALENTRY_DELETE_TRANSFER_FINISHED';\r\n\r\nexport const create = (data, onSuccess, tenant) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'financial-entries',\r\n payload: data,\r\n actionType: FINANCIALENTRY_POST,\r\n effect: async () => api.post('financial-entries', data, tenant),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const createByEvent = (id, data, onSuccess, tenant) => async (\r\n dispatch\r\n) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'financial-entries',\r\n payload: data,\r\n actionType: FINANCIALENTRY_POST,\r\n effect: async () =>\r\n api.post(`events/${id}/financial-entries`, data, tenant),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const update = (data, onSuccess, tenant) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'financial-entries',\r\n payload: data,\r\n actionType: FINANCIALENTRY_POST,\r\n effect: async () => api.put(`financial-entries/${data.id}`, data, tenant),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const fetch = (resource, params) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'financial-entries',\r\n actionType: RESOURCE_FETCH,\r\n effect: async () =>\r\n api.fetch('financial-entries/financial-entry-item-with-summary', params)\r\n });\r\n};\r\n\r\nexport const get = (id, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'financial-entries',\r\n actionType: RESOURCE_GET_TO_EDIT,\r\n effect: async () => api.get('financial-entries', id),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const closeConfirmPayment = () => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(\r\n FINANCIALENTRY_CLOSE_CONFIRM_PAYMENT,\r\n 'financial-entries'\r\n )\r\n );\r\n};\r\n\r\nexport const editInvoice = (financialEntryId) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'financial-entries',\r\n actionType: FINANCIALENTRY_OPEN_INVOICE,\r\n effect: async () => api.get('financial-entries', financialEntryId)\r\n });\r\n};\r\n\r\nexport const cancelEditInvoice = () => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(FINANCIALENTRY_CLOSE_INVOICE, 'financial-entries')\r\n );\r\n};\r\n\r\nexport const cancelInvoice = (financialEntryId) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'financial-entries',\r\n actionType: FINANCIALENTRY_CANCEL_INVOICE,\r\n effect: async () =>\r\n api.del('financial-entries', `${financialEntryId}/invoice`)\r\n });\r\n};\r\n\r\nexport const refresh = () => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(FINANCIALENTRY_REFRESH, 'financial-entries')\r\n );\r\n};\r\n\r\nexport const openResendInvoice = (data) => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(\r\n FINANCIALENTRY_OPEN_RESEND_EMAIL_INVOICE,\r\n 'financial-entries',\r\n data\r\n )\r\n );\r\n};\r\n\r\nexport const closeResendInvoice = () => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(\r\n FINANCIALENTRY_CLOSE_RESEND_EMAIL_INVOICE,\r\n 'financial-entries'\r\n )\r\n );\r\n};\r\n\r\nexport const postResendInvoice = (data, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'financial-entries',\r\n actionType: FINANCIALENTRY_RESEND_EMAIL_INVOICE,\r\n effect: async () => api.post('invoices/resend-email', data),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const openViewDetail = (financialEntryId) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'financial-entries',\r\n actionType: FINANCIALENTRY_OPEN_DETAIL,\r\n effect: async () =>\r\n api.get('financial-entries', `${financialEntryId}/detail`)\r\n });\r\n};\r\n\r\nexport const closeViewDetail = () => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(FINANCIALENTRY_CLOSE_DETAIL, 'financial-entries')\r\n );\r\n};\r\n\r\nexport const remove = (id) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'financial-entries',\r\n actionType: FINANCIALENTRY_DELETE,\r\n effect: async () => api.del('financial-entries', id)\r\n });\r\n};\r\n\r\nexport const exportFetch = (params, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'financial-entries',\r\n actionType: FINANCIALENTRY_EXPORT,\r\n effect: async () =>\r\n api.fetch('financial-entries/accountants/export', params),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const changeExport = (data, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'financial-entries',\r\n actionType: FINANCIALENTRY_CHANGE_TO_EXPORT,\r\n effect: async () => api.post('financial-entries/change-export', data),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const syncInvoice = (id, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'financial-entries',\r\n actionType: FINANCIALENTRY_SYNC_INVOICE,\r\n effect: async () => api.post(`invoices/${id}/integration-sync`),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const createFileExport = (querySearch, onSuccess) => async (\r\n dispatch\r\n) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'financial-entries',\r\n actionType: FINANCIALENTRY_EXPORT_CSV,\r\n effect: async () =>\r\n api.post(`financial-entries/file-export?${querySearch}`),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const openTransfer = () => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(FINANCIALENTRY_OPEN_TRANSFER, 'financial-entries')\r\n );\r\n};\r\n\r\nexport const closeTransfer = () => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(FINANCIALENTRY_CLOSE_TRANSFER, 'financial-entries')\r\n );\r\n};\r\n\r\nexport const createTransfer = (data, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'financial-entries',\r\n actionType: FINANCIALENTRY_CREATE_TRANSFER,\r\n effect: async () => api.post(`financial-entries/transfer`, data),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const deleteTransfer = (transactionId, onSuccess) => async (\r\n dispatch\r\n) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'financial-entries',\r\n actionType: FINANCIALENTRY_DELETE_TRANSFER,\r\n effect: async () =>\r\n api.del('financial-entries', `transfer?transactionId=${transactionId}`),\r\n onSuccess\r\n });\r\n};\r\n","/* eslint-disable no-plusplus */\r\n/* eslint-disable no-template-curly-in-string */\r\nimport { formartOnlyNumber } from 'util/formatters';\r\n\r\nconst federalTaxNumberValidator = (_, value) => {\r\n const federalTaxNumber = formartOnlyNumber(value);\r\n\r\n if (!federalTaxNumber) {\r\n return Promise.resolve();\r\n }\r\n\r\n if (federalTaxNumber.length === 11) {\r\n if (federalTaxNumber.split('').every((c) => c === federalTaxNumber[0])) {\r\n return Promise.reject(new Error('CPF é inválido'));\r\n }\r\n\r\n let sum = 0;\r\n let rest;\r\n\r\n for (let i = 1; i <= 9; i++)\r\n sum += parseInt(federalTaxNumber.substring(i - 1, i), 10) * (11 - i);\r\n rest = (sum * 10) % 11;\r\n\r\n if (rest === 10 || rest === 11) rest = 0;\r\n if (rest !== parseInt(federalTaxNumber.substring(9, 10), 10))\r\n return Promise.reject(new Error('CPF é inválido'));\r\n\r\n sum = 0;\r\n for (let i = 1; i <= 10; i++)\r\n sum += parseInt(federalTaxNumber.substring(i - 1, i), 10) * (12 - i);\r\n rest = (sum * 10) % 11;\r\n\r\n if (rest === 10 || rest === 11) rest = 0;\r\n if (rest !== parseInt(federalTaxNumber.substring(10, 11), 10))\r\n return Promise.reject(new Error('CPF é inválido'));\r\n\r\n return Promise.resolve();\r\n }\r\n\r\n if (federalTaxNumber.length === 14) {\r\n if (federalTaxNumber.split('').every((c) => c === federalTaxNumber[0])) {\r\n return Promise.reject(new Error('CNPJ é inválido'));\r\n }\r\n\r\n const validTypes =\r\n typeof value === 'string' ||\r\n Number.isInteger(value) ||\r\n Array.isArray(value);\r\n\r\n if (!validTypes) return Promise.reject(new Error('CNPJ é inválido'));\r\n\r\n const numbers = federalTaxNumber.split('').map(Number);\r\n\r\n const items = [...new Set(numbers)];\r\n if (items.length === 1) return Promise.reject(new Error('CNPJ é inválido'));\r\n\r\n const calc = (x) => {\r\n const slice = numbers.slice(0, x);\r\n let factor = x - 7;\r\n let sum = 0;\r\n\r\n for (let i = x; i >= 1; i--) {\r\n const n = slice[x - i];\r\n sum += n * factor--;\r\n if (factor < 2) factor = 9;\r\n }\r\n\r\n const result = 11 - (sum % 11);\r\n\r\n return result > 9 ? 0 : result;\r\n };\r\n\r\n const digits = numbers.slice(12);\r\n\r\n const digit0 = calc(12);\r\n if (digit0 !== digits[0]) {\r\n return Promise.reject(new Error('CNPJ é inválido'));\r\n }\r\n\r\n const digit1 = calc(13);\r\n return digit1 === digits[1]\r\n ? Promise.resolve()\r\n : Promise.reject(new Error('CNPJ é inválido'));\r\n }\r\n\r\n return Promise.reject(new Error('Preencha corretamente o campo'));\r\n};\r\n\r\nexport default federalTaxNumberValidator;\r\n","import React from 'react';\r\nimport { MaskedInput } from 'antd-mask-input';\r\nimport { useDispatch } from 'react-redux';\r\nimport moment from 'moment';\r\nimport { Input, Form, Row, Select, message, DatePicker, Col } from 'antd';\r\nimport {\r\n DrawerEdit,\r\n ResourceEdit,\r\n refreshAuthenticatedUser,\r\n FormItemWrap\r\n} from 'react-structure-admin';\r\nimport { currentUserCancel, currentUserUpdate } from 'stores/users/userActions';\r\nimport {\r\n federalTaxNumberValidator,\r\n mobilePhoneValidator\r\n} from 'util/validators/index';\r\nimport { CheckboxInput, ResCol, UploadProfileImageV2 } from 'components';\r\nimport usePermissions from 'core/hooks/usePermissions';\r\n\r\nconst CurrentUserEdit = (props) => {\r\n const { data, loading } = props;\r\n const dispatch = useDispatch();\r\n const { isPartnership } = usePermissions();\r\n\r\n const handleBeforeSubmit = ({ birthDate, address, ...rest }) => {\r\n return {\r\n ...rest,\r\n birthDate: birthDate ? moment(birthDate).format('YYYY/MM/DD') : null\r\n };\r\n };\r\n\r\n const handleBeforeBinding = ({ birthDate, address = {}, ...rest }) => {\r\n return {\r\n ...rest,\r\n birthDate: birthDate ? moment(birthDate) : null\r\n };\r\n };\r\n\r\n const onAfterUpdate = (response) => {\r\n if (response && response.data) {\r\n const { result } = response.data;\r\n dispatch(\r\n refreshAuthenticatedUser({\r\n name: result.name,\r\n displayName: result.displayName,\r\n profileImage: result.profileImage\r\n })\r\n );\r\n }\r\n\r\n message.success('Registro salvo com sucesso.');\r\n };\r\n\r\n const handleSubmit = (data) => {\r\n const values = handleBeforeSubmit(data);\r\n dispatch(currentUserUpdate(values, onAfterUpdate));\r\n };\r\n\r\n const handleCancel = () => {\r\n dispatch(currentUserCancel());\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ResourceEdit.create(CurrentUserEdit, {\r\n resource: 'users',\r\n currentAttr: 'currentUser'\r\n});\r\n","import {\r\n ROLE_ACCOUNTANT,\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_FINANCIAL,\r\n ROLE_FINANCIAL_ADMINISTRATOR,\r\n ROLE_OTHER_HEALTH_PROFESSIONAL,\r\n ROLE_PARTNERSHIP,\r\n ROLE_PROFESSIONAL,\r\n ROLE_RECEPTIONIST,\r\n ROLE_STOCK\r\n} from './types';\r\nimport display from './display';\r\n\r\nconst roles = [\r\n {\r\n id: '4f9abe71-941b-46ba-b0e0-f71e38e824ec',\r\n name: ROLE_PROFESSIONAL,\r\n description: display.ROLES[ROLE_PROFESSIONAL]\r\n },\r\n {\r\n id: '35c8fb74-f40f-4de6-a7a5-04849447c620',\r\n name: ROLE_CLINIC_ADMINISTRATOR,\r\n description: display.ROLES[ROLE_CLINIC_ADMINISTRATOR]\r\n },\r\n {\r\n id: '08359ad6-1960-45a0-b6da-3705896ee0ed',\r\n name: ROLE_OTHER_HEALTH_PROFESSIONAL,\r\n description: display.ROLES[ROLE_OTHER_HEALTH_PROFESSIONAL]\r\n },\r\n {\r\n id: '5e930487-4304-47b9-b6c2-7d3be7095bdb',\r\n name: ROLE_RECEPTIONIST,\r\n description: display.ROLES[ROLE_RECEPTIONIST]\r\n },\r\n {\r\n id: 'f814275b-3480-42e8-8120-35f39aa8b456',\r\n name: ROLE_ACCOUNTANT,\r\n description: display.ROLES[ROLE_ACCOUNTANT]\r\n },\r\n {\r\n id: '821ade28-e27e-41b6-841b-ff1c1a86f0a7',\r\n name: ROLE_FINANCIAL,\r\n description: display.ROLES[ROLE_FINANCIAL]\r\n },\r\n {\r\n id: '9f21af74-dd09-42c8-bbb9-a901f01b7c31',\r\n name: ROLE_PARTNERSHIP,\r\n description: display.ROLES[ROLE_PARTNERSHIP]\r\n },\r\n\r\n {\r\n id: '8d364b69-f9d4-4f6a-af57-e5b4afdd1a09',\r\n name: ROLE_FINANCIAL_ADMINISTRATOR,\r\n description: display.ROLES[ROLE_FINANCIAL_ADMINISTRATOR]\r\n },\r\n {\r\n id: '8845cc66-b911-483e-b95f-cfc4775fa541',\r\n name: ROLE_STOCK,\r\n description: display.ROLES[ROLE_STOCK]\r\n }\r\n];\r\n\r\nexport default roles;\r\n","import { dispatcher, api } from 'react-structure-admin';\r\n\r\nexport const CHECKINGACCOUNT = 'CHECKINGACCOUNT';\r\nexport const CHECKINGACCOUNT_REFRESH_RESOURCE =\r\n 'CHECKINGACCOUNT_REFRESH_RESOURCE';\r\nexport const CHECKINGACCOUNT_FETCH_BALANCES = 'CHECKINGACCOUNT_FETCH_BALANCES';\r\nexport const CHECKINGACCOUNT_FETCH_BALANCES_FINISHED =\r\n 'CHECKINGACCOUNT_FETCH_BALANCES_FINISHED';\r\n\r\nexport const refreshResource = () => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(\r\n CHECKINGACCOUNT_REFRESH_RESOURCE,\r\n 'checking-accounts'\r\n )\r\n );\r\n};\r\n\r\nexport const fetch = (params) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'checking-accounts',\r\n actionType: CHECKINGACCOUNT_FETCH_BALANCES,\r\n effect: async () => api.fetch('checking-accounts/balances', params)\r\n });\r\n};\r\n","import InvoiceHelper from './InvoiceHelper';\r\n\r\nexport default InvoiceHelper;\r\n","export default class InvoiceHelper {\r\n static isReadOnly(status) {\r\n switch (status) {\r\n case 'enqueued':\r\n case 'received':\r\n case 'authorized':\r\n case 'canceled':\r\n case 'denied':\r\n case 'removed':\r\n return true;\r\n case 'rejected':\r\n default:\r\n return false;\r\n }\r\n }\r\n}\r\n","export default \"data:image/png;base64,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\"","import React, { useEffect, useState } from 'react';\r\nimport { api } from 'react-structure-admin';\r\n\r\nconst useCostCenter = () => {\r\n const [enabled, setEnabled] = useState(false);\r\n const [uniqueCostCenter, setUniqueCostCenter] = useState(null);\r\n\r\n useEffect(() => {\r\n api.fetch('cost-centers/allow-use').then(({ data }) => {\r\n setEnabled(data?.result);\r\n });\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (uniqueCostCenter === null) {\r\n api.fetch('cost-centers/unique').then(({ data }) => {\r\n setUniqueCostCenter(data?.result);\r\n });\r\n }\r\n }, []);\r\n\r\n return { enabledCostCenter: enabled, uniqueCostCenter };\r\n};\r\n\r\nexport default useCostCenter;\r\n","import { useSelector, useDispatch } from 'react-redux';\r\nimport {\r\n removeCurrentCollaborator,\r\n setCurrentCollaborator\r\n} from 'stores/auth/authActions';\r\n\r\nconst useCurrentCollaborator = () => {\r\n const dispatch = useDispatch();\r\n\r\n const currentCollaborator = useSelector((c) => c?.auth?.currentCollaborator);\r\n\r\n const setCollaborator = (collaborator) => {\r\n dispatch(setCurrentCollaborator(collaborator));\r\n };\r\n\r\n const removeCollaborator = () => {\r\n dispatch(removeCurrentCollaborator());\r\n };\r\n\r\n return {\r\n setCollaborator,\r\n removeCollaborator,\r\n collaborator: currentCollaborator\r\n };\r\n};\r\n\r\nexport default useCurrentCollaborator;\r\n","import React from 'react';\r\nimport { Col, Form } from 'antd';\r\n\r\nconst ResCol = ({\r\n span = 24,\r\n xs = 24,\r\n sm = 24,\r\n md,\r\n lg,\r\n xl,\r\n xxl,\r\n children,\r\n className,\r\n ...rest\r\n}) => {\r\n if (!xs) {\r\n xs = 24;\r\n }\r\n\r\n if (!sm) {\r\n sm = 24;\r\n }\r\n\r\n if (!md) {\r\n md = span;\r\n }\r\n\r\n if (!lg) {\r\n lg = span;\r\n }\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default ResCol;\r\n","import React, { useState } from 'react';\r\nimport { Input, Form, Row, Col, Radio } from 'antd';\r\nimport {\r\n DrawerEdit,\r\n FormItemWrap,\r\n useCrudEditContext\r\n} from 'react-structure-admin';\r\nimport {\r\n federalTaxNumberValidator,\r\n mobilePhoneValidator\r\n} from 'util/validators';\r\nimport { MaskedInput } from 'antd-mask-input';\r\nimport { AddressV2, ResCol } from 'components';\r\nimport {\r\n cityNormalizeFromSelect,\r\n cityNormalizeToSelect\r\n} from 'util/normalizers';\r\n\r\nconst CustomerEdit = (props) => {\r\n const { form } = useCrudEditContext();\r\n const [isLegalPerson, setIsLegalPerson] = useState(\r\n props?.data?.isLegalPerson\r\n );\r\n\r\n const handleSubmit = ({ address, ...rest }) => {\r\n return {\r\n ...rest,\r\n isLegalPerson,\r\n address: {\r\n ...address,\r\n city: cityNormalizeFromSelect(address.city)\r\n }\r\n };\r\n };\r\n\r\n const handleBeforeBinding = ({ address = {}, ...rest }) => {\r\n if (address == null) {\r\n address = {};\r\n }\r\n\r\n setIsLegalPerson(rest.isLegalPerson ?? false);\r\n\r\n return {\r\n ...rest,\r\n address: {\r\n ...address,\r\n city: cityNormalizeToSelect(address.city)\r\n }\r\n };\r\n };\r\n\r\n const toggler = () => {\r\n form.setFieldsValue({ federalTaxNumber: '' });\r\n setIsLegalPerson(!isLegalPerson);\r\n };\r\n\r\n const postalCodeChangeHandle = (sender) => {\r\n const federalTaxNumber = sender.target.value.replace(/\\D/g, '');\r\n\r\n if (federalTaxNumber.length === 14) {\r\n setIsLegalPerson(true);\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default CustomerEdit;\r\n","import { dispatcher } from 'react-structure-admin';\r\n\r\nexport const PRESCRIPTION = 'PRESCRIPTION';\r\nexport const PRESCRIPTION_SHOW = 'PRESCRIPTION_SHOW';\r\nexport const PRESCRIPTION_CLOSE = 'PRESCRIPTION_CLOSE';\r\n\r\nexport const show = (forceDefaultPrescription = false) => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(\r\n PRESCRIPTION_SHOW,\r\n 'prescriptions',\r\n forceDefaultPrescription\r\n )\r\n );\r\n};\r\n\r\nexport const close = () => (dispatch) => {\r\n dispatch(dispatcher.createAction(PRESCRIPTION_CLOSE, 'prescriptions'));\r\n};\r\n","import { dispatcher, api } from 'react-structure-admin';\r\n\r\nexport const COLLABORATOR = 'COLLABORATOR';\r\n\r\nexport const COLLABORATOR_INVITATION_RESEND = 'COLLABORATOR_INVITATION_RESEND';\r\nexport const COLLABORATOR_INVITATION_RESEND_FINISHED =\r\n 'COLLABORATOR_INVITATION_RESEND_FINISHED';\r\n\r\nexport const COLLABORATOR_CHANGE_INACTIVATE = 'COLLABORATOR_CHANGE_INACTIVATE';\r\nexport const COLLABORATOR_CHANGE_INACTIVATE_FINISHED =\r\n 'COLLABORATOR_CHANGE_INACTIVATE_FINISHED';\r\n\r\nexport const resendInvitation = (id, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'collaborators/invitations',\r\n actionType: COLLABORATOR_INVITATION_RESEND,\r\n effect: async () => api.put(`collaborators/invitations/${id}/resend`),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const inactivate = (id, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'collaborators',\r\n actionType: COLLABORATOR_CHANGE_INACTIVATE,\r\n effect: async () => api.put(`collaborators/${id}/inactivate`),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const activate = (id, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'collaborators',\r\n actionType: COLLABORATOR_CHANGE_INACTIVATE,\r\n effect: async () => api.put(`collaborators/${id}/activate`),\r\n onSuccess\r\n });\r\n};\r\n","import { dispatcher, api } from 'react-structure-admin';\r\n\r\nexport const USER = 'USER';\r\nexport const USER_UPDATE_PASSWORD = 'USER_UPDATE_PASSWORD';\r\nexport const USER_SAVE_PASSWORD = 'USER_SAVE_PASSWORD';\r\nexport const USER_SAVE_PASSWORD_FINISHED = 'USER_SAVE_PASSWORD_FINISHED';\r\nexport const USER_SAVE_PASSWORD_FAILED = 'USER_SAVE_PASSWORD_FAILED';\r\nexport const USER_CURRENT_GET = 'USER_CURRENT_GET';\r\nexport const USER_CURRENT_GET_FINISHED = 'USER_CURRENT_GET_FINISHED';\r\nexport const USER_CURRENT_CANCEL = 'USER_CURRENT_CANCEL';\r\nexport const USER_CURRENT_UPDATE = 'USER_CURRENT_UPDATE';\r\nexport const USER_CURRENT_UPDATE_FINISHED = 'USER_CURRENT_UPDATE_FINISHED';\r\n\r\nexport const USER_REPORT_INITIALIZE = 'USER_REPORT_INITIALIZE';\r\nexport const USER_REPORT_CANCEL = 'USER_REPORT_CANCEL';\r\nexport const USER_REPORT_SEND = 'USER_REPORT_SEND';\r\nexport const USER_FIND = 'USER_FIND';\r\nexport const USER_REPORT_FAIL = 'USER_REPORT_FAIL';\r\nexport const USER_REPORT_SEND_FINISHED = 'USER_REPORT_SEND_FINISHED';\r\nexport const USER_CONTRIBUTOR_DELETE = 'USER_CONTRIBUTOR_DELETE';\r\nexport const USER_CONTRIBUTOR_DELETE_FINISHED =\r\n 'USER_CONTRIBUTOR_DELETE_FINISHED';\r\n\r\nexport const USER_GET_MY_PREFERENCES = 'USER_GET_MY_PREFERENCES';\r\nexport const USER_GET_MY_PREFERENCES_FINISHED =\r\n 'USER_GET_MY_PREFERENCES_FINISHED';\r\n\r\nexport const USER_UPDATE_MY_PREFERENCES = 'USER_UPDATE_MY_PREFERENCES';\r\nexport const USER_UPDATE_MY_PREFERENCES_FINISHED =\r\n 'USER_UPDATE_MY_PREFERENCES_FINISHED';\r\nexport const USER_CANCEL_MY_PREFERENCES = 'USER_CANCEL_MY_PREFERENCES';\r\n\r\nexport const USER_CREATE_COMPANY = 'USER_CREATE_COMPANY';\r\nexport const USER_CLOSE_COMPANY_EDIT = 'USER_CLOSE_COMPANY_EDIT';\r\n\r\nexport const USER_GET_COMPANY = 'USER_GET_COMPANY';\r\nexport const USER_GET_COMPANY_FINISHED = 'USER_GET_COMPANY_FINISHED';\r\n\r\nexport const USER_POST_COMPANY = 'USER_POST_COMPANY';\r\nexport const USER_POST_COMPANY_FINISHED = 'USER_POST_COMPANY_FINISHED';\r\n\r\nexport const USER_PUT_COMPANY = 'USER_PUT_COMPANY';\r\nexport const USER_PUT_COMPANY_FINISHED = 'USER_PUT_COMPANY_FINISHED';\r\n\r\nexport const updatePassword = (payload) => (dispatch) => {\r\n dispatch(dispatcher.createAction(USER_UPDATE_PASSWORD, 'users', payload));\r\n};\r\n\r\nexport const savePassword = (userId, payload, onSuccess, onFail) => async (\r\n dispatch\r\n) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'users',\r\n actionType: USER_SAVE_PASSWORD,\r\n effect: async () => api.put('users/password', { ...payload, id: userId }),\r\n onSuccess,\r\n onFail\r\n });\r\n};\r\n\r\nexport const savePasswordFailed = () => (dispatch) => {\r\n dispatch(dispatcher.createAction(USER_SAVE_PASSWORD_FAILED, 'users'));\r\n};\r\n\r\nexport const currentUserUpdate = (data, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'users',\r\n actionType: USER_CURRENT_UPDATE,\r\n payload: data,\r\n effect: async () => api.put(`users/current-user`, data),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const currentUserGet = (id) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'users',\r\n actionType: USER_CURRENT_GET,\r\n effect: async () => api.get('users', 'current-user')\r\n });\r\n};\r\n\r\nexport const currentUserCancel = () => (dispatch) => {\r\n dispatch(dispatcher.createAction(USER_CURRENT_CANCEL, 'users'));\r\n};\r\n\r\nexport const initializeReport = (payload) => (dispatch) => {\r\n dispatch(dispatcher.createAction(USER_REPORT_INITIALIZE, 'users', payload));\r\n};\r\n\r\nexport const cancelReport = (payload) => (dispatch) => {\r\n dispatch(dispatcher.createAction(USER_REPORT_CANCEL, 'users', payload));\r\n};\r\n\r\nexport const onFailReport = () => (dispatch) => {\r\n dispatch(dispatcher.createAction(USER_REPORT_FAIL, 'users'));\r\n};\r\n\r\nexport const sendReport = (data, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'users',\r\n actionType: USER_REPORT_SEND,\r\n effect: async () => api.post('users/report', data),\r\n onSuccess,\r\n onFail: () => dispatch(onFailReport())\r\n });\r\n};\r\n\r\nexport const findByFederalTaxNumber = (\r\n federaltaxnumber,\r\n onSuccess,\r\n onFail\r\n) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'users',\r\n actionType: USER_FIND,\r\n effect: async () =>\r\n api.get('users', `find/?federaltaxnumber=${federaltaxnumber}`),\r\n onSuccess,\r\n onFail\r\n });\r\n};\r\n\r\nexport const removeContributor = (id, onSuccess, onFail) => async (\r\n dispatch\r\n) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'users',\r\n actionType: USER_CONTRIBUTOR_DELETE,\r\n effect: async () => api.del('users', `${id}/contributor`),\r\n onSuccess,\r\n onFail\r\n });\r\n};\r\n\r\nexport const getMyPreferences = (onSuccess, onFail) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'users',\r\n actionType: USER_GET_MY_PREFERENCES,\r\n effect: async () => api.get('users', 'current-preferences'),\r\n onSuccess,\r\n onFail\r\n });\r\n};\r\n\r\nexport const updateMyPreferences = (data, onSuccess, onFail) => async (\r\n dispatch\r\n) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'users',\r\n actionType: USER_UPDATE_MY_PREFERENCES,\r\n payload: data,\r\n effect: async () => api.put('users/current-preferences', data),\r\n onSuccess,\r\n onFail\r\n });\r\n};\r\n\r\nexport const cancelMyPreferences = () => (dispatch) => {\r\n dispatch(dispatcher.createAction(USER_CANCEL_MY_PREFERENCES, 'users'));\r\n};\r\n\r\nexport const createCompany = () => (dispatch) => {\r\n dispatch(dispatcher.createAction(USER_CREATE_COMPANY, 'users'));\r\n};\r\n\r\nexport const closeCompanyEdit = () => (dispatch) => {\r\n dispatch(dispatcher.createAction(USER_CLOSE_COMPANY_EDIT, 'users'));\r\n};\r\n\r\nexport const getCompany = (companyId) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'users',\r\n actionType: USER_GET_COMPANY,\r\n effect: async () => api.get('companies', companyId)\r\n });\r\n};\r\n\r\nexport const postCompany = (userId, data, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'users',\r\n payload: data,\r\n actionType: USER_POST_COMPANY,\r\n effect: async () => api.post('companies', { userOwnerId: userId, ...data }),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const putCompany = (data, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'users',\r\n payload: data,\r\n actionType: USER_PUT_COMPANY,\r\n onSuccess,\r\n effect: async () => api.put(`companies/${data.id}`, data)\r\n });\r\n};\r\n","const states = [\r\n {\r\n initials: 'ac',\r\n name: 'Acre'\r\n },\r\n {\r\n initials: 'al',\r\n name: 'Alagoas'\r\n },\r\n {\r\n initials: 'am',\r\n name: 'Amazonas'\r\n },\r\n {\r\n initials: 'ap',\r\n name: 'Amapá'\r\n },\r\n {\r\n initials: 'ba',\r\n name: 'Bahia'\r\n },\r\n {\r\n initials: 'ce',\r\n name: 'Ceará'\r\n },\r\n {\r\n initials: 'df',\r\n name: 'Distrito Federal'\r\n },\r\n {\r\n initials: 'es',\r\n name: 'Espírito Santo'\r\n },\r\n {\r\n initials: 'go',\r\n name: 'Goiás'\r\n },\r\n {\r\n initials: 'ma',\r\n name: 'Maranhão'\r\n },\r\n {\r\n initials: 'mg',\r\n name: 'Minas Gerais'\r\n },\r\n {\r\n initials: 'ms',\r\n name: 'Mato Grosso do Sul'\r\n },\r\n {\r\n initials: 'mt',\r\n name: 'Mato Grosso'\r\n },\r\n {\r\n initials: 'pa',\r\n name: 'Pará'\r\n },\r\n {\r\n initials: 'pb',\r\n name: 'Paraíba'\r\n },\r\n {\r\n initials: 'pe',\r\n name: 'Pernambuco'\r\n },\r\n {\r\n initials: 'pi',\r\n name: 'Piauí'\r\n },\r\n {\r\n initials: 'pr',\r\n name: 'Paraná'\r\n },\r\n {\r\n initials: 'rj',\r\n name: 'Rio de Janeiro'\r\n },\r\n {\r\n initials: 'rn',\r\n name: 'Rio Grande do Norte'\r\n },\r\n {\r\n initials: 'ro',\r\n name: 'Rondônia'\r\n },\r\n {\r\n initials: 'rr',\r\n name: 'Roraima'\r\n },\r\n {\r\n initials: 'rs',\r\n name: 'Rio Grande do Sul'\r\n },\r\n {\r\n initials: 'sc',\r\n name: 'Santa Catarina'\r\n },\r\n {\r\n initials: 'se',\r\n name: 'Sergipe'\r\n },\r\n {\r\n initials: 'sp',\r\n name: 'São Paulo'\r\n },\r\n {\r\n initials: 'to',\r\n name: 'Tocantins'\r\n }\r\n];\r\n\r\nexport default states;\r\n","import { dispatcher, api } from 'react-structure-admin';\r\n\r\nexport const CATEGORY = 'CATEGORY';\r\nexport const CATEGORY_FETCH = 'CATEGORY_FETCH';\r\nexport const CATEGORY_FETCH_FINISHED = 'CATEGORY_FETCH_FINISHED';\r\n\r\nexport const fetchTree = (resource, params) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource,\r\n actionType: CATEGORY_FETCH,\r\n effect: async () => api.fetch(`${resource}/tree`, { ...params })\r\n });\r\n};\r\n","import { dispatcher, api } from 'react-structure-admin';\r\n\r\nexport const PARTNERSHIP = 'PARTNERSHIP';\r\n\r\nexport const PARTNERSHIP_INVITATION_RESEND = 'PARTNERSHIP_INVITATION_RESEND';\r\nexport const PARTNERSHIP_INVITATION_RESEND_FINISHED =\r\n 'PARTNERSHIP_INVITATION_RESEND_FINISHED';\r\n\r\nexport const PARTNERSHIP_LICENSE_SUMMARY = 'PARTNERSHIP_LICENSE_SUMMARY';\r\nexport const PARTNERSHIP_LICENSE_SUMMARY_FINISHED =\r\n 'PARTNERSHIP_LICENSE_SUMMARY_FINISHED';\r\n\r\nexport const resendEmail = (id, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'partnerships',\r\n actionType: PARTNERSHIP_INVITATION_RESEND,\r\n effect: async () => api.put(`partnerships/${id}/resend-email`),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const getSummary = (onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'partnerships',\r\n actionType: PARTNERSHIP_LICENSE_SUMMARY,\r\n effect: async () => api.get('partnerships', 'summary'),\r\n onSuccess\r\n });\r\n};\r\n","import { dispatcher, api, RESOURCE_FETCH } from 'react-structure-admin';\r\n\r\nexport const PRODUCTMOVEMENT = 'PRODUCTMOVEMENT';\r\n\r\nexport const PRODUCTMOVEMENT_DELETE = 'PRODUCTMOVEMENT_DELETE';\r\nexport const PRODUCTMOVEMENT_DELETE_FINISHED =\r\n 'PRODUCTMOVEMENT_DELETE_FINISHED';\r\n\r\nexport const fetch = (resource, params) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'product-movements',\r\n actionType: RESOURCE_FETCH,\r\n effect: async () => api.fetch('product-movements/items', params)\r\n });\r\n};\r\n\r\nexport const remove = (id) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'product-movements',\r\n actionType: PRODUCTMOVEMENT_DELETE,\r\n effect: async () => api.del('product-movements', id)\r\n });\r\n};\r\n","import React from 'react';\r\nimport { Button, Form, Switch, Tooltip } from 'antd';\r\nimport { FormItemWrap, configManager } from 'react-structure-admin';\r\nimport { useDispatch } from 'react-redux';\r\nimport {\r\n cancelMyPreferences,\r\n updateMyPreferences\r\n} from 'stores/users/userActions';\r\nimport { Drawer } from 'components';\r\nimport { ExclamationCircleOutlined } from '@ant-design/icons';\r\n\r\nconst CurrentUserMyPreferences = ({ data, saving }) => {\r\n const [form] = Form.useForm();\r\n const dispatch = useDispatch();\r\n\r\n const handleSubmit = () => {\r\n form.validateFields().then((values) => {\r\n dispatch(updateMyPreferences({ ...data, ...values }));\r\n });\r\n };\r\n\r\n const handleCancel = () => {\r\n dispatch(cancelMyPreferences());\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n >\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CurrentUserMyPreferences;\r\n","import React from 'react';\r\nimport FinancialEntryList from 'pages/app/financialEntries/FinancialEntryList';\r\nimport { Modal } from 'antd';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { closeFinancialEntry } from 'stores/patients/patientActions';\r\nimport useAuth from 'core/hooks/useAuth';\r\n\r\nconst PatientFinancialEntryListInternal = ({ patientId }) => {\r\n const dispatch = useDispatch();\r\n const { hasRole } = useAuth();\r\n\r\n const handleClose = () => {\r\n dispatch(closeFinancialEntry());\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst PatientFinancialEntryList = () => {\r\n const { visibleFinancialEntryPatientId } = useSelector(\r\n (c) => c.resources['financial-entries'] ?? {}\r\n );\r\n\r\n if (!visibleFinancialEntryPatientId) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default PatientFinancialEntryList;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Divider, Form, Input, Row, Tabs, DatePicker, Switch } from 'antd';\r\nimport { MaskedInput } from 'antd-mask-input';\r\nimport federalTaxNumberValidator from 'util/validators/federalTaxNumberValidator';\r\nimport { AddressV2, UploadArchiveManual } from 'components';\r\nimport ResCol from 'components/forms/ResCol';\r\nimport moment from 'moment';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport {\r\n DrawerEdit,\r\n FormItemWrap,\r\n ResourceEdit,\r\n useCrudEditContext,\r\n api\r\n} from 'react-structure-admin';\r\nimport { postCertificate } from 'stores/companies/companyActions';\r\nimport {\r\n cityNormalizeFromSelect,\r\n cityNormalizeToSelect\r\n} from 'util/normalizers';\r\nimport {\r\n closeCompanyEdit,\r\n postCompany,\r\n putCompany\r\n} from 'stores/users/userActions';\r\nimport useAuth from 'core/hooks/useAuth';\r\nimport CompanySettingsForm from './CompanySettingsForm';\r\n\r\nconst { TabPane } = Tabs;\r\n\r\nconst CompanyEditInternal = (props) => {\r\n const dispatch = useDispatch();\r\n const { form } = useCrudEditContext();\r\n const { user, refreshToken, refresh } = useAuth();\r\n const { data = {}, loadingEdition } = props;\r\n const { certificate } = data;\r\n const [isUploadCertificate, setIsUploadCertificate] = useState(false);\r\n const [enabled, setEnable] = useState(false);\r\n const [image, setImage] = useState(data?.profileImage);\r\n const [isCompany, setIsCompany] = useState(data.isLegalPerson ?? false);\r\n\r\n const [state, setState] = useState({\r\n lastFederalTaxNumber: null,\r\n loadingAddress: false\r\n });\r\n\r\n const handleBeforeSubmit = ({ address, uploadCertificate, ...rest }) => {\r\n return {\r\n ...data,\r\n ...rest,\r\n uploadCertificate: isUploadCertificate ? uploadCertificate : null,\r\n profileImage: image,\r\n address: {\r\n ...address,\r\n city: cityNormalizeFromSelect(address.city)\r\n }\r\n };\r\n };\r\n\r\n useEffect(() => {\r\n if (!loadingEdition) {\r\n setImage(data?.profileImage);\r\n }\r\n }, [loadingEdition]);\r\n\r\n const handleBeforeBinding = ({ address, settings, certificate, ...rest }) => {\r\n address = address || {};\r\n setEnable(settings?.serviceInvoice?.enabled);\r\n\r\n return {\r\n ...rest,\r\n address: {\r\n ...address,\r\n city: cityNormalizeToSelect(address.city)\r\n },\r\n settings,\r\n certificate: certificate\r\n ? {\r\n ...certificate,\r\n expirationAt: moment(certificate?.expirationAt)\r\n }\r\n : null\r\n };\r\n };\r\n\r\n const setCompanyData = ({\r\n address,\r\n legalName,\r\n stateTaxNumber,\r\n cityTaxNumber,\r\n name\r\n }) => {\r\n form.setFieldsValue({\r\n name,\r\n cityTaxNumber,\r\n stateTaxNumber,\r\n legalName,\r\n address: {\r\n ...address,\r\n city: cityNormalizeToSelect(address.city)\r\n }\r\n });\r\n };\r\n\r\n const findCompany = (federalTaxNumber) => {\r\n federalTaxNumber = federalTaxNumber.replace(/\\D/g, '');\r\n setState({\r\n ...state,\r\n lastFederalTaxNumber: federalTaxNumber,\r\n loadingAddress: true\r\n });\r\n api.get('companies/find', federalTaxNumber).then(({ data }) => {\r\n setState({ ...state, loadingAddress: false });\r\n setCompanyData(data ? data.result : { address: {} });\r\n });\r\n };\r\n\r\n const postalCodeChangeHandle = (sender) => {\r\n const federalTaxNumber = sender.target.value.replace(/\\D/g, '');\r\n if (federalTaxNumber.length === 14) {\r\n findCompany(federalTaxNumber);\r\n }\r\n };\r\n\r\n const handleSuccess = () => {\r\n refresh({ refreshToken, type: 'professional' });\r\n };\r\n\r\n const handleSubmit = (submittedValues) => {\r\n const values = handleBeforeSubmit(submittedValues);\r\n\r\n if (!data?.id) {\r\n dispatch(postCompany(user.id, values, handleSuccess));\r\n } else {\r\n dispatch(putCompany(values, handleSuccess));\r\n }\r\n };\r\n\r\n const handleCancel = () => {\r\n dispatch(closeCompanyEdit());\r\n };\r\n\r\n const handleSuccessPostCertificate = ({ data }) => {\r\n const { fileName, contentType } = data.result;\r\n\r\n setIsUploadCertificate(true);\r\n\r\n form.setFields([\r\n {\r\n name: ['uploadCertificate', 'fileName'],\r\n errors: [],\r\n value: fileName\r\n },\r\n {\r\n name: ['uploadCertificate', 'contentType'],\r\n errors: [],\r\n value: contentType\r\n }\r\n ]);\r\n };\r\n\r\n const handleOnUploadRequest = (options) => {\r\n const formData = new FormData();\r\n formData.append('certificateFile', options.file);\r\n\r\n dispatch(postCertificate(formData, handleSuccessPostCertificate));\r\n };\r\n\r\n const handleChangeValues = ({ settings }) => {\r\n if (settings?.serviceInvoice?.enabled !== undefined) {\r\n setEnable(settings?.serviceInvoice?.enabled);\r\n\r\n if (settings?.serviceInvoice?.enabled === false) {\r\n form.setFieldsValue({ allowToCreateOtherCompanies: false });\r\n }\r\n }\r\n };\r\n\r\n const toggler = () => {\r\n if (isCompany) {\r\n setIsCompany(false);\r\n return;\r\n }\r\n\r\n setIsCompany(true);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst CompanyEdit = (props) => {\r\n const { userCompany, saving } = useSelector((c) => c.resources.users ?? {});\r\n const { uploading } = useSelector((c) => c.resources.companies ?? {});\r\n\r\n if (!userCompany) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default ResourceEdit.create(CompanyEdit, {\r\n resource: 'users',\r\n currentAttr: 'userCompany',\r\n unloadOnUnmount: false\r\n});\r\n","import React, { useState } from 'react';\r\nimport { MaskedInput } from 'antd-mask-input';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport moment from 'moment';\r\nimport { Input, Form, Row, DatePicker, Col, Divider } from 'antd';\r\nimport {\r\n DrawerEdit,\r\n ResourceEdit,\r\n FormItemWrap,\r\n normalizeFromSelect,\r\n normalizeToSelect\r\n} from 'react-structure-admin';\r\nimport { currentUserUpdate } from 'stores/users/userActions';\r\nimport { mobilePhoneValidator } from 'util/validators/index';\r\nimport {\r\n ResCol,\r\n SelectGender,\r\n SelectProfessionalRegistrationTypes,\r\n SelectStates,\r\n UploadProfileImage\r\n} from 'components';\r\nimport {\r\n cancelCurrentProfessional,\r\n updateCurrentProfessional\r\n} from 'stores/healthServiceProviders/healthServiceProviderActions';\r\nimport RemoteSelect from 'components/RemoteSelect';\r\n\r\nconst CurrentProfessionalForm = (props) => {\r\n const { data, loading } = props;\r\n const dispatch = useDispatch();\r\n const [registrationType, setRegistrationType] = useState(null);\r\n\r\n const handleBeforeSubmit = ({\r\n birthDate,\r\n medicalSpecialties = [],\r\n address,\r\n ...rest\r\n }) => {\r\n return {\r\n ...rest,\r\n medicalSpecialties: medicalSpecialties.map((c) => ({\r\n medicalSpecialty: normalizeFromSelect(c)\r\n })),\r\n birthDate: birthDate ? moment(birthDate).format('YYYY/MM/DD') : null\r\n };\r\n };\r\n\r\n const handleBeforeBinding = ({\r\n birthDate,\r\n medicalSpecialties = [],\r\n address = {},\r\n ...rest\r\n }) => {\r\n return {\r\n ...rest,\r\n medicalSpecialties: medicalSpecialties.map((c) =>\r\n normalizeToSelect(c.medicalSpecialty)\r\n ),\r\n birthDate: birthDate ? moment(birthDate) : null\r\n };\r\n };\r\n\r\n const handleSubmit = (data) => {\r\n const values = handleBeforeSubmit(data);\r\n dispatch(updateCurrentProfessional(values));\r\n };\r\n\r\n const handleCancel = () => {\r\n dispatch(cancelCurrentProfessional());\r\n };\r\n\r\n const handleValuesChange = (_, { professionalRegistration }) => {\r\n setRegistrationType(professionalRegistration?.type ?? null);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst ResourceComponent = ResourceEdit.create(CurrentProfessionalForm, {\r\n resource: 'health-service-providers',\r\n currentAttr: 'currentProfessional'\r\n});\r\n\r\nconst CurrentProfessionalEdit = (props) => {\r\n const { editingCurrentProfessional } = useSelector(\r\n (state) => state.resources['health-service-providers'] || {}\r\n );\r\n\r\n if (!editingCurrentProfessional) {\r\n return null;\r\n }\r\n\r\n return ;\r\n};\r\n\r\nexport default CurrentProfessionalEdit;\r\n","import React from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Menu, Dropdown } from 'antd';\r\nimport { RECORD_FIELD } from 'react-structure-admin';\r\nimport UserProfileImage from 'components/UserProfileImage';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport {\r\n updatePassword,\r\n currentUserGet,\r\n getMyPreferences,\r\n createCompany,\r\n getCompany\r\n} from 'stores/users/userActions';\r\n\r\nimport UpdatePassword from 'pages/shared/UpdatePassword';\r\nimport CurrentUserEdit from 'pages/shared/CurrentUserEdit';\r\nimport CurrentUserMyPreferences from 'pages/shared/CurrentUserMyPreferences';\r\nimport useAuth from 'core/hooks/useAuth';\r\nimport { reducerName } from 'util/normalizers';\r\nimport usePermissions from 'core/hooks/usePermissions';\r\nimport { changeTenant } from 'stores/auth/authActions';\r\nimport useCurrentCollaborator from 'core/hooks/useCurrentCollaborator';\r\nimport PatientFinancialEntryList from 'pages/shared/PatientFinancialEntryList';\r\nimport CompanyEdit from 'pages/shared/CompanyEdit';\r\nimport { getCurrentProfessional } from 'stores/healthServiceProviders/healthServiceProviderActions';\r\nimport CurrentProfessionalEdit from 'pages/shared/CurrentProfessionalEdit';\r\nimport { useCustomHistory } from 'hooks';\r\n\r\nconst CurrentUserProfile = () => {\r\n const {\r\n user,\r\n company,\r\n isAdmin,\r\n userCompany,\r\n isMultiTenant,\r\n tenantId\r\n } = useAuth();\r\n const {\r\n isProfessional,\r\n isStudent,\r\n isUserAdmin,\r\n isPartnership\r\n } = usePermissions();\r\n const { removeCollaborator } = useCurrentCollaborator();\r\n const dispatch = useDispatch();\r\n const history = useCustomHistory();\r\n const {\r\n editingCurrentUser,\r\n [RECORD_FIELD]: resourceUsers,\r\n myPreferences,\r\n saving\r\n } = useSelector((state) => state.resources.users || {});\r\n\r\n const signout = () => {\r\n history.push('/signout', false);\r\n };\r\n\r\n const handleEditProfile = () => {\r\n dispatch(currentUserGet(user.id));\r\n };\r\n\r\n const handleEditProfessional = () => {\r\n dispatch(getCurrentProfessional());\r\n };\r\n\r\n const handleUpdatePassword = () => {\r\n dispatch(updatePassword({ userId: user.id }));\r\n };\r\n\r\n const handleMyPreferences = () => {\r\n dispatch(getMyPreferences());\r\n };\r\n\r\n const handleMySubscription = () => {\r\n history.push('current-subscriptions');\r\n };\r\n\r\n const handleBackToRootTenant = () => {\r\n dispatch(\r\n changeTenant(null, () => {\r\n history.push('/a/accounts/professional-accounts', false);\r\n })\r\n );\r\n };\r\n\r\n const handleChangeColaborator = () => {\r\n removeCollaborator();\r\n };\r\n\r\n const handleEditingCompany = () => {\r\n if (!userCompany) {\r\n dispatch(createCompany());\r\n } else {\r\n dispatch(getCompany(userCompany.id));\r\n }\r\n };\r\n\r\n const allowCreateCompany = () => {\r\n return isProfessional && company?.settings?.allowToCreateOtherCompanies;\r\n };\r\n\r\n const changeTenantClickHandle = () => {\r\n dispatch(\r\n changeTenant(null, () => {\r\n history.push('/accounts-chooser', false);\r\n })\r\n );\r\n };\r\n\r\n const userMenuOptions = (\r\n \r\n );\r\n\r\n const userName = user?.professionalName ?? user?.displayName ?? user?.name;\r\n const name = reducerName(userName);\r\n\r\n return (\r\n <>\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n {name || Carregando...}\r\n \r\n \r\n {isStudent ? (\r\n
\r\n Estudante\r\n
\r\n ) : null}\r\n {isPartnership ? (\r\n
\r\n Parceiro\r\n
\r\n ) : null}\r\n
\r\n
\r\n \r\n {editingCurrentUser ? : null}\r\n \r\n \r\n \r\n {resourceUsers && resourceUsers.editingPassword && (\r\n \r\n )}\r\n {myPreferences ? (\r\n \r\n ) : null}\r\n >\r\n );\r\n};\r\n\r\nexport default CurrentUserProfile;\r\n","import {\r\n dispatcher,\r\n api,\r\n RESOURCE_CREATE_INITIALIZE,\r\n RESOURCE_ACTION_CREATE,\r\n RESOURCE_ACTION_EDIT\r\n} from 'react-structure-admin';\r\nimport { formartOnlyNumber } from 'util/formatters';\r\n\r\nexport const PATIENT = 'PATIENT';\r\nexport const PATIENT_VIEW = 'PATIENT_VIEW';\r\nexport const PATIENT_VIEW_FINISHED = 'PATIENT_VIEW_FINISHED';\r\nexport const PATIENT_EVENT_FETCH = 'PATIENT_EVENT_FETCH';\r\nexport const PATIENT_EVENT_FETCH_FINISHED = 'PATIENT_EVENT_FETCH_FINISHED';\r\nexport const PATIENT_EVENT_UNLOAD = 'PATIENT_EVENT_UNLOAD';\r\nexport const PATIENT_VIEW_UPDATE = 'PATIENT_VIEW_UPDATE';\r\nexport const PATIENT_CREATE_ATTENDANCE = 'PATIENT_CREATE_ATTENDANCE';\r\nexport const PATIENT_EVENT_CREATE_ANNOTATION =\r\n 'PATIENT_EVENT_CREATE_ANNOTATION';\r\nexport const PATIENT_EVENT_CREATE_ANNOTATION_FINISHED =\r\n 'PATIENT_EVENT_CREATE_ANNOTATION_FINISHED';\r\nexport const PATIENT_EVENT_LINK_TREATMENT = 'PATIENT_EVENT_LINK_TREATMENT';\r\nexport const PATIENT_EVENT_LINK_TREATMENT_FINISHED =\r\n 'PATIENT_EVENT_LINK_TREATMENT_FINISHED';\r\nexport const PATIENT_EVENT_SHARE = 'PATIENT_EVENT_SHARE';\r\nexport const PATIENT_EVENT_SHARE_FINISHED = 'PATIENT_EVENT_SHARE_FINISHED';\r\nexport const PATIENT_SHOW_EVENTS = 'PATIENT_SHOW_EVENTS';\r\nexport const PATIENT_SHOW_ACTIVITIES = 'PATIENT_SHOW_ACTIVITIES';\r\nexport const PATIENT_FIND_BY_USER_ID = 'PATIENT_FIND_BY_USER_ID';\r\nexport const PATIENT_FIND_BY_USER_ID_FINISHED =\r\n 'PATIENT_FIND_BY_USER_ID_FINISHED';\r\n\r\nexport const PATIENT_SCHEDULES_FETCH = 'PATIENT_SCHEDULES_FETCH';\r\nexport const PATIENT_SCHEDULES_FETCH_FINISHED =\r\n 'PATIENT_SCHEDULES_FETCH_FINISHED';\r\nexport const PATIENT_SHOW_SCHEDULES = 'PATIENT_SHOW_SCHEDULES';\r\nexport const PATIENT_CLOSE_SCHEDULES = 'PATIENT_CLOSE_SCHEDULES';\r\n\r\nexport const PATIENT_EVENT_PRESCRIPTION_SHOW =\r\n 'PATIENT_EVENT_PRESCRIPTION_SHOW';\r\nexport const PATIENT_EVENT_PRESCRIPTION_CLOSE =\r\n 'PATIENT_EVENT_PRESCRIPTION_CLOSE';\r\n\r\nexport const PATIENT_EVENT = 'PATIENT_EVENT';\r\nexport const PATIENT_EVENT_FINISHED = 'PATIENT_EVENT_FINISHED';\r\n\r\nexport const PATIENT_PRESCRIPTION_CREATE_INTEGRATED =\r\n 'PATIENT_PRESCRIPTION_CREATE_INTEGRATED';\r\nexport const PATIENT_PRESCRIPTION_CREATE_INTEGRATED_FINISHED =\r\n 'PATIENT_PRESCRIPTION_CREATE_INTEGRATED_FINISHED';\r\n\r\nexport const PATIENT_PRESCRIPTION_INTEGRATION =\r\n 'PATIENT_PRESCRIPTION_INTEGRATION';\r\n\r\nexport const PATIENT_FIND = 'PATIENT_FIND';\r\n\r\nexport const PATIENT_OPEN_ANNOTATION = 'PATIENT_OPEN_ANNOTATION';\r\nexport const PATIENT_CLOSE_ANNOTATION = 'PATIENT_CLOSE_ANNOTATION';\r\n\r\nexport const PATIENT_EVENT_LIST_OPEN_FILTER = 'PATIENT_EVENT_LIST_OPEN_FILTER';\r\nexport const PATIENT_EVENT_LIST_CLOSE_FILTER =\r\n 'PATIENT_EVENT_LIST_CLOSE_FILTER';\r\n\r\nexport const PATIENT_GET_TAGS = 'PATIENT_GET_TAGS';\r\nexport const PATIENT_GET_TAGS_FINISHED = 'PATIENT_GET_TAGS_FINISHED';\r\n\r\nexport const PATIENT_CREATE_TAG = 'PATIENT_CREATE_TAG';\r\nexport const PATIENT_CREATE_TAG_FINISHED = 'PATIENT_CREATE_TAG_FINISHED';\r\n\r\nexport const PATIENT_REMOVE_TAG = 'PATIENT_REMOVE_TAG';\r\nexport const PATIENT_REMOVE_TAG_FINISHED = 'PATIENT_REMOVE_TAG_FINISHED';\r\n\r\nexport const PATIENT_SHOW_FINANCIALENTRY = 'PATIENT_SHOW_FINANCIALENTRY';\r\nexport const PATIENT_CLOSE_FINANCIALENTRY = 'PATIENT_CLOSE_FINANCIALENTRY';\r\n\r\nexport const getDetail = (id, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'patients',\r\n actionType: PATIENT_VIEW,\r\n effect: async () => api.get('patients', `${id}/detail`),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const fetchEvents = (params, onSuccess, tenant) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'patients',\r\n actionType: PATIENT_EVENT_FETCH,\r\n effect: async () =>\r\n api.fetch('patients/events', { ...params, pageSize: 20 }, tenant),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const updateView = (data) => (dispatch) => {\r\n dispatch(dispatcher.createAction(PATIENT_VIEW_UPDATE, 'patients', data));\r\n};\r\n\r\nexport const showCreateAttendance = (params) => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(PATIENT_CREATE_ATTENDANCE, 'patients', params)\r\n );\r\n};\r\n\r\nexport const unloadEvents = () => (dispatch) => {\r\n dispatch(dispatcher.createAction(PATIENT_EVENT_UNLOAD, 'patients'));\r\n};\r\n\r\nexport const createAnnotation = (patientId, data, onSuccess) => async (\r\n dispatch\r\n) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'patients',\r\n actionType: PATIENT_EVENT_CREATE_ANNOTATION,\r\n effect: async () =>\r\n api.post(`patients/${patientId}/annotation-event`, data),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const openAnnotation = (patient) => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(PATIENT_OPEN_ANNOTATION, 'patients', patient)\r\n );\r\n};\r\n\r\nexport const closeAnnotation = () => (dispatch) => {\r\n dispatch(dispatcher.createAction(PATIENT_CLOSE_ANNOTATION, 'patients'));\r\n};\r\n\r\nexport const linkEventToTreatment = (eventId, treatmentId, onSuccess) => async (\r\n dispatch\r\n) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'patients',\r\n actionType: PATIENT_EVENT_LINK_TREATMENT,\r\n effect: async () =>\r\n api.put(\r\n `patients/link-event-treatment/?eventid=${eventId}&treatmentid=${treatmentId}`\r\n ),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const shareEvent = (eventId, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'patients',\r\n actionType: PATIENT_EVENT_SHARE,\r\n effect: async () => api.put(`patients/share-event/?eventid=${eventId}`),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const showEvents = () => (dispatch) => {\r\n dispatch(dispatcher.createAction(PATIENT_SHOW_EVENTS, 'patients'));\r\n};\r\n\r\nexport const showActivities = () => (dispatch) => {\r\n dispatch(dispatcher.createAction(PATIENT_SHOW_ACTIVITIES, 'patients'));\r\n};\r\n\r\nexport const initializeCreate = (data) => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(RESOURCE_CREATE_INITIALIZE, 'patients', {\r\n initialValues: data,\r\n action: data?.id ? RESOURCE_ACTION_EDIT : RESOURCE_ACTION_CREATE\r\n })\r\n );\r\n};\r\n\r\nexport const find = (userId, onSuccess, onFail) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'patients',\r\n actionType: PATIENT_FIND_BY_USER_ID,\r\n effect: async () => api.get('patients', `find/?userId=${userId}`),\r\n onSuccess,\r\n onFail\r\n });\r\n};\r\n\r\nexport const showSchedules = (patientId) => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(PATIENT_SHOW_SCHEDULES, 'patients', patientId)\r\n );\r\n};\r\n\r\nexport const closeSchedules = () => (dispatch) => {\r\n dispatch(dispatcher.createAction(PATIENT_CLOSE_SCHEDULES, 'patients'));\r\n};\r\n\r\nexport const showEventPrescription = (patientId) => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(\r\n PATIENT_EVENT_PRESCRIPTION_SHOW,\r\n 'patients',\r\n patientId\r\n )\r\n );\r\n};\r\n\r\nexport const closeEventPrescription = () => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(PATIENT_EVENT_PRESCRIPTION_CLOSE, 'patients')\r\n );\r\n};\r\n\r\nexport const createEvent = (id, data, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'patients',\r\n actionType: PATIENT_EVENT,\r\n effect: async () => api.post(`patients/${id}/event`, data),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const createIntegratedPrescription = (data, onSuccess) => async (\r\n dispatch\r\n) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'patients',\r\n actionType: PATIENT_PRESCRIPTION_CREATE_INTEGRATED,\r\n effect: async () => api.post('patients/integrated-prescription', data),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const syncDigitalEventPrescription = (\r\n patientId,\r\n code,\r\n onSuccess\r\n) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'patients',\r\n actionType: PATIENT_PRESCRIPTION_INTEGRATION,\r\n effect: async () =>\r\n api.post(\r\n `patients/sync-digital-prescription?patientId=${patientId}&code=${code}`\r\n ),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const findByFederalTaxNumber = (\r\n federalTaxNumber,\r\n onSuccess,\r\n onFail\r\n) => async (dispatch) => {\r\n const onlyNumber = formartOnlyNumber(federalTaxNumber);\r\n\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'patients',\r\n actionType: PATIENT_FIND,\r\n effect: async () =>\r\n api.get(\r\n 'patients',\r\n `find-by-federal-tax-number/?federalTaxNumber=${onlyNumber}`\r\n ),\r\n onSuccess,\r\n onFail\r\n });\r\n};\r\n\r\nexport const eventsOpenFilter = () => (dispatch) => {\r\n dispatch(dispatcher.createAction(PATIENT_EVENT_LIST_OPEN_FILTER, 'patients'));\r\n};\r\n\r\nexport const eventsCloseFilter = () => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(PATIENT_EVENT_LIST_CLOSE_FILTER, 'patients')\r\n );\r\n};\r\n\r\nexport const getTags = (patientId, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'patients',\r\n actionType: PATIENT_GET_TAGS,\r\n effect: async () => api.get('patients', `${patientId}/tags`)\r\n });\r\n};\r\n\r\nexport const createTag = (patientId, data, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'patients',\r\n actionType: PATIENT_CREATE_TAG,\r\n payload: data,\r\n effect: async () => api.post(`patients/${patientId}/tags`, data),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const removeTag = (patientTagId, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'patients',\r\n actionType: PATIENT_REMOVE_TAG,\r\n payload: patientTagId,\r\n effect: async () =>\r\n api.del('patients', `tags?patientTagId=${patientTagId}`),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const showFinancialEntry = (patientId) => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(\r\n PATIENT_SHOW_FINANCIALENTRY,\r\n 'financial-entries',\r\n patientId\r\n )\r\n );\r\n};\r\n\r\nexport const closeFinancialEntry = () => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(PATIENT_CLOSE_FINANCIALENTRY, 'financial-entries')\r\n );\r\n};\r\n","const formartOnlyNumber = (number) => {\r\n if (!number) {\r\n return '';\r\n }\r\n\r\n const value = number.match(/\\d+/g);\r\n\r\n if (value) {\r\n return value.join('');\r\n }\r\n\r\n return '';\r\n};\r\n\r\nexport default formartOnlyNumber;\r\n","import formartOnlyNumber from './formartOnlyNumber';\r\n\r\nconst formatFederalTaxNumber = (federalTaxNumber) => {\r\n if (!federalTaxNumber) {\r\n return '';\r\n }\r\n\r\n const onlyNumber = formartOnlyNumber(federalTaxNumber);\r\n\r\n if (onlyNumber.length === 11) {\r\n return onlyNumber.replace(/(\\d{3})(\\d{3})(\\d{3})(\\d{2})/g, '$1.$2.$3-$4');\r\n }\r\n\r\n return onlyNumber.replace(\r\n /(\\d{2})(\\d{3})(\\d{3})(\\d{4})(\\d{2})/g,\r\n '$1.$2.$3/$4-$5'\r\n );\r\n};\r\n\r\nexport default formatFederalTaxNumber;\r\n","import moment from 'moment';\r\n\r\nconst formartDateTimeUTC = (date, format = 'DD/MM/YYYY HH:mm') => {\r\n if (!date) {\r\n return null;\r\n }\r\n\r\n if (format === 'fromNow') {\r\n let message = '';\r\n\r\n const today = moment();\r\n const years = today.diff(date, 'year');\r\n const months = today.add(-years, 'year').diff(date, 'month');\r\n const days = today.add(-months, 'month').diff(date, 'day');\r\n\r\n if (years > 0) {\r\n message += `${years} ${years > 1 ? 'anos, ' : 'ano, '}`;\r\n }\r\n\r\n if (months > 0) {\r\n message += `${months} ${months > 1 ? 'meses e ' : 'mês e '}`;\r\n }\r\n\r\n if (days > 0) {\r\n message += `${days} ${days > 1 ? 'dias' : 'dia'}`;\r\n }\r\n\r\n return message;\r\n }\r\n\r\n return moment(date).format(format);\r\n};\r\n\r\nexport default formartDateTimeUTC;\r\n","import moment from 'moment';\r\n\r\nconst formatDateToNumber = (date, type) => {\r\n const postDate = moment(date);\r\n const currentDate = moment(new Date());\r\n const duration = moment.duration(currentDate.diff(postDate));\r\n\r\n switch (type) {\r\n case 'second':\r\n return Math.trunc(duration.asSeconds() || 0);\r\n case 'minute':\r\n return Math.trunc(duration.asMinutes() || 0);\r\n case 'hour':\r\n return Math.trunc(duration.asHours() || 0);\r\n case 'day':\r\n return Math.trunc(duration.asDays() || 0);\r\n case 'month':\r\n return Math.trunc(duration.asMonths() || 0);\r\n case 'year':\r\n return Math.trunc(duration.asYears() || 0);\r\n default:\r\n return undefined;\r\n }\r\n};\r\n\r\nexport default formatDateToNumber;\r\n","const formatPhone = (phone) => {\r\n if (!phone) {\r\n return '';\r\n }\r\n\r\n let r = phone.replace(/\\D/g, '');\r\n r = r.replace(/^0/, '');\r\n if (r.length > 10) {\r\n r = r.replace(/^(\\d\\d)(\\d{5})(\\d{4}).*/, '($1) $2-$3');\r\n } else if (r.length > 5) {\r\n r = r.replace(/^(\\d\\d)(\\d{4})(\\d{0,4}).*/, '($1) $2-$3');\r\n } else if (r.length > 2) {\r\n r = r.replace(/^(\\d\\d)(\\d{0,5})/, '($1) $2');\r\n } else {\r\n r = r.replace(/^(\\d*)/, '($1');\r\n }\r\n return r;\r\n};\r\n\r\nexport default formatPhone;\r\n","const formatInitials = (name) => {\r\n const rgx = new RegExp(/(\\p{L}{1})\\p{L}+/, 'gu');\r\n let initials = [...name.matchAll(rgx)] || [];\r\n initials = (\r\n (initials.shift()?.[1] || '') + (initials.pop()?.[1] || '')\r\n ).toUpperCase();\r\n\r\n return initials;\r\n};\r\n\r\nexport default formatInitials;\r\n","import {\r\n ABNEGATIVE,\r\n ABPOSITIVE,\r\n ACCEPTED,\r\n ACCOUNTANTS,\r\n ACTIVATED,\r\n ANEGATIVE,\r\n APOSITIVE,\r\n APPROXIMATETAXES_COMPLETE,\r\n APPROXIMATETAXES_SIMPLIFIED,\r\n BALANCEWALLETS,\r\n BANKCHECK,\r\n BANKDEPOSIT,\r\n BANKTRANSFER,\r\n BILLETBANK,\r\n BNEGATIVE,\r\n BPOSITIVE,\r\n CANCELED,\r\n CANCELLATION_REQUESTED,\r\n CASH,\r\n CREATED,\r\n CREDITCARD,\r\n DEBITCARD,\r\n DIRECTDEBIT,\r\n ELECTRONICTRANSFER,\r\n EXPIRED,\r\n IGNORED,\r\n INITIALBALANCE,\r\n INTRIAL,\r\n MUNICIPAL,\r\n NATIONAL,\r\n ONEGATIVE,\r\n OPOSITIVE,\r\n OTHER,\r\n PAYMENT,\r\n PAYPAL,\r\n PENDING,\r\n PIX,\r\n PROFILE_ACCOUNTANT,\r\n PROFILE_ADMINISTRADOR,\r\n PROFILE_DOCTOR,\r\n PROFILE_FINANCIAL,\r\n PROFILE_OTHER,\r\n PROFILE_PARTNERSHIP,\r\n PROFILE_RECEPTIONIST,\r\n PROFILE_STUDENT,\r\n PROFILE_USER,\r\n RECEIPT,\r\n RECONCILED,\r\n ROLE_ACCOUNTANT,\r\n ROLE_ADMIN,\r\n ROLE_CLINIC_ADMINISTRATOR,\r\n ROLE_FINANCIAL,\r\n ROLE_OTHER_HEALTH_PROFESSIONAL,\r\n ROLE_PARTNERSHIP,\r\n ROLE_PROFESSIONAL,\r\n ROLE_RECEPTIONIST,\r\n ROLE_STUDENT,\r\n STATE,\r\n SUSPENDED,\r\n INACTIVATED,\r\n ROLE_FINANCIAL_ADMINISTRATOR,\r\n PROFILE_FINANCIAL_ADMINISTRATOR,\r\n ROLE_STOCK,\r\n OUTGOING,\r\n INCOMING\r\n} from './types';\r\n\r\nconst display = {\r\n [CREATED]: 'Aguardando pagamento',\r\n [ACTIVATED]: 'Ativo',\r\n [INACTIVATED]: 'Inativo',\r\n [CANCELED]: 'Cancelado',\r\n [SUSPENDED]: 'Suspensa',\r\n [EXPIRED]: 'Vencida',\r\n [INTRIAL]: 'Em período de teste',\r\n [PENDING]: 'Pendente',\r\n [IGNORED]: 'Ignorado',\r\n [RECONCILED]: 'Conciliado',\r\n [ACCEPTED]: 'Aceito',\r\n [RECEIPT]: 'Receita',\r\n [PAYMENT]: 'Despesa',\r\n [INITIALBALANCE]: 'Saldo inicial',\r\n [BILLETBANK]: 'Boleto',\r\n [CREDITCARD]: 'Cartão de crédito',\r\n [DEBITCARD]: 'Cartão de débito',\r\n [PAYPAL]: 'PayPal',\r\n [CASH]: 'Dinheiro',\r\n [BANKDEPOSIT]: 'Depósito bancário',\r\n [BANKTRANSFER]: 'TED / DOC',\r\n [BALANCEWALLETS]: 'Saldo na Carteira',\r\n [ELECTRONICTRANSFER]: 'Transferência eletrônica',\r\n [BANKCHECK]: 'Cheque',\r\n [PIX]: 'Pix',\r\n [OTHER]: 'Outra',\r\n [DIRECTDEBIT]: 'Débito em conta',\r\n\r\n [INCOMING]: 'Entrada',\r\n [OUTGOING]: 'Saída',\r\n\r\n [APPROXIMATETAXES_COMPLETE]: 'Completo',\r\n [APPROXIMATETAXES_SIMPLIFIED]: 'Simplificado',\r\n [CANCELLATION_REQUESTED]: 'Cancelamento solicitado',\r\n [NATIONAL]: 'Nacional',\r\n [STATE]: 'Estadual',\r\n [MUNICIPAL]: 'Municipal',\r\n [ACCOUNTANTS]: 'Contadores',\r\n BLOOD: {\r\n [APOSITIVE]: 'A+',\r\n [ANEGATIVE]: 'A-',\r\n [BPOSITIVE]: 'B+',\r\n [BNEGATIVE]: 'B-',\r\n [ABPOSITIVE]: 'AB+',\r\n [ABNEGATIVE]: 'AB-',\r\n [OPOSITIVE]: 'O+',\r\n [ONEGATIVE]: 'O'\r\n },\r\n USERTENANT_INVITATION_STATUS: {\r\n [PENDING]: 'Pendente',\r\n [ACCEPTED]: 'Ativo'\r\n },\r\n ROLES: {\r\n [ROLE_ADMIN]: 'Administrador',\r\n [ROLE_CLINIC_ADMINISTRATOR]: 'Administrador',\r\n [ROLE_PROFESSIONAL]: 'Médico',\r\n [ROLE_RECEPTIONIST]: 'Recepcionista',\r\n [ROLE_OTHER_HEALTH_PROFESSIONAL]: 'Profissional da saúde',\r\n [ROLE_STUDENT]: 'Estudante',\r\n [ROLE_FINANCIAL]: 'Financeiro',\r\n [ROLE_ACCOUNTANT]: 'Contador',\r\n [ROLE_PARTNERSHIP]: 'Parceiro',\r\n [ROLE_FINANCIAL_ADMINISTRATOR]: 'Adminstrador BPO',\r\n [ROLE_STOCK]: 'Estoque'\r\n },\r\n PROFILES: {\r\n [PROFILE_DOCTOR]: 'Médico',\r\n [PROFILE_ADMINISTRADOR]: 'Administrador',\r\n [PROFILE_OTHER]: 'Outro profissional',\r\n [PROFILE_RECEPTIONIST]: 'Recepcionista',\r\n [PROFILE_ACCOUNTANT]: 'Contador',\r\n [PROFILE_FINANCIAL]: 'Financeiro',\r\n [PROFILE_STUDENT]: 'Estudante',\r\n [PROFILE_USER]: 'Usuário',\r\n [PROFILE_PARTNERSHIP]: 'Parceiro(a)',\r\n [PROFILE_FINANCIAL_ADMINISTRATOR]: 'Adminstrador BPO'\r\n },\r\n PAYMENTMETHOD: {\r\n [CREDITCARD]: 'Cartão de crédito',\r\n [BILLETBANK]: 'Boleto',\r\n [PIX]: 'Pix'\r\n }\r\n};\r\n\r\nexport default display;\r\n","const fieldsDefault = {\r\n outKey: 'id',\r\n outLabel: 'name'\r\n};\r\n\r\nconst getNormalizedData = (object, fields) => {\r\n const { outKey, outLabel } = fields;\r\n return {\r\n [outKey]: object.key,\r\n [outLabel]: object.label\r\n };\r\n};\r\n\r\nconst normalizeFromSelect = (objects, fields = fieldsDefault) => {\r\n if (!objects) {\r\n return null;\r\n }\r\n\r\n if (Array.isArray(objects)) {\r\n return objects.map((c) => getNormalizedData(c, fields));\r\n }\r\n\r\n return getNormalizedData(objects, fields);\r\n};\r\n\r\nexport default normalizeFromSelect;\r\n","const fieldsDefault = {\r\n inputKey: 'id',\r\n inputLabel: 'name'\r\n};\r\n\r\nconst isFunction = (functionToCheck) => {\r\n return (\r\n functionToCheck && {}.toString.call(functionToCheck) === '[object Function]'\r\n );\r\n};\r\n\r\nconst getNormalizedData = (object, fields) => {\r\n const { inputKey, inputLabel } = fields;\r\n return {\r\n key: isFunction(inputKey) ? inputLabel(object) : object[inputKey],\r\n label: isFunction(inputLabel) ? inputLabel(object) : object[inputLabel],\r\n item: object\r\n };\r\n};\r\n\r\nconst normalizeToSelect = (objects, fields = fieldsDefault) => {\r\n if (!objects) {\r\n return null;\r\n }\r\n\r\n if (Array.isArray(objects)) {\r\n return objects.map((c) => getNormalizedData(c, fields));\r\n }\r\n\r\n return getNormalizedData(objects, fields);\r\n};\r\n\r\nexport default normalizeToSelect;\r\n","import moment from 'moment';\r\n\r\nconst convertIsoWeekdayForEnum = (number) => {\r\n switch (number) {\r\n case 1:\r\n return 'monday';\r\n case 2:\r\n return 'tuesday';\r\n case 3:\r\n return 'wednesday';\r\n case 4:\r\n return 'thursday';\r\n case 5:\r\n return 'friday';\r\n case 6:\r\n return 'saturday';\r\n case 7:\r\n return 'sunday';\r\n default:\r\n throw new Error('Not is IsoWeekday');\r\n }\r\n};\r\n\r\nconst getDayOfWeek = (date) => {\r\n return convertIsoWeekdayForEnum(moment(date).isoWeekday());\r\n};\r\n\r\nexport default getDayOfWeek;\r\n","import React, { useEffect } from 'react';\r\nimport { Select, Spin, Tag } from 'antd';\r\nimport debounce from 'lodash/debounce';\r\nimport { api, omit } from 'react-structure-admin';\r\nimport { CloseOutlined } from '@ant-design/icons';\r\n\r\nconst { Option } = Select;\r\n\r\nconst initialState = {\r\n data: [],\r\n cache: [],\r\n value: [],\r\n textSearched: '',\r\n fetching: false,\r\n open: false,\r\n pagination: {\r\n hasNextPage: true,\r\n currentPage: 0\r\n },\r\n loaded: false\r\n};\r\n\r\nclass RemoteSelect extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.lastFetchId = 0;\r\n this.handleSearch = debounce(this.fetchData, 800);\r\n this.fethOnMount = props.fethOnMount;\r\n this.state = { ...initialState };\r\n this.remoteSelect = React.createRef();\r\n }\r\n\r\n componentDidMount() {\r\n if (this.fethOnMount) {\r\n this.fetchData();\r\n }\r\n }\r\n\r\n shouldComponentUpdate(nextProps) {\r\n const { params } = this.props;\r\n const { params: nextParams } = nextProps;\r\n\r\n if (\r\n params !== nextParams &&\r\n JSON.stringify(params) !== JSON.stringify(nextParams)\r\n ) {\r\n this.lastFetchId = 0;\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n ...initialState\r\n }));\r\n }\r\n\r\n return true;\r\n }\r\n\r\n fetchData = (value) => {\r\n const { pagination, loaded } = this.state;\r\n const {\r\n resource,\r\n params = {},\r\n sorting,\r\n defaultSorting = true,\r\n autoFocus,\r\n tenant,\r\n onFetching,\r\n onFetched,\r\n normalizeFromSelectLabel,\r\n defaultActiveFirstOption\r\n } = this.props;\r\n if (!pagination.hasNextPage) {\r\n return;\r\n }\r\n\r\n onFetching?.(value);\r\n\r\n this.setState({ fetching: true });\r\n this.lastFetchId += 1;\r\n const fetchId = this.lastFetchId;\r\n const queryParams = {\r\n filterText: value,\r\n page: pagination.currentPage + 1,\r\n sorting: sorting || (defaultSorting ? 'Name' : null),\r\n ...params\r\n };\r\n api.fetch(resource, queryParams, null, tenant).then((response = {}) => {\r\n const { data = { result: {} } } = response;\r\n if (fetchId !== this.lastFetchId) {\r\n return;\r\n }\r\n onFetched?.(data.result);\r\n const { totalCount = 0, items = [] } = data.result;\r\n const newItems = items.map((unit) => ({\r\n key: `${unit.id}`,\r\n label: normalizeFromSelectLabel\r\n ? normalizeFromSelectLabel(unit)\r\n : unit.name ?? unit.title,\r\n item: unit\r\n }));\r\n\r\n if (\r\n !loaded &&\r\n defaultActiveFirstOption &&\r\n newItems.length === 1 &&\r\n !this.props.value\r\n ) {\r\n const { onChange } = this.props;\r\n\r\n if (onChange) {\r\n onChange(newItems[0]);\r\n }\r\n }\r\n\r\n this.setState((prevState) => {\r\n const data =\r\n queryParams.page === 1 ? newItems : [...prevState.data, ...newItems];\r\n\r\n const cache = [...prevState.cache, ...data].filter(\r\n (value, index, self) =>\r\n self.map((c) => c.item.id).indexOf(value.item.id) === index\r\n );\r\n\r\n return {\r\n ...prevState,\r\n data,\r\n cache,\r\n fetching: false,\r\n open: this.lastFetchId === 1 ? autoFocus : prevState.open,\r\n textSearched: value,\r\n pagination: {\r\n hasNextPage:\r\n queryParams.page === 1\r\n ? newItems.length < totalCount\r\n : prevState.data.length + newItems.length < totalCount,\r\n currentPage: queryParams.page\r\n },\r\n loaded: true\r\n };\r\n });\r\n });\r\n };\r\n\r\n filterObjectByKey = (value, key) => {\r\n return key === String(value.id);\r\n };\r\n\r\n getObject = (key) => {\r\n const { cache } = this.state;\r\n const result = cache.filter((c) => this.filterObjectByKey(c.item, key));\r\n if (result.length === 1) {\r\n return result[0];\r\n }\r\n return null;\r\n };\r\n\r\n handleSelect = (object = {}) => {\r\n const { key } = object;\r\n const { onSelect } = this.props;\r\n\r\n if (!onSelect || !key) {\r\n return;\r\n }\r\n\r\n const objectSelected = this.getObject(key);\r\n onSelect(objectSelected.item);\r\n };\r\n\r\n onDeselect = (object = {}) => {\r\n const { key } = object;\r\n const { onDeselect } = this.props;\r\n if (!onDeselect || !key) {\r\n return;\r\n }\r\n const objectSelected = this.getObject(key);\r\n onDeselect(objectSelected?.item);\r\n };\r\n\r\n triggerChange = (object) => {\r\n const { onDeselect, onChange } = this.props;\r\n\r\n if (object) {\r\n this.handleSelect(object);\r\n } else if (onDeselect && !object) {\r\n onDeselect();\r\n }\r\n\r\n if (onChange) {\r\n if (Array.isArray(object)) {\r\n onChange(object.map((c) => this.getObject(c?.key)));\r\n return;\r\n }\r\n\r\n onChange(this.getObject(object?.key));\r\n }\r\n };\r\n\r\n handleOnSearch = (value) => {\r\n const { onSearch } = this.props;\r\n this.setState({ text: value });\r\n\r\n onSearch?.(value);\r\n this.setState({ pagination: { hasNextPage: true, currentPage: 0 } });\r\n\r\n if (this.state.open) {\r\n this.handleSearch(value);\r\n }\r\n };\r\n\r\n handleClear = () => {\r\n this.handleOnSearch(null);\r\n };\r\n\r\n handleDropdownVisibleChange = (visible) => {\r\n const { onDropdownVisibleChange } = this.props;\r\n\r\n if (visible && this.lastFetchId === 0) {\r\n this.fetchData();\r\n return;\r\n }\r\n\r\n this.setState({ open: visible });\r\n onDropdownVisibleChange?.(visible);\r\n };\r\n\r\n handleScroll = (event) => {\r\n const { textSearched } = this.state;\r\n const { target } = event;\r\n if (\r\n Math.ceil(target.scrollTop + target.offsetHeight) >= target.scrollHeight\r\n ) {\r\n this.fetchData(textSearched);\r\n }\r\n };\r\n\r\n blur() {\r\n this.remoteSelect.current.blur();\r\n }\r\n\r\n focus() {\r\n this.remoteSelect.current.focus();\r\n }\r\n\r\n reset() {\r\n this.lastFetchId = 0;\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n ...initialState,\r\n cache: prevState.cache\r\n }));\r\n }\r\n\r\n add(item) {\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n data: [...prevState.data, { key: item.id, label: item.name, item }],\r\n cache: [...prevState.cache, { key: item.id, label: item.name, item }]\r\n }));\r\n }\r\n\r\n getByKey(key) {\r\n return this.state.cache.find((c) => c.key === key)?.item;\r\n }\r\n\r\n addCaches(items) {\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n cache: [\r\n ...prevState.cache,\r\n ...items.map((c) => ({ key: c.id, label: c.name, item: c }))\r\n ]\r\n }));\r\n }\r\n\r\n isEmpty() {\r\n return !this.state.fetching && this.state.data.length === 0;\r\n }\r\n\r\n triggerTagRender = (props) => {\r\n const { label, value, onClose } = props;\r\n\r\n if (this.props.tagRender) {\r\n const objectSelected = this.getObject(value);\r\n return this.props.tagRender(props, objectSelected?.item);\r\n }\r\n\r\n const onPreventMouseDown = (event) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n };\r\n\r\n return (\r\n \r\n \r\n {label}\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n handleMaxTagPlaceholder = (values) => {\r\n const { maxTagPlaceholder } = this.props;\r\n return maxTagPlaceholder(values);\r\n };\r\n\r\n render() {\r\n const { fetching, data, open } = this.state;\r\n const {\r\n optionRender,\r\n placeholder,\r\n style,\r\n notFoundContent,\r\n customDropdownRender,\r\n maxTagPlaceholder,\r\n showSearch = true,\r\n filterOption = false,\r\n allowClear = true\r\n } = this.props;\r\n\r\n return (\r\n <>\r\n \r\n >\r\n );\r\n }\r\n}\r\nRemoteSelect.defaultProps = { fethOnMount: true };\r\nexport default RemoteSelect;\r\n","import { dispatcher, api, RESOURCE_CREATE } from 'react-structure-admin';\r\n\r\nexport const ATTENDANCE = 'ATTENDANCE';\r\nexport const ATTENDANCE_START_OR_STOP_SERVICE =\r\n 'ATTENDANCE_START_OR_STOP_SERVICE';\r\nexport const ATTENDANCE_START_OR_STOP_SERVICE_FINISHED =\r\n 'ATTENDANCE_START_OR_STOP_SERVICE_FINISHED';\r\n\r\nexport const ATTENDANCE_CREATE_PATIENT = 'ATTENDANCE_CREATE_PATIENT';\r\nexport const ATTENDANCE_CREATE_PATIENT_FINISHED =\r\n 'ATTENDANCE_CREATE_PATIENT_FINISHED';\r\n\r\nexport const ATTENDANCE_SET_EDIT_VALUES = 'ATTENDANCE_SET_EDIT_VALUES';\r\n\r\nexport const ATTENDANCE_UPDATE_ANSWER = 'ATTENDANCE_UPDATE_ANSWER';\r\nexport const ATTENDANCE_UPDATE_ANSWER_FINISHED =\r\n 'ATTENDANCE_UPDATE_ANSWER_FINISHED';\r\n\r\nexport const ATTENDANCE_UPDATE_DOCUMENT_FIELD =\r\n 'ATTENDANCE_UPDATE_DOCUMENT_FIELD';\r\nexport const ATTENDANCE_UPDATE_DOCUMENT_FIELD_FINISHED =\r\n 'ATTENDANCE_UPDATE_DOCUMENT_FIELD_FINISHED';\r\n\r\nexport const ATTENDANCE_CREATE_DOCUMENT_FIELD =\r\n 'ATTENDANCE_CREATE_DOCUMENT_FIELD';\r\nexport const ATTENDANCE_CREATE_DOCUMENT_FIELD_FINISHED =\r\n 'ATTENDANCE_CREATE_DOCUMENT_FIELD_FINISHED';\r\n\r\nexport const ATTENDANCE_DELETE_DOCUMENT_FIELD =\r\n 'ATTENDANCE_DELETE_DOCUMENT_FIELD';\r\nexport const ATTENDANCE_DELETE_DOCUMENT_FIELD_FINISHED =\r\n 'ATTENDANCE_DELETE_DOCUMENT_FIELD_FINISHED';\r\n\r\nexport const ATTENDANCE_CREATE_DOCUMENT = 'ATTENDANCE_CREATE_DOCUMENT';\r\nexport const ATTENDANCE_CLOSE_DOCUMENT = 'ATTENDANCE_CLOSE_DOCUMENT';\r\n\r\nexport const ATTENDANCE_CREATE_PRESCRIPTION_FIELD =\r\n 'ATTENDANCE_CREATE_PRESCRIPTION_FIELD';\r\nexport const ATTENDANCE_CREATE_PRESCRIPTION_FIELD_FINISHED =\r\n 'ATTENDANCE_CREATE_PRESCRIPTION_FIELD_FINISHED';\r\n\r\nexport const ATTENDANCE_DELETE_PRESCRIPTION_FIELD =\r\n 'ATTENDANCE_DELETE_PRESCRIPTION_FIELD';\r\nexport const ATTENDANCE_DELETE_PRESCRIPTION_FIELD_FINISHED =\r\n 'ATTENDANCE_DELETE_PRESCRIPTION_FIELD_FINISHED';\r\n\r\nexport const ATTENDANCE_UPDATE_PRESCRIPTION_FIELD =\r\n 'ATTENDANCE_UPDATE_PRESCRIPTION_FIELD';\r\nexport const ATTENDANCE_UPDATE_PRESCRIPTION_FIELD_FINISHED =\r\n 'ATTENDANCE_UPDATE_PRESCRIPTION_FIELD_FINISHED';\r\n\r\nexport const ATTENDANCE_CREATE_PRESCRIPTION = 'ATTENDANCE_CREATE_PRESCRIPTION';\r\nexport const ATTENDANCE_CLOSE_PRESCRIPTION = 'ATTENDANCE_CLOSE_PRESCRIPTION';\r\n\r\nexport const ATTENDANCE_PRESCRIPTION_REDIRECT_RECEITA_DIGITAL =\r\n 'ATTENDANCE_PRESCRIPTION_REDIRECT_RECEITA_DIGITAL';\r\nexport const ATTENDANCE_PRESCRIPTION_REDIRECT_RECEITA_DIGITAL_FINISHED =\r\n 'ATTENDANCE_PRESCRIPTION_REDIRECT_RECEITA_DIGITAL_FINISHED';\r\n\r\nexport const ATTENDANCE_PRESCRIPTION_INTEGRATION =\r\n 'ATTENDANCE_PRESCRIPTION_INTEGRATION';\r\nexport const ATTENDANCE_PRESCRIPTION_INTEGRATION_FINISHED =\r\n 'ATTENDANCE_PRESCRIPTION_INTEGRATION_FINISHED';\r\n\r\nexport const post = (data, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'attendances',\r\n actionType: RESOURCE_CREATE,\r\n effect: async () => api.post('attendances', data),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const setEditValues = (attendance) => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(\r\n ATTENDANCE_SET_EDIT_VALUES,\r\n 'attendances',\r\n attendance\r\n )\r\n );\r\n};\r\n\r\nexport const stopService = (params, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'attendances',\r\n actionType: ATTENDANCE_START_OR_STOP_SERVICE,\r\n effect: async () => api.put(`attendances/stop-service`, params),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const createPatient = (id, params, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'patients',\r\n actionType: RESOURCE_CREATE,\r\n effect: async () => api.post(`attendances/${id}/patient`, params),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const updateAnswers = (section, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'attendances',\r\n actionType: ATTENDANCE_UPDATE_ANSWER,\r\n payload: section,\r\n effect: async () => api.put(`attendances/save-answer`, section.fields),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const createDocumentField = (params, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'attendances',\r\n actionType: ATTENDANCE_CREATE_DOCUMENT_FIELD,\r\n payload: params,\r\n effect: async () => api.post(`attendances/document-field`, params),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const createPrescriptionField = (\r\n params,\r\n saveAsModel = false,\r\n onSuccess\r\n) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'attendances',\r\n actionType: ATTENDANCE_CREATE_PRESCRIPTION_FIELD,\r\n payload: params,\r\n effect: async () =>\r\n api.post(\r\n `attendances/prescription-field/?saveAsModel=${saveAsModel}`,\r\n params\r\n ),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const updateDocumentField = (params, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'attendances',\r\n actionType: ATTENDANCE_UPDATE_DOCUMENT_FIELD,\r\n payload: params,\r\n effect: async () => api.put(`attendances/document-field`, params),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const deleteDocumentField = (id, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'attendances',\r\n actionType: ATTENDANCE_DELETE_DOCUMENT_FIELD,\r\n payload: id,\r\n effect: async () => api.del('attendances', `${id}/document-field`),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const createDocumentEdit = (initialValues) => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(\r\n ATTENDANCE_CREATE_DOCUMENT,\r\n 'attendances',\r\n initialValues\r\n )\r\n );\r\n};\r\n\r\nexport const closeDocumentEdit = () => (dispatch) => {\r\n dispatch(dispatcher.createAction(ATTENDANCE_CLOSE_DOCUMENT, 'attendances'));\r\n};\r\n\r\nexport const createPrescriptionEdit = (initialValues) => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(\r\n ATTENDANCE_CREATE_PRESCRIPTION,\r\n 'attendances',\r\n initialValues\r\n )\r\n );\r\n};\r\n\r\nexport const closePrescriptionEdit = () => (dispatch) => {\r\n dispatch(\r\n dispatcher.createAction(ATTENDANCE_CLOSE_PRESCRIPTION, 'attendances')\r\n );\r\n};\r\n\r\nexport const deletePrescriptionField = (id, onSuccess) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'attendances',\r\n actionType: ATTENDANCE_DELETE_PRESCRIPTION_FIELD,\r\n payload: id,\r\n effect: async () => api.del('attendances', `${id}/prescription-field`),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const updatePrescriptionField = (params, onSuccess) => async (\r\n dispatch\r\n) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'attendances',\r\n actionType: ATTENDANCE_UPDATE_PRESCRIPTION_FIELD,\r\n payload: params,\r\n effect: async () => api.put(`attendances/prescription-field`, params),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const syncDigitalPrescription = (\r\n attendanceId,\r\n code,\r\n onSuccess\r\n) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'attendances',\r\n actionType: ATTENDANCE_PRESCRIPTION_INTEGRATION,\r\n effect: async () =>\r\n api.post(\r\n `attendances/sync-digital-prescription?attendanceId=${attendanceId}&code=${code}`\r\n ),\r\n onSuccess\r\n });\r\n};\r\n\r\nexport const createIntegratedPrescription = (\r\n attendanceId,\r\n callbackUrl,\r\n onSuccess\r\n) => async (dispatch) => {\r\n await dispatcher.dispatchResouceAction({\r\n dispatch,\r\n resource: 'attendances',\r\n actionType: ATTENDANCE_PRESCRIPTION_REDIRECT_RECEITA_DIGITAL,\r\n effect: async () =>\r\n api.get(\r\n 'attendances',\r\n `url-new-prescription?attendanceid=${attendanceId}&callbackUrl=${callbackUrl}`\r\n ),\r\n onSuccess\r\n });\r\n};\r\n"],"sourceRoot":""}