@zengenti/contensis-react-base 2.4.1-beta.6 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +61 -0
- package/README.md +77 -0
- package/cjs/{App-2334f3e0.js → App-79703372.js} +213 -8
- package/cjs/App-79703372.js.map +1 -0
- package/cjs/{RouteLoader-5c44f039.js → RouteLoader-f67bbf9e.js} +8 -39
- package/cjs/RouteLoader-f67bbf9e.js.map +1 -0
- package/cjs/{ToJs-ca9bea03.js → ToJs-d72e5b10.js} +58 -2
- package/cjs/ToJs-d72e5b10.js.map +1 -0
- package/cjs/{actions-e22726ed.js → actions-e9f69947.js} +1 -1
- package/cjs/actions-e9f69947.js.map +1 -0
- package/cjs/client.js +13 -15
- package/cjs/client.js.map +1 -1
- package/cjs/contensis-react-base.js +38 -38
- package/cjs/contensis-react-base.js.map +1 -1
- package/cjs/forms.js +1 -2
- package/cjs/forms.js.map +1 -1
- package/cjs/{login-6eb5e46d.js → login-4f274c6a.js} +8 -5
- package/cjs/login-4f274c6a.js.map +1 -0
- package/cjs/reducers-cb531715.js +207 -0
- package/cjs/reducers-cb531715.js.map +1 -0
- package/cjs/redux.js +4 -4
- package/cjs/redux.js.map +1 -1
- package/cjs/routing.js +4 -5
- package/cjs/routing.js.map +1 -1
- package/cjs/search.js +6 -4
- package/cjs/search.js.map +1 -1
- package/cjs/{selectors-69c3d37c.js → selectors-1295124a.js} +9 -1
- package/cjs/selectors-1295124a.js.map +1 -0
- package/cjs/user.js +82 -27
- package/cjs/user.js.map +1 -1
- package/cjs/util.js +21 -91
- package/cjs/util.js.map +1 -1
- package/cjs/{version-d8f5b436.js → version-3a808c12.js} +4 -4
- package/cjs/version-3a808c12.js.map +1 -0
- package/esm/{App-b2b80182.js → App-452c2ab3.js} +213 -8
- package/esm/App-452c2ab3.js.map +1 -0
- package/esm/{RouteLoader-2cfdfc5c.js → RouteLoader-dedcc835.js} +8 -38
- package/esm/RouteLoader-dedcc835.js.map +1 -0
- package/esm/{ToJs-19a3244a.js → ToJs-6e7b247c.js} +47 -3
- package/esm/ToJs-6e7b247c.js.map +1 -0
- package/esm/{actions-fda5e103.js → actions-ddd9c623.js} +1 -1
- package/esm/actions-ddd9c623.js.map +1 -0
- package/esm/client.js +15 -16
- package/esm/client.js.map +1 -1
- package/esm/contensis-react-base.js +37 -37
- package/esm/contensis-react-base.js.map +1 -1
- package/esm/forms.js +1 -2
- package/esm/forms.js.map +1 -1
- package/esm/{login-866fe64c.js → login-1f9ad133.js} +8 -6
- package/esm/login-1f9ad133.js.map +1 -0
- package/esm/reducers-feab84fc.js +183 -0
- package/esm/reducers-feab84fc.js.map +1 -0
- package/esm/redux.js +5 -5
- package/esm/redux.js.map +1 -1
- package/esm/routing.js +4 -5
- package/esm/routing.js.map +1 -1
- package/esm/search.js +6 -4
- package/esm/search.js.map +1 -1
- package/esm/{selectors-170581d2.js → selectors-68799788.js} +9 -1
- package/esm/selectors-68799788.js.map +1 -0
- package/esm/user.js +80 -29
- package/esm/user.js.map +1 -1
- package/esm/util.js +20 -90
- package/esm/util.js.map +1 -1
- package/esm/{version-8d757fb4.js → version-64906b26.js} +5 -4
- package/esm/version-64906b26.js.map +1 -0
- package/models/app/App.d.ts +4 -0
- package/models/app/pages/VersionInfo/components/VersionInfo.d.ts +40 -0
- package/models/app/pages/VersionInfo/components/VersionInfo.styled.d.ts +1 -0
- package/models/app/pages/VersionInfo/index.d.ts +2 -0
- package/models/app/pages/VersionInfo/transformations/state-to-versioninfoprops.mapper.d.ts +3 -0
- package/models/client/client.d.ts +11 -0
- package/models/client/index.d.ts +3 -0
- package/models/config.d.ts +33 -0
- package/models/forms/index.d.ts +1 -0
- package/models/index.d.ts +5 -0
- package/models/redux/actions/index.d.ts +9 -0
- package/models/redux/actions/navigation.d.ts +1 -0
- package/models/redux/actions/version.d.ts +2 -0
- package/models/redux/index.d.ts +17 -0
- package/models/redux/reducers/navigation.d.ts +3 -0
- package/models/redux/reducers/version.d.ts +3 -0
- package/models/redux/sagas/index.d.ts +1 -0
- package/models/redux/sagas/navigation.d.ts +4 -0
- package/models/redux/selectors/index.d.ts +9 -0
- package/models/redux/selectors/navigation.d.ts +3 -0
- package/models/redux/selectors/version.d.ts +3 -0
- package/models/redux/store/history.d.ts +2 -0
- package/models/redux/store/injectors.d.ts +19 -0
- package/models/redux/store/routerMiddleware.d.ts +7 -0
- package/models/redux/store/store.d.ts +3 -0
- package/models/redux/types/index.d.ts +9 -0
- package/models/redux/types/navigation.d.ts +3 -0
- package/models/redux/types/version.d.ts +2 -0
- package/models/redux/util.d.ts +1 -0
- package/models/routing/components/Loading.d.ts +5 -0
- package/models/routing/components/NotFound.d.ts +6 -0
- package/models/routing/components/RouteLoader.d.ts +3 -0
- package/models/routing/components/Status.d.ts +4 -0
- package/models/routing/index.d.ts +4 -0
- package/models/routing/redux/actions.d.ts +6 -0
- package/models/routing/redux/reducers.d.ts +4 -0
- package/models/routing/redux/sagas.d.ts +1 -0
- package/models/routing/redux/selectors.d.ts +25 -0
- package/models/routing/redux/types.d.ts +12 -0
- package/models/routing/routes.d.ts +99 -0
- package/models/routing/util/expressions.d.ts +2 -0
- package/models/routing/util/find-contenttype-mapping.d.ts +2 -0
- package/models/routing/util/queries.d.ts +2 -0
- package/models/search/containers/withListing.d.ts +4 -0
- package/models/search/containers/withSearch.d.ts +4 -0
- package/models/search/hooks/useMinilist.hook.d.ts +23 -0
- package/models/search/index.d.ts +16 -0
- package/models/search/models/Enums.d.ts +5 -0
- package/models/search/models/Queries.d.ts +43 -0
- package/models/search/models/Search.d.ts +180 -0
- package/models/search/models/SearchActions.d.ts +127 -0
- package/models/search/models/SearchProps.d.ts +45 -0
- package/models/search/models/SearchState.d.ts +83 -0
- package/models/search/models/SearchUtil.d.ts +6 -0
- package/models/search/models/index.d.ts +3 -0
- package/models/search/redux/actions.d.ts +39 -0
- package/models/search/redux/queries.d.ts +3 -0
- package/models/search/redux/reducers.d.ts +4 -0
- package/models/search/redux/sagas.d.ts +20 -0
- package/models/search/redux/schema.d.ts +9 -0
- package/models/search/redux/selectors.d.ts +112 -0
- package/models/search/redux/types.d.ts +20 -0
- package/models/search/redux/util.d.ts +25 -0
- package/models/search/search/ContensisDeliveryApi.d.ts +32 -0
- package/models/search/search/ToJs.d.ts +4 -0
- package/models/search/search/expressions.d.ts +29 -0
- package/models/search/search/performance.d.ts +1 -0
- package/models/search/search/schema.d.ts +28 -0
- package/models/search/search/util.d.ts +21 -0
- package/models/search/transformations/entry-to-filteritem.mapper.d.ts +2 -0
- package/models/search/transformations/filters-to-filterexpression.d.ts +1 -0
- package/models/search/transformations/filters-to-filterexpression.mapper.d.ts +2 -0
- package/models/search/transformations/searchresult-to-state.mapper.d.ts +6 -0
- package/models/search/transformations/state-to-queryparams.mapper.d.ts +12 -0
- package/models/search/transformations/state-to-searchuri.d.ts +14 -0
- package/models/server/features/caching/cacheDuration.schema.d.ts +7 -0
- package/models/server/features/caching/cacheHashing.d.ts +1 -0
- package/models/server/features/caching/setCachingHeaders.d.ts +6 -0
- package/models/server/features/response-handler/index.d.ts +12 -0
- package/models/server/features/response-handler/types.d.ts +5 -0
- package/models/server/features/reverse-proxy/index.d.ts +4 -0
- package/models/server/features/static-assets/index.d.ts +14 -0
- package/models/server/internalServer.d.ts +10 -0
- package/models/server/middleware/bundleManipulation.d.ts +6 -0
- package/models/server/middleware/resolveStartup.d.ts +13 -0
- package/models/server/util/displayStartupConfiguration.d.ts +2 -0
- package/models/server/util/staticPaths.d.ts +1 -0
- package/models/server/util/stringifyAttributes.d.ts +2 -0
- package/models/server/webApp.d.ts +9 -0
- package/models/testImmer/redux/reducer.d.ts +8 -0
- package/models/testImmer/redux/selectors.d.ts +3 -0
- package/models/user/components/Login.d.ts +2 -0
- package/models/user/components/LoginForm.d.ts +16 -0
- package/models/user/components/LogoutForm.d.ts +12 -0
- package/models/user/components.styled/Login.styled.d.ts +2 -0
- package/models/user/components.styled/LoginForm.styled.d.ts +2 -0
- package/models/user/containers/ChangePassword.container.d.ts +2 -0
- package/models/user/containers/ForgotPassword.container.d.ts +2 -0
- package/models/user/containers/Login.container.d.ts +2 -0
- package/models/user/containers/Registration.container.d.ts +2 -0
- package/models/user/hocs/withLogin.d.ts +2 -0
- package/models/user/hocs/withRegistration.d.ts +2 -0
- package/models/user/hooks/useChangePassword.d.ts +9 -0
- package/models/user/hooks/useForgotPassword.d.ts +14 -0
- package/models/user/hooks/useLogin.d.ts +12 -0
- package/models/user/hooks/useRegistration.d.ts +8 -0
- package/models/user/index.d.ts +16 -0
- package/models/user/redux/actions.d.ts +6 -0
- package/models/user/redux/reducers.d.ts +4 -0
- package/models/user/redux/sagas/index.d.ts +1 -0
- package/models/user/redux/sagas/login.d.ts +36 -0
- package/models/user/redux/sagas/register.d.ts +1 -0
- package/models/user/redux/sagas/resetPassword.d.ts +1 -0
- package/models/user/redux/selectors.d.ts +27 -0
- package/models/user/redux/types.d.ts +21 -0
- package/models/user/transformations/mapClientCredentials.d.ts +2 -0
- package/models/user/util/ContensisManagementApi.d.ts +9 -0
- package/models/user/util/CookieHelper.class.d.ts +5 -0
- package/models/user/util/LoginHelper.class.d.ts +52 -0
- package/models/user/util/OidcUserManager.d.ts +18 -0
- package/models/user/util/matchGroups.d.ts +3 -0
- package/models/user/util/userHelper.d.ts +12 -0
- package/models/util/ContensisDeliveryApi.d.ts +40 -0
- package/models/util/ToJs.d.ts +1 -0
- package/models/util/fromJSLeaveImmer.d.ts +2 -0
- package/models/util/fromJSOrdered.d.ts +2 -0
- package/models/util/index.d.ts +5 -0
- package/models/util/json-mapper.d.ts +81 -0
- package/models/util/navHelper.d.ts +7 -0
- package/models/util/navigation.d.ts +4 -0
- package/models/util/performance.d.ts +1 -0
- package/models/util/pickProject.d.ts +2 -0
- package/models/util/schema.d.ts +25 -0
- package/models/util/stringifyStrings.d.ts +2 -0
- package/models/util/urls.d.ts +9 -0
- package/package-lock.json +7920 -7722
- package/package.json +17 -11
- package/cjs/App-2334f3e0.js.map +0 -1
- package/cjs/RouteLoader-5c44f039.js.map +0 -1
- package/cjs/ToJs-ca9bea03.js.map +0 -1
- package/cjs/actions-e22726ed.js.map +0 -1
- package/cjs/login-6eb5e46d.js.map +0 -1
- package/cjs/reducers-c42035ab.js +0 -120
- package/cjs/reducers-c42035ab.js.map +0 -1
- package/cjs/selectors-69c3d37c.js.map +0 -1
- package/cjs/version-d8f5b436.js.map +0 -1
- package/esm/App-b2b80182.js.map +0 -1
- package/esm/RouteLoader-2cfdfc5c.js.map +0 -1
- package/esm/ToJs-19a3244a.js.map +0 -1
- package/esm/actions-fda5e103.js.map +0 -1
- package/esm/login-866fe64c.js.map +0 -1
- package/esm/reducers-b426d14a.js +0 -108
- package/esm/reducers-b426d14a.js.map +0 -1
- package/esm/selectors-170581d2.js.map +0 -1
- package/esm/version-8d757fb4.js.map +0 -1
package/esm/forms.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forms.js","sources":["../node_modules/zengenti-forms-package/zengenti-forms-package.esm.js"],"sourcesContent":["import { fromJS, Map, Iterable } from 'immutable';\nimport { takeEvery, takeLatest, put, call, select, all } from '@redux-saga/core/effects';\nimport { createSelector } from 'reselect';\nimport React, { useState, createContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { connect } from 'react-redux';\nimport styled, { css, ThemeProvider as ThemeProvider$1 } from 'styled-components';\n\nconst ACTION_PREFIX = '@FORM2/';\nconst SET_FORM_DATA = `${ACTION_PREFIX}SET_FORM_DATA`;\nconst SET_FORM_ID = `${ACTION_PREFIX}SET_FORM_ID`;\nconst SET_CURRENT_PAGE = `${ACTION_PREFIX}SET_CURRENT_PAGE`;\nconst PAGE_BACK = `${ACTION_PREFIX}PAGE_BACK`;\nconst PAGE_FORWARD = `${ACTION_PREFIX}PAGE_FORWARD`;\nconst SET_FIELD_VALUE = `${ACTION_PREFIX}SET_FIELD_VALUE`;\nconst SET_DEFAULT_FIELD_VALUE = `${ACTION_PREFIX}SET_DEFAULT_FIELD_VALUE`;\nconst SUBMIT_FORM_FOR_VALIDATION = `${ACTION_PREFIX}SUBMIT_FORM_FOR_VALIDATION`;\nconst SUBMIT_FORM = `${ACTION_PREFIX}SUBMIT_FORM`;\nconst SUBMIT_FORM_SUCCESS = `${ACTION_PREFIX}SUBMIT_FORM_SUCCESS`;\nconst SUBMIT_FORM_ERROR = `${ACTION_PREFIX}SUBMIT_FORM_ERROR`;\nconst SET_SUBMITTING_FORM = `${ACTION_PREFIX}SET_SUBMITTING_FORM`;\nconst SET_ERROR = `${ACTION_PREFIX}SET_ERROR`;\nconst VALIDATE_FIELD = `${ACTION_PREFIX}VALIDATE_FIELD`;\nconst SET_FIELD_ERROR = `${ACTION_PREFIX}SET_FIELD_ERROR`;\nconst SET_DATE_RANGE_VALUES = `${ACTION_PREFIX}SET_DATE_RANGE_VALUES`;\nconst SET_FORM_ENTRIES = `${ACTION_PREFIX}SET_FORM_ENTRIES`;\nconst SET_SUCCESS_MESSAGE = `${ACTION_PREFIX}SET_SUCCESS_MESSAGE`;\nconst SET_CHECKBOX_VALUE = `${ACTION_PREFIX}SET_CHECKBOX_VALUE`;\n\nconst MakeFieldType = field => {\n if (!field) return null;\n\n if (field.dataType === 'string' && field.editor && field.editor.id === 'multiline') {\n return 'textarea';\n } else if (field.dataType === 'string' && field.editor && field.editor.id === 'list-dropdown') {\n return 'dropdown';\n } else if (field.editor && field.editor.properties && field.editor.properties.readOnly || field.groupId && field.groupId === 'private') {\n return 'hidden';\n } else if (field.dataType === 'stringArray' || field.dataType === 'boolean') {\n return 'checkbox';\n } else if (field.dataType === 'string' && field.validations && field.validations.allowedValues) {\n return 'radio';\n } else if (field.dataType === 'integer') {\n return 'number';\n } else if (field.dataType === 'dateTime') {\n return 'date';\n } else if (field.dataFormat === 'daterange') {\n return 'dateRange';\n } else if (field.dataFormat === 'entry') {\n return 'entryPicker';\n } else {\n return 'textfield';\n }\n};\n\nconst initialSettings = {\n recaptcha: {\n siteKey: null\n }\n};\nconst initialFormData = {\n formId: null,\n data: {},\n fields: [],\n entries: [],\n fieldErrors: [],\n groups: [],\n defaultLanguage: null,\n pagingInfo: {\n pageIndex: 0,\n pageCount: 0,\n currentPageId: null\n },\n status: {\n isLoading: false,\n isSubmitting: false,\n hasSuccess: false,\n successMessage: null,\n hasError: false\n }\n};\nlet initialState = Map({\n settings: fromJS(initialSettings)\n});\nvar reducer = ((state = initialState, action) => {\n switch (action.type) {\n case SET_FORM_ID:\n return state.setIn([action.formId], initialFormData);\n\n case SET_FORM_DATA:\n {\n const fields = action.fields; //const fObj = {};\n\n fields.map(field => {\n field.type = MakeFieldType(field);\n });\n return state.setIn([fromJS(action.formId), 'fields'], fields).setIn([fromJS(action.formId), 'formId'], action.formId).setIn([fromJS(action.formId), 'groups'], action.groups).setIn([fromJS(action.formId), 'defaultLanguage'], action.defaultLanguage).setIn([fromJS(action.formId), 'status', 'isSubmitting'], false).setIn([fromJS(action.formId), 'status', 'hasSuccess'], false).setIn([fromJS(action.formId), 'status', 'hasError'], false);\n }\n\n case SET_CURRENT_PAGE:\n return state.setIn([action.formId, 'pagingInfo', 'currentPageId'], action.pageId).setIn([action.formId, 'pagingInfo', 'pageIndex'], action.pageIndex).setIn([action.formId, 'pagingInfo', 'pageCount'], action.pageCount);\n\n case SET_FIELD_VALUE:\n return state.setIn([action.formId, 'data', action.id], action.value);\n\n case SET_DEFAULT_FIELD_VALUE:\n return state.setIn([action.formId, 'data'], action.value);\n\n case SET_CHECKBOX_VALUE:\n {\n const prevState = state.getIn([action.formId, 'data', action.id]);\n let values = prevState ? prevState : [];\n\n if (action.isChecked) {\n values.push(action.value);\n } else {\n values = values.filter(value => value !== action.value);\n }\n\n return state.setIn([action.formId, 'data', action.id], values);\n }\n\n case SET_DATE_RANGE_VALUES:\n return state.setIn([action.formId, 'data', action.id, action.dateType], action.value);\n\n case SET_FIELD_ERROR:\n return state.setIn([action.formId, 'fieldErrors'], action.value);\n\n case SET_SUBMITTING_FORM:\n return state.setIn([fromJS(action.formId), 'status', 'isSubmitting'], action.isSubmitting);\n\n case SUBMIT_FORM_SUCCESS:\n return state.setIn([fromJS(action.formId), 'status', 'hasError'], false).setIn([fromJS(action.formId), 'status', 'isSubmitting'], false).setIn([fromJS(action.formId), 'status', 'hasSuccess'], true);\n\n case SET_SUCCESS_MESSAGE:\n return state.setIn([fromJS(action.formId), 'status', 'successMessage'], action.message);\n\n case SUBMIT_FORM_ERROR:\n return state.setIn([fromJS(action.formId), 'status', 'hasError'], true).setIn([fromJS(action.formId), 'status', 'isSubmitting'], false);\n\n case SET_FORM_ENTRIES:\n {\n const entries = action.entries;\n const eObj = {};\n entries.map(entry => {\n if (!entry) return null;\n eObj[entry.id] = entry.entries;\n return eObj;\n });\n return state.setIn([action.formId, 'entries'], eObj);\n }\n\n case SET_ERROR:\n return state.setIn([fromJS(action.formId), 'status', 'hasError'], true).setIn([fromJS(action.formId), 'status', 'isSubmitting'], false);\n\n default:\n return state;\n }\n});\n\nconst selectForms = state => state.getIn(['forms']);\nconst makeSelectIsLoading = formId => createSelector(selectForms, forms => forms.getIn([formId, 'status', 'isLoading']));\nconst makeSelectFormFields = formId => createSelector(selectForms, forms => forms.getIn([formId, 'fields']));\nconst makeSelectDefaultLang = formId => createSelector(selectForms, forms => forms.getIn([formId, 'defaultLanguage']));\nconst selectFieldErrors = (state, formId) => {\n return state.getIn(['forms', formId, 'fieldErrors']);\n};\nconst selectPostData = (state, formId) => {\n return state.getIn(['forms', formId, 'data']);\n};\nconst selectFormGroups = (state, formId) => {\n return state.getIn(['forms', formId, 'groups']);\n};\nconst selectPagingInfo = (state, formId) => {\n return state.getIn(['forms', formId, 'pagingInfo']);\n};\nconst selectFormStatus = (state, formId) => {\n return state.getIn(['forms', formId, 'status']);\n};\nconst selectPagedFields = formId => createSelector([selectForms], form => {\n const pagingInfo = form.getIn([formId, 'pagingInfo']);\n const fields = form.getIn([formId, 'fields']);\n\n if (fields && fields.length > 0 && pagingInfo && pagingInfo.pageCount > 1) {\n return fields.filter(f => f.groupId == pagingInfo.currentPageId);\n }\n\n return fields;\n});\nconst selectEntries = (state, formId) => {\n return state.getIn(['forms', formId, 'entries']);\n};\n\nconst URI = '/forms';\nconst getFormSchema = async formId => {\n var options = {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n };\n const getUrl = `${URI}/${formId}`;\n const schema = await request(getUrl, options);\n return schema;\n};\nconst getEntries = async (formObj, id) => {\n var options = {\n method: 'POST',\n headers: {\n Accept: '*/*',\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(formObj)\n };\n const entriesUrl = `${URI}/entries`;\n const entries = await request(entriesUrl, options);\n return {\n entries,\n id\n };\n};\nconst postForm = async formObj => {\n var options = {\n method: 'POST',\n headers: {\n Accept: '*/*',\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(formObj)\n };\n const submitted = await request(URI, options);\n return submitted;\n};\n\nconst request = async (url, options) => {\n return fetch(url, options).then(response => response.json()).then(result => {\n return result;\n }) // eslint-disable-next-line no-console\n .catch(error => console.log('error', error));\n};\n\nconst validateInput = (field, value) => {\n const isRequired = field.validations && field.validations.required;\n const minLength = field.validations && field.validations.minLength;\n const maxLength = field.validations && field.validations.maxLength;\n const regex = field.validations && field.validations.regex;\n const integer = field.dataType === 'integer';\n const decimal = field.dataType === 'decimal';\n\n if (isRequired && !value) {\n const errorMessage = isRequired.message ? isRequired.message['en-GB'] : `${field.id} is required`;\n return {\n fieldId: field.id,\n groupId: field.groupId,\n message: errorMessage\n };\n }\n\n if (minLength && minLength.value > value.length) {\n const errorMessage = minLength.message ? minLength.message['en-GB'] : `Minimum characters ${minLength.value}`;\n return {\n fieldId: field.id,\n groupId: field.groupId,\n message: errorMessage\n };\n }\n\n if (maxLength && maxLength.value < value.length) {\n const errorMessage = maxLength.message && maxLength.message['en-GB'] ? maxLength.message['en-GB'] : `Maximum characters ${maxLength.value}`;\n return {\n fieldId: field.id,\n groupId: field.groupId,\n message: errorMessage\n };\n }\n\n if (regex && value.length > 0) {\n //Had to make the string raw, as a string ususually is wrapped as '' and Regex couldnt use the regex patter as the string variant\n const regexPattern = RegExp(regex.pattern.raw);\n\n if (!regexPattern.test(value)) {\n const errorMessage = regex.message ? regex.message['en-GB'] : `${field.id} is invalid`;\n return {\n fieldId: field.id,\n groupId: field.groupId,\n message: errorMessage\n };\n }\n }\n\n if (integer) {\n const isInteger = value % 1 === 0;\n\n if (!isInteger) {\n const errorMessage = `${value} is not an ${field.dataType}`;\n return {\n fieldId: field.id,\n groupId: field.groupId,\n message: errorMessage\n };\n }\n }\n\n if (decimal) {\n const isDecimal = value % 1 !== 0;\n\n if (!isDecimal) {\n const errorMessage = `${value} is not an ${field.dataType}`;\n return {\n fieldId: field.id,\n groupId: field.groupId,\n message: errorMessage\n };\n }\n }\n};\n\nconst formV2Sagas = [takeEvery(SUBMIT_FORM_SUCCESS, formSuccess), takeEvery(SUBMIT_FORM_FOR_VALIDATION, validateForm), takeEvery(SUBMIT_FORM, submitForm$1), takeEvery(SET_FORM_ID, fetchForm), takeLatest(VALIDATE_FIELD, validateField$1), takeEvery(PAGE_FORWARD, togglePage), takeEvery(PAGE_BACK, togglePage), takeEvery(SET_FORM_DATA, getEntryPickerData), takeLatest(SET_FORM_DATA, setDefaultValueFields)];\n\nfunction* validateForm(action) {\n const {\n formId\n } = action;\n yield validateAllfields(formId);\n yield put({\n type: SUBMIT_FORM,\n formId\n });\n}\n\nfunction* validateField$1(action) {\n const {\n formId,\n id,\n value\n } = action;\n yield call(validateSingleField, formId, id, value);\n}\n\nfunction* validateGroupfields(formId, groupId) {\n const state = yield select();\n const postData = selectPostData(state, formId);\n const selectFormFields = makeSelectFormFields(formId);\n const fields = selectFormFields(state);\n const groupFields = fields.filter(f => f.groupid == groupId);\n let newErrors = [];\n groupFields.forEach(field => {\n let val = '';\n\n if (postData[field.id]) {\n val = postData[field.id];\n }\n\n const err = validateInput(field, val);\n if (err) newErrors.push(err);\n });\n yield put({\n type: SET_FIELD_ERROR,\n formId: formId,\n value: newErrors\n });\n}\n\nfunction* validateAllfields(formId) {\n const state = yield select();\n const postData = selectPostData(state, formId);\n const selectFormFields = makeSelectFormFields(formId);\n const fields = selectFormFields(state);\n let newErrors = [];\n fields.forEach(field => {\n let val = '';\n\n if (postData[field.id]) {\n val = postData[field.id];\n }\n\n const err = validateInput(field, val);\n if (err) newErrors.push(err);\n });\n yield put({\n type: SET_FIELD_ERROR,\n formId: formId,\n value: newErrors\n });\n}\n\nfunction* validateSingleField(formId, fieldId, value) {\n const state = yield select();\n const selectFormFields = makeSelectFormFields(formId);\n const fields = selectFormFields(state);\n const fieldData = fields.find(f => f.id == fieldId);\n const errors = selectFieldErrors(state, formId);\n const newErrors = []; //loop through current errors to remove any of the item we currently edit\n\n errors.forEach(error => {\n if (error.fieldId !== fieldId) {\n //push any existing errors to new array\n newErrors.push(error);\n }\n });\n const err = validateInput(fieldData, value);\n if (err) newErrors.push(err);\n yield put({\n type: SET_FIELD_ERROR,\n formId: formId,\n value: newErrors\n });\n}\n\nfunction* togglePage(action) {\n const {\n formId,\n pageIndex\n } = action;\n const state = yield select();\n const formGroups = selectFormGroups(state, formId);\n\n if (action.type === PAGE_FORWARD) {\n yield validateGroupfields(formId, formGroups[pageIndex].id);\n }\n\n yield put({\n type: SET_CURRENT_PAGE,\n formId: formId,\n pageId: formGroups[pageIndex].id,\n pageCount: formGroups.length,\n pageIndex: pageIndex\n });\n}\n\nfunction* fetchForm(action) {\n const formId = action.formId;\n const schema = yield getFormSchema(formId);\n const groups = schema.groups && schema.groups.length > 0 && schema.groups.filter(group => group.id !== 'private');\n\n if (formId && schema) {\n if (schema.groups && schema.groups.length > 0) {\n yield put({\n type: SET_CURRENT_PAGE,\n formId: formId,\n pageId: groups[0].id,\n pageIndex: 0,\n pageCount: groups.length\n });\n }\n\n yield put({\n type: SET_FORM_DATA,\n formId: formId,\n fields: schema.fields,\n groups: groups,\n defaultLanguage: schema.defaultLanguage\n });\n }\n}\n\nfunction* formSuccess(action) {\n const state = yield select();\n const selectFormFields = makeSelectFormFields(action.formId);\n const fields = selectFormFields(state);\n const redirect = fields.find(f => f.id === 'formSettingsRedirect');\n const message = fields.find(f => f.id === 'formSettingsMessage');\n\n if (redirect && redirect.default) {\n window.location.href = redirect.default['en-GB'];\n }\n\n if (message && message.default) {\n yield put({\n type: SET_SUCCESS_MESSAGE,\n message: message.default['en-GB'],\n formId: action.formId\n });\n }\n}\n\nfunction* submitForm$1(action) {\n const state = yield select();\n const errors = selectFieldErrors(state, action.formId);\n const canSubmit = errors && errors.length == 0;\n\n if (canSubmit) {\n yield put({\n type: SET_SUBMITTING_FORM,\n isSubmitting: true,\n formId: action.formId\n });\n const forms = yield select(selectForms);\n const rawData = forms.get(action.formId);\n const formObj = {\n contentType: action.formId,\n formPost: rawData.data\n };\n const formResObj = yield postForm(formObj);\n\n if (formResObj && formResObj.sys && formResObj.sys.id) {\n yield put({\n type: SUBMIT_FORM_SUCCESS,\n formId: action.formId\n });\n } else {\n yield put({\n type: SUBMIT_FORM_ERROR,\n formId: action.formId\n });\n }\n }\n}\n\nfunction* setDefaultValueFields(action) {\n const {\n formId,\n fields,\n defaultLanguage\n } = action;\n const entryId = yield select(state => state.getIn(['routing', 'entry', 'sys', 'id']));\n let fieldObj = {};\n fields.forEach(field => {\n if (field.dataType == 'string' && field.default) {\n const val = field.default[defaultLanguage];\n\n if (val) {\n fieldObj[field.id] = val;\n }\n }\n\n if (field.id == 'sourceEntry') {\n const val = entryId;\n\n if (val) {\n fieldObj[field.id] = val;\n }\n }\n });\n yield put({\n type: SET_DEFAULT_FIELD_VALUE,\n formId: formId,\n value: fieldObj\n });\n}\n\nfunction* getEntryPickerData(action) {\n const {\n formId,\n fields\n } = action;\n const entriesToGet = fields.filter(f => f.dataFormat == 'entry');\n let entriesList = [];\n\n if (entriesToGet) {\n entriesList = yield all(entriesToGet.map(entry => {\n const entriesObj = {\n contentType: entry.validations.allowedContentTypes.contentTypes,\n versionStatus: 'published',\n language: 'en-GB',\n pageSize: '10'\n };\n return call(getEntries, entriesObj, entry.id);\n }));\n yield put({\n type: SET_FORM_ENTRIES,\n formId: formId,\n entries: entriesList\n });\n }\n}\n\nconst toJS = WrappedComponent => wrappedComponentProps => {\n const KEY = 0;\n const VALUE = 1;\n const propsJS = Object.entries(wrappedComponentProps).reduce((newProps, wrappedComponentProp) => {\n newProps[wrappedComponentProp[KEY]] = Iterable.isIterable(wrappedComponentProp[VALUE]) ? wrappedComponentProp[VALUE].toJS() : wrappedComponentProp[VALUE];\n return newProps;\n }, {});\n return /*#__PURE__*/React.createElement(WrappedComponent, propsJS);\n};\n\n//Brand\nconst open_teal = '#37BFA7'; //Brand dark\n\nconst teal_dark = '#00a889'; //Primary\n\nconst accent_blue = '#1853AC';\nconst panel_blue = '#00304D'; //Neutrals\n\nconst base_white = '#FFF';\nconst empress_gray = '#757575';\nconst colors = {\n brand: open_teal,\n brandDark: teal_dark,\n primary: accent_blue,\n secondary: panel_blue,\n label: '#333',\n label_optional: '#666',\n border: '#ccc',\n message_link: '#333',\n success: '#118011',\n warning: '#FFB000',\n error: '#C63D54',\n required: '#C63D54',\n neutrals: {\n base_white,\n empress_gray\n }\n};\n\nconst FormStyled = styled.form.withConfig({\n displayName: \"Formstyled__FormStyled\",\n componentId: \"sc-1jn1lk9-0\"\n})([\"\", \";\"], ({\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\"> div:not(:first-child){margin-top:16px;}padding:0 16px;.success-message{font-size:18px;margin:0;}.visuallyHidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;}label{display:inline-block;.isRequired{color:\", \";}}input,textarea,select{display:block;font-family:inherit;background-color:\", \";border-radius:3px;border:1px solid \", \";height:40px;padding:8px;margin-top:4px;max-width:320px;width:100%;}textarea{height:200px;resize:none;}\"], colors.error, colors.neutrals.base_white, colors.border));\n});\n\nconst Label = ({\n className,\n label,\n id,\n isRequired,\n isHidden\n}) => {\n return /*#__PURE__*/React.createElement(\"label\", {\n className: `${className} ${isHidden ? 'visuallyHidden' : ''}`,\n htmlFor: id\n }, label, isRequired && /*#__PURE__*/React.createElement(\"span\", {\n className: \"isRequired\"\n }, \"*\"), isRequired && /*#__PURE__*/React.createElement(\"span\", {\n className: \"visuallyHidden\"\n }, \" (required)\"));\n};\n\nLabel.propTypes = {\n className: PropTypes.string,\n label: PropTypes.string,\n id: PropTypes.string,\n isRequired: PropTypes.bool,\n isHidden: PropTypes.bool\n};\n\nconst CreateMessage = (type, minLength, maxLength, currentLength, defaultLanguage) => {\n if (!type) return null;\n\n switch (type) {\n case 'min':\n {\n if (!minLength) return;\n const minLengthVal = minLength && minLength.value;\n const errorMessage = minLength && minLength.message && minLength.message[defaultLanguage];\n const minText = `Minimum of ${minLengthVal.toString()} characters`;\n\n if (errorMessage) {\n return errorMessage;\n } else {\n return minText;\n }\n }\n\n case 'max':\n {\n if (!maxLength) return;\n const maxLengthVal = maxLength && maxLength.value;\n const errorMessage = maxLength && maxLength.message && maxLength.message[defaultLanguage];\n const maxText = `Maximum of ${maxLengthVal.toString()} characters`;\n\n if (errorMessage) {\n return errorMessage;\n } else {\n return maxText;\n }\n }\n\n case 'between':\n {\n if (!maxLength || !minLength) return;\n const minLengthVal = minLength && minLength.value;\n const maxLengthVal = maxLength && maxLength.value;\n const errorMessage = minLength && minLength.message && minLength.message[defaultLanguage];\n const rangeText = `Between ${minLengthVal.toString()}-${maxLengthVal.toString()} characters)`;\n\n if (errorMessage) {\n return errorMessage;\n } else if (currentLength < minLengthVal) {\n return `${(minLengthVal - currentLength).toString()} character${minLengthVal > 1 ? 's' : ''} required ${rangeText}`;\n } else if (currentLength > maxLengthVal) {\n return `${(currentLength - maxLengthVal).toString()} character${currentLength - maxLengthVal > 1 ? 's' : ''} over ${rangeText}`;\n } else if (currentLength) {\n return `${(maxLengthVal - currentLength).toString()} characters remaining ${rangeText}`;\n } else {\n return rangeText;\n }\n }\n\n default:\n return null;\n }\n};\n\nconst CharacterLimitStyled = styled.div.withConfig({\n displayName: \"CharacterLimit__CharacterLimitStyled\",\n componentId: \"sc-16zngav-0\"\n})([\"\", \";\"], ({\n theme,\n useDefaultTheme\n}) => {\n return css([\"display:block;\", \"\"], useDefaultTheme && css([\"font-size:14px;color:\", \";font-weight:400;line-height:24px;text-align:right;max-width:320px;width:100%;\"], theme.colors.neutrals.empress_gray));\n});\n\nconst CharacterLimit = ({\n className,\n value,\n validations,\n defaultLanguage,\n useDefaultTheme\n}) => {\n if (!validations) return null;\n let valueAsString = typeof value === 'number' ? value.toString() : value;\n const currentLength = valueAsString && valueAsString.length ? valueAsString.length : 0;\n const {\n minLength,\n maxLength\n } = validations;\n const hasMaxLength = maxLength && !minLength;\n const hasMinLength = minLength && !maxLength;\n const hasInBetween = minLength && maxLength;\n const type = hasMinLength ? 'min' : hasMaxLength ? 'max' : hasInBetween ? 'between' : null;\n if (!type) return null;\n return /*#__PURE__*/React.createElement(CharacterLimitStyled, {\n className: className,\n useDefaultTheme: useDefaultTheme\n }, CreateMessage(type, minLength, maxLength, currentLength, defaultLanguage));\n};\n\nCharacterLimit.propTypes = {\n validations: PropTypes.object,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n className: PropTypes.string,\n defaultLanguage: PropTypes.string,\n useDefaultTheme: PropTypes.bool\n};\n\nconst ErrorMessageStyled = styled.div.withConfig({\n displayName: \"ErrorMessage__ErrorMessageStyled\",\n componentId: \"sc-1vewdiu-0\"\n})([\"\", \";\"], ({\n theme,\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\"display:block;margin-top:8px;color:\", \";\"], theme.colors.error));\n});\n\nconst ErrorMessage = ({\n className,\n message,\n useDefaultTheme\n}) => {\n return /*#__PURE__*/React.createElement(ErrorMessageStyled, {\n className: className,\n useDefaultTheme: useDefaultTheme\n }, message);\n};\n\nErrorMessage.propTypes = {\n className: PropTypes.string,\n message: PropTypes.string.isRequired,\n useDefaultTheme: PropTypes.bool\n};\n\nconst TextfieldStyled = styled.div.withConfig({\n displayName: \"Textfield__TextfieldStyled\",\n componentId: \"sc-1a1c03n-0\"\n})([\"\", \";\"], ({\n isHidden\n}) => {\n return css([\"display:\", \";\"], isHidden ? 'none' : 'block');\n});\n\nconst Textfield = ({\n className,\n formId,\n id,\n label,\n type,\n setValue,\n validateField,\n validations,\n defaultValue,\n defaultLanguage,\n placeholder,\n isHidden,\n errors,\n useDefaultTheme\n}) => {\n const [showCharLimit, setShowCharLimit] = useState(false);\n const isRequired = validations && validations.required ? true : false;\n const placeholderText = placeholder && placeholder.properties && placeholder.properties.placeholderText && placeholder.properties.placeholderText[defaultLanguage];\n const defaultValueText = defaultValue && defaultValue[defaultLanguage] ? defaultValue[defaultLanguage] : defaultValue;\n\n const _handleChange = (formId, id, value) => {\n setValue(formId, id, value);\n };\n\n const _handleBlur = (formId, id, value) => {\n validateField(formId, id, value);\n setShowCharLimit(false);\n };\n\n const _handleFocus = () => {\n setShowCharLimit(true);\n };\n\n return /*#__PURE__*/React.createElement(TextfieldStyled, {\n className: \"textfield-container\",\n isHidden: isHidden\n }, /*#__PURE__*/React.createElement(Label, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: \"label-textfield\"\n }), showCharLimit && /*#__PURE__*/React.createElement(CharacterLimit, {\n value: defaultValue,\n validations: validations,\n defaultLanguage: defaultLanguage,\n useDefaultTheme: useDefaultTheme\n }), /*#__PURE__*/React.createElement(\"input\", {\n className: `${className ? className : ''} input-textfield`,\n type: type,\n defaultValue: defaultValueText,\n placeholder: placeholderText,\n id: id,\n name: id,\n onChange: e => _handleChange(formId, id, e.target.value),\n onBlur: e => _handleBlur(formId, id, e.target.value),\n onFocus: () => _handleFocus()\n }), errors && errors.length > 0 && errors.some(x => x.fieldId == id) && /*#__PURE__*/React.createElement(ErrorMessage, {\n message: errors.find(x => x.fieldId == id).message,\n useDefaultTheme: useDefaultTheme\n }));\n};\n\nTextfield.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.string,\n type: PropTypes.string,\n setValue: PropTypes.func,\n validateField: PropTypes.func,\n validations: PropTypes.object,\n defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n defaultLanguage: PropTypes.string,\n placeholder: PropTypes.object,\n isHidden: PropTypes.bool,\n errors: PropTypes.array,\n useDefaultTheme: PropTypes.bool\n};\n\nconst Textarea = ({\n className,\n formId,\n id,\n label,\n type,\n setValue,\n validations,\n defaultValue,\n defaultLanguage,\n placeholder,\n validateField,\n useDefaultTheme,\n errors\n}) => {\n const [showCharLimit, setShowCharLimit] = useState(false);\n const isRequired = validations && validations.required ? true : false;\n const placeholderText = placeholder && placeholder.properties && placeholder.properties.placeholderText && placeholder.properties.placeholderText[defaultLanguage];\n const defaultValueText = defaultValue ? defaultValue[defaultLanguage] : null;\n\n const _handleChange = (formId, id, value) => {\n setValue(formId, id, value);\n };\n\n const _handleBlur = (formId, id, value) => {\n validateField(formId, id, value);\n setShowCharLimit(false);\n };\n\n const _handleFocus = () => {\n setShowCharLimit(true);\n };\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"textarea-container\"\n }, /*#__PURE__*/React.createElement(Label, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: \"label-textarea\"\n }), showCharLimit && /*#__PURE__*/React.createElement(CharacterLimit, {\n value: defaultValue,\n validations: validations,\n defaultLanguage: defaultLanguage,\n useDefaultTheme: useDefaultTheme\n }), /*#__PURE__*/React.createElement(\"textarea\", {\n className: `${className ? className : ''} input-textarea`,\n type: type,\n id: id,\n defaultValue: defaultValueText,\n placeholder: placeholderText,\n onChange: e => _handleChange(formId, id, e.target.value),\n onBlur: e => _handleBlur(formId, id, e.target.value),\n onFocus: () => _handleFocus()\n }), errors && errors.length > 0 && errors.some(x => x.fieldId == id) && /*#__PURE__*/React.createElement(ErrorMessage, {\n message: errors.find(x => x.fieldId == id).message,\n useDefaultTheme: useDefaultTheme\n }));\n};\n\nTextarea.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.string,\n type: PropTypes.string,\n setValue: PropTypes.func,\n validations: PropTypes.object,\n defaultValue: PropTypes.object,\n defaultLanguage: PropTypes.string,\n placeholder: PropTypes.object,\n validateField: PropTypes.func,\n useDefaultTheme: PropTypes.bool,\n errors: PropTypes.array\n};\n\nconst HiddenField = ({\n className,\n id,\n label,\n type,\n defaultValue,\n defaultLanguage,\n placeholder\n}) => {\n return /*#__PURE__*/React.createElement(Textfield, {\n type: type,\n label: label,\n id: id,\n defaultValue: defaultValue,\n defaultLanguage: defaultLanguage,\n placeholder: placeholder,\n className: className,\n isHidden: true\n });\n};\n\nHiddenField.propTypes = {\n className: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.string,\n type: PropTypes.string,\n defaultValue: PropTypes.object,\n defaultLanguage: PropTypes.string,\n placeholder: PropTypes.object\n};\n\nconst Dropdown = ({\n className,\n formId,\n id,\n validations,\n defaultValue,\n defaultLanguage,\n label,\n setValue\n}) => {\n if (!validations) return null;\n const isRequired = validations && validations.required ? true : false;\n const ddValues = validations && validations.allowedValues && validations.allowedValues.values;\n\n const _handleChange = (formId, id, value) => {\n setValue(formId, id, value);\n };\n\n if (!ddValues || ddValues.length < 1) return null;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"dropdown-container\"\n }, /*#__PURE__*/React.createElement(Label, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: \"label-dropdown\"\n }), /*#__PURE__*/React.createElement(\"select\", {\n name: id,\n id: id,\n className: `${className ? className : ''} select-dropdown`,\n defaultValue: defaultValue,\n onBlur: e => _handleChange(formId, id, e.target.value)\n }, ddValues.map((val, idx) => {\n return /*#__PURE__*/React.createElement(\"option\", {\n key: `${val[defaultLanguage]}-${idx}`,\n value: val[defaultLanguage],\n className: \"option-dropdown\"\n }, val[defaultLanguage]);\n })));\n};\n\nDropdown.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n setValue: PropTypes.func,\n id: PropTypes.string,\n validations: PropTypes.object,\n defaultValue: PropTypes.string,\n label: PropTypes.string,\n defaultLanguage: PropTypes.string\n};\n\nconst CheckboxStyled = styled.div.withConfig({\n displayName: \"Checkbox__CheckboxStyled\",\n componentId: \"s8ewuf-0\"\n})([\"\", \";\"], ({\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\".checkbox-wrapper{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;input{height:auto;width:auto;margin:0 4px 0 0;}label{display:inline-block;}}\"]));\n});\n\nconst Checkbox = ({\n className,\n formId,\n setCheckboxValue,\n id,\n type,\n label,\n validations,\n defaultValue,\n name,\n defaultLanguage,\n useDefaultTheme\n}) => {\n // NF change rules of hooks\n let isDefaultChecked = defaultValue && defaultValue[defaultLanguage];\n const [isChecked, setIsChecked] = useState(isDefaultChecked || '');\n\n switch (type) {\n case 'multiple':\n {\n if (!validations) return null;\n const isRequired = validations && validations.required ? true : false;\n const cbValues = validations && validations.allowedValues && validations.allowedValues.values;\n\n const _handleChange = (value, isChecked) => {\n setCheckboxValue(formId, id, value, isChecked);\n };\n\n if (!cbValues || cbValues.length < 1) return null;\n return /*#__PURE__*/React.createElement(CheckboxStyled, {\n className: `checkbox-container`,\n useDefaultTheme: useDefaultTheme\n }, /*#__PURE__*/React.createElement(Label, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: \"label-checkbox-container\"\n }), cbValues.map((val, idx) => {\n return /*#__PURE__*/React.createElement(\"span\", {\n key: idx,\n className: \"checkbox-wrapper\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: \"checkbox\",\n id: `checkbox-${idx}`,\n name: `checkbox-${idx}`,\n value: val[defaultLanguage],\n className: `${className ? className : ''} input-checkbox`,\n onChange: e => _handleChange(e.target.value, e.target.checked)\n }), /*#__PURE__*/React.createElement(Label, {\n id: `checkbox-${idx}`,\n label: val[defaultLanguage],\n className: \"label-checkbox\"\n }));\n }));\n }\n\n case 'single':\n {\n const _handleChange = isChecked => {\n setIsChecked(isChecked);\n setCheckboxValue(formId, id, isChecked);\n };\n\n return /*#__PURE__*/React.createElement(CheckboxStyled, {\n className: `checkbox-container`,\n useDefaultTheme: useDefaultTheme\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"checkbox-wrapper\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: \"checkbox\",\n id: id,\n name: `checkbox-${id}`,\n value: name[defaultLanguage],\n checked: isChecked,\n className: `${className ? className : ''} input-checkbox`,\n onChange: e => _handleChange(e.target.checked)\n }), /*#__PURE__*/React.createElement(Label, {\n id: id,\n label: label,\n className: \"label-checkbox\"\n })));\n }\n }\n};\n\nCheckbox.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n id: PropTypes.string,\n type: PropTypes.string,\n label: PropTypes.string,\n setCheckboxValue: PropTypes.func,\n validations: PropTypes.object,\n defaultLanguage: PropTypes.string,\n name: PropTypes.object,\n default: PropTypes.object\n};\n\nconst RadioButtonStyled = styled.div.withConfig({\n displayName: \"RadioButton__RadioButtonStyled\",\n componentId: \"sc-7y8c21-0\"\n})([\"\", \";\"], ({\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\".radio-wrapper{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;input{height:auto;width:auto;margin:0 4px 0 0;}label{display:inline-block;}}\"]));\n});\n\nconst RadioButton = ({\n className,\n formId,\n setValue,\n id,\n type,\n label,\n validations,\n defaultLanguage,\n useDefaultTheme\n}) => {\n if (!validations) return null;\n const isRequired = validations && validations.required ? true : false;\n const cbValues = validations && validations.allowedValues && validations.allowedValues.values;\n\n const _handleChange = (formId, id, value) => {\n setValue(formId, id, value);\n };\n\n if (!cbValues || cbValues.length < 1) return null;\n return /*#__PURE__*/React.createElement(RadioButtonStyled, {\n className: \"radio-container\",\n useDefaultTheme: useDefaultTheme\n }, /*#__PURE__*/React.createElement(Label, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: \"label-radio-container\"\n }), cbValues.map((val, idx) => {\n return /*#__PURE__*/React.createElement(\"span\", {\n key: idx,\n className: \"radio-wrapper\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: type,\n id: val[defaultLanguage],\n name: id,\n value: val[defaultLanguage],\n className: `${className ? className : ''} input-radio`,\n onChange: e => _handleChange(formId, id, e.target.value)\n }), /*#__PURE__*/React.createElement(Label, {\n id: val[defaultLanguage],\n label: val[defaultLanguage],\n className: \"label-radio\"\n }));\n }));\n};\n\nRadioButton.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n setValue: PropTypes.func,\n id: PropTypes.string,\n type: PropTypes.string,\n label: PropTypes.string,\n validations: PropTypes.object,\n defaultLanguage: PropTypes.string,\n useDefaultTheme: PropTypes.bool\n};\n\n//example date string: 2019-01-02T13:05:00 (expects ISO 8601 Datetime format yyyy-mm-ddThh:mm:ss [this is the format returned from Contensis delivery api])\n//yyyy > year long, eg. 2019\n//yy > year short, eg. 19\n//MMMM > month long, eg. January\n//MMM > month short, eg. Jan\n//MM > month with leading 0, eg. 01\n//M > month, eg. 1\n//dddd > day long, eg. Monday\n//ddd > day short, eg. Mon\n//dd > date with leading 0, eg. 02\n//d > date, eg. 2\n//HH > 24 hour clock hour parameter with leading 0, eg. ...T03:05:00 = 03\n//H > 24 hour clock hour parameter, eg. ...T03:05:00 = 3\n//hh > 12 hour clock hour parameter with leading 0, eg. ...T16:05:00 = 04\n//h > 12 hour clock hour parameter, eg. ...T16:05:00 = 4\n//mm > minutes with leading 0, eg. ...T16:05:00 = 05\n//m > minutes, eg ...T16:05:00 = 5\n//t > abbreviated AM / PM, e.g. A or P\n//tt > AM / PM, e.g. AM or PM\nconst formatDate = (date, format = 'dd MMMM yyyy') => {\n if (!date) return null;\n const dateObj = new Date(date);\n const dateString = date.toString().split('T');\n const dateArr = dateString[0].split('-');\n const year = dateArr[0];\n const month = dateArr[1];\n const day = dateArr[2];\n const dayNameInt = dateObj.getDay();\n const timeArr = dateString[1].split(':');\n const hour = timeArr[0];\n const minute = timeArr[1]; //convert to abstract strings to avoid character replacement along the chain, eg. Monday would match 'M' month single parameter\n\n const YEAR = ['&&', '&'];\n const MONTH = ['££££', '£££', '££', '£'];\n const DAY = ['%%%%', '%%%', '%%', '%'];\n const HOUR24 = ['!!', '!'];\n const HOUR12 = ['^^', '^'];\n const MINUTE = ['**', '*'];\n const TF = ['??', '?'];\n let formattedDate = format.replace('yyyy', YEAR[0]).replace('yy', YEAR[1]).replace('y', '') //'y' && 'yyy' not valid\n .replace('MMMM', MONTH[0]).replace('MMM', MONTH[1]).replace('MM', MONTH[2]).replace('M', MONTH[3]).replace('dddd', DAY[0]).replace('ddd', DAY[1]).replace('dd', DAY[2]).replace('d', DAY[3]).replace('HH', HOUR24[0]).replace('H', HOUR24[1]).replace('hh', HOUR12[0]).replace('h', HOUR12[1]).replace('mm', MINUTE[0]).replace('m', MINUTE[1]).replace('tt', TF[0]).replace('t', TF[1]).replace(YEAR[0], year).replace(YEAR[1], year.slice(-2)).replace(MONTH[0], monthsLong[parseInt(month, 10)]).replace(MONTH[1], monthsShort[parseInt(month, 10)]).replace(MONTH[2], month).replace(MONTH[3], parseInt(month, 10)).replace(DAY[0], daysLong[dayNameInt]).replace(DAY[1], daysShort[dayNameInt]).replace(DAY[2], day).replace(DAY[3], parseInt(day, 10)).replace(HOUR24[0], hour).replace(HOUR24[1], parseInt(hour, 10)).replace(HOUR12[0], parseHour(hour)).replace(HOUR12[1], parseInt(parseHour(hour), 10)).replace(MINUTE[0], minute).replace(MINUTE[1], parseInt(minute, 10)).replace(TF[0], parseTF(hour)).replace(TF[1], parseTF(hour).slice(0, -1));\n return formattedDate;\n};\n\nconst monthsShort = ['', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\nconst monthsLong = ['', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\nconst daysShort = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\nconst daysLong = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\n\nconst parseHour = hour => {\n return hour > 12 ? hour - 12 : hour;\n};\n\nconst parseTF = hour => {\n return hour > 11 ? 'PM' : 'AM';\n};\n\nconst SingleDate = ({\n className,\n type,\n id,\n label,\n validations,\n setValue,\n formId\n}) => {\n const isRequired = validations && validations.required ? true : false;\n const onlyPassedDates = validations && validations.pastDateTime;\n const d = new Date();\n const todaysDate = d.toISOString();\n\n const _handleChange = (formId, id, value) => {\n const d = new Date(value);\n const isoDate = d.toISOString();\n setValue(formId, id, isoDate);\n };\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"date-container\"\n }, /*#__PURE__*/React.createElement(Label, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: \"label-date\"\n }), /*#__PURE__*/React.createElement(\"input\", {\n type: type,\n id: id,\n name: id,\n className: `${className ? className : ''} input-date`,\n max: onlyPassedDates ? formatDate(todaysDate, 'yyyy-MM-dd') : '',\n onChange: e => _handleChange(formId, id, e.target.value)\n }));\n};\n\nSingleDate.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n setValue: PropTypes.func,\n type: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.string,\n validations: PropTypes.object\n};\n\nconst DateRangeStyled = styled.div.withConfig({\n displayName: \"DateRange__DateRangeStyled\",\n componentId: \"hnzg32-0\"\n})([\"\", \";\"], ({\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\".daterange-wrapper{display:flex;flex-direction:column;input{&:first-child{margin:0 0 8px 0;}}}\"]));\n});\n\nconst DateRange = ({\n className,\n id,\n label,\n validations,\n setDateRangeValues,\n formId,\n useDefaultTheme\n}) => {\n const isRequired = validations && validations.required ? true : false;\n const onlyPassedDates = validations && validations.pastDateTime;\n const d = new Date();\n const todaysDate = d.toISOString();\n const [toDate, setToDate] = useState('');\n const [fromDate, setFromDate] = useState('');\n\n const _handleDateChange = (dateType, formId, id, value) => {\n _updateDateProps(dateType, value);\n\n const d = new Date(value);\n const isoDate = d.toISOString();\n setDateRangeValues(formId, id, dateType, isoDate);\n };\n\n const _updateDateProps = (type, date) => {\n switch (type) {\n case 'from':\n {\n const d = new Date(date);\n const newDate = d.toISOString();\n setFromDate(newDate);\n break;\n }\n\n case 'to':\n {\n const d = new Date(date);\n const newDate = d.toISOString();\n setToDate(newDate);\n break;\n }\n\n default:\n return;\n }\n };\n\n return /*#__PURE__*/React.createElement(DateRangeStyled, {\n className: `daterange-container`,\n useDefaultTheme: useDefaultTheme\n }, /*#__PURE__*/React.createElement(Label, {\n id: id,\n label: label,\n isRequired: isRequired\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"daterange-wrapper\"\n }, /*#__PURE__*/React.createElement(Label, {\n id: \"date-from\",\n label: \"Date from\",\n isHidden: true,\n className: \"label-daterange\"\n }), /*#__PURE__*/React.createElement(\"input\", {\n type: \"date\",\n id: \"date-from\",\n name: id,\n max: onlyPassedDates && !toDate ? formatDate(todaysDate, 'yyyy-MM-dd') : onlyPassedDates && toDate ? formatDate(toDate, 'yyyy-MM-dd') : toDate ? formatDate(toDate, 'yyyy-MM-dd') : '',\n className: `${className ? className : ''} input-daterange`,\n onChange: e => _handleDateChange('from', formId, id, e.target.value)\n }), /*#__PURE__*/React.createElement(Label, {\n id: \"date-to\",\n label: \"Date to\",\n isHidden: true,\n className: \"label-daterange\"\n }), /*#__PURE__*/React.createElement(\"input\", {\n type: \"date\",\n id: \"date-to\",\n name: id,\n max: onlyPassedDates ? formatDate(todaysDate, 'yyyy-MM-dd') : '',\n min: formatDate(fromDate, 'yyyy-MM-dd'),\n className: `${className ? className : ''} input-daterange`,\n onChange: e => _handleDateChange('to', formId, id, e.target.value)\n })));\n};\n\nDateRange.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n setDateRangeValues: PropTypes.func,\n type: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.string,\n validations: PropTypes.object,\n useDefaultTheme: PropTypes.bool\n};\n\nconst EntryPickerStyled = styled.div.withConfig({\n displayName: \"EntryPicker__EntryPickerStyled\",\n componentId: \"svnu18-0\"\n})([\"\", \";\"], ({\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\".radio-wrapper,.checkbox-wrapper{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;input{height:auto;width:auto;margin:0 4px 0 0;}label{display:inline-block;}}\"]));\n});\n\nconst EntryPicker = ({\n className,\n results,\n id,\n label,\n validations,\n type,\n useDefaultTheme,\n setValue,\n formId\n}) => {\n if (!results || results.length > 3) return null;\n const isRequired = validations && validations.required ? true : false;\n let valArr = [];\n\n const _handleChange = (formId, id, value, isChecked) => {\n if (type === 'checkbox') {\n if (isChecked) {\n valArr.push(value);\n } else if (!isChecked) {\n valArr = valArr.filter(valItem => valItem !== value);\n }\n\n setValue(formId, id, valArr);\n } else {\n setValue(formId, id, value);\n }\n };\n\n return /*#__PURE__*/React.createElement(EntryPickerStyled, {\n className: `${type}-container`,\n useDefaultTheme: useDefaultTheme\n }, /*#__PURE__*/React.createElement(Label, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: `label-${type}-container`\n }), results.map((res, idx) => {\n return /*#__PURE__*/React.createElement(\"span\", {\n key: idx,\n className: `${type}-wrapper`\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: type,\n id: res.entryTitle,\n value: res.entryTitle,\n name: id,\n className: `${className ? className : ''} input-${type}`,\n onChange: e => _handleChange(formId, id, e.target.value, e.target.checked)\n }), /*#__PURE__*/React.createElement(Label, {\n id: res.entryTitle,\n label: res.entryTitle,\n className: `label-${type}`\n }));\n }));\n};\n\nEntryPicker.propTypes = {\n className: PropTypes.string,\n results: PropTypes.array,\n id: PropTypes.string,\n label: PropTypes.string,\n validations: PropTypes.object,\n type: PropTypes.string,\n useDefaultTheme: PropTypes.bool,\n setValue: PropTypes.func,\n formId: PropTypes.string\n};\n\nconst FormComposer = ({\n fields,\n formData,\n formId,\n setValue,\n setDateRangeValues,\n validateField,\n defaultLanguage,\n errors,\n useDefaultTheme,\n entries,\n setCheckboxValue\n}) => {\n if (!fields || fields.length < 1) return null; //const arrayOfFields = Object.entries(fields).map(f => f[1]);\n\n return fields.map((field, idx) => {\n if (!field) return null;\n\n switch (field.type) {\n case 'number':\n case 'textfield':\n {\n return /*#__PURE__*/React.createElement(Textfield, {\n key: `${field.id}-${idx}`,\n type: field.type,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n formId: formId,\n setValue: setValue,\n validations: field.validations,\n validateField: validateField,\n defaultLanguage: defaultLanguage,\n defaultValue: formData && formData[field.id] || field.default,\n placeholder: field.editor,\n errors: errors,\n useDefaultTheme: useDefaultTheme\n });\n }\n\n case 'textarea':\n {\n return /*#__PURE__*/React.createElement(Textarea, {\n key: `${field.id}-${idx}`,\n type: field.type,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n formId: formId,\n setValue: setValue,\n validations: field.validations,\n defaultLanguage: defaultLanguage,\n defaultValue: field.default,\n placeholder: field.editor,\n validateField: validateField,\n useDefaultTheme: useDefaultTheme,\n errors: errors\n });\n }\n\n case 'dropdown':\n {\n return /*#__PURE__*/React.createElement(Dropdown, {\n key: `${field.id}-${idx}`,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n validations: field.validations,\n defaultLanguage: defaultLanguage,\n defaultValue: field.default,\n formId: formId,\n setValue: setValue,\n useDefaultTheme: useDefaultTheme\n });\n }\n\n case 'checkbox':\n {\n return /*#__PURE__*/React.createElement(Checkbox, {\n key: `${field.id}-${idx}`,\n id: field.id,\n name: field.name,\n label: field.name && field.name[defaultLanguage],\n validations: field.validations,\n defaultLanguage: defaultLanguage,\n setValue: setValue,\n formId: formId,\n defaultValue: formData && formData[field.id] || field.default,\n type: field.dataType === 'boolean' ? 'single' : 'multiple',\n useDefaultTheme: useDefaultTheme,\n setCheckboxValue: setCheckboxValue\n });\n }\n\n case 'radio':\n {\n return /*#__PURE__*/React.createElement(RadioButton, {\n key: `${field.id}-${idx}`,\n id: field.id,\n type: field.type,\n formId: formId,\n setValue: setValue,\n label: field.name && field.name[defaultLanguage],\n validations: field.validations,\n defaultLanguage: defaultLanguage,\n useDefaultTheme: useDefaultTheme\n });\n }\n\n case 'entryPicker':\n {\n const type = field.dataType === 'objectArray' ? 'checkbox' : 'radio';\n const results = entries && entries[field.id] && entries[field.id].items;\n return /*#__PURE__*/React.createElement(EntryPicker, {\n key: `${field.id}-${idx}`,\n type: type,\n results: results,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n useDefaultTheme: useDefaultTheme,\n setValue: setValue,\n validateField: validateField,\n formId: formId\n });\n }\n\n case 'date':\n {\n return /*#__PURE__*/React.createElement(SingleDate, {\n key: `${field.id}-${idx}`,\n type: field.type,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n validations: field.validations,\n formId: formId,\n setValue: setValue,\n useDefaultTheme: useDefaultTheme\n });\n }\n\n case 'dateRange':\n {\n return /*#__PURE__*/React.createElement(DateRange, {\n key: `${field.id}-${idx}`,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n validations: field.validations,\n formId: formId,\n setDateRangeValues: setDateRangeValues,\n useDefaultTheme: useDefaultTheme\n });\n }\n\n case 'hidden':\n {\n return /*#__PURE__*/React.createElement(HiddenField, {\n key: `${field.id}-${idx}`,\n type: field.type,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n defaultLanguage: defaultLanguage,\n defaultValue: field.default,\n placeholder: field.editor\n });\n }\n }\n });\n};\n\nFormComposer.propTypes = {\n fields: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n formData: PropTypes.object,\n entries: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n formId: PropTypes.string,\n setValue: PropTypes.func,\n validateField: PropTypes.func,\n setDateRangeValues: PropTypes.func,\n defaultLanguage: PropTypes.string,\n errors: PropTypes.array,\n useDefaultTheme: PropTypes.bool,\n setCheckboxValue: PropTypes.func\n};\n\nconst ButtonStyled = styled.button.withConfig({\n displayName: \"Button__ButtonStyled\",\n componentId: \"hr2oup-0\"\n})([\"\", \";\"], ({\n theme,\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\"display:inline-block;cursor:pointer;margin:16px 0 0 0;padding:8px 16px;border-radius:3px;border:1px solid \", \";font-family:inherit;transition:opacity 200ms ease;&:hover{opacity:0.7;}\"], theme.colors.border));\n});\n\nconst Button = ({\n className,\n type,\n text,\n action,\n useDefaultTheme\n}) => {\n return /*#__PURE__*/React.createElement(ButtonStyled, {\n className: `${className ? className : ''} btnSubmit`,\n type: type,\n onClick: () => action(),\n useDefaultTheme: useDefaultTheme\n }, text);\n};\nButton.propTypes = {\n className: PropTypes.string,\n type: PropTypes.string,\n text: PropTypes.string,\n action: PropTypes.func,\n useDefaultTheme: PropTypes.bool\n};\n\nconst ThemeContext = createContext();\n\nconst ThemeProvider = ({\n children,\n theme\n}) => {\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, null, /*#__PURE__*/React.createElement(ThemeProvider$1, {\n theme: theme\n }, children));\n};\n\nThemeProvider.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n theme: PropTypes.object\n};\n\nconst mediaQueriesNoUnit = {\n s: 470,\n ms: 640,\n m: 768,\n ml: 880,\n l: 1024,\n xl: 1200,\n xxl: 1366,\n wide: 1600\n};\nconst mediaQueries = {\n small: mediaQueriesNoUnit.s + 'px',\n msmall: mediaQueriesNoUnit.ms + 'px',\n medium: mediaQueriesNoUnit.m + 'px',\n mlarge: mediaQueriesNoUnit.ml + 'px',\n large: mediaQueriesNoUnit.l + 'px',\n xlarge: mediaQueriesNoUnit.xl + 'px',\n xxlarge: mediaQueriesNoUnit.xxl + 'px',\n wide: mediaQueriesNoUnit.wide + 'px'\n};\nconst layout = {\n mediaQueries: mediaQueries\n};\n\nconst fontFamily = {\n Poppins: `'Poppins', Arial, sans-serif`\n}; //use html tag name as object key\n//use default object key for base styles\n//use media query key that corresponds with keys set on mediaQueries object from ./layout to map to relevant screen sizes\n//uses a mobile first approach to rules\n\nconst typography = {\n default: {\n color: colors.label,\n font_family: fontFamily.Poppins,\n font_style: 'normal',\n font_weight: 400,\n font_size: '18px',\n line_height: 1.75\n }\n};\nconst defaultStyles = typography.default;\nconst typographyStyles = {\n defaultStyles\n}; // function generateTypeStyles(obj) {\n// return Object.keys(obj)\n// .map(mq => {\n// const props = generateProps(obj[mq]);\n// if (mq === 'default') {\n// return `${props.join(' ')}`;\n// } else {\n// return `@media only screen and (min-width:${\n// mediaQueries[mq]\n// }){${props.join('')}}`;\n// }\n// })\n// .join('');\n// }\n// function generateProps(objMQ) {\n// let props = [];\n// Object.keys(objMQ).map(prop => {\n// props.push(`${prop.split('_').join('-')}: ${objMQ[prop]};`);\n// });\n// return props;\n// }\n\nconst defaultTheme = {\n layout,\n typographyStyles,\n typography,\n colors\n};\n\nconst divStyles = {\n display: 'flex',\n height: '100vh',\n alignItems: 'center',\n justifyContent: 'center',\n flexDirection: 'Column'\n};\nconst svgStyles = {\n width: '80px',\n height: '80px'\n};\nconst headingStyles = {\n margin: '0',\n fontSize: '16px'\n};\nconst Loading = () => {\n return /*#__PURE__*/React.createElement(\"div\", {\n style: divStyles\n }, /*#__PURE__*/React.createElement(\"h3\", {\n style: headingStyles\n }, \"Loading...\"), /*#__PURE__*/React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n className: \"lds-spinner\",\n preserveAspectRatio: \"xMidYMid\",\n viewBox: \"0 0 100 100\",\n style: svgStyles\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.9166666666666666s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(30 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.8333333333333334s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(60 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.75s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(90 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.6666666666666666s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(120 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.5833333333333334s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(150 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.5s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(180 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.4166666666666667s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(210 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.3333333333333333s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(240 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.25s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(270 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.16666666666666666s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(300 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.08333333333333333s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(330 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"0s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n }))));\n};\nLoading.propTypes = {};\n\nconst Form$1 = ({\n className,\n formId,\n fields,\n formData,\n setFormId,\n setValue,\n validateField,\n defaultLanguage,\n errors,\n pagingInfo,\n togglePageForward,\n togglePageBack,\n submitForm,\n status,\n setDateRangeValues,\n useDefaultTheme,\n entries,\n customSubmit,\n setCheckboxValue\n}) => {\n useEffect(() => {\n setFormId(formId);\n }, [formId, setFormId]); // NF change rule of hooks\n\n if (!formId) return null;\n let formRender;\n\n if (pagingInfo && pagingInfo.pageCount > 1) {\n const isLastPage = pagingInfo.pageCount == pagingInfo.pageIndex + 1;\n formRender = /*#__PURE__*/React.createElement(FormStyled, {\n className: className,\n id: formId,\n useDefaultTheme: useDefaultTheme\n }, status && status.isLoading || status && status.isSubmitting && /*#__PURE__*/React.createElement(Loading, {\n className: \"loading\"\n }), !status || status && !status.isLoading && !status.isSubmitting && !status.hasSuccess && /*#__PURE__*/React.createElement(React.Fragment, null, pagingInfo.pageIndex > 0 && /*#__PURE__*/React.createElement(Button, {\n type: \"button\",\n text: \"Go Back\",\n action: () => togglePageBack(formId, pagingInfo.pageIndex - 1),\n useDefaultTheme: useDefaultTheme\n }), /*#__PURE__*/React.createElement(FormComposer, {\n fields: fields,\n formData: formData,\n formId: formId,\n setValue: setValue,\n validateField: validateField,\n defaultLanguage: defaultLanguage,\n errors: errors,\n pagingInfo: pagingInfo,\n useDefaultTheme: useDefaultTheme,\n entries: entries,\n setDateRangeValues: setDateRangeValues,\n setCheckboxValue: setCheckboxValue\n }), !isLastPage && /*#__PURE__*/React.createElement(Button, {\n type: \"button\",\n text: \"Next\",\n action: () => togglePageForward(formId, pagingInfo.pageIndex + 1),\n useDefaultTheme: useDefaultTheme\n }), isLastPage && /*#__PURE__*/React.createElement(Button, {\n text: \"Submit\",\n type: \"button\",\n action: () => {\n submitForm(formId);\n customSubmit();\n },\n useDefaultTheme: useDefaultTheme\n })), status && status.hasSuccess && status.successMessage && /*#__PURE__*/React.createElement(\"p\", {\n className: \"success-message\"\n }, status.successMessage));\n } else {\n formRender = /*#__PURE__*/React.createElement(FormStyled, {\n className: className,\n id: formId,\n useDefaultTheme: useDefaultTheme\n }, status && status.isLoading || status && status.isSubmitting && /*#__PURE__*/React.createElement(Loading, {\n className: \"loading\"\n }), !status || status && !status.isLoading && !status.isSubmitting && !status.hasSuccess && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormComposer, {\n fields: fields,\n formId: formId,\n setValue: setValue,\n setDateRangeValues: setDateRangeValues,\n validateField: validateField,\n defaultLanguage: defaultLanguage,\n errors: errors,\n useDefaultTheme: useDefaultTheme,\n entries: entries,\n setCheckboxValue: setCheckboxValue\n }), /*#__PURE__*/React.createElement(Button, {\n text: \"Submit\",\n type: \"button\",\n action: () => {\n submitForm(formId);\n customSubmit();\n },\n useDefaultTheme: useDefaultTheme\n })), status && status.hasSuccess && status.successMessage && /*#__PURE__*/React.createElement(\"p\", {\n className: \"success-message\"\n }, status.successMessage));\n }\n\n return /*#__PURE__*/React.createElement(ThemeProvider, {\n theme: defaultTheme\n }, formRender);\n};\n\nForm$1.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n fields: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n formData: PropTypes.object,\n entries: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n useDefaultTheme: PropTypes.bool,\n setFormId: PropTypes.func,\n setValue: PropTypes.func,\n setDateRangeValues: PropTypes.func,\n validateField: PropTypes.func,\n defaultLanguage: PropTypes.string,\n errors: PropTypes.array,\n pagingInfo: PropTypes.object,\n togglePageForward: PropTypes.func,\n togglePageBack: PropTypes.func,\n submitForm: PropTypes.func,\n customSubmit: PropTypes.func,\n status: PropTypes.object,\n setCheckboxValue: PropTypes.func\n};\n\nfunction action(type, payload = {}) {\n return {\n type,\n ...payload\n };\n}\n\nconst submitForm = formId => action(SUBMIT_FORM_FOR_VALIDATION, {\n formId\n});\nconst setFormId = formId => action(SET_FORM_ID, {\n formId\n});\nconst setValue = (formId, id, value) => action(SET_FIELD_VALUE, {\n formId,\n id,\n value\n});\nconst setCheckboxValue = (formId, id, value, isChecked) => action(SET_CHECKBOX_VALUE, {\n formId,\n id,\n value,\n isChecked\n});\nconst setDateRangeValues = (formId, id, dateType, value) => action(SET_DATE_RANGE_VALUES, {\n formId,\n id,\n dateType,\n value\n});\nconst validateField = (formId, id, value) => action(VALIDATE_FIELD, {\n formId,\n id,\n value\n});\nconst togglePageForward = (formId, pageIndex) => action(PAGE_FORWARD, {\n formId,\n pageIndex\n});\nconst togglePageBack = (formId, pageIndex) => action(PAGE_BACK, {\n formId,\n pageIndex\n});\n\nconst FormContainer = ({\n className,\n formId,\n fields,\n formData,\n setFormId,\n setValue,\n setDateRangeValues,\n validateField,\n defaultLanguage,\n errors,\n pagingInfo,\n togglePageForward,\n togglePageBack,\n submitForm,\n status,\n useDefaultTheme = true,\n entries,\n setCheckboxValue,\n customSubmit\n}) => {\n return /*#__PURE__*/React.createElement(Form$1, {\n className: className,\n formId: formId,\n fields: fields,\n setFormId: setFormId,\n setValue: setValue,\n setDateRangeValues: setDateRangeValues,\n validateField: validateField,\n defaultLanguage: defaultLanguage,\n errors: errors,\n pagingInfo: pagingInfo,\n togglePageForward: togglePageForward,\n togglePageBack: togglePageBack,\n submitForm: submitForm,\n status: status,\n useDefaultTheme: useDefaultTheme,\n entries: entries,\n formData: formData,\n setCheckboxValue: setCheckboxValue,\n customSubmit: customSubmit\n });\n};\n\nFormContainer.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n fields: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n formData: PropTypes.object,\n entries: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n setFormId: PropTypes.func,\n setDateRangeValues: PropTypes.func,\n setValue: PropTypes.func,\n useDefaultTheme: PropTypes.bool,\n validateField: PropTypes.func,\n defaultLanguage: PropTypes.string,\n errors: PropTypes.array,\n pagingInfo: PropTypes.object,\n togglePageForward: PropTypes.func,\n togglePageBack: PropTypes.func,\n submitForm: PropTypes.func,\n status: PropTypes.object,\n setCheckboxValue: PropTypes.func,\n customSubmit: PropTypes.func\n};\n\nconst mapStateToProps = (state, props) => {\n const {\n formId\n } = props;\n const selectFormFields = selectPagedFields(formId);\n const selectIsLoading = makeSelectIsLoading(formId);\n const selectDefaultLang = makeSelectDefaultLang(formId);\n return state => ({\n fields: selectFormFields(state),\n loading: selectIsLoading(state),\n defaultLanguage: selectDefaultLang(state),\n errors: selectFieldErrors(state, formId),\n pagingInfo: selectPagingInfo(state, formId),\n status: selectFormStatus(state, formId),\n entries: selectEntries(state, formId),\n formData: selectPostData(state, formId)\n });\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n setFormId: formId => dispatch(setFormId(formId)),\n setValue: (formId, id, value) => dispatch(setValue(formId, id, value)),\n setCheckboxValue: (formId, id, value, isChecked) => dispatch(setCheckboxValue(formId, id, value, isChecked)),\n setDateRangeValues: (formId, id, dateType, value) => dispatch(setDateRangeValues(formId, id, dateType, value)),\n validateField: (formId, id, value) => dispatch(validateField(formId, id, value)),\n togglePageForward: (formId, pageIndex) => dispatch(togglePageForward(formId, pageIndex)),\n togglePageBack: (formId, pageIndex) => dispatch(togglePageBack(formId, pageIndex)),\n submitForm: formId => dispatch(submitForm(formId))\n };\n};\n\nvar Form = connect(mapStateToProps, mapDispatchToProps)(toJS(FormContainer));\n\nexport default Form;\nexport { reducer, formV2Sagas as sagas };\n//# sourceMappingURL=zengenti-forms-package.esm.js.map\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"forms.js","sources":["../node_modules/zengenti-forms-package/zengenti-forms-package.esm.js"],"sourcesContent":["import { fromJS, Map, Iterable } from 'immutable';\nimport { takeEvery, takeLatest, put, call, select, all } from '@redux-saga/core/effects';\nimport { createSelector } from 'reselect';\nimport React, { useState, createContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { connect } from 'react-redux';\nimport styled, { css, ThemeProvider as ThemeProvider$1 } from 'styled-components';\n\nconst ACTION_PREFIX = '@FORM2/';\nconst SET_FORM_DATA = `${ACTION_PREFIX}SET_FORM_DATA`;\nconst SET_FORM_ID = `${ACTION_PREFIX}SET_FORM_ID`;\nconst SET_CURRENT_PAGE = `${ACTION_PREFIX}SET_CURRENT_PAGE`;\nconst PAGE_BACK = `${ACTION_PREFIX}PAGE_BACK`;\nconst PAGE_FORWARD = `${ACTION_PREFIX}PAGE_FORWARD`;\nconst SET_FIELD_VALUE = `${ACTION_PREFIX}SET_FIELD_VALUE`;\nconst SET_DEFAULT_FIELD_VALUE = `${ACTION_PREFIX}SET_DEFAULT_FIELD_VALUE`;\nconst SUBMIT_FORM_FOR_VALIDATION = `${ACTION_PREFIX}SUBMIT_FORM_FOR_VALIDATION`;\nconst SUBMIT_FORM = `${ACTION_PREFIX}SUBMIT_FORM`;\nconst SUBMIT_FORM_SUCCESS = `${ACTION_PREFIX}SUBMIT_FORM_SUCCESS`;\nconst SUBMIT_FORM_ERROR = `${ACTION_PREFIX}SUBMIT_FORM_ERROR`;\nconst SET_SUBMITTING_FORM = `${ACTION_PREFIX}SET_SUBMITTING_FORM`;\nconst SET_ERROR = `${ACTION_PREFIX}SET_ERROR`;\nconst VALIDATE_FIELD = `${ACTION_PREFIX}VALIDATE_FIELD`;\nconst SET_FIELD_ERROR = `${ACTION_PREFIX}SET_FIELD_ERROR`;\nconst SET_DATE_RANGE_VALUES = `${ACTION_PREFIX}SET_DATE_RANGE_VALUES`;\nconst SET_FORM_ENTRIES = `${ACTION_PREFIX}SET_FORM_ENTRIES`;\nconst SET_SUCCESS_MESSAGE = `${ACTION_PREFIX}SET_SUCCESS_MESSAGE`;\nconst SET_CHECKBOX_VALUE = `${ACTION_PREFIX}SET_CHECKBOX_VALUE`;\n\nconst MakeFieldType = field => {\n if (!field) return null;\n\n if (field.dataType === 'string' && field.editor && field.editor.id === 'multiline') {\n return 'textarea';\n } else if (field.dataType === 'string' && field.editor && field.editor.id === 'list-dropdown') {\n return 'dropdown';\n } else if (field.editor && field.editor.properties && field.editor.properties.readOnly || field.groupId && field.groupId === 'private') {\n return 'hidden';\n } else if (field.dataType === 'stringArray' || field.dataType === 'boolean') {\n return 'checkbox';\n } else if (field.dataType === 'string' && field.validations && field.validations.allowedValues) {\n return 'radio';\n } else if (field.dataType === 'integer') {\n return 'number';\n } else if (field.dataType === 'dateTime') {\n return 'date';\n } else if (field.dataFormat === 'daterange') {\n return 'dateRange';\n } else if (field.dataFormat === 'entry') {\n return 'entryPicker';\n } else {\n return 'textfield';\n }\n};\n\nconst initialSettings = {\n recaptcha: {\n siteKey: null\n }\n};\nconst initialFormData = {\n formId: null,\n data: {},\n fields: [],\n entries: [],\n fieldErrors: [],\n groups: [],\n defaultLanguage: null,\n pagingInfo: {\n pageIndex: 0,\n pageCount: 0,\n currentPageId: null\n },\n status: {\n isLoading: false,\n isSubmitting: false,\n hasSuccess: false,\n successMessage: null,\n hasError: false\n }\n};\nlet initialState = Map({\n settings: fromJS(initialSettings)\n});\nvar reducer = ((state = initialState, action) => {\n switch (action.type) {\n case SET_FORM_ID:\n return state.setIn([action.formId], initialFormData);\n\n case SET_FORM_DATA:\n {\n const fields = action.fields; //const fObj = {};\n\n fields.map(field => {\n field.type = MakeFieldType(field);\n });\n return state.setIn([fromJS(action.formId), 'fields'], fields).setIn([fromJS(action.formId), 'formId'], action.formId).setIn([fromJS(action.formId), 'groups'], action.groups).setIn([fromJS(action.formId), 'defaultLanguage'], action.defaultLanguage).setIn([fromJS(action.formId), 'status', 'isSubmitting'], false).setIn([fromJS(action.formId), 'status', 'hasSuccess'], false).setIn([fromJS(action.formId), 'status', 'hasError'], false);\n }\n\n case SET_CURRENT_PAGE:\n return state.setIn([action.formId, 'pagingInfo', 'currentPageId'], action.pageId).setIn([action.formId, 'pagingInfo', 'pageIndex'], action.pageIndex).setIn([action.formId, 'pagingInfo', 'pageCount'], action.pageCount);\n\n case SET_FIELD_VALUE:\n return state.setIn([action.formId, 'data', action.id], action.value);\n\n case SET_DEFAULT_FIELD_VALUE:\n return state.setIn([action.formId, 'data'], action.value);\n\n case SET_CHECKBOX_VALUE:\n {\n const prevState = state.getIn([action.formId, 'data', action.id]);\n let values = prevState ? prevState : [];\n\n if (action.isChecked) {\n values.push(action.value);\n } else {\n values = values.filter(value => value !== action.value);\n }\n\n return state.setIn([action.formId, 'data', action.id], values);\n }\n\n case SET_DATE_RANGE_VALUES:\n return state.setIn([action.formId, 'data', action.id, action.dateType], action.value);\n\n case SET_FIELD_ERROR:\n return state.setIn([action.formId, 'fieldErrors'], action.value);\n\n case SET_SUBMITTING_FORM:\n return state.setIn([fromJS(action.formId), 'status', 'isSubmitting'], action.isSubmitting);\n\n case SUBMIT_FORM_SUCCESS:\n return state.setIn([fromJS(action.formId), 'status', 'hasError'], false).setIn([fromJS(action.formId), 'status', 'isSubmitting'], false).setIn([fromJS(action.formId), 'status', 'hasSuccess'], true);\n\n case SET_SUCCESS_MESSAGE:\n return state.setIn([fromJS(action.formId), 'status', 'successMessage'], action.message);\n\n case SUBMIT_FORM_ERROR:\n return state.setIn([fromJS(action.formId), 'status', 'hasError'], true).setIn([fromJS(action.formId), 'status', 'isSubmitting'], false);\n\n case SET_FORM_ENTRIES:\n {\n const entries = action.entries;\n const eObj = {};\n entries.map(entry => {\n if (!entry) return null;\n eObj[entry.id] = entry.entries;\n return eObj;\n });\n return state.setIn([action.formId, 'entries'], eObj);\n }\n\n case SET_ERROR:\n return state.setIn([fromJS(action.formId), 'status', 'hasError'], true).setIn([fromJS(action.formId), 'status', 'isSubmitting'], false);\n\n default:\n return state;\n }\n});\n\nconst selectForms = state => state.getIn(['forms']);\nconst makeSelectIsLoading = formId => createSelector(selectForms, forms => forms.getIn([formId, 'status', 'isLoading']));\nconst makeSelectFormFields = formId => createSelector(selectForms, forms => forms.getIn([formId, 'fields']));\nconst makeSelectDefaultLang = formId => createSelector(selectForms, forms => forms.getIn([formId, 'defaultLanguage']));\nconst selectFieldErrors = (state, formId) => {\n return state.getIn(['forms', formId, 'fieldErrors']);\n};\nconst selectPostData = (state, formId) => {\n return state.getIn(['forms', formId, 'data']);\n};\nconst selectFormGroups = (state, formId) => {\n return state.getIn(['forms', formId, 'groups']);\n};\nconst selectPagingInfo = (state, formId) => {\n return state.getIn(['forms', formId, 'pagingInfo']);\n};\nconst selectFormStatus = (state, formId) => {\n return state.getIn(['forms', formId, 'status']);\n};\nconst selectPagedFields = formId => createSelector([selectForms], form => {\n const pagingInfo = form.getIn([formId, 'pagingInfo']);\n const fields = form.getIn([formId, 'fields']);\n\n if (fields && fields.length > 0 && pagingInfo && pagingInfo.pageCount > 1) {\n return fields.filter(f => f.groupId == pagingInfo.currentPageId);\n }\n\n return fields;\n});\nconst selectEntries = (state, formId) => {\n return state.getIn(['forms', formId, 'entries']);\n};\n\nconst URI = '/forms';\nconst getFormSchema = async formId => {\n var options = {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n };\n const getUrl = `${URI}/${formId}`;\n const schema = await request(getUrl, options);\n return schema;\n};\nconst getEntries = async (formObj, id) => {\n var options = {\n method: 'POST',\n headers: {\n Accept: '*/*',\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(formObj)\n };\n const entriesUrl = `${URI}/entries`;\n const entries = await request(entriesUrl, options);\n return {\n entries,\n id\n };\n};\nconst postForm = async formObj => {\n var options = {\n method: 'POST',\n headers: {\n Accept: '*/*',\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(formObj)\n };\n const submitted = await request(URI, options);\n return submitted;\n};\n\nconst request = async (url, options) => {\n return fetch(url, options).then(response => response.json()).then(result => {\n return result;\n }) // eslint-disable-next-line no-console\n .catch(error => console.log('error', error));\n};\n\nconst validateInput = (field, value) => {\n const isRequired = field.validations && field.validations.required;\n const minLength = field.validations && field.validations.minLength;\n const maxLength = field.validations && field.validations.maxLength;\n const regex = field.validations && field.validations.regex;\n const integer = field.dataType === 'integer';\n const decimal = field.dataType === 'decimal';\n\n if (isRequired && !value) {\n const errorMessage = isRequired.message ? isRequired.message['en-GB'] : `${field.id} is required`;\n return {\n fieldId: field.id,\n groupId: field.groupId,\n message: errorMessage\n };\n }\n\n if (minLength && minLength.value > value.length) {\n const errorMessage = minLength.message ? minLength.message['en-GB'] : `Minimum characters ${minLength.value}`;\n return {\n fieldId: field.id,\n groupId: field.groupId,\n message: errorMessage\n };\n }\n\n if (maxLength && maxLength.value < value.length) {\n const errorMessage = maxLength.message && maxLength.message['en-GB'] ? maxLength.message['en-GB'] : `Maximum characters ${maxLength.value}`;\n return {\n fieldId: field.id,\n groupId: field.groupId,\n message: errorMessage\n };\n }\n\n if (regex && value.length > 0) {\n //Had to make the string raw, as a string ususually is wrapped as '' and Regex couldnt use the regex patter as the string variant\n const regexPattern = RegExp(regex.pattern.raw);\n\n if (!regexPattern.test(value)) {\n const errorMessage = regex.message ? regex.message['en-GB'] : `${field.id} is invalid`;\n return {\n fieldId: field.id,\n groupId: field.groupId,\n message: errorMessage\n };\n }\n }\n\n if (integer) {\n const isInteger = value % 1 === 0;\n\n if (!isInteger) {\n const errorMessage = `${value} is not an ${field.dataType}`;\n return {\n fieldId: field.id,\n groupId: field.groupId,\n message: errorMessage\n };\n }\n }\n\n if (decimal) {\n const isDecimal = value % 1 !== 0;\n\n if (!isDecimal) {\n const errorMessage = `${value} is not an ${field.dataType}`;\n return {\n fieldId: field.id,\n groupId: field.groupId,\n message: errorMessage\n };\n }\n }\n};\n\nconst formV2Sagas = [takeEvery(SUBMIT_FORM_SUCCESS, formSuccess), takeEvery(SUBMIT_FORM_FOR_VALIDATION, validateForm), takeEvery(SUBMIT_FORM, submitForm$1), takeEvery(SET_FORM_ID, fetchForm), takeLatest(VALIDATE_FIELD, validateField$1), takeEvery(PAGE_FORWARD, togglePage), takeEvery(PAGE_BACK, togglePage), takeEvery(SET_FORM_DATA, getEntryPickerData), takeLatest(SET_FORM_DATA, setDefaultValueFields)];\n\nfunction* validateForm(action) {\n const {\n formId\n } = action;\n yield validateAllfields(formId);\n yield put({\n type: SUBMIT_FORM,\n formId\n });\n}\n\nfunction* validateField$1(action) {\n const {\n formId,\n id,\n value\n } = action;\n yield call(validateSingleField, formId, id, value);\n}\n\nfunction* validateGroupfields(formId, groupId) {\n const state = yield select();\n const postData = selectPostData(state, formId);\n const selectFormFields = makeSelectFormFields(formId);\n const fields = selectFormFields(state);\n const groupFields = fields.filter(f => f.groupid == groupId);\n let newErrors = [];\n groupFields.forEach(field => {\n let val = '';\n\n if (postData[field.id]) {\n val = postData[field.id];\n }\n\n const err = validateInput(field, val);\n if (err) newErrors.push(err);\n });\n yield put({\n type: SET_FIELD_ERROR,\n formId: formId,\n value: newErrors\n });\n}\n\nfunction* validateAllfields(formId) {\n const state = yield select();\n const postData = selectPostData(state, formId);\n const selectFormFields = makeSelectFormFields(formId);\n const fields = selectFormFields(state);\n let newErrors = [];\n fields.forEach(field => {\n let val = '';\n\n if (postData[field.id]) {\n val = postData[field.id];\n }\n\n const err = validateInput(field, val);\n if (err) newErrors.push(err);\n });\n yield put({\n type: SET_FIELD_ERROR,\n formId: formId,\n value: newErrors\n });\n}\n\nfunction* validateSingleField(formId, fieldId, value) {\n const state = yield select();\n const selectFormFields = makeSelectFormFields(formId);\n const fields = selectFormFields(state);\n const fieldData = fields.find(f => f.id == fieldId);\n const errors = selectFieldErrors(state, formId);\n const newErrors = []; //loop through current errors to remove any of the item we currently edit\n\n errors.forEach(error => {\n if (error.fieldId !== fieldId) {\n //push any existing errors to new array\n newErrors.push(error);\n }\n });\n const err = validateInput(fieldData, value);\n if (err) newErrors.push(err);\n yield put({\n type: SET_FIELD_ERROR,\n formId: formId,\n value: newErrors\n });\n}\n\nfunction* togglePage(action) {\n const {\n formId,\n pageIndex\n } = action;\n const state = yield select();\n const formGroups = selectFormGroups(state, formId);\n\n if (action.type === PAGE_FORWARD) {\n yield validateGroupfields(formId, formGroups[pageIndex].id);\n }\n\n yield put({\n type: SET_CURRENT_PAGE,\n formId: formId,\n pageId: formGroups[pageIndex].id,\n pageCount: formGroups.length,\n pageIndex: pageIndex\n });\n}\n\nfunction* fetchForm(action) {\n const formId = action.formId;\n const schema = yield getFormSchema(formId);\n const groups = schema.groups && schema.groups.length > 0 && schema.groups.filter(group => group.id !== 'private');\n\n if (formId && schema) {\n if (schema.groups && schema.groups.length > 0) {\n yield put({\n type: SET_CURRENT_PAGE,\n formId: formId,\n pageId: groups[0].id,\n pageIndex: 0,\n pageCount: groups.length\n });\n }\n\n yield put({\n type: SET_FORM_DATA,\n formId: formId,\n fields: schema.fields,\n groups: groups,\n defaultLanguage: schema.defaultLanguage\n });\n }\n}\n\nfunction* formSuccess(action) {\n const state = yield select();\n const selectFormFields = makeSelectFormFields(action.formId);\n const fields = selectFormFields(state);\n const redirect = fields.find(f => f.id === 'formSettingsRedirect');\n const message = fields.find(f => f.id === 'formSettingsMessage');\n\n if (redirect && redirect.default) {\n window.location.href = redirect.default['en-GB'];\n }\n\n if (message && message.default) {\n yield put({\n type: SET_SUCCESS_MESSAGE,\n message: message.default['en-GB'],\n formId: action.formId\n });\n }\n}\n\nfunction* submitForm$1(action) {\n const state = yield select();\n const errors = selectFieldErrors(state, action.formId);\n const canSubmit = errors && errors.length == 0;\n\n if (canSubmit) {\n yield put({\n type: SET_SUBMITTING_FORM,\n isSubmitting: true,\n formId: action.formId\n });\n const forms = yield select(selectForms);\n const rawData = forms.get(action.formId);\n const formObj = {\n contentType: action.formId,\n formPost: rawData.data\n };\n const formResObj = yield postForm(formObj);\n\n if (formResObj && formResObj.sys && formResObj.sys.id) {\n yield put({\n type: SUBMIT_FORM_SUCCESS,\n formId: action.formId\n });\n } else {\n yield put({\n type: SUBMIT_FORM_ERROR,\n formId: action.formId\n });\n }\n }\n}\n\nfunction* setDefaultValueFields(action) {\n const {\n formId,\n fields,\n defaultLanguage\n } = action;\n const entryId = yield select(state => state.getIn(['routing', 'entry', 'sys', 'id']));\n let fieldObj = {};\n fields.forEach(field => {\n if (field.dataType == 'string' && field.default) {\n const val = field.default[defaultLanguage];\n\n if (val) {\n fieldObj[field.id] = val;\n }\n }\n\n if (field.id == 'sourceEntry') {\n const val = entryId;\n\n if (val) {\n fieldObj[field.id] = val;\n }\n }\n });\n yield put({\n type: SET_DEFAULT_FIELD_VALUE,\n formId: formId,\n value: fieldObj\n });\n}\n\nfunction* getEntryPickerData(action) {\n const {\n formId,\n fields\n } = action;\n const entriesToGet = fields.filter(f => f.dataFormat == 'entry');\n let entriesList = [];\n\n if (entriesToGet) {\n entriesList = yield all(entriesToGet.map(entry => {\n const entriesObj = {\n contentType: entry.validations.allowedContentTypes.contentTypes,\n versionStatus: 'published',\n language: 'en-GB',\n pageSize: '10'\n };\n return call(getEntries, entriesObj, entry.id);\n }));\n yield put({\n type: SET_FORM_ENTRIES,\n formId: formId,\n entries: entriesList\n });\n }\n}\n\nconst toJS = WrappedComponent => wrappedComponentProps => {\n const KEY = 0;\n const VALUE = 1;\n const propsJS = Object.entries(wrappedComponentProps).reduce((newProps, wrappedComponentProp) => {\n newProps[wrappedComponentProp[KEY]] = Iterable.isIterable(wrappedComponentProp[VALUE]) ? wrappedComponentProp[VALUE].toJS() : wrappedComponentProp[VALUE];\n return newProps;\n }, {});\n return /*#__PURE__*/React.createElement(WrappedComponent, propsJS);\n};\n\n//Brand\nconst open_teal = '#37BFA7'; //Brand dark\n\nconst teal_dark = '#00a889'; //Primary\n\nconst accent_blue = '#1853AC';\nconst panel_blue = '#00304D'; //Neutrals\n\nconst base_white = '#FFF';\nconst empress_gray = '#757575';\nconst colors = {\n brand: open_teal,\n brandDark: teal_dark,\n primary: accent_blue,\n secondary: panel_blue,\n label: '#333',\n label_optional: '#666',\n border: '#ccc',\n message_link: '#333',\n success: '#118011',\n warning: '#FFB000',\n error: '#C63D54',\n required: '#C63D54',\n neutrals: {\n base_white,\n empress_gray\n }\n};\n\nconst FormStyled = styled.form.withConfig({\n displayName: \"Formstyled__FormStyled\",\n componentId: \"sc-1jn1lk9-0\"\n})([\"\", \";\"], ({\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\"> div:not(:first-child){margin-top:16px;}padding:0 16px;.success-message{font-size:18px;margin:0;}.visuallyHidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;}label{display:inline-block;.isRequired{color:\", \";}}input,textarea,select{display:block;font-family:inherit;background-color:\", \";border-radius:3px;border:1px solid \", \";height:40px;padding:8px;margin-top:4px;max-width:320px;width:100%;}textarea{height:200px;resize:none;}\"], colors.error, colors.neutrals.base_white, colors.border));\n});\n\nconst Label = ({\n className,\n label,\n id,\n isRequired,\n isHidden\n}) => {\n return /*#__PURE__*/React.createElement(\"label\", {\n className: `${className} ${isHidden ? 'visuallyHidden' : ''}`,\n htmlFor: id\n }, label, isRequired && /*#__PURE__*/React.createElement(\"span\", {\n className: \"isRequired\"\n }, \"*\"), isRequired && /*#__PURE__*/React.createElement(\"span\", {\n className: \"visuallyHidden\"\n }, \" (required)\"));\n};\n\nLabel.propTypes = {\n className: PropTypes.string,\n label: PropTypes.string,\n id: PropTypes.string,\n isRequired: PropTypes.bool,\n isHidden: PropTypes.bool\n};\n\nconst CreateMessage = (type, minLength, maxLength, currentLength, defaultLanguage) => {\n if (!type) return null;\n\n switch (type) {\n case 'min':\n {\n if (!minLength) return;\n const minLengthVal = minLength && minLength.value;\n const errorMessage = minLength && minLength.message && minLength.message[defaultLanguage];\n const minText = `Minimum of ${minLengthVal.toString()} characters`;\n\n if (errorMessage) {\n return errorMessage;\n } else {\n return minText;\n }\n }\n\n case 'max':\n {\n if (!maxLength) return;\n const maxLengthVal = maxLength && maxLength.value;\n const errorMessage = maxLength && maxLength.message && maxLength.message[defaultLanguage];\n const maxText = `Maximum of ${maxLengthVal.toString()} characters`;\n\n if (errorMessage) {\n return errorMessage;\n } else {\n return maxText;\n }\n }\n\n case 'between':\n {\n if (!maxLength || !minLength) return;\n const minLengthVal = minLength && minLength.value;\n const maxLengthVal = maxLength && maxLength.value;\n const errorMessage = minLength && minLength.message && minLength.message[defaultLanguage];\n const rangeText = `Between ${minLengthVal.toString()}-${maxLengthVal.toString()} characters)`;\n\n if (errorMessage) {\n return errorMessage;\n } else if (currentLength < minLengthVal) {\n return `${(minLengthVal - currentLength).toString()} character${minLengthVal > 1 ? 's' : ''} required ${rangeText}`;\n } else if (currentLength > maxLengthVal) {\n return `${(currentLength - maxLengthVal).toString()} character${currentLength - maxLengthVal > 1 ? 's' : ''} over ${rangeText}`;\n } else if (currentLength) {\n return `${(maxLengthVal - currentLength).toString()} characters remaining ${rangeText}`;\n } else {\n return rangeText;\n }\n }\n\n default:\n return null;\n }\n};\n\nconst CharacterLimitStyled = styled.div.withConfig({\n displayName: \"CharacterLimit__CharacterLimitStyled\",\n componentId: \"sc-16zngav-0\"\n})([\"\", \";\"], ({\n theme,\n useDefaultTheme\n}) => {\n return css([\"display:block;\", \"\"], useDefaultTheme && css([\"font-size:14px;color:\", \";font-weight:400;line-height:24px;text-align:right;max-width:320px;width:100%;\"], theme.colors.neutrals.empress_gray));\n});\n\nconst CharacterLimit = ({\n className,\n value,\n validations,\n defaultLanguage,\n useDefaultTheme\n}) => {\n if (!validations) return null;\n let valueAsString = typeof value === 'number' ? value.toString() : value;\n const currentLength = valueAsString && valueAsString.length ? valueAsString.length : 0;\n const {\n minLength,\n maxLength\n } = validations;\n const hasMaxLength = maxLength && !minLength;\n const hasMinLength = minLength && !maxLength;\n const hasInBetween = minLength && maxLength;\n const type = hasMinLength ? 'min' : hasMaxLength ? 'max' : hasInBetween ? 'between' : null;\n if (!type) return null;\n return /*#__PURE__*/React.createElement(CharacterLimitStyled, {\n className: className,\n useDefaultTheme: useDefaultTheme\n }, CreateMessage(type, minLength, maxLength, currentLength, defaultLanguage));\n};\n\nCharacterLimit.propTypes = {\n validations: PropTypes.object,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n className: PropTypes.string,\n defaultLanguage: PropTypes.string,\n useDefaultTheme: PropTypes.bool\n};\n\nconst ErrorMessageStyled = styled.div.withConfig({\n displayName: \"ErrorMessage__ErrorMessageStyled\",\n componentId: \"sc-1vewdiu-0\"\n})([\"\", \";\"], ({\n theme,\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\"display:block;margin-top:8px;color:\", \";\"], theme.colors.error));\n});\n\nconst ErrorMessage = ({\n className,\n message,\n useDefaultTheme\n}) => {\n return /*#__PURE__*/React.createElement(ErrorMessageStyled, {\n className: className,\n useDefaultTheme: useDefaultTheme\n }, message);\n};\n\nErrorMessage.propTypes = {\n className: PropTypes.string,\n message: PropTypes.string.isRequired,\n useDefaultTheme: PropTypes.bool\n};\n\nconst TextfieldStyled = styled.div.withConfig({\n displayName: \"Textfield__TextfieldStyled\",\n componentId: \"sc-1a1c03n-0\"\n})([\"\", \";\"], ({\n isHidden\n}) => {\n return css([\"display:\", \";\"], isHidden ? 'none' : 'block');\n});\n\nconst Textfield = ({\n className,\n formId,\n id,\n label,\n type,\n setValue,\n validateField,\n validations,\n defaultValue,\n defaultLanguage,\n placeholder,\n isHidden,\n errors,\n useDefaultTheme\n}) => {\n const [showCharLimit, setShowCharLimit] = useState(false);\n const isRequired = validations && validations.required ? true : false;\n const placeholderText = placeholder && placeholder.properties && placeholder.properties.placeholderText && placeholder.properties.placeholderText[defaultLanguage];\n const defaultValueText = defaultValue && defaultValue[defaultLanguage] ? defaultValue[defaultLanguage] : defaultValue;\n\n const _handleChange = (formId, id, value) => {\n setValue(formId, id, value);\n };\n\n const _handleBlur = (formId, id, value) => {\n validateField(formId, id, value);\n setShowCharLimit(false);\n };\n\n const _handleFocus = () => {\n setShowCharLimit(true);\n };\n\n return /*#__PURE__*/React.createElement(TextfieldStyled, {\n className: \"textfield-container\",\n isHidden: isHidden\n }, /*#__PURE__*/React.createElement(Label, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: \"label-textfield\"\n }), showCharLimit && /*#__PURE__*/React.createElement(CharacterLimit, {\n value: defaultValue,\n validations: validations,\n defaultLanguage: defaultLanguage,\n useDefaultTheme: useDefaultTheme\n }), /*#__PURE__*/React.createElement(\"input\", {\n className: `${className ? className : ''} input-textfield`,\n type: type,\n defaultValue: defaultValueText,\n placeholder: placeholderText,\n id: id,\n name: id,\n onChange: e => _handleChange(formId, id, e.target.value),\n onBlur: e => _handleBlur(formId, id, e.target.value),\n onFocus: () => _handleFocus()\n }), errors && errors.length > 0 && errors.some(x => x.fieldId == id) && /*#__PURE__*/React.createElement(ErrorMessage, {\n message: errors.find(x => x.fieldId == id).message,\n useDefaultTheme: useDefaultTheme\n }));\n};\n\nTextfield.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.string,\n type: PropTypes.string,\n setValue: PropTypes.func,\n validateField: PropTypes.func,\n validations: PropTypes.object,\n defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n defaultLanguage: PropTypes.string,\n placeholder: PropTypes.object,\n isHidden: PropTypes.bool,\n errors: PropTypes.array,\n useDefaultTheme: PropTypes.bool\n};\n\nconst Textarea = ({\n className,\n formId,\n id,\n label,\n type,\n setValue,\n validations,\n defaultValue,\n defaultLanguage,\n placeholder,\n validateField,\n useDefaultTheme,\n errors\n}) => {\n const [showCharLimit, setShowCharLimit] = useState(false);\n const isRequired = validations && validations.required ? true : false;\n const placeholderText = placeholder && placeholder.properties && placeholder.properties.placeholderText && placeholder.properties.placeholderText[defaultLanguage];\n const defaultValueText = defaultValue ? defaultValue[defaultLanguage] : null;\n\n const _handleChange = (formId, id, value) => {\n setValue(formId, id, value);\n };\n\n const _handleBlur = (formId, id, value) => {\n validateField(formId, id, value);\n setShowCharLimit(false);\n };\n\n const _handleFocus = () => {\n setShowCharLimit(true);\n };\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"textarea-container\"\n }, /*#__PURE__*/React.createElement(Label, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: \"label-textarea\"\n }), showCharLimit && /*#__PURE__*/React.createElement(CharacterLimit, {\n value: defaultValue,\n validations: validations,\n defaultLanguage: defaultLanguage,\n useDefaultTheme: useDefaultTheme\n }), /*#__PURE__*/React.createElement(\"textarea\", {\n className: `${className ? className : ''} input-textarea`,\n type: type,\n id: id,\n defaultValue: defaultValueText,\n placeholder: placeholderText,\n onChange: e => _handleChange(formId, id, e.target.value),\n onBlur: e => _handleBlur(formId, id, e.target.value),\n onFocus: () => _handleFocus()\n }), errors && errors.length > 0 && errors.some(x => x.fieldId == id) && /*#__PURE__*/React.createElement(ErrorMessage, {\n message: errors.find(x => x.fieldId == id).message,\n useDefaultTheme: useDefaultTheme\n }));\n};\n\nTextarea.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.string,\n type: PropTypes.string,\n setValue: PropTypes.func,\n validations: PropTypes.object,\n defaultValue: PropTypes.object,\n defaultLanguage: PropTypes.string,\n placeholder: PropTypes.object,\n validateField: PropTypes.func,\n useDefaultTheme: PropTypes.bool,\n errors: PropTypes.array\n};\n\nconst HiddenField = ({\n className,\n id,\n label,\n type,\n defaultValue,\n defaultLanguage,\n placeholder\n}) => {\n return /*#__PURE__*/React.createElement(Textfield, {\n type: type,\n label: label,\n id: id,\n defaultValue: defaultValue,\n defaultLanguage: defaultLanguage,\n placeholder: placeholder,\n className: className,\n isHidden: true\n });\n};\n\nHiddenField.propTypes = {\n className: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.string,\n type: PropTypes.string,\n defaultValue: PropTypes.object,\n defaultLanguage: PropTypes.string,\n placeholder: PropTypes.object\n};\n\nconst Dropdown = ({\n className,\n formId,\n id,\n validations,\n defaultValue,\n defaultLanguage,\n label,\n setValue\n}) => {\n if (!validations) return null;\n const isRequired = validations && validations.required ? true : false;\n const ddValues = validations && validations.allowedValues && validations.allowedValues.values;\n\n const _handleChange = (formId, id, value) => {\n setValue(formId, id, value);\n };\n\n if (!ddValues || ddValues.length < 1) return null;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"dropdown-container\"\n }, /*#__PURE__*/React.createElement(Label, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: \"label-dropdown\"\n }), /*#__PURE__*/React.createElement(\"select\", {\n name: id,\n id: id,\n className: `${className ? className : ''} select-dropdown`,\n defaultValue: defaultValue,\n onBlur: e => _handleChange(formId, id, e.target.value)\n }, ddValues.map((val, idx) => {\n return /*#__PURE__*/React.createElement(\"option\", {\n key: `${val[defaultLanguage]}-${idx}`,\n value: val[defaultLanguage],\n className: \"option-dropdown\"\n }, val[defaultLanguage]);\n })));\n};\n\nDropdown.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n setValue: PropTypes.func,\n id: PropTypes.string,\n validations: PropTypes.object,\n defaultValue: PropTypes.string,\n label: PropTypes.string,\n defaultLanguage: PropTypes.string\n};\n\nconst CheckboxStyled = styled.div.withConfig({\n displayName: \"Checkbox__CheckboxStyled\",\n componentId: \"s8ewuf-0\"\n})([\"\", \";\"], ({\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\".checkbox-wrapper{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;input{height:auto;width:auto;margin:0 4px 0 0;}label{display:inline-block;}}\"]));\n});\n\nconst Checkbox = ({\n className,\n formId,\n setCheckboxValue,\n id,\n type,\n label,\n validations,\n defaultValue,\n name,\n defaultLanguage,\n useDefaultTheme\n}) => {\n // NF change rules of hooks\n let isDefaultChecked = defaultValue && defaultValue[defaultLanguage];\n const [isChecked, setIsChecked] = useState(isDefaultChecked || '');\n\n switch (type) {\n case 'multiple':\n {\n if (!validations) return null;\n const isRequired = validations && validations.required ? true : false;\n const cbValues = validations && validations.allowedValues && validations.allowedValues.values;\n\n const _handleChange = (value, isChecked) => {\n setCheckboxValue(formId, id, value, isChecked);\n };\n\n if (!cbValues || cbValues.length < 1) return null;\n return /*#__PURE__*/React.createElement(CheckboxStyled, {\n className: `checkbox-container`,\n useDefaultTheme: useDefaultTheme\n }, /*#__PURE__*/React.createElement(Label, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: \"label-checkbox-container\"\n }), cbValues.map((val, idx) => {\n return /*#__PURE__*/React.createElement(\"span\", {\n key: idx,\n className: \"checkbox-wrapper\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: \"checkbox\",\n id: `checkbox-${idx}`,\n name: `checkbox-${idx}`,\n value: val[defaultLanguage],\n className: `${className ? className : ''} input-checkbox`,\n onChange: e => _handleChange(e.target.value, e.target.checked)\n }), /*#__PURE__*/React.createElement(Label, {\n id: `checkbox-${idx}`,\n label: val[defaultLanguage],\n className: \"label-checkbox\"\n }));\n }));\n }\n\n case 'single':\n {\n const _handleChange = isChecked => {\n setIsChecked(isChecked);\n setCheckboxValue(formId, id, isChecked);\n };\n\n return /*#__PURE__*/React.createElement(CheckboxStyled, {\n className: `checkbox-container`,\n useDefaultTheme: useDefaultTheme\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"checkbox-wrapper\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: \"checkbox\",\n id: id,\n name: `checkbox-${id}`,\n value: name[defaultLanguage],\n checked: isChecked,\n className: `${className ? className : ''} input-checkbox`,\n onChange: e => _handleChange(e.target.checked)\n }), /*#__PURE__*/React.createElement(Label, {\n id: id,\n label: label,\n className: \"label-checkbox\"\n })));\n }\n }\n};\n\nCheckbox.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n id: PropTypes.string,\n type: PropTypes.string,\n label: PropTypes.string,\n setCheckboxValue: PropTypes.func,\n validations: PropTypes.object,\n defaultLanguage: PropTypes.string,\n name: PropTypes.object,\n default: PropTypes.object\n};\n\nconst RadioButtonStyled = styled.div.withConfig({\n displayName: \"RadioButton__RadioButtonStyled\",\n componentId: \"sc-7y8c21-0\"\n})([\"\", \";\"], ({\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\".radio-wrapper{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;input{height:auto;width:auto;margin:0 4px 0 0;}label{display:inline-block;}}\"]));\n});\n\nconst RadioButton = ({\n className,\n formId,\n setValue,\n id,\n type,\n label,\n validations,\n defaultLanguage,\n useDefaultTheme\n}) => {\n if (!validations) return null;\n const isRequired = validations && validations.required ? true : false;\n const cbValues = validations && validations.allowedValues && validations.allowedValues.values;\n\n const _handleChange = (formId, id, value) => {\n setValue(formId, id, value);\n };\n\n if (!cbValues || cbValues.length < 1) return null;\n return /*#__PURE__*/React.createElement(RadioButtonStyled, {\n className: \"radio-container\",\n useDefaultTheme: useDefaultTheme\n }, /*#__PURE__*/React.createElement(Label, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: \"label-radio-container\"\n }), cbValues.map((val, idx) => {\n return /*#__PURE__*/React.createElement(\"span\", {\n key: idx,\n className: \"radio-wrapper\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: type,\n id: val[defaultLanguage],\n name: id,\n value: val[defaultLanguage],\n className: `${className ? className : ''} input-radio`,\n onChange: e => _handleChange(formId, id, e.target.value)\n }), /*#__PURE__*/React.createElement(Label, {\n id: val[defaultLanguage],\n label: val[defaultLanguage],\n className: \"label-radio\"\n }));\n }));\n};\n\nRadioButton.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n setValue: PropTypes.func,\n id: PropTypes.string,\n type: PropTypes.string,\n label: PropTypes.string,\n validations: PropTypes.object,\n defaultLanguage: PropTypes.string,\n useDefaultTheme: PropTypes.bool\n};\n\n//example date string: 2019-01-02T13:05:00 (expects ISO 8601 Datetime format yyyy-mm-ddThh:mm:ss [this is the format returned from Contensis delivery api])\n//yyyy > year long, eg. 2019\n//yy > year short, eg. 19\n//MMMM > month long, eg. January\n//MMM > month short, eg. Jan\n//MM > month with leading 0, eg. 01\n//M > month, eg. 1\n//dddd > day long, eg. Monday\n//ddd > day short, eg. Mon\n//dd > date with leading 0, eg. 02\n//d > date, eg. 2\n//HH > 24 hour clock hour parameter with leading 0, eg. ...T03:05:00 = 03\n//H > 24 hour clock hour parameter, eg. ...T03:05:00 = 3\n//hh > 12 hour clock hour parameter with leading 0, eg. ...T16:05:00 = 04\n//h > 12 hour clock hour parameter, eg. ...T16:05:00 = 4\n//mm > minutes with leading 0, eg. ...T16:05:00 = 05\n//m > minutes, eg ...T16:05:00 = 5\n//t > abbreviated AM / PM, e.g. A or P\n//tt > AM / PM, e.g. AM or PM\nconst formatDate = (date, format = 'dd MMMM yyyy') => {\n if (!date) return null;\n const dateObj = new Date(date);\n const dateString = date.toString().split('T');\n const dateArr = dateString[0].split('-');\n const year = dateArr[0];\n const month = dateArr[1];\n const day = dateArr[2];\n const dayNameInt = dateObj.getDay();\n const timeArr = dateString[1].split(':');\n const hour = timeArr[0];\n const minute = timeArr[1]; //convert to abstract strings to avoid character replacement along the chain, eg. Monday would match 'M' month single parameter\n\n const YEAR = ['&&', '&'];\n const MONTH = ['££££', '£££', '££', '£'];\n const DAY = ['%%%%', '%%%', '%%', '%'];\n const HOUR24 = ['!!', '!'];\n const HOUR12 = ['^^', '^'];\n const MINUTE = ['**', '*'];\n const TF = ['??', '?'];\n let formattedDate = format.replace('yyyy', YEAR[0]).replace('yy', YEAR[1]).replace('y', '') //'y' && 'yyy' not valid\n .replace('MMMM', MONTH[0]).replace('MMM', MONTH[1]).replace('MM', MONTH[2]).replace('M', MONTH[3]).replace('dddd', DAY[0]).replace('ddd', DAY[1]).replace('dd', DAY[2]).replace('d', DAY[3]).replace('HH', HOUR24[0]).replace('H', HOUR24[1]).replace('hh', HOUR12[0]).replace('h', HOUR12[1]).replace('mm', MINUTE[0]).replace('m', MINUTE[1]).replace('tt', TF[0]).replace('t', TF[1]).replace(YEAR[0], year).replace(YEAR[1], year.slice(-2)).replace(MONTH[0], monthsLong[parseInt(month, 10)]).replace(MONTH[1], monthsShort[parseInt(month, 10)]).replace(MONTH[2], month).replace(MONTH[3], parseInt(month, 10)).replace(DAY[0], daysLong[dayNameInt]).replace(DAY[1], daysShort[dayNameInt]).replace(DAY[2], day).replace(DAY[3], parseInt(day, 10)).replace(HOUR24[0], hour).replace(HOUR24[1], parseInt(hour, 10)).replace(HOUR12[0], parseHour(hour)).replace(HOUR12[1], parseInt(parseHour(hour), 10)).replace(MINUTE[0], minute).replace(MINUTE[1], parseInt(minute, 10)).replace(TF[0], parseTF(hour)).replace(TF[1], parseTF(hour).slice(0, -1));\n return formattedDate;\n};\n\nconst monthsShort = ['', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\nconst monthsLong = ['', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\nconst daysShort = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\nconst daysLong = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\n\nconst parseHour = hour => {\n return hour > 12 ? hour - 12 : hour;\n};\n\nconst parseTF = hour => {\n return hour > 11 ? 'PM' : 'AM';\n};\n\nconst SingleDate = ({\n className,\n type,\n id,\n label,\n validations,\n setValue,\n formId\n}) => {\n const isRequired = validations && validations.required ? true : false;\n const onlyPassedDates = validations && validations.pastDateTime;\n const d = new Date();\n const todaysDate = d.toISOString();\n\n const _handleChange = (formId, id, value) => {\n const d = new Date(value);\n const isoDate = d.toISOString();\n setValue(formId, id, isoDate);\n };\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"date-container\"\n }, /*#__PURE__*/React.createElement(Label, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: \"label-date\"\n }), /*#__PURE__*/React.createElement(\"input\", {\n type: type,\n id: id,\n name: id,\n className: `${className ? className : ''} input-date`,\n max: onlyPassedDates ? formatDate(todaysDate, 'yyyy-MM-dd') : '',\n onChange: e => _handleChange(formId, id, e.target.value)\n }));\n};\n\nSingleDate.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n setValue: PropTypes.func,\n type: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.string,\n validations: PropTypes.object\n};\n\nconst DateRangeStyled = styled.div.withConfig({\n displayName: \"DateRange__DateRangeStyled\",\n componentId: \"hnzg32-0\"\n})([\"\", \";\"], ({\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\".daterange-wrapper{display:flex;flex-direction:column;input{&:first-child{margin:0 0 8px 0;}}}\"]));\n});\n\nconst DateRange = ({\n className,\n id,\n label,\n validations,\n setDateRangeValues,\n formId,\n useDefaultTheme\n}) => {\n const isRequired = validations && validations.required ? true : false;\n const onlyPassedDates = validations && validations.pastDateTime;\n const d = new Date();\n const todaysDate = d.toISOString();\n const [toDate, setToDate] = useState('');\n const [fromDate, setFromDate] = useState('');\n\n const _handleDateChange = (dateType, formId, id, value) => {\n _updateDateProps(dateType, value);\n\n const d = new Date(value);\n const isoDate = d.toISOString();\n setDateRangeValues(formId, id, dateType, isoDate);\n };\n\n const _updateDateProps = (type, date) => {\n switch (type) {\n case 'from':\n {\n const d = new Date(date);\n const newDate = d.toISOString();\n setFromDate(newDate);\n break;\n }\n\n case 'to':\n {\n const d = new Date(date);\n const newDate = d.toISOString();\n setToDate(newDate);\n break;\n }\n\n default:\n return;\n }\n };\n\n return /*#__PURE__*/React.createElement(DateRangeStyled, {\n className: `daterange-container`,\n useDefaultTheme: useDefaultTheme\n }, /*#__PURE__*/React.createElement(Label, {\n id: id,\n label: label,\n isRequired: isRequired\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"daterange-wrapper\"\n }, /*#__PURE__*/React.createElement(Label, {\n id: \"date-from\",\n label: \"Date from\",\n isHidden: true,\n className: \"label-daterange\"\n }), /*#__PURE__*/React.createElement(\"input\", {\n type: \"date\",\n id: \"date-from\",\n name: id,\n max: onlyPassedDates && !toDate ? formatDate(todaysDate, 'yyyy-MM-dd') : onlyPassedDates && toDate ? formatDate(toDate, 'yyyy-MM-dd') : toDate ? formatDate(toDate, 'yyyy-MM-dd') : '',\n className: `${className ? className : ''} input-daterange`,\n onChange: e => _handleDateChange('from', formId, id, e.target.value)\n }), /*#__PURE__*/React.createElement(Label, {\n id: \"date-to\",\n label: \"Date to\",\n isHidden: true,\n className: \"label-daterange\"\n }), /*#__PURE__*/React.createElement(\"input\", {\n type: \"date\",\n id: \"date-to\",\n name: id,\n max: onlyPassedDates ? formatDate(todaysDate, 'yyyy-MM-dd') : '',\n min: formatDate(fromDate, 'yyyy-MM-dd'),\n className: `${className ? className : ''} input-daterange`,\n onChange: e => _handleDateChange('to', formId, id, e.target.value)\n })));\n};\n\nDateRange.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n setDateRangeValues: PropTypes.func,\n type: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.string,\n validations: PropTypes.object,\n useDefaultTheme: PropTypes.bool\n};\n\nconst EntryPickerStyled = styled.div.withConfig({\n displayName: \"EntryPicker__EntryPickerStyled\",\n componentId: \"svnu18-0\"\n})([\"\", \";\"], ({\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\".radio-wrapper,.checkbox-wrapper{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;input{height:auto;width:auto;margin:0 4px 0 0;}label{display:inline-block;}}\"]));\n});\n\nconst EntryPicker = ({\n className,\n results,\n id,\n label,\n validations,\n type,\n useDefaultTheme,\n setValue,\n formId\n}) => {\n if (!results || results.length > 3) return null;\n const isRequired = validations && validations.required ? true : false;\n let valArr = [];\n\n const _handleChange = (formId, id, value, isChecked) => {\n if (type === 'checkbox') {\n if (isChecked) {\n valArr.push(value);\n } else if (!isChecked) {\n valArr = valArr.filter(valItem => valItem !== value);\n }\n\n setValue(formId, id, valArr);\n } else {\n setValue(formId, id, value);\n }\n };\n\n return /*#__PURE__*/React.createElement(EntryPickerStyled, {\n className: `${type}-container`,\n useDefaultTheme: useDefaultTheme\n }, /*#__PURE__*/React.createElement(Label, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: `label-${type}-container`\n }), results.map((res, idx) => {\n return /*#__PURE__*/React.createElement(\"span\", {\n key: idx,\n className: `${type}-wrapper`\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: type,\n id: res.entryTitle,\n value: res.entryTitle,\n name: id,\n className: `${className ? className : ''} input-${type}`,\n onChange: e => _handleChange(formId, id, e.target.value, e.target.checked)\n }), /*#__PURE__*/React.createElement(Label, {\n id: res.entryTitle,\n label: res.entryTitle,\n className: `label-${type}`\n }));\n }));\n};\n\nEntryPicker.propTypes = {\n className: PropTypes.string,\n results: PropTypes.array,\n id: PropTypes.string,\n label: PropTypes.string,\n validations: PropTypes.object,\n type: PropTypes.string,\n useDefaultTheme: PropTypes.bool,\n setValue: PropTypes.func,\n formId: PropTypes.string\n};\n\nconst FormComposer = ({\n fields,\n formData,\n formId,\n setValue,\n setDateRangeValues,\n validateField,\n defaultLanguage,\n errors,\n useDefaultTheme,\n entries,\n setCheckboxValue\n}) => {\n if (!fields || fields.length < 1) return null; //const arrayOfFields = Object.entries(fields).map(f => f[1]);\n\n return fields.map((field, idx) => {\n if (!field) return null;\n\n switch (field.type) {\n case 'number':\n case 'textfield':\n {\n return /*#__PURE__*/React.createElement(Textfield, {\n key: `${field.id}-${idx}`,\n type: field.type,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n formId: formId,\n setValue: setValue,\n validations: field.validations,\n validateField: validateField,\n defaultLanguage: defaultLanguage,\n defaultValue: formData && formData[field.id] || field.default,\n placeholder: field.editor,\n errors: errors,\n useDefaultTheme: useDefaultTheme\n });\n }\n\n case 'textarea':\n {\n return /*#__PURE__*/React.createElement(Textarea, {\n key: `${field.id}-${idx}`,\n type: field.type,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n formId: formId,\n setValue: setValue,\n validations: field.validations,\n defaultLanguage: defaultLanguage,\n defaultValue: field.default,\n placeholder: field.editor,\n validateField: validateField,\n useDefaultTheme: useDefaultTheme,\n errors: errors\n });\n }\n\n case 'dropdown':\n {\n return /*#__PURE__*/React.createElement(Dropdown, {\n key: `${field.id}-${idx}`,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n validations: field.validations,\n defaultLanguage: defaultLanguage,\n defaultValue: field.default,\n formId: formId,\n setValue: setValue,\n useDefaultTheme: useDefaultTheme\n });\n }\n\n case 'checkbox':\n {\n return /*#__PURE__*/React.createElement(Checkbox, {\n key: `${field.id}-${idx}`,\n id: field.id,\n name: field.name,\n label: field.name && field.name[defaultLanguage],\n validations: field.validations,\n defaultLanguage: defaultLanguage,\n setValue: setValue,\n formId: formId,\n defaultValue: formData && formData[field.id] || field.default,\n type: field.dataType === 'boolean' ? 'single' : 'multiple',\n useDefaultTheme: useDefaultTheme,\n setCheckboxValue: setCheckboxValue\n });\n }\n\n case 'radio':\n {\n return /*#__PURE__*/React.createElement(RadioButton, {\n key: `${field.id}-${idx}`,\n id: field.id,\n type: field.type,\n formId: formId,\n setValue: setValue,\n label: field.name && field.name[defaultLanguage],\n validations: field.validations,\n defaultLanguage: defaultLanguage,\n useDefaultTheme: useDefaultTheme\n });\n }\n\n case 'entryPicker':\n {\n const type = field.dataType === 'objectArray' ? 'checkbox' : 'radio';\n const results = entries && entries[field.id] && entries[field.id].items;\n return /*#__PURE__*/React.createElement(EntryPicker, {\n key: `${field.id}-${idx}`,\n type: type,\n results: results,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n useDefaultTheme: useDefaultTheme,\n setValue: setValue,\n validateField: validateField,\n formId: formId\n });\n }\n\n case 'date':\n {\n return /*#__PURE__*/React.createElement(SingleDate, {\n key: `${field.id}-${idx}`,\n type: field.type,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n validations: field.validations,\n formId: formId,\n setValue: setValue,\n useDefaultTheme: useDefaultTheme\n });\n }\n\n case 'dateRange':\n {\n return /*#__PURE__*/React.createElement(DateRange, {\n key: `${field.id}-${idx}`,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n validations: field.validations,\n formId: formId,\n setDateRangeValues: setDateRangeValues,\n useDefaultTheme: useDefaultTheme\n });\n }\n\n case 'hidden':\n {\n return /*#__PURE__*/React.createElement(HiddenField, {\n key: `${field.id}-${idx}`,\n type: field.type,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n defaultLanguage: defaultLanguage,\n defaultValue: field.default,\n placeholder: field.editor\n });\n }\n }\n });\n};\n\nFormComposer.propTypes = {\n fields: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n formData: PropTypes.object,\n entries: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n formId: PropTypes.string,\n setValue: PropTypes.func,\n validateField: PropTypes.func,\n setDateRangeValues: PropTypes.func,\n defaultLanguage: PropTypes.string,\n errors: PropTypes.array,\n useDefaultTheme: PropTypes.bool,\n setCheckboxValue: PropTypes.func\n};\n\nconst ButtonStyled = styled.button.withConfig({\n displayName: \"Button__ButtonStyled\",\n componentId: \"hr2oup-0\"\n})([\"\", \";\"], ({\n theme,\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\"display:inline-block;cursor:pointer;margin:16px 0 0 0;padding:8px 16px;border-radius:3px;border:1px solid \", \";font-family:inherit;transition:opacity 200ms ease;&:hover{opacity:0.7;}\"], theme.colors.border));\n});\n\nconst Button = ({\n className,\n type,\n text,\n action,\n useDefaultTheme\n}) => {\n return /*#__PURE__*/React.createElement(ButtonStyled, {\n className: `${className ? className : ''} btnSubmit`,\n type: type,\n onClick: () => action(),\n useDefaultTheme: useDefaultTheme\n }, text);\n};\nButton.propTypes = {\n className: PropTypes.string,\n type: PropTypes.string,\n text: PropTypes.string,\n action: PropTypes.func,\n useDefaultTheme: PropTypes.bool\n};\n\nconst ThemeContext = createContext();\n\nconst ThemeProvider = ({\n children,\n theme\n}) => {\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, null, /*#__PURE__*/React.createElement(ThemeProvider$1, {\n theme: theme\n }, children));\n};\n\nThemeProvider.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n theme: PropTypes.object\n};\n\nconst mediaQueriesNoUnit = {\n s: 470,\n ms: 640,\n m: 768,\n ml: 880,\n l: 1024,\n xl: 1200,\n xxl: 1366,\n wide: 1600\n};\nconst mediaQueries = {\n small: mediaQueriesNoUnit.s + 'px',\n msmall: mediaQueriesNoUnit.ms + 'px',\n medium: mediaQueriesNoUnit.m + 'px',\n mlarge: mediaQueriesNoUnit.ml + 'px',\n large: mediaQueriesNoUnit.l + 'px',\n xlarge: mediaQueriesNoUnit.xl + 'px',\n xxlarge: mediaQueriesNoUnit.xxl + 'px',\n wide: mediaQueriesNoUnit.wide + 'px'\n};\nconst layout = {\n mediaQueries: mediaQueries\n};\n\nconst fontFamily = {\n Poppins: `'Poppins', Arial, sans-serif`\n}; //use html tag name as object key\n//use default object key for base styles\n//use media query key that corresponds with keys set on mediaQueries object from ./layout to map to relevant screen sizes\n//uses a mobile first approach to rules\n\nconst typography = {\n default: {\n color: colors.label,\n font_family: fontFamily.Poppins,\n font_style: 'normal',\n font_weight: 400,\n font_size: '18px',\n line_height: 1.75\n }\n};\nconst defaultStyles = typography.default;\nconst typographyStyles = {\n defaultStyles\n}; // function generateTypeStyles(obj) {\n// return Object.keys(obj)\n// .map(mq => {\n// const props = generateProps(obj[mq]);\n// if (mq === 'default') {\n// return `${props.join(' ')}`;\n// } else {\n// return `@media only screen and (min-width:${\n// mediaQueries[mq]\n// }){${props.join('')}}`;\n// }\n// })\n// .join('');\n// }\n// function generateProps(objMQ) {\n// let props = [];\n// Object.keys(objMQ).map(prop => {\n// props.push(`${prop.split('_').join('-')}: ${objMQ[prop]};`);\n// });\n// return props;\n// }\n\nconst defaultTheme = {\n layout,\n typographyStyles,\n typography,\n colors\n};\n\nconst divStyles = {\n display: 'flex',\n height: '100vh',\n alignItems: 'center',\n justifyContent: 'center',\n flexDirection: 'Column'\n};\nconst svgStyles = {\n width: '80px',\n height: '80px'\n};\nconst headingStyles = {\n margin: '0',\n fontSize: '16px'\n};\nconst Loading = () => {\n return /*#__PURE__*/React.createElement(\"div\", {\n style: divStyles\n }, /*#__PURE__*/React.createElement(\"h3\", {\n style: headingStyles\n }, \"Loading...\"), /*#__PURE__*/React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n className: \"lds-spinner\",\n preserveAspectRatio: \"xMidYMid\",\n viewBox: \"0 0 100 100\",\n style: svgStyles\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.9166666666666666s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(30 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.8333333333333334s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(60 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.75s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(90 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.6666666666666666s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(120 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.5833333333333334s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(150 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.5s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(180 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.4166666666666667s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(210 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.3333333333333333s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(240 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.25s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(270 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.16666666666666666s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(300 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.08333333333333333s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(330 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"0s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n }))));\n};\nLoading.propTypes = {};\n\nconst Form$1 = ({\n className,\n formId,\n fields,\n formData,\n setFormId,\n setValue,\n validateField,\n defaultLanguage,\n errors,\n pagingInfo,\n togglePageForward,\n togglePageBack,\n submitForm,\n status,\n setDateRangeValues,\n useDefaultTheme,\n entries,\n customSubmit,\n setCheckboxValue\n}) => {\n useEffect(() => {\n setFormId(formId);\n }, [formId, setFormId]); // NF change rule of hooks\n\n if (!formId) return null;\n let formRender;\n\n if (pagingInfo && pagingInfo.pageCount > 1) {\n const isLastPage = pagingInfo.pageCount == pagingInfo.pageIndex + 1;\n formRender = /*#__PURE__*/React.createElement(FormStyled, {\n className: className,\n id: formId,\n useDefaultTheme: useDefaultTheme\n }, status && status.isLoading || status && status.isSubmitting && /*#__PURE__*/React.createElement(Loading, {\n className: \"loading\"\n }), !status || status && !status.isLoading && !status.isSubmitting && !status.hasSuccess && /*#__PURE__*/React.createElement(React.Fragment, null, pagingInfo.pageIndex > 0 && /*#__PURE__*/React.createElement(Button, {\n type: \"button\",\n text: \"Go Back\",\n action: () => togglePageBack(formId, pagingInfo.pageIndex - 1),\n useDefaultTheme: useDefaultTheme\n }), /*#__PURE__*/React.createElement(FormComposer, {\n fields: fields,\n formData: formData,\n formId: formId,\n setValue: setValue,\n validateField: validateField,\n defaultLanguage: defaultLanguage,\n errors: errors,\n pagingInfo: pagingInfo,\n useDefaultTheme: useDefaultTheme,\n entries: entries,\n setDateRangeValues: setDateRangeValues,\n setCheckboxValue: setCheckboxValue\n }), !isLastPage && /*#__PURE__*/React.createElement(Button, {\n type: \"button\",\n text: \"Next\",\n action: () => togglePageForward(formId, pagingInfo.pageIndex + 1),\n useDefaultTheme: useDefaultTheme\n }), isLastPage && /*#__PURE__*/React.createElement(Button, {\n text: \"Submit\",\n type: \"button\",\n action: () => {\n submitForm(formId);\n customSubmit();\n },\n useDefaultTheme: useDefaultTheme\n })), status && status.hasSuccess && status.successMessage && /*#__PURE__*/React.createElement(\"p\", {\n className: \"success-message\"\n }, status.successMessage));\n } else {\n formRender = /*#__PURE__*/React.createElement(FormStyled, {\n className: className,\n id: formId,\n useDefaultTheme: useDefaultTheme\n }, status && status.isLoading || status && status.isSubmitting && /*#__PURE__*/React.createElement(Loading, {\n className: \"loading\"\n }), !status || status && !status.isLoading && !status.isSubmitting && !status.hasSuccess && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormComposer, {\n fields: fields,\n formId: formId,\n setValue: setValue,\n setDateRangeValues: setDateRangeValues,\n validateField: validateField,\n defaultLanguage: defaultLanguage,\n errors: errors,\n useDefaultTheme: useDefaultTheme,\n entries: entries,\n setCheckboxValue: setCheckboxValue\n }), /*#__PURE__*/React.createElement(Button, {\n text: \"Submit\",\n type: \"button\",\n action: () => {\n submitForm(formId);\n customSubmit();\n },\n useDefaultTheme: useDefaultTheme\n })), status && status.hasSuccess && status.successMessage && /*#__PURE__*/React.createElement(\"p\", {\n className: \"success-message\"\n }, status.successMessage));\n }\n\n return /*#__PURE__*/React.createElement(ThemeProvider, {\n theme: defaultTheme\n }, formRender);\n};\n\nForm$1.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n fields: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n formData: PropTypes.object,\n entries: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n useDefaultTheme: PropTypes.bool,\n setFormId: PropTypes.func,\n setValue: PropTypes.func,\n setDateRangeValues: PropTypes.func,\n validateField: PropTypes.func,\n defaultLanguage: PropTypes.string,\n errors: PropTypes.array,\n pagingInfo: PropTypes.object,\n togglePageForward: PropTypes.func,\n togglePageBack: PropTypes.func,\n submitForm: PropTypes.func,\n customSubmit: PropTypes.func,\n status: PropTypes.object,\n setCheckboxValue: PropTypes.func\n};\n\nfunction action(type, payload = {}) {\n return {\n type,\n ...payload\n };\n}\n\nconst submitForm = formId => action(SUBMIT_FORM_FOR_VALIDATION, {\n formId\n});\nconst setFormId = formId => action(SET_FORM_ID, {\n formId\n});\nconst setValue = (formId, id, value) => action(SET_FIELD_VALUE, {\n formId,\n id,\n value\n});\nconst setCheckboxValue = (formId, id, value, isChecked) => action(SET_CHECKBOX_VALUE, {\n formId,\n id,\n value,\n isChecked\n});\nconst setDateRangeValues = (formId, id, dateType, value) => action(SET_DATE_RANGE_VALUES, {\n formId,\n id,\n dateType,\n value\n});\nconst validateField = (formId, id, value) => action(VALIDATE_FIELD, {\n formId,\n id,\n value\n});\nconst togglePageForward = (formId, pageIndex) => action(PAGE_FORWARD, {\n formId,\n pageIndex\n});\nconst togglePageBack = (formId, pageIndex) => action(PAGE_BACK, {\n formId,\n pageIndex\n});\n\nconst FormContainer = ({\n className,\n formId,\n fields,\n formData,\n setFormId,\n setValue,\n setDateRangeValues,\n validateField,\n defaultLanguage,\n errors,\n pagingInfo,\n togglePageForward,\n togglePageBack,\n submitForm,\n status,\n useDefaultTheme = true,\n entries,\n setCheckboxValue,\n customSubmit\n}) => {\n return /*#__PURE__*/React.createElement(Form$1, {\n className: className,\n formId: formId,\n fields: fields,\n setFormId: setFormId,\n setValue: setValue,\n setDateRangeValues: setDateRangeValues,\n validateField: validateField,\n defaultLanguage: defaultLanguage,\n errors: errors,\n pagingInfo: pagingInfo,\n togglePageForward: togglePageForward,\n togglePageBack: togglePageBack,\n submitForm: submitForm,\n status: status,\n useDefaultTheme: useDefaultTheme,\n entries: entries,\n formData: formData,\n setCheckboxValue: setCheckboxValue,\n customSubmit: customSubmit\n });\n};\n\nFormContainer.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n fields: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n formData: PropTypes.object,\n entries: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n setFormId: PropTypes.func,\n setDateRangeValues: PropTypes.func,\n setValue: PropTypes.func,\n useDefaultTheme: PropTypes.bool,\n validateField: PropTypes.func,\n defaultLanguage: PropTypes.string,\n errors: PropTypes.array,\n pagingInfo: PropTypes.object,\n togglePageForward: PropTypes.func,\n togglePageBack: PropTypes.func,\n submitForm: PropTypes.func,\n status: PropTypes.object,\n setCheckboxValue: PropTypes.func,\n customSubmit: PropTypes.func\n};\n\nconst mapStateToProps = (state, props) => {\n const {\n formId\n } = props;\n const selectFormFields = selectPagedFields(formId);\n const selectIsLoading = makeSelectIsLoading(formId);\n const selectDefaultLang = makeSelectDefaultLang(formId);\n return state => ({\n fields: selectFormFields(state),\n loading: selectIsLoading(state),\n defaultLanguage: selectDefaultLang(state),\n errors: selectFieldErrors(state, formId),\n pagingInfo: selectPagingInfo(state, formId),\n status: selectFormStatus(state, formId),\n entries: selectEntries(state, formId),\n formData: selectPostData(state, formId)\n });\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n setFormId: formId => dispatch(setFormId(formId)),\n setValue: (formId, id, value) => dispatch(setValue(formId, id, value)),\n setCheckboxValue: (formId, id, value, isChecked) => dispatch(setCheckboxValue(formId, id, value, isChecked)),\n setDateRangeValues: (formId, id, dateType, value) => dispatch(setDateRangeValues(formId, id, dateType, value)),\n validateField: (formId, id, value) => dispatch(validateField(formId, id, value)),\n togglePageForward: (formId, pageIndex) => dispatch(togglePageForward(formId, pageIndex)),\n togglePageBack: (formId, pageIndex) => dispatch(togglePageBack(formId, pageIndex)),\n submitForm: formId => dispatch(submitForm(formId))\n };\n};\n\nvar Form = connect(mapStateToProps, mapDispatchToProps)(toJS(FormContainer));\n\nexport default Form;\nexport { reducer, formV2Sagas as sagas };\n//# sourceMappingURL=zengenti-forms-package.esm.js.map\n"],"names":[],"mappings":";;;;;;;;AAQA,MAAM,aAAa,GAAG,SAAS,CAAC;AAChC,MAAM,aAAa,GAAG,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;AACtD,MAAM,WAAW,GAAG,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;AAClD,MAAM,gBAAgB,GAAG,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;AAC5D,MAAM,SAAS,GAAG,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;AAC9C,MAAM,YAAY,GAAG,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;AACpD,MAAM,eAAe,GAAG,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;AAC1D,MAAM,uBAAuB,GAAG,CAAC,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;AAC1E,MAAM,0BAA0B,GAAG,CAAC,EAAE,aAAa,CAAC,0BAA0B,CAAC,CAAC;AAChF,MAAM,WAAW,GAAG,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;AAClD,MAAM,mBAAmB,GAAG,CAAC,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;AAClE,MAAM,iBAAiB,GAAG,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;AAC9D,MAAM,mBAAmB,GAAG,CAAC,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;AAClE,MAAM,SAAS,GAAG,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;AAC9C,MAAM,cAAc,GAAG,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;AACxD,MAAM,eAAe,GAAG,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;AAC1D,MAAM,qBAAqB,GAAG,CAAC,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;AACtE,MAAM,gBAAgB,GAAG,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;AAC5D,MAAM,mBAAmB,GAAG,CAAC,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;AAClE,MAAM,kBAAkB,GAAG,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;AAChE;AACA,MAAM,aAAa,GAAG,KAAK,IAAI;AAC/B,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC;AAC1B;AACA,EAAE,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,WAAW,EAAE;AACtF,IAAI,OAAO,UAAU,CAAC;AACtB,GAAG,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,eAAe,EAAE;AACjG,IAAI,OAAO,UAAU,CAAC;AACtB,GAAG,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE;AAC1I,IAAI,OAAO,QAAQ,CAAC;AACpB,GAAG,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,aAAa,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE;AAC/E,IAAI,OAAO,UAAU,CAAC;AACtB,GAAG,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE;AAClG,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE;AAC3C,IAAI,OAAO,QAAQ,CAAC;AACpB,GAAG,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,UAAU,EAAE;AAC5C,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,WAAW,EAAE;AAC/C,IAAI,OAAO,WAAW,CAAC;AACvB,GAAG,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,OAAO,EAAE;AAC3C,IAAI,OAAO,aAAa,CAAC;AACzB,GAAG,MAAM;AACT,IAAI,OAAO,WAAW,CAAC;AACvB,GAAG;AACH,CAAC,CAAC;AACF;AACA,MAAM,eAAe,GAAG;AACxB,EAAE,SAAS,EAAE;AACb,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,CAAC,CAAC;AACF,MAAM,eAAe,GAAG;AACxB,EAAE,MAAM,EAAE,IAAI;AACd,EAAE,IAAI,EAAE,EAAE;AACV,EAAE,MAAM,EAAE,EAAE;AACZ,EAAE,OAAO,EAAE,EAAE;AACb,EAAE,WAAW,EAAE,EAAE;AACjB,EAAE,MAAM,EAAE,EAAE;AACZ,EAAE,eAAe,EAAE,IAAI;AACvB,EAAE,UAAU,EAAE;AACd,IAAI,SAAS,EAAE,CAAC;AAChB,IAAI,SAAS,EAAE,CAAC;AAChB,IAAI,aAAa,EAAE,IAAI;AACvB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,SAAS,EAAE,KAAK;AACpB,IAAI,YAAY,EAAE,KAAK;AACvB,IAAI,UAAU,EAAE,KAAK;AACrB,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,QAAQ,EAAE,KAAK;AACnB,GAAG;AACH,CAAC,CAAC;AACF,IAAI,YAAY,GAAG,GAAG,CAAC;AACvB,EAAE,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC;AACnC,CAAC,CAAC,CAAC;AACA,IAAC,OAAO,IAAI,CAAC,KAAK,GAAG,YAAY,EAAE,MAAM,KAAK;AACjD,EAAE,QAAQ,MAAM,CAAC,IAAI;AACrB,IAAI,KAAK,WAAW;AACpB,MAAM,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,CAAC;AAC3D;AACA,IAAI,KAAK,aAAa;AACtB,MAAM;AACN,QAAQ,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACrC;AACA,QAAQ,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI;AAC5B,UAAU,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;AAC5C,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;AAC1b,OAAO;AACP;AACA,IAAI,KAAK,gBAAgB;AACzB,MAAM,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;AAChO;AACA,IAAI,KAAK,eAAe;AACxB,MAAM,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3E;AACA,IAAI,KAAK,uBAAuB;AAChC,MAAM,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE;AACA,IAAI,KAAK,kBAAkB;AAC3B,MAAM;AACN,QAAQ,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1E,QAAQ,IAAI,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,EAAE,CAAC;AAChD;AACA,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE;AAC9B,UAAU,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACpC,SAAS,MAAM;AACf,UAAU,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC;AAClE,SAAS;AACT;AACA,QAAQ,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;AACvE,OAAO;AACP;AACA,IAAI,KAAK,qBAAqB;AAC9B,MAAM,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5F;AACA,IAAI,KAAK,eAAe;AACxB,MAAM,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AACvE;AACA,IAAI,KAAK,mBAAmB;AAC5B,MAAM,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;AACjG;AACA,IAAI,KAAK,mBAAmB;AAC5B,MAAM,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC;AAC5M;AACA,IAAI,KAAK,mBAAmB;AAC5B,MAAM,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AAC9F;AACA,IAAI,KAAK,iBAAiB;AAC1B,MAAM,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,KAAK,CAAC,CAAC;AAC9I;AACA,IAAI,KAAK,gBAAgB;AACzB,MAAM;AACN,QAAQ,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AACvC,QAAQ,MAAM,IAAI,GAAG,EAAE,CAAC;AACxB,QAAQ,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI;AAC7B,UAAU,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC;AAClC,UAAU,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;AACzC,UAAU,OAAO,IAAI,CAAC;AACtB,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;AAC7D,OAAO;AACP;AACA,IAAI,KAAK,SAAS;AAClB,MAAM,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,KAAK,CAAC,CAAC;AAC9I;AACA,IAAI;AACJ,MAAM,OAAO,KAAK,CAAC;AACnB,GAAG;AACH,CAAC,EAAE;AACH;AACA,MAAM,WAAW,GAAG,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACpD,MAAM,mBAAmB,GAAG,MAAM,IAAI,cAAc,CAAC,WAAW,EAAE,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;AACzH,MAAM,oBAAoB,GAAG,MAAM,IAAI,cAAc,CAAC,WAAW,EAAE,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC7G,MAAM,qBAAqB,GAAG,MAAM,IAAI,cAAc,CAAC,WAAW,EAAE,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;AACvH,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK;AAC7C,EAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC;AACF,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK;AAC1C,EAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC;AACF,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK;AAC5C,EAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC;AACF,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK;AAC5C,EAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC;AACF,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK;AAC5C,EAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC;AACF,MAAM,iBAAiB,GAAG,MAAM,IAAI,cAAc,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,IAAI;AAC1E,EAAE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;AACxD,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAChD;AACA,EAAE,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,IAAI,UAAU,CAAC,SAAS,GAAG,CAAC,EAAE;AAC7E,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC;AACrE,GAAG;AACH;AACA,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,CAAC;AACH,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK;AACzC,EAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC;AACF;AACA,MAAM,GAAG,GAAG,QAAQ,CAAC;AACrB,MAAM,aAAa,GAAG,MAAM,MAAM,IAAI;AACtC,EAAE,IAAI,OAAO,GAAG;AAChB,IAAI,MAAM,EAAE,KAAK;AACjB,IAAI,OAAO,EAAE;AACb,MAAM,cAAc,EAAE,kBAAkB;AACxC,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,MAAM,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AACpC,EAAE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAChD,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AACF,MAAM,UAAU,GAAG,OAAO,OAAO,EAAE,EAAE,KAAK;AAC1C,EAAE,IAAI,OAAO,GAAG;AAChB,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,OAAO,EAAE;AACb,MAAM,MAAM,EAAE,KAAK;AACnB,MAAM,cAAc,EAAE,kBAAkB;AACxC,KAAK;AACL,IAAI,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;AACjC,GAAG,CAAC;AACJ,EAAE,MAAM,UAAU,GAAG,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;AACtC,EAAE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AACrD,EAAE,OAAO;AACT,IAAI,OAAO;AACX,IAAI,EAAE;AACN,GAAG,CAAC;AACJ,CAAC,CAAC;AACF,MAAM,QAAQ,GAAG,MAAM,OAAO,IAAI;AAClC,EAAE,IAAI,OAAO,GAAG;AAChB,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,OAAO,EAAE;AACb,MAAM,MAAM,EAAE,KAAK;AACnB,MAAM,cAAc,EAAE,kBAAkB;AACxC,KAAK;AACL,IAAI,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;AACjC,GAAG,CAAC;AACJ,EAAE,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAChD,EAAE,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AACF;AACA,MAAM,OAAO,GAAG,OAAO,GAAG,EAAE,OAAO,KAAK;AACxC,EAAE,OAAO,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI;AAC9E,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG,CAAC;AACJ,GAAG,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC;AACF;AACA,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK;AACxC,EAAE,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC;AACrE,EAAE,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC;AACrE,EAAE,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC;AACrE,EAAE,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;AAC7D,EAAE,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC;AAC/C,EAAE,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC;AAC/C;AACA,EAAE,IAAI,UAAU,IAAI,CAAC,KAAK,EAAE;AAC5B,IAAI,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;AACtG,IAAI,OAAO;AACX,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE;AACvB,MAAM,OAAO,EAAE,KAAK,CAAC,OAAO;AAC5B,MAAM,OAAO,EAAE,YAAY;AAC3B,KAAK,CAAC;AACN,GAAG;AACH;AACA,EAAE,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE;AACnD,IAAI,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAClH,IAAI,OAAO;AACX,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE;AACvB,MAAM,OAAO,EAAE,KAAK,CAAC,OAAO;AAC5B,MAAM,OAAO,EAAE,YAAY;AAC3B,KAAK,CAAC;AACN,GAAG;AACH;AACA,EAAE,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE;AACnD,IAAI,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAChJ,IAAI,OAAO;AACX,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE;AACvB,MAAM,OAAO,EAAE,KAAK,CAAC,OAAO;AAC5B,MAAM,OAAO,EAAE,YAAY;AAC3B,KAAK,CAAC;AACN,GAAG;AACH;AACA,EAAE,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACjC;AACA,IAAI,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACnD;AACA,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACnC,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;AAC7F,MAAM,OAAO;AACb,QAAQ,OAAO,EAAE,KAAK,CAAC,EAAE;AACzB,QAAQ,OAAO,EAAE,KAAK,CAAC,OAAO;AAC9B,QAAQ,OAAO,EAAE,YAAY;AAC7B,OAAO,CAAC;AACR,KAAK;AACL,GAAG;AACH;AACA,EAAE,IAAI,OAAO,EAAE;AACf,IAAI,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;AACtC;AACA,IAAI,IAAI,CAAC,SAAS,EAAE;AACpB,MAAM,MAAM,YAAY,GAAG,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClE,MAAM,OAAO;AACb,QAAQ,OAAO,EAAE,KAAK,CAAC,EAAE;AACzB,QAAQ,OAAO,EAAE,KAAK,CAAC,OAAO;AAC9B,QAAQ,OAAO,EAAE,YAAY;AAC7B,OAAO,CAAC;AACR,KAAK;AACL,GAAG;AACH;AACA,EAAE,IAAI,OAAO,EAAE;AACf,IAAI,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;AACtC;AACA,IAAI,IAAI,CAAC,SAAS,EAAE;AACpB,MAAM,MAAM,YAAY,GAAG,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClE,MAAM,OAAO;AACb,QAAQ,OAAO,EAAE,KAAK,CAAC,EAAE;AACzB,QAAQ,OAAO,EAAE,KAAK,CAAC,OAAO;AAC9B,QAAQ,OAAO,EAAE,YAAY;AAC7B,OAAO,CAAC;AACR,KAAK;AACL,GAAG;AACH,CAAC,CAAC;AACF;AACK,MAAC,WAAW,GAAG,CAAC,SAAS,CAAC,mBAAmB,EAAE,WAAW,CAAC,EAAE,SAAS,CAAC,0BAA0B,EAAE,YAAY,CAAC,EAAE,SAAS,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,UAAU,CAAC,cAAc,EAAE,eAAe,CAAC,EAAE,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,SAAS,CAAC,aAAa,EAAE,kBAAkB,CAAC,EAAE,UAAU,CAAC,aAAa,EAAE,qBAAqB,CAAC,EAAE;AACpZ;AACA,UAAU,YAAY,CAAC,MAAM,EAAE;AAC/B,EAAE,MAAM;AACR,IAAI,MAAM;AACV,GAAG,GAAG,MAAM,CAAC;AACb,EAAE,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAClC,EAAE,MAAM,GAAG,CAAC;AACZ,IAAI,IAAI,EAAE,WAAW;AACrB,IAAI,MAAM;AACV,GAAG,CAAC,CAAC;AACL,CAAC;AACD;AACA,UAAU,eAAe,CAAC,MAAM,EAAE;AAClC,EAAE,MAAM;AACR,IAAI,MAAM;AACV,IAAI,EAAE;AACN,IAAI,KAAK;AACT,GAAG,GAAG,MAAM,CAAC;AACb,EAAE,MAAM,IAAI,CAAC,mBAAmB,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC;AACD;AACA,UAAU,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE;AAC/C,EAAE,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC;AAC/B,EAAE,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACjD,EAAE,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;AACxD,EAAE,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACzC,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC;AAC/D,EAAE,IAAI,SAAS,GAAG,EAAE,CAAC;AACrB,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,IAAI;AAC/B,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;AACjB;AACA,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;AAC5B,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAC/B,KAAK;AACL;AACA,IAAI,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC1C,IAAI,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjC,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,GAAG,CAAC;AACZ,IAAI,IAAI,EAAE,eAAe;AACzB,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,KAAK,EAAE,SAAS;AACpB,GAAG,CAAC,CAAC;AACL,CAAC;AACD;AACA,UAAU,iBAAiB,CAAC,MAAM,EAAE;AACpC,EAAE,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC;AAC/B,EAAE,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACjD,EAAE,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;AACxD,EAAE,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACzC,EAAE,IAAI,SAAS,GAAG,EAAE,CAAC;AACrB,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI;AAC1B,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;AACjB;AACA,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;AAC5B,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAC/B,KAAK;AACL;AACA,IAAI,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC1C,IAAI,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjC,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,GAAG,CAAC;AACZ,IAAI,IAAI,EAAE,eAAe;AACzB,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,KAAK,EAAE,SAAS;AACpB,GAAG,CAAC,CAAC;AACL,CAAC;AACD;AACA,UAAU,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE;AACtD,EAAE,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC;AAC/B,EAAE,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;AACxD,EAAE,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACzC,EAAE,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,CAAC;AACtD,EAAE,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAClD,EAAE,MAAM,SAAS,GAAG,EAAE,CAAC;AACvB;AACA,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI;AAC1B,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE;AACnC;AACA,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAC9C,EAAE,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/B,EAAE,MAAM,GAAG,CAAC;AACZ,IAAI,IAAI,EAAE,eAAe;AACzB,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,KAAK,EAAE,SAAS;AACpB,GAAG,CAAC,CAAC;AACL,CAAC;AACD;AACA,UAAU,UAAU,CAAC,MAAM,EAAE;AAC7B,EAAE,MAAM;AACR,IAAI,MAAM;AACV,IAAI,SAAS;AACb,GAAG,GAAG,MAAM,CAAC;AACb,EAAE,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC;AAC/B,EAAE,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrD;AACA,EAAE,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE;AACpC,IAAI,MAAM,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;AAChE,GAAG;AACH;AACA,EAAE,MAAM,GAAG,CAAC;AACZ,IAAI,IAAI,EAAE,gBAAgB;AAC1B,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE;AACpC,IAAI,SAAS,EAAE,UAAU,CAAC,MAAM;AAChC,IAAI,SAAS,EAAE,SAAS;AACxB,GAAG,CAAC,CAAC;AACL,CAAC;AACD;AACA,UAAU,SAAS,CAAC,MAAM,EAAE;AAC5B,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAC/B,EAAE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;AAC7C,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;AACpH;AACA,EAAE,IAAI,MAAM,IAAI,MAAM,EAAE;AACxB,IAAI,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACnD,MAAM,MAAM,GAAG,CAAC;AAChB,QAAQ,IAAI,EAAE,gBAAgB;AAC9B,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;AAC5B,QAAQ,SAAS,EAAE,CAAC;AACpB,QAAQ,SAAS,EAAE,MAAM,CAAC,MAAM;AAChC,OAAO,CAAC,CAAC;AACT,KAAK;AACL;AACA,IAAI,MAAM,GAAG,CAAC;AACd,MAAM,IAAI,EAAE,aAAa;AACzB,MAAM,MAAM,EAAE,MAAM;AACpB,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM;AAC3B,MAAM,MAAM,EAAE,MAAM;AACpB,MAAM,eAAe,EAAE,MAAM,CAAC,eAAe;AAC7C,KAAK,CAAC,CAAC;AACP,GAAG;AACH,CAAC;AACD;AACA,UAAU,WAAW,CAAC,MAAM,EAAE;AAC9B,EAAE,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC;AAC/B,EAAE,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/D,EAAE,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACzC,EAAE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,sBAAsB,CAAC,CAAC;AACrE,EAAE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,qBAAqB,CAAC,CAAC;AACnE;AACA,EAAE,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE;AACpC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACrD,GAAG;AACH;AACA,EAAE,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE;AAClC,IAAI,MAAM,GAAG,CAAC;AACd,MAAM,IAAI,EAAE,mBAAmB;AAC/B,MAAM,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;AACvC,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM;AAC3B,KAAK,CAAC,CAAC;AACP,GAAG;AACH,CAAC;AACD;AACA,UAAU,YAAY,CAAC,MAAM,EAAE;AAC/B,EAAE,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC;AAC/B,EAAE,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AACzD,EAAE,MAAM,SAAS,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;AACjD;AACA,EAAE,IAAI,SAAS,EAAE;AACjB,IAAI,MAAM,GAAG,CAAC;AACd,MAAM,IAAI,EAAE,mBAAmB;AAC/B,MAAM,YAAY,EAAE,IAAI;AACxB,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM;AAC3B,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;AAC5C,IAAI,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC7C,IAAI,MAAM,OAAO,GAAG;AACpB,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM;AAChC,MAAM,QAAQ,EAAE,OAAO,CAAC,IAAI;AAC5B,KAAK,CAAC;AACN,IAAI,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC/C;AACA,IAAI,IAAI,UAAU,IAAI,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE;AAC3D,MAAM,MAAM,GAAG,CAAC;AAChB,QAAQ,IAAI,EAAE,mBAAmB;AACjC,QAAQ,MAAM,EAAE,MAAM,CAAC,MAAM;AAC7B,OAAO,CAAC,CAAC;AACT,KAAK,MAAM;AACX,MAAM,MAAM,GAAG,CAAC;AAChB,QAAQ,IAAI,EAAE,iBAAiB;AAC/B,QAAQ,MAAM,EAAE,MAAM,CAAC,MAAM;AAC7B,OAAO,CAAC,CAAC;AACT,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA,UAAU,qBAAqB,CAAC,MAAM,EAAE;AACxC,EAAE,MAAM;AACR,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,eAAe;AACnB,GAAG,GAAG,MAAM,CAAC;AACb,EAAE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACxF,EAAE,IAAI,QAAQ,GAAG,EAAE,CAAC;AACpB,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI;AAC1B,IAAI,IAAI,KAAK,CAAC,QAAQ,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE;AACrD,MAAM,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AACjD;AACA,MAAM,IAAI,GAAG,EAAE;AACf,QAAQ,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;AACjC,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,KAAK,CAAC,EAAE,IAAI,aAAa,EAAE;AACnC,MAAM,MAAM,GAAG,GAAG,OAAO,CAAC;AAC1B;AACA,MAAM,IAAI,GAAG,EAAE;AACf,QAAQ,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;AACjC,OAAO;AACP,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,GAAG,CAAC;AACZ,IAAI,IAAI,EAAE,uBAAuB;AACjC,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,KAAK,EAAE,QAAQ;AACnB,GAAG,CAAC,CAAC;AACL,CAAC;AACD;AACA,UAAU,kBAAkB,CAAC,MAAM,EAAE;AACrC,EAAE,MAAM;AACR,IAAI,MAAM;AACV,IAAI,MAAM;AACV,GAAG,GAAG,MAAM,CAAC;AACb,EAAE,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC;AACnE,EAAE,IAAI,WAAW,GAAG,EAAE,CAAC;AACvB;AACA,EAAE,IAAI,YAAY,EAAE;AACpB,IAAI,WAAW,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,IAAI;AACtD,MAAM,MAAM,UAAU,GAAG;AACzB,QAAQ,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,mBAAmB,CAAC,YAAY;AACvE,QAAQ,aAAa,EAAE,WAAW;AAClC,QAAQ,QAAQ,EAAE,OAAO;AACzB,QAAQ,QAAQ,EAAE,IAAI;AACtB,OAAO,CAAC;AACR,MAAM,OAAO,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;AACpD,KAAK,CAAC,CAAC,CAAC;AACR,IAAI,MAAM,GAAG,CAAC;AACd,MAAM,IAAI,EAAE,gBAAgB;AAC5B,MAAM,MAAM,EAAE,MAAM;AACpB,MAAM,OAAO,EAAE,WAAW;AAC1B,KAAK,CAAC,CAAC;AACP,GAAG;AACH,CAAC;AACD;AACA,MAAM,IAAI,GAAG,gBAAgB,IAAI,qBAAqB,IAAI;AAC1D,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC;AAChB,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC;AAClB,EAAE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,oBAAoB,KAAK;AACnG,IAAI,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;AAC9J,IAAI,OAAO,QAAQ,CAAC;AACpB,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,EAAE,oBAAoB,KAAK,CAAC,aAAa,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;AACrE,CAAC,CAAC;AACF;AACA;AACA,MAAM,SAAS,GAAG,SAAS,CAAC;AAC5B;AACA,MAAM,SAAS,GAAG,SAAS,CAAC;AAC5B;AACA,MAAM,WAAW,GAAG,SAAS,CAAC;AAC9B,MAAM,UAAU,GAAG,SAAS,CAAC;AAC7B;AACA,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,MAAM,YAAY,GAAG,SAAS,CAAC;AAC/B,MAAM,MAAM,GAAG;AACf,EAAE,KAAK,EAAE,SAAS;AAClB,EAAE,SAAS,EAAE,SAAS;AACtB,EAAE,OAAO,EAAE,WAAW;AACtB,EAAE,SAAS,EAAE,UAAU;AACvB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,cAAc,EAAE,MAAM;AACxB,EAAE,MAAM,EAAE,MAAM;AAChB,EAAE,YAAY,EAAE,MAAM;AACtB,EAAE,OAAO,EAAE,SAAS;AACpB,EAAE,OAAO,EAAE,SAAS;AACpB,EAAE,KAAK,EAAE,SAAS;AAClB,EAAE,QAAQ,EAAE,SAAS;AACrB,EAAE,QAAQ,EAAE;AACZ,IAAI,UAAU;AACd,IAAI,YAAY;AAChB,GAAG;AACH,CAAC,CAAC;AACF;AACA,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;AAC1C,EAAE,WAAW,EAAE,wBAAwB;AACvC,EAAE,WAAW,EAAE,cAAc;AAC7B,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;AACf,EAAE,eAAe;AACjB,CAAC,KAAK;AACN,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,eAAe,IAAI,GAAG,CAAC,CAAC,gPAAgP,EAAE,8EAA8E,EAAE,sCAAsC,EAAE,yGAAyG,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/jB,CAAC,CAAC,CAAC;AACH;AACA,MAAM,KAAK,GAAG,CAAC;AACf,EAAE,SAAS;AACX,EAAE,KAAK;AACP,EAAE,EAAE;AACJ,EAAE,UAAU;AACZ,EAAE,QAAQ;AACV,CAAC,KAAK;AACN,EAAE,oBAAoB,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE;AACnD,IAAI,SAAS,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,QAAQ,GAAG,gBAAgB,GAAG,EAAE,CAAC,CAAC;AACjE,IAAI,OAAO,EAAE,EAAE;AACf,GAAG,EAAE,KAAK,EAAE,UAAU,iBAAiB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AACnE,IAAI,SAAS,EAAE,YAAY;AAC3B,GAAG,EAAE,GAAG,CAAC,EAAE,UAAU,iBAAiB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAClE,IAAI,SAAS,EAAE,gBAAgB;AAC/B,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC;AACF;AACA,KAAK,CAAC,SAAS,GAAG;AAClB,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM;AAC7B,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM;AACzB,EAAE,EAAE,EAAE,SAAS,CAAC,MAAM;AACtB,EAAE,UAAU,EAAE,SAAS,CAAC,IAAI;AAC5B,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI;AAC1B,CAAC,CAAC;AACF;AACA,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,KAAK;AACtF,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC;AACzB;AACA,EAAE,QAAQ,IAAI;AACd,IAAI,KAAK,KAAK;AACd,MAAM;AACN,QAAQ,IAAI,CAAC,SAAS,EAAE,OAAO;AAC/B,QAAQ,MAAM,YAAY,GAAG,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC;AAC1D,QAAQ,MAAM,YAAY,GAAG,SAAS,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AAClG,QAAQ,MAAM,OAAO,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC;AAC3E;AACA,QAAQ,IAAI,YAAY,EAAE;AAC1B,UAAU,OAAO,YAAY,CAAC;AAC9B,SAAS,MAAM;AACf,UAAU,OAAO,OAAO,CAAC;AACzB,SAAS;AACT,OAAO;AACP;AACA,IAAI,KAAK,KAAK;AACd,MAAM;AACN,QAAQ,IAAI,CAAC,SAAS,EAAE,OAAO;AAC/B,QAAQ,MAAM,YAAY,GAAG,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC;AAC1D,QAAQ,MAAM,YAAY,GAAG,SAAS,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AAClG,QAAQ,MAAM,OAAO,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC;AAC3E;AACA,QAAQ,IAAI,YAAY,EAAE;AAC1B,UAAU,OAAO,YAAY,CAAC;AAC9B,SAAS,MAAM;AACf,UAAU,OAAO,OAAO,CAAC;AACzB,SAAS;AACT,OAAO;AACP;AACA,IAAI,KAAK,SAAS;AAClB,MAAM;AACN,QAAQ,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,OAAO;AAC7C,QAAQ,MAAM,YAAY,GAAG,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC;AAC1D,QAAQ,MAAM,YAAY,GAAG,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC;AAC1D,QAAQ,MAAM,YAAY,GAAG,SAAS,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AAClG,QAAQ,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC,CAAC;AACtG;AACA,QAAQ,IAAI,YAAY,EAAE;AAC1B,UAAU,OAAO,YAAY,CAAC;AAC9B,SAAS,MAAM,IAAI,aAAa,GAAG,YAAY,EAAE;AACjD,UAAU,OAAO,CAAC,EAAE,CAAC,YAAY,GAAG,aAAa,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,YAAY,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AAC9H,SAAS,MAAM,IAAI,aAAa,GAAG,YAAY,EAAE;AACjD,UAAU,OAAO,CAAC,EAAE,CAAC,aAAa,GAAG,YAAY,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,aAAa,GAAG,YAAY,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAC1I,SAAS,MAAM,IAAI,aAAa,EAAE;AAClC,UAAU,OAAO,CAAC,EAAE,CAAC,YAAY,GAAG,aAAa,EAAE,QAAQ,EAAE,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC,CAAC;AAClG,SAAS,MAAM;AACf,UAAU,OAAO,SAAS,CAAC;AAC3B,SAAS;AACT,OAAO;AACP;AACA,IAAI;AACJ,MAAM,OAAO,IAAI,CAAC;AAClB,GAAG;AACH,CAAC,CAAC;AACF;AACA,MAAM,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;AACnD,EAAE,WAAW,EAAE,sCAAsC;AACrD,EAAE,WAAW,EAAE,cAAc;AAC7B,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;AACf,EAAE,KAAK;AACP,EAAE,eAAe;AACjB,CAAC,KAAK;AACN,EAAE,OAAO,GAAG,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC,EAAE,eAAe,IAAI,GAAG,CAAC,CAAC,uBAAuB,EAAE,gFAAgF,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AAC9M,CAAC,CAAC,CAAC;AACH;AACA,MAAM,cAAc,GAAG,CAAC;AACxB,EAAE,SAAS;AACX,EAAE,KAAK;AACP,EAAE,WAAW;AACb,EAAE,eAAe;AACjB,EAAE,eAAe;AACjB,CAAC,KAAK;AACN,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,IAAI,CAAC;AAChC,EAAE,IAAI,aAAa,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC;AAC3E,EAAE,MAAM,aAAa,GAAG,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;AACzF,EAAE,MAAM;AACR,IAAI,SAAS;AACb,IAAI,SAAS;AACb,GAAG,GAAG,WAAW,CAAC;AAClB,EAAE,MAAM,YAAY,GAAG,SAAS,IAAI,CAAC,SAAS,CAAC;AAC/C,EAAE,MAAM,YAAY,GAAG,SAAS,IAAI,CAAC,SAAS,CAAC;AAC/C,EAAE,MAAM,YAAY,GAAG,SAAS,IAAI,SAAS,CAAC;AAC9C,EAAE,MAAM,IAAI,GAAG,YAAY,GAAG,KAAK,GAAG,YAAY,GAAG,KAAK,GAAG,YAAY,GAAG,SAAS,GAAG,IAAI,CAAC;AAC7F,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC;AACzB,EAAE,oBAAoB,KAAK,CAAC,aAAa,CAAC,oBAAoB,EAAE;AAChE,IAAI,SAAS,EAAE,SAAS;AACxB,IAAI,eAAe,EAAE,eAAe;AACpC,GAAG,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC;AAChF,CAAC,CAAC;AACF;AACA,cAAc,CAAC,SAAS,GAAG;AAC3B,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM;AAC/B,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AAClE,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM;AAC7B,EAAE,eAAe,EAAE,SAAS,CAAC,MAAM;AACnC,EAAE,eAAe,EAAE,SAAS,CAAC,IAAI;AACjC,CAAC,CAAC;AACF;AACA,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;AACjD,EAAE,WAAW,EAAE,kCAAkC;AACjD,EAAE,WAAW,EAAE,cAAc;AAC7B,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;AACf,EAAE,KAAK;AACP,EAAE,eAAe;AACjB,CAAC,KAAK;AACN,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,eAAe,IAAI,GAAG,CAAC,CAAC,qCAAqC,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACjH,CAAC,CAAC,CAAC;AACH;AACA,MAAM,YAAY,GAAG,CAAC;AACtB,EAAE,SAAS;AACX,EAAE,OAAO;AACT,EAAE,eAAe;AACjB,CAAC,KAAK;AACN,EAAE,oBAAoB,KAAK,CAAC,aAAa,CAAC,kBAAkB,EAAE;AAC9D,IAAI,SAAS,EAAE,SAAS;AACxB,IAAI,eAAe,EAAE,eAAe;AACpC,GAAG,EAAE,OAAO,CAAC,CAAC;AACd,CAAC,CAAC;AACF;AACA,YAAY,CAAC,SAAS,GAAG;AACzB,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM;AAC7B,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU;AACtC,EAAE,eAAe,EAAE,SAAS,CAAC,IAAI;AACjC,CAAC,CAAC;AACF;AACA,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;AAC9C,EAAE,WAAW,EAAE,4BAA4B;AAC3C,EAAE,WAAW,EAAE,cAAc;AAC7B,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;AACf,EAAE,QAAQ;AACV,CAAC,KAAK;AACN,EAAE,OAAO,GAAG,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC;AACH;AACA,MAAM,SAAS,GAAG,CAAC;AACnB,EAAE,SAAS;AACX,EAAE,MAAM;AACR,EAAE,EAAE;AACJ,EAAE,KAAK;AACP,EAAE,IAAI;AACN,EAAE,QAAQ;AACV,EAAE,aAAa;AACf,EAAE,WAAW;AACb,EAAE,YAAY;AACd,EAAE,eAAe;AACjB,EAAE,WAAW;AACb,EAAE,QAAQ;AACV,EAAE,MAAM;AACR,EAAE,eAAe;AACjB,CAAC,KAAK;AACN,EAAE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC5D,EAAE,MAAM,UAAU,GAAG,WAAW,IAAI,WAAW,CAAC,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAC;AACxE,EAAE,MAAM,eAAe,GAAG,WAAW,IAAI,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,UAAU,CAAC,eAAe,IAAI,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;AACrK,EAAE,MAAM,gBAAgB,GAAG,YAAY,IAAI,YAAY,CAAC,eAAe,CAAC,GAAG,YAAY,CAAC,eAAe,CAAC,GAAG,YAAY,CAAC;AACxH;AACA,EAAE,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,KAAK;AAC/C,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;AAChC,GAAG,CAAC;AACJ;AACA,EAAE,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,KAAK;AAC7C,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;AACrC,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC5B,GAAG,CAAC;AACJ;AACA,EAAE,MAAM,YAAY,GAAG,MAAM;AAC7B,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC3B,GAAG,CAAC;AACJ;AACA,EAAE,oBAAoB,KAAK,CAAC,aAAa,CAAC,eAAe,EAAE;AAC3D,IAAI,SAAS,EAAE,qBAAqB;AACpC,IAAI,QAAQ,EAAE,QAAQ;AACtB,GAAG,eAAe,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC7C,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,KAAK,EAAE,KAAK;AAChB,IAAI,UAAU,EAAE,UAAU;AAC1B,IAAI,SAAS,EAAE,iBAAiB;AAChC,GAAG,CAAC,EAAE,aAAa,iBAAiB,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE;AACxE,IAAI,KAAK,EAAE,YAAY;AACvB,IAAI,WAAW,EAAE,WAAW;AAC5B,IAAI,eAAe,EAAE,eAAe;AACpC,IAAI,eAAe,EAAE,eAAe;AACpC,GAAG,CAAC,eAAe,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE;AAChD,IAAI,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,EAAE,CAAC,gBAAgB,CAAC;AAC9D,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,WAAW,EAAE,eAAe;AAChC,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,IAAI,EAAE,EAAE;AACZ,IAAI,QAAQ,EAAE,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AAC5D,IAAI,MAAM,EAAE,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AACxD,IAAI,OAAO,EAAE,MAAM,YAAY,EAAE;AACjC,GAAG,CAAC,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,iBAAiB,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE;AACzH,IAAI,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO;AACtD,IAAI,eAAe,EAAE,eAAe;AACpC,GAAG,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AACF;AACA,SAAS,CAAC,SAAS,GAAG;AACtB,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM;AAC7B,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM;AAC1B,EAAE,EAAE,EAAE,SAAS,CAAC,MAAM;AACtB,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM;AACzB,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM;AACxB,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI;AAC1B,EAAE,aAAa,EAAE,SAAS,CAAC,IAAI;AAC/B,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM;AAC/B,EAAE,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AACzE,EAAE,eAAe,EAAE,SAAS,CAAC,MAAM;AACnC,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM;AAC/B,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI;AAC1B,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK;AACzB,EAAE,eAAe,EAAE,SAAS,CAAC,IAAI;AACjC,CAAC,CAAC;AACF;AACA,MAAM,QAAQ,GAAG,CAAC;AAClB,EAAE,SAAS;AACX,EAAE,MAAM;AACR,EAAE,EAAE;AACJ,EAAE,KAAK;AACP,EAAE,IAAI;AACN,EAAE,QAAQ;AACV,EAAE,WAAW;AACb,EAAE,YAAY;AACd,EAAE,eAAe;AACjB,EAAE,WAAW;AACb,EAAE,aAAa;AACf,EAAE,eAAe;AACjB,EAAE,MAAM;AACR,CAAC,KAAK;AACN,EAAE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC5D,EAAE,MAAM,UAAU,GAAG,WAAW,IAAI,WAAW,CAAC,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAC;AACxE,EAAE,MAAM,eAAe,GAAG,WAAW,IAAI,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,UAAU,CAAC,eAAe,IAAI,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;AACrK,EAAE,MAAM,gBAAgB,GAAG,YAAY,GAAG,YAAY,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;AAC/E;AACA,EAAE,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,KAAK;AAC/C,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;AAChC,GAAG,CAAC;AACJ;AACA,EAAE,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,KAAK;AAC7C,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;AACrC,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC5B,GAAG,CAAC;AACJ;AACA,EAAE,MAAM,YAAY,GAAG,MAAM;AAC7B,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC3B,GAAG,CAAC;AACJ;AACA,EAAE,oBAAoB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACjD,IAAI,SAAS,EAAE,oBAAoB;AACnC,GAAG,eAAe,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC7C,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,KAAK,EAAE,KAAK;AAChB,IAAI,UAAU,EAAE,UAAU;AAC1B,IAAI,SAAS,EAAE,gBAAgB;AAC/B,GAAG,CAAC,EAAE,aAAa,iBAAiB,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE;AACxE,IAAI,KAAK,EAAE,YAAY;AACvB,IAAI,WAAW,EAAE,WAAW;AAC5B,IAAI,eAAe,EAAE,eAAe;AACpC,IAAI,eAAe,EAAE,eAAe;AACpC,GAAG,CAAC,eAAe,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE;AACnD,IAAI,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,EAAE,CAAC,eAAe,CAAC;AAC7D,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,WAAW,EAAE,eAAe;AAChC,IAAI,QAAQ,EAAE,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AAC5D,IAAI,MAAM,EAAE,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AACxD,IAAI,OAAO,EAAE,MAAM,YAAY,EAAE;AACjC,GAAG,CAAC,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,iBAAiB,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE;AACzH,IAAI,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO;AACtD,IAAI,eAAe,EAAE,eAAe;AACpC,GAAG,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AACF;AACA,QAAQ,CAAC,SAAS,GAAG;AACrB,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM;AAC7B,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM;AAC1B,EAAE,EAAE,EAAE,SAAS,CAAC,MAAM;AACtB,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM;AACzB,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM;AACxB,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI;AAC1B,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM;AAC/B,EAAE,YAAY,EAAE,SAAS,CAAC,MAAM;AAChC,EAAE,eAAe,EAAE,SAAS,CAAC,MAAM;AACnC,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM;AAC/B,EAAE,aAAa,EAAE,SAAS,CAAC,IAAI;AAC/B,EAAE,eAAe,EAAE,SAAS,CAAC,IAAI;AACjC,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK;AACzB,CAAC,CAAC;AACF;AACA,MAAM,WAAW,GAAG,CAAC;AACrB,EAAE,SAAS;AACX,EAAE,EAAE;AACJ,EAAE,KAAK;AACP,EAAE,IAAI;AACN,EAAE,YAAY;AACd,EAAE,eAAe;AACjB,EAAE,WAAW;AACb,CAAC,KAAK;AACN,EAAE,oBAAoB,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACrD,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,KAAK,EAAE,KAAK;AAChB,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,YAAY,EAAE,YAAY;AAC9B,IAAI,eAAe,EAAE,eAAe;AACpC,IAAI,WAAW,EAAE,WAAW;AAC5B,IAAI,SAAS,EAAE,SAAS;AACxB,IAAI,QAAQ,EAAE,IAAI;AAClB,GAAG,CAAC,CAAC;AACL,CAAC,CAAC;AACF;AACA,WAAW,CAAC,SAAS,GAAG;AACxB,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM;AAC7B,EAAE,EAAE,EAAE,SAAS,CAAC,MAAM;AACtB,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM;AACzB,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM;AACxB,EAAE,YAAY,EAAE,SAAS,CAAC,MAAM;AAChC,EAAE,eAAe,EAAE,SAAS,CAAC,MAAM;AACnC,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM;AAC/B,CAAC,CAAC;AACF;AACA,MAAM,QAAQ,GAAG,CAAC;AAClB,EAAE,SAAS;AACX,EAAE,MAAM;AACR,EAAE,EAAE;AACJ,EAAE,WAAW;AACb,EAAE,YAAY;AACd,EAAE,eAAe;AACjB,EAAE,KAAK;AACP,EAAE,QAAQ;AACV,CAAC,KAAK;AACN,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,IAAI,CAAC;AAChC,EAAE,MAAM,UAAU,GAAG,WAAW,IAAI,WAAW,CAAC,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAC;AACxE,EAAE,MAAM,QAAQ,GAAG,WAAW,IAAI,WAAW,CAAC,aAAa,IAAI,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC;AAChG;AACA,EAAE,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,KAAK;AAC/C,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;AAChC,GAAG,CAAC;AACJ;AACA,EAAE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC;AACpD,EAAE,oBAAoB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACjD,IAAI,SAAS,EAAE,oBAAoB;AACnC,GAAG,eAAe,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC7C,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,KAAK,EAAE,KAAK;AAChB,IAAI,UAAU,EAAE,UAAU;AAC1B,IAAI,SAAS,EAAE,gBAAgB;AAC/B,GAAG,CAAC,eAAe,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;AACjD,IAAI,IAAI,EAAE,EAAE;AACZ,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,EAAE,CAAC,gBAAgB,CAAC;AAC9D,IAAI,YAAY,EAAE,YAAY;AAC9B,IAAI,MAAM,EAAE,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AAC1D,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK;AAChC,IAAI,oBAAoB,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;AACtD,MAAM,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC3C,MAAM,KAAK,EAAE,GAAG,CAAC,eAAe,CAAC;AACjC,MAAM,SAAS,EAAE,iBAAiB;AAClC,KAAK,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;AAC7B,GAAG,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AACF;AACA,QAAQ,CAAC,SAAS,GAAG;AACrB,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM;AAC7B,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM;AAC1B,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI;AAC1B,EAAE,EAAE,EAAE,SAAS,CAAC,MAAM;AACtB,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM;AAC/B,EAAE,YAAY,EAAE,SAAS,CAAC,MAAM;AAChC,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM;AACzB,EAAE,eAAe,EAAE,SAAS,CAAC,MAAM;AACnC,CAAC,CAAC;AACF;AACA,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;AAC7C,EAAE,WAAW,EAAE,0BAA0B;AACzC,EAAE,WAAW,EAAE,UAAU;AACzB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;AACf,EAAE,eAAe;AACjB,CAAC,KAAK;AACN,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,eAAe,IAAI,GAAG,CAAC,CAAC,0KAA0K,CAAC,CAAC,CAAC,CAAC;AAC7N,CAAC,CAAC,CAAC;AACH;AACA,MAAM,QAAQ,GAAG,CAAC;AAClB,EAAE,SAAS;AACX,EAAE,MAAM;AACR,EAAE,gBAAgB;AAClB,EAAE,EAAE;AACJ,EAAE,IAAI;AACN,EAAE,KAAK;AACP,EAAE,WAAW;AACb,EAAE,YAAY;AACd,EAAE,IAAI;AACN,EAAE,eAAe;AACjB,EAAE,eAAe;AACjB,CAAC,KAAK;AACN;AACA,EAAE,IAAI,gBAAgB,GAAG,YAAY,IAAI,YAAY,CAAC,eAAe,CAAC,CAAC;AACvE,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;AACrE;AACA,EAAE,QAAQ,IAAI;AACd,IAAI,KAAK,UAAU;AACnB,MAAM;AACN,QAAQ,IAAI,CAAC,WAAW,EAAE,OAAO,IAAI,CAAC;AACtC,QAAQ,MAAM,UAAU,GAAG,WAAW,IAAI,WAAW,CAAC,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAC;AAC9E,QAAQ,MAAM,QAAQ,GAAG,WAAW,IAAI,WAAW,CAAC,aAAa,IAAI,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC;AACtG;AACA,QAAQ,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK;AACpD,UAAU,gBAAgB,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;AACzD,SAAS,CAAC;AACV;AACA,QAAQ,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC;AAC1D,QAAQ,oBAAoB,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE;AAChE,UAAU,SAAS,EAAE,CAAC,kBAAkB,CAAC;AACzC,UAAU,eAAe,EAAE,eAAe;AAC1C,SAAS,eAAe,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACnD,UAAU,EAAE,EAAE,EAAE;AAChB,UAAU,KAAK,EAAE,KAAK;AACtB,UAAU,UAAU,EAAE,UAAU;AAChC,UAAU,SAAS,EAAE,0BAA0B;AAC/C,SAAS,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK;AACvC,UAAU,oBAAoB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAC1D,YAAY,GAAG,EAAE,GAAG;AACpB,YAAY,SAAS,EAAE,kBAAkB;AACzC,WAAW,eAAe,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE;AACvD,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,EAAE,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AACjC,YAAY,IAAI,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AACnC,YAAY,KAAK,EAAE,GAAG,CAAC,eAAe,CAAC;AACvC,YAAY,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,EAAE,CAAC,eAAe,CAAC;AACrE,YAAY,QAAQ,EAAE,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AAC1E,WAAW,CAAC,eAAe,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACtD,YAAY,EAAE,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AACjC,YAAY,KAAK,EAAE,GAAG,CAAC,eAAe,CAAC;AACvC,YAAY,SAAS,EAAE,gBAAgB;AACvC,WAAW,CAAC,CAAC,CAAC;AACd,SAAS,CAAC,CAAC,CAAC;AACZ,OAAO;AACP;AACA,IAAI,KAAK,QAAQ;AACjB,MAAM;AACN,QAAQ,MAAM,aAAa,GAAG,SAAS,IAAI;AAC3C,UAAU,YAAY,CAAC,SAAS,CAAC,CAAC;AAClC,UAAU,gBAAgB,CAAC,MAAM,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;AAClD,SAAS,CAAC;AACV;AACA,QAAQ,oBAAoB,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE;AAChE,UAAU,SAAS,EAAE,CAAC,kBAAkB,CAAC;AACzC,UAAU,eAAe,EAAE,eAAe;AAC1C,SAAS,eAAe,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AACpD,UAAU,SAAS,EAAE,kBAAkB;AACvC,SAAS,eAAe,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE;AACrD,UAAU,IAAI,EAAE,UAAU;AAC1B,UAAU,EAAE,EAAE,EAAE;AAChB,UAAU,IAAI,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAChC,UAAU,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC;AACtC,UAAU,OAAO,EAAE,SAAS;AAC5B,UAAU,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,EAAE,CAAC,eAAe,CAAC;AACnE,UAAU,QAAQ,EAAE,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AACxD,SAAS,CAAC,eAAe,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACpD,UAAU,EAAE,EAAE,EAAE;AAChB,UAAU,KAAK,EAAE,KAAK;AACtB,UAAU,SAAS,EAAE,gBAAgB;AACrC,SAAS,CAAC,CAAC,CAAC,CAAC;AACb,OAAO;AACP,GAAG;AACH,CAAC,CAAC;AACF;AACA,QAAQ,CAAC,SAAS,GAAG;AACrB,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM;AAC7B,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM;AAC1B,EAAE,EAAE,EAAE,SAAS,CAAC,MAAM;AACtB,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM;AACxB,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM;AACzB,EAAE,gBAAgB,EAAE,SAAS,CAAC,IAAI;AAClC,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM;AAC/B,EAAE,eAAe,EAAE,SAAS,CAAC,MAAM;AACnC,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM;AACxB,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM;AAC3B,CAAC,CAAC;AACF;AACA,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;AAChD,EAAE,WAAW,EAAE,gCAAgC;AAC/C,EAAE,WAAW,EAAE,aAAa;AAC5B,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;AACf,EAAE,eAAe;AACjB,CAAC,KAAK;AACN,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,eAAe,IAAI,GAAG,CAAC,CAAC,uKAAuK,CAAC,CAAC,CAAC,CAAC;AAC1N,CAAC,CAAC,CAAC;AACH;AACA,MAAM,WAAW,GAAG,CAAC;AACrB,EAAE,SAAS;AACX,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE,EAAE;AACJ,EAAE,IAAI;AACN,EAAE,KAAK;AACP,EAAE,WAAW;AACb,EAAE,eAAe;AACjB,EAAE,eAAe;AACjB,CAAC,KAAK;AACN,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,IAAI,CAAC;AAChC,EAAE,MAAM,UAAU,GAAG,WAAW,IAAI,WAAW,CAAC,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAC;AACxE,EAAE,MAAM,QAAQ,GAAG,WAAW,IAAI,WAAW,CAAC,aAAa,IAAI,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC;AAChG;AACA,EAAE,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,KAAK;AAC/C,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;AAChC,GAAG,CAAC;AACJ;AACA,EAAE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC;AACpD,EAAE,oBAAoB,KAAK,CAAC,aAAa,CAAC,iBAAiB,EAAE;AAC7D,IAAI,SAAS,EAAE,iBAAiB;AAChC,IAAI,eAAe,EAAE,eAAe;AACpC,GAAG,eAAe,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC7C,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,KAAK,EAAE,KAAK;AAChB,IAAI,UAAU,EAAE,UAAU;AAC1B,IAAI,SAAS,EAAE,uBAAuB;AACtC,GAAG,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK;AACjC,IAAI,oBAAoB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AACpD,MAAM,GAAG,EAAE,GAAG;AACd,MAAM,SAAS,EAAE,eAAe;AAChC,KAAK,eAAe,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE;AACjD,MAAM,IAAI,EAAE,IAAI;AAChB,MAAM,EAAE,EAAE,GAAG,CAAC,eAAe,CAAC;AAC9B,MAAM,IAAI,EAAE,EAAE;AACd,MAAM,KAAK,EAAE,GAAG,CAAC,eAAe,CAAC;AACjC,MAAM,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC;AAC5D,MAAM,QAAQ,EAAE,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AAC9D,KAAK,CAAC,eAAe,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChD,MAAM,EAAE,EAAE,GAAG,CAAC,eAAe,CAAC;AAC9B,MAAM,KAAK,EAAE,GAAG,CAAC,eAAe,CAAC;AACjC,MAAM,SAAS,EAAE,aAAa;AAC9B,KAAK,CAAC,CAAC,CAAC;AACR,GAAG,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AACF;AACA,WAAW,CAAC,SAAS,GAAG;AACxB,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM;AAC7B,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM;AAC1B,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI;AAC1B,EAAE,EAAE,EAAE,SAAS,CAAC,MAAM;AACtB,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM;AACxB,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM;AACzB,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM;AAC/B,EAAE,eAAe,EAAE,SAAS,CAAC,MAAM;AACnC,EAAE,eAAe,EAAE,SAAS,CAAC,IAAI;AACjC,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,KAAK;AACtD,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC;AACzB,EAAE,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,EAAE,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAChD,EAAE,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC3C,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAC1B,EAAE,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3B,EAAE,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AACzB,EAAE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;AACtC,EAAE,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC3C,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAC1B,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAC5B;AACA,EAAE,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC3B,EAAE,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AAC3C,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AACzC,EAAE,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC7B,EAAE,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC7B,EAAE,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC7B,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACzB,EAAE,IAAI,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;AAC7F,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAClgC,EAAE,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AACF;AACA,MAAM,WAAW,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAC7G,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AAClJ,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACpE,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AAChG;AACA,MAAM,SAAS,GAAG,IAAI,IAAI;AAC1B,EAAE,OAAO,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC;AACtC,CAAC,CAAC;AACF;AACA,MAAM,OAAO,GAAG,IAAI,IAAI;AACxB,EAAE,OAAO,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACjC,CAAC,CAAC;AACF;AACA,MAAM,UAAU,GAAG,CAAC;AACpB,EAAE,SAAS;AACX,EAAE,IAAI;AACN,EAAE,EAAE;AACJ,EAAE,KAAK;AACP,EAAE,WAAW;AACb,EAAE,QAAQ;AACV,EAAE,MAAM;AACR,CAAC,KAAK;AACN,EAAE,MAAM,UAAU,GAAG,WAAW,IAAI,WAAW,CAAC,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAC;AACxE,EAAE,MAAM,eAAe,GAAG,WAAW,IAAI,WAAW,CAAC,YAAY,CAAC;AAClE,EAAE,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AACvB,EAAE,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AACrC;AACA,EAAE,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,KAAK;AAC/C,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9B,IAAI,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AACpC,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AAClC,GAAG,CAAC;AACJ;AACA,EAAE,oBAAoB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACjD,IAAI,SAAS,EAAE,gBAAgB;AAC/B,GAAG,eAAe,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC7C,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,KAAK,EAAE,KAAK;AAChB,IAAI,UAAU,EAAE,UAAU;AAC1B,IAAI,SAAS,EAAE,YAAY;AAC3B,GAAG,CAAC,eAAe,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE;AAChD,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,IAAI,EAAE,EAAE;AACZ,IAAI,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC;AACzD,IAAI,GAAG,EAAE,eAAe,GAAG,UAAU,CAAC,UAAU,EAAE,YAAY,CAAC,GAAG,EAAE;AACpE,IAAI,QAAQ,EAAE,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AAC5D,GAAG,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AACF;AACA,UAAU,CAAC,SAAS,GAAG;AACvB,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM;AAC7B,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM;AAC1B,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI;AAC1B,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM;AACxB,EAAE,EAAE,EAAE,SAAS,CAAC,MAAM;AACtB,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM;AACzB,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM;AAC/B,CAAC,CAAC;AACF;AACA,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;AAC9C,EAAE,WAAW,EAAE,4BAA4B;AAC3C,EAAE,WAAW,EAAE,UAAU;AACzB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;AACf,EAAE,eAAe;AACjB,CAAC,KAAK;AACN,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,eAAe,IAAI,GAAG,CAAC,CAAC,gGAAgG,CAAC,CAAC,CAAC,CAAC;AACnJ,CAAC,CAAC,CAAC;AACH;AACA,MAAM,SAAS,GAAG,CAAC;AACnB,EAAE,SAAS;AACX,EAAE,EAAE;AACJ,EAAE,KAAK;AACP,EAAE,WAAW;AACb,EAAE,kBAAkB;AACpB,EAAE,MAAM;AACR,EAAE,eAAe;AACjB,CAAC,KAAK;AACN,EAAE,MAAM,UAAU,GAAG,WAAW,IAAI,WAAW,CAAC,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAC;AACxE,EAAE,MAAM,eAAe,GAAG,WAAW,IAAI,WAAW,CAAC,YAAY,CAAC;AAClE,EAAE,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AACvB,EAAE,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AACrC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC3C,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC/C;AACA,EAAE,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,KAAK;AAC7D,IAAI,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACtC;AACA,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9B,IAAI,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AACpC,IAAI,kBAAkB,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AACtD,GAAG,CAAC;AACJ;AACA,EAAE,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK;AAC3C,IAAI,QAAQ,IAAI;AAChB,MAAM,KAAK,MAAM;AACjB,QAAQ;AACR,UAAU,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;AACnC,UAAU,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AAC1C,UAAU,WAAW,CAAC,OAAO,CAAC,CAAC;AAC/B,UAAU,MAAM;AAChB,SAAS;AACT;AACA,MAAM,KAAK,IAAI;AACf,QAAQ;AACR,UAAU,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;AACnC,UAAU,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AAC1C,UAAU,SAAS,CAAC,OAAO,CAAC,CAAC;AAC7B,UAAU,MAAM;AAChB,SAAS;AACT;AACA,MAAM;AACN,QAAQ,OAAO;AACf,KAAK;AACL,GAAG,CAAC;AACJ;AACA,EAAE,oBAAoB,KAAK,CAAC,aAAa,CAAC,eAAe,EAAE;AAC3D,IAAI,SAAS,EAAE,CAAC,mBAAmB,CAAC;AACpC,IAAI,eAAe,EAAE,eAAe;AACpC,GAAG,eAAe,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC7C,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,KAAK,EAAE,KAAK;AAChB,IAAI,UAAU,EAAE,UAAU;AAC1B,GAAG,CAAC,eAAe,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC9C,IAAI,SAAS,EAAE,mBAAmB;AAClC,GAAG,eAAe,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC7C,IAAI,EAAE,EAAE,WAAW;AACnB,IAAI,KAAK,EAAE,WAAW;AACtB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,SAAS,EAAE,iBAAiB;AAChC,GAAG,CAAC,eAAe,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE;AAChD,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,EAAE,EAAE,WAAW;AACnB,IAAI,IAAI,EAAE,EAAE;AACZ,IAAI,GAAG,EAAE,eAAe,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,UAAU,EAAE,YAAY,CAAC,GAAG,eAAe,IAAI,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,EAAE;AAC1L,IAAI,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,EAAE,CAAC,gBAAgB,CAAC;AAC9D,IAAI,QAAQ,EAAE,CAAC,IAAI,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AACxE,GAAG,CAAC,eAAe,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC9C,IAAI,EAAE,EAAE,SAAS;AACjB,IAAI,KAAK,EAAE,SAAS;AACpB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,SAAS,EAAE,iBAAiB;AAChC,GAAG,CAAC,eAAe,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE;AAChD,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,EAAE,EAAE,SAAS;AACjB,IAAI,IAAI,EAAE,EAAE;AACZ,IAAI,GAAG,EAAE,eAAe,GAAG,UAAU,CAAC,UAAU,EAAE,YAAY,CAAC,GAAG,EAAE;AACpE,IAAI,GAAG,EAAE,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC;AAC3C,IAAI,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,EAAE,CAAC,gBAAgB,CAAC;AAC9D,IAAI,QAAQ,EAAE,CAAC,IAAI,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AACtE,GAAG,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AACF;AACA,SAAS,CAAC,SAAS,GAAG;AACtB,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM;AAC7B,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM;AAC1B,EAAE,kBAAkB,EAAE,SAAS,CAAC,IAAI;AACpC,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM;AACxB,EAAE,EAAE,EAAE,SAAS,CAAC,MAAM;AACtB,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM;AACzB,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM;AAC/B,EAAE,eAAe,EAAE,SAAS,CAAC,IAAI;AACjC,CAAC,CAAC;AACF;AACA,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;AAChD,EAAE,WAAW,EAAE,gCAAgC;AAC/C,EAAE,WAAW,EAAE,UAAU;AACzB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;AACf,EAAE,eAAe;AACjB,CAAC,KAAK;AACN,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,eAAe,IAAI,GAAG,CAAC,CAAC,yLAAyL,CAAC,CAAC,CAAC,CAAC;AAC5O,CAAC,CAAC,CAAC;AACH;AACA,MAAM,WAAW,GAAG,CAAC;AACrB,EAAE,SAAS;AACX,EAAE,OAAO;AACT,EAAE,EAAE;AACJ,EAAE,KAAK;AACP,EAAE,WAAW;AACb,EAAE,IAAI;AACN,EAAE,eAAe;AACjB,EAAE,QAAQ;AACV,EAAE,MAAM;AACR,CAAC,KAAK;AACN,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC;AAClD,EAAE,MAAM,UAAU,GAAG,WAAW,IAAI,WAAW,CAAC,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAC;AACxE,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB;AACA,EAAE,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,KAAK;AAC1D,IAAI,IAAI,IAAI,KAAK,UAAU,EAAE;AAC7B,MAAM,IAAI,SAAS,EAAE;AACrB,QAAQ,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE;AAC7B,QAAQ,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,KAAK,KAAK,CAAC,CAAC;AAC7D,OAAO;AACP;AACA,MAAM,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;AACnC,KAAK,MAAM;AACX,MAAM,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;AAClC,KAAK;AACL,GAAG,CAAC;AACJ;AACA,EAAE,oBAAoB,KAAK,CAAC,aAAa,CAAC,iBAAiB,EAAE;AAC7D,IAAI,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC;AAClC,IAAI,eAAe,EAAE,eAAe;AACpC,GAAG,eAAe,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC7C,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,KAAK,EAAE,KAAK;AAChB,IAAI,UAAU,EAAE,UAAU;AAC1B,IAAI,SAAS,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC;AACxC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK;AAChC,IAAI,oBAAoB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AACpD,MAAM,GAAG,EAAE,GAAG;AACd,MAAM,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC;AAClC,KAAK,eAAe,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE;AACjD,MAAM,IAAI,EAAE,IAAI;AAChB,MAAM,EAAE,EAAE,GAAG,CAAC,UAAU;AACxB,MAAM,KAAK,EAAE,GAAG,CAAC,UAAU;AAC3B,MAAM,IAAI,EAAE,EAAE;AACd,MAAM,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC9D,MAAM,QAAQ,EAAE,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AAChF,KAAK,CAAC,eAAe,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChD,MAAM,EAAE,EAAE,GAAG,CAAC,UAAU;AACxB,MAAM,KAAK,EAAE,GAAG,CAAC,UAAU;AAC3B,MAAM,SAAS,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAChC,KAAK,CAAC,CAAC,CAAC;AACR,GAAG,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AACF;AACA,WAAW,CAAC,SAAS,GAAG;AACxB,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM;AAC7B,EAAE,OAAO,EAAE,SAAS,CAAC,KAAK;AAC1B,EAAE,EAAE,EAAE,SAAS,CAAC,MAAM;AACtB,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM;AACzB,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM;AAC/B,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM;AACxB,EAAE,eAAe,EAAE,SAAS,CAAC,IAAI;AACjC,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI;AAC1B,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM;AAC1B,CAAC,CAAC;AACF;AACA,MAAM,YAAY,GAAG,CAAC;AACtB,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE,kBAAkB;AACpB,EAAE,aAAa;AACf,EAAE,eAAe;AACjB,EAAE,MAAM;AACR,EAAE,eAAe;AACjB,EAAE,OAAO;AACT,EAAE,gBAAgB;AAClB,CAAC,KAAK;AACN,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC;AAChD;AACA,EAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AACpC,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC;AAC5B;AACA,IAAI,QAAQ,KAAK,CAAC,IAAI;AACtB,MAAM,KAAK,QAAQ,CAAC;AACpB,MAAM,KAAK,WAAW;AACtB,QAAQ;AACR,UAAU,oBAAoB,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AAC7D,YAAY,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACrC,YAAY,IAAI,EAAE,KAAK,CAAC,IAAI;AAC5B,YAAY,EAAE,EAAE,KAAK,CAAC,EAAE;AACxB,YAAY,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;AAC5D,YAAY,MAAM,EAAE,MAAM;AAC1B,YAAY,QAAQ,EAAE,QAAQ;AAC9B,YAAY,WAAW,EAAE,KAAK,CAAC,WAAW;AAC1C,YAAY,aAAa,EAAE,aAAa;AACxC,YAAY,eAAe,EAAE,eAAe;AAC5C,YAAY,YAAY,EAAE,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO;AACzE,YAAY,WAAW,EAAE,KAAK,CAAC,MAAM;AACrC,YAAY,MAAM,EAAE,MAAM;AAC1B,YAAY,eAAe,EAAE,eAAe;AAC5C,WAAW,CAAC,CAAC;AACb,SAAS;AACT;AACA,MAAM,KAAK,UAAU;AACrB,QAAQ;AACR,UAAU,oBAAoB,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;AAC5D,YAAY,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACrC,YAAY,IAAI,EAAE,KAAK,CAAC,IAAI;AAC5B,YAAY,EAAE,EAAE,KAAK,CAAC,EAAE;AACxB,YAAY,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;AAC5D,YAAY,MAAM,EAAE,MAAM;AAC1B,YAAY,QAAQ,EAAE,QAAQ;AAC9B,YAAY,WAAW,EAAE,KAAK,CAAC,WAAW;AAC1C,YAAY,eAAe,EAAE,eAAe;AAC5C,YAAY,YAAY,EAAE,KAAK,CAAC,OAAO;AACvC,YAAY,WAAW,EAAE,KAAK,CAAC,MAAM;AACrC,YAAY,aAAa,EAAE,aAAa;AACxC,YAAY,eAAe,EAAE,eAAe;AAC5C,YAAY,MAAM,EAAE,MAAM;AAC1B,WAAW,CAAC,CAAC;AACb,SAAS;AACT;AACA,MAAM,KAAK,UAAU;AACrB,QAAQ;AACR,UAAU,oBAAoB,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;AAC5D,YAAY,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACrC,YAAY,EAAE,EAAE,KAAK,CAAC,EAAE;AACxB,YAAY,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;AAC5D,YAAY,WAAW,EAAE,KAAK,CAAC,WAAW;AAC1C,YAAY,eAAe,EAAE,eAAe;AAC5C,YAAY,YAAY,EAAE,KAAK,CAAC,OAAO;AACvC,YAAY,MAAM,EAAE,MAAM;AAC1B,YAAY,QAAQ,EAAE,QAAQ;AAC9B,YAAY,eAAe,EAAE,eAAe;AAC5C,WAAW,CAAC,CAAC;AACb,SAAS;AACT;AACA,MAAM,KAAK,UAAU;AACrB,QAAQ;AACR,UAAU,oBAAoB,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;AAC5D,YAAY,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACrC,YAAY,EAAE,EAAE,KAAK,CAAC,EAAE;AACxB,YAAY,IAAI,EAAE,KAAK,CAAC,IAAI;AAC5B,YAAY,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;AAC5D,YAAY,WAAW,EAAE,KAAK,CAAC,WAAW;AAC1C,YAAY,eAAe,EAAE,eAAe;AAC5C,YAAY,QAAQ,EAAE,QAAQ;AAC9B,YAAY,MAAM,EAAE,MAAM;AAC1B,YAAY,YAAY,EAAE,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO;AACzE,YAAY,IAAI,EAAE,KAAK,CAAC,QAAQ,KAAK,SAAS,GAAG,QAAQ,GAAG,UAAU;AACtE,YAAY,eAAe,EAAE,eAAe;AAC5C,YAAY,gBAAgB,EAAE,gBAAgB;AAC9C,WAAW,CAAC,CAAC;AACb,SAAS;AACT;AACA,MAAM,KAAK,OAAO;AAClB,QAAQ;AACR,UAAU,oBAAoB,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE;AAC/D,YAAY,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACrC,YAAY,EAAE,EAAE,KAAK,CAAC,EAAE;AACxB,YAAY,IAAI,EAAE,KAAK,CAAC,IAAI;AAC5B,YAAY,MAAM,EAAE,MAAM;AAC1B,YAAY,QAAQ,EAAE,QAAQ;AAC9B,YAAY,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;AAC5D,YAAY,WAAW,EAAE,KAAK,CAAC,WAAW;AAC1C,YAAY,eAAe,EAAE,eAAe;AAC5C,YAAY,eAAe,EAAE,eAAe;AAC5C,WAAW,CAAC,CAAC;AACb,SAAS;AACT;AACA,MAAM,KAAK,aAAa;AACxB,QAAQ;AACR,UAAU,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,KAAK,aAAa,GAAG,UAAU,GAAG,OAAO,CAAC;AAC/E,UAAU,MAAM,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;AAClF,UAAU,oBAAoB,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE;AAC/D,YAAY,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACrC,YAAY,IAAI,EAAE,IAAI;AACtB,YAAY,OAAO,EAAE,OAAO;AAC5B,YAAY,EAAE,EAAE,KAAK,CAAC,EAAE;AACxB,YAAY,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;AAC5D,YAAY,eAAe,EAAE,eAAe;AAC5C,YAAY,QAAQ,EAAE,QAAQ;AAC9B,YAAY,aAAa,EAAE,aAAa;AACxC,YAAY,MAAM,EAAE,MAAM;AAC1B,WAAW,CAAC,CAAC;AACb,SAAS;AACT;AACA,MAAM,KAAK,MAAM;AACjB,QAAQ;AACR,UAAU,oBAAoB,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE;AAC9D,YAAY,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACrC,YAAY,IAAI,EAAE,KAAK,CAAC,IAAI;AAC5B,YAAY,EAAE,EAAE,KAAK,CAAC,EAAE;AACxB,YAAY,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;AAC5D,YAAY,WAAW,EAAE,KAAK,CAAC,WAAW;AAC1C,YAAY,MAAM,EAAE,MAAM;AAC1B,YAAY,QAAQ,EAAE,QAAQ;AAC9B,YAAY,eAAe,EAAE,eAAe;AAC5C,WAAW,CAAC,CAAC;AACb,SAAS;AACT;AACA,MAAM,KAAK,WAAW;AACtB,QAAQ;AACR,UAAU,oBAAoB,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AAC7D,YAAY,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACrC,YAAY,EAAE,EAAE,KAAK,CAAC,EAAE;AACxB,YAAY,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;AAC5D,YAAY,WAAW,EAAE,KAAK,CAAC,WAAW;AAC1C,YAAY,MAAM,EAAE,MAAM;AAC1B,YAAY,kBAAkB,EAAE,kBAAkB;AAClD,YAAY,eAAe,EAAE,eAAe;AAC5C,WAAW,CAAC,CAAC;AACb,SAAS;AACT;AACA,MAAM,KAAK,QAAQ;AACnB,QAAQ;AACR,UAAU,oBAAoB,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE;AAC/D,YAAY,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACrC,YAAY,IAAI,EAAE,KAAK,CAAC,IAAI;AAC5B,YAAY,EAAE,EAAE,KAAK,CAAC,EAAE;AACxB,YAAY,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;AAC5D,YAAY,eAAe,EAAE,eAAe;AAC5C,YAAY,YAAY,EAAE,KAAK,CAAC,OAAO;AACvC,YAAY,WAAW,EAAE,KAAK,CAAC,MAAM;AACrC,WAAW,CAAC,CAAC;AACb,SAAS;AACT,KAAK;AACL,GAAG,CAAC,CAAC;AACL,CAAC,CAAC;AACF;AACA,YAAY,CAAC,SAAS,GAAG;AACzB,EAAE,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AAClE,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM;AAC5B,EAAE,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AACnE,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM;AAC1B,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI;AAC1B,EAAE,aAAa,EAAE,SAAS,CAAC,IAAI;AAC/B,EAAE,kBAAkB,EAAE,SAAS,CAAC,IAAI;AACpC,EAAE,eAAe,EAAE,SAAS,CAAC,MAAM;AACnC,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK;AACzB,EAAE,eAAe,EAAE,SAAS,CAAC,IAAI;AACjC,EAAE,gBAAgB,EAAE,SAAS,CAAC,IAAI;AAClC,CAAC,CAAC;AACF;AACA,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;AAC9C,EAAE,WAAW,EAAE,sBAAsB;AACrC,EAAE,WAAW,EAAE,UAAU;AACzB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;AACf,EAAE,KAAK;AACP,EAAE,eAAe;AACjB,CAAC,KAAK;AACN,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,eAAe,IAAI,GAAG,CAAC,CAAC,4GAA4G,EAAE,0EAA0E,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAChQ,CAAC,CAAC,CAAC;AACH;AACA,MAAM,MAAM,GAAG,CAAC;AAChB,EAAE,SAAS;AACX,EAAE,IAAI;AACN,EAAE,IAAI;AACN,EAAE,MAAM;AACR,EAAE,eAAe;AACjB,CAAC,KAAK;AACN,EAAE,oBAAoB,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE;AACxD,IAAI,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,EAAE,CAAC,UAAU,CAAC;AACxD,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,OAAO,EAAE,MAAM,MAAM,EAAE;AAC3B,IAAI,eAAe,EAAE,eAAe;AACpC,GAAG,EAAE,IAAI,CAAC,CAAC;AACX,CAAC,CAAC;AACF,MAAM,CAAC,SAAS,GAAG;AACnB,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM;AAC7B,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM;AACxB,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM;AACxB,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI;AACxB,EAAE,eAAe,EAAE,SAAS,CAAC,IAAI;AACjC,CAAC,CAAC;AACF;AACA,MAAM,YAAY,GAAG,aAAa,EAAE,CAAC;AACrC;AACA,MAAM,aAAa,GAAG,CAAC;AACvB,EAAE,QAAQ;AACV,EAAE,KAAK;AACP,CAAC,KAAK;AACN,EAAE,oBAAoB,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,eAAe,KAAK,CAAC,aAAa,CAAC,eAAe,EAAE;AACzH,IAAI,KAAK,EAAE,KAAK;AAChB,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC;AACF;AACA,aAAa,CAAC,SAAS,GAAG;AAC1B,EAAE,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;AACpF,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM;AACzB,CAAC,CAAC;AACF;AACA,MAAM,kBAAkB,GAAG;AAC3B,EAAE,CAAC,EAAE,GAAG;AACR,EAAE,EAAE,EAAE,GAAG;AACT,EAAE,CAAC,EAAE,GAAG;AACR,EAAE,EAAE,EAAE,GAAG;AACT,EAAE,CAAC,EAAE,IAAI;AACT,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,IAAI,EAAE,IAAI;AACZ,CAAC,CAAC;AACF,MAAM,YAAY,GAAG;AACrB,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC,GAAG,IAAI;AACpC,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,GAAG,IAAI;AACtC,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC,GAAG,IAAI;AACrC,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,GAAG,IAAI;AACtC,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC,GAAG,IAAI;AACpC,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,GAAG,IAAI;AACtC,EAAE,OAAO,EAAE,kBAAkB,CAAC,GAAG,GAAG,IAAI;AACxC,EAAE,IAAI,EAAE,kBAAkB,CAAC,IAAI,GAAG,IAAI;AACtC,CAAC,CAAC;AACF,MAAM,MAAM,GAAG;AACf,EAAE,YAAY,EAAE,YAAY;AAC5B,CAAC,CAAC;AACF;AACA,MAAM,UAAU,GAAG;AACnB,EAAE,OAAO,EAAE,CAAC,4BAA4B,CAAC;AACzC,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA,MAAM,UAAU,GAAG;AACnB,EAAE,OAAO,EAAE;AACX,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK;AACvB,IAAI,WAAW,EAAE,UAAU,CAAC,OAAO;AACnC,IAAI,UAAU,EAAE,QAAQ;AACxB,IAAI,WAAW,EAAE,GAAG;AACpB,IAAI,SAAS,EAAE,MAAM;AACrB,IAAI,WAAW,EAAE,IAAI;AACrB,GAAG;AACH,CAAC,CAAC;AACF,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC;AACzC,MAAM,gBAAgB,GAAG;AACzB,EAAE,aAAa;AACf,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,YAAY,GAAG;AACrB,EAAE,MAAM;AACR,EAAE,gBAAgB;AAClB,EAAE,UAAU;AACZ,EAAE,MAAM;AACR,CAAC,CAAC;AACF;AACA,MAAM,SAAS,GAAG;AAClB,EAAE,OAAO,EAAE,MAAM;AACjB,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,UAAU,EAAE,QAAQ;AACtB,EAAE,cAAc,EAAE,QAAQ;AAC1B,EAAE,aAAa,EAAE,QAAQ;AACzB,CAAC,CAAC;AACF,MAAM,SAAS,GAAG;AAClB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,MAAM,EAAE,MAAM;AAChB,CAAC,CAAC;AACF,MAAM,aAAa,GAAG;AACtB,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,QAAQ,EAAE,MAAM;AAClB,CAAC,CAAC;AACF,MAAM,OAAO,GAAG,MAAM;AACtB,EAAE,oBAAoB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACjD,IAAI,KAAK,EAAE,SAAS;AACpB,GAAG,eAAe,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE;AAC5C,IAAI,KAAK,EAAE,aAAa;AACxB,GAAG,EAAE,YAAY,CAAC,eAAe,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC5D,IAAI,KAAK,EAAE,4BAA4B;AACvC,IAAI,SAAS,EAAE,aAAa;AAC5B,IAAI,mBAAmB,EAAE,UAAU;AACnC,IAAI,OAAO,EAAE,aAAa;AAC1B,IAAI,KAAK,EAAE,SAAS;AACpB,GAAG,eAAe,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAC9C,IAAI,KAAK,EAAE,GAAG;AACd,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,IAAI,EAAE,SAAS;AACnB,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,GAAG,eAAe,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACjD,IAAI,aAAa,EAAE,SAAS;AAC5B,IAAI,KAAK,EAAE,sBAAsB;AACjC,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,QAAQ,EAAE,KAAK;AACnB,IAAI,WAAW,EAAE,YAAY;AAC7B,IAAI,MAAM,EAAE,KAAK;AACjB,GAAG,CAAC,CAAC,eAAe,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAChD,IAAI,KAAK,EAAE,GAAG;AACd,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,IAAI,EAAE,SAAS;AACnB,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,SAAS,EAAE,kBAAkB;AACjC,GAAG,eAAe,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACjD,IAAI,aAAa,EAAE,SAAS;AAC5B,IAAI,KAAK,EAAE,sBAAsB;AACjC,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,QAAQ,EAAE,KAAK;AACnB,IAAI,WAAW,EAAE,YAAY;AAC7B,IAAI,MAAM,EAAE,KAAK;AACjB,GAAG,CAAC,CAAC,eAAe,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAChD,IAAI,KAAK,EAAE,GAAG;AACd,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,IAAI,EAAE,SAAS;AACnB,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,SAAS,EAAE,kBAAkB;AACjC,GAAG,eAAe,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACjD,IAAI,aAAa,EAAE,SAAS;AAC5B,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,QAAQ,EAAE,KAAK;AACnB,IAAI,WAAW,EAAE,YAAY;AAC7B,IAAI,MAAM,EAAE,KAAK;AACjB,GAAG,CAAC,CAAC,eAAe,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAChD,IAAI,KAAK,EAAE,GAAG;AACd,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,IAAI,EAAE,SAAS;AACnB,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,SAAS,EAAE,kBAAkB;AACjC,GAAG,eAAe,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACjD,IAAI,aAAa,EAAE,SAAS;AAC5B,IAAI,KAAK,EAAE,sBAAsB;AACjC,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,QAAQ,EAAE,KAAK;AACnB,IAAI,WAAW,EAAE,YAAY;AAC7B,IAAI,MAAM,EAAE,KAAK;AACjB,GAAG,CAAC,CAAC,eAAe,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAChD,IAAI,KAAK,EAAE,GAAG;AACd,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,IAAI,EAAE,SAAS;AACnB,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,SAAS,EAAE,mBAAmB;AAClC,GAAG,eAAe,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACjD,IAAI,aAAa,EAAE,SAAS;AAC5B,IAAI,KAAK,EAAE,sBAAsB;AACjC,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,QAAQ,EAAE,KAAK;AACnB,IAAI,WAAW,EAAE,YAAY;AAC7B,IAAI,MAAM,EAAE,KAAK;AACjB,GAAG,CAAC,CAAC,eAAe,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAChD,IAAI,KAAK,EAAE,GAAG;AACd,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,IAAI,EAAE,SAAS;AACnB,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,SAAS,EAAE,mBAAmB;AAClC,GAAG,eAAe,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACjD,IAAI,aAAa,EAAE,SAAS;AAC5B,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,QAAQ,EAAE,KAAK;AACnB,IAAI,WAAW,EAAE,YAAY;AAC7B,IAAI,MAAM,EAAE,KAAK;AACjB,GAAG,CAAC,CAAC,eAAe,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAChD,IAAI,KAAK,EAAE,GAAG;AACd,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,IAAI,EAAE,SAAS;AACnB,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,SAAS,EAAE,mBAAmB;AAClC,GAAG,eAAe,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACjD,IAAI,aAAa,EAAE,SAAS;AAC5B,IAAI,KAAK,EAAE,sBAAsB;AACjC,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,QAAQ,EAAE,KAAK;AACnB,IAAI,WAAW,EAAE,YAAY;AAC7B,IAAI,MAAM,EAAE,KAAK;AACjB,GAAG,CAAC,CAAC,eAAe,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAChD,IAAI,KAAK,EAAE,GAAG;AACd,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,IAAI,EAAE,SAAS;AACnB,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,SAAS,EAAE,mBAAmB;AAClC,GAAG,eAAe,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACjD,IAAI,aAAa,EAAE,SAAS;AAC5B,IAAI,KAAK,EAAE,sBAAsB;AACjC,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,QAAQ,EAAE,KAAK;AACnB,IAAI,WAAW,EAAE,YAAY;AAC7B,IAAI,MAAM,EAAE,KAAK;AACjB,GAAG,CAAC,CAAC,eAAe,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAChD,IAAI,KAAK,EAAE,GAAG;AACd,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,IAAI,EAAE,SAAS;AACnB,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,SAAS,EAAE,mBAAmB;AAClC,GAAG,eAAe,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACjD,IAAI,aAAa,EAAE,SAAS;AAC5B,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,QAAQ,EAAE,KAAK;AACnB,IAAI,WAAW,EAAE,YAAY;AAC7B,IAAI,MAAM,EAAE,KAAK;AACjB,GAAG,CAAC,CAAC,eAAe,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAChD,IAAI,KAAK,EAAE,GAAG;AACd,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,IAAI,EAAE,SAAS;AACnB,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,SAAS,EAAE,mBAAmB;AAClC,GAAG,eAAe,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACjD,IAAI,aAAa,EAAE,SAAS;AAC5B,IAAI,KAAK,EAAE,uBAAuB;AAClC,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,QAAQ,EAAE,KAAK;AACnB,IAAI,WAAW,EAAE,YAAY;AAC7B,IAAI,MAAM,EAAE,KAAK;AACjB,GAAG,CAAC,CAAC,eAAe,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAChD,IAAI,KAAK,EAAE,GAAG;AACd,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,IAAI,EAAE,SAAS;AACnB,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,SAAS,EAAE,mBAAmB;AAClC,GAAG,eAAe,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACjD,IAAI,aAAa,EAAE,SAAS;AAC5B,IAAI,KAAK,EAAE,uBAAuB;AAClC,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,QAAQ,EAAE,KAAK;AACnB,IAAI,WAAW,EAAE,YAAY;AAC7B,IAAI,MAAM,EAAE,KAAK;AACjB,GAAG,CAAC,CAAC,eAAe,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAChD,IAAI,KAAK,EAAE,GAAG;AACd,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,IAAI,EAAE,SAAS;AACnB,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,SAAS,EAAE,mBAAmB;AAClC,GAAG,eAAe,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACjD,IAAI,aAAa,EAAE,SAAS;AAC5B,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,QAAQ,EAAE,KAAK;AACnB,IAAI,WAAW,EAAE,YAAY;AAC7B,IAAI,MAAM,EAAE,KAAK;AACjB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC;AACF,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;AACvB;AACA,MAAM,MAAM,GAAG,CAAC;AAChB,EAAE,SAAS;AACX,EAAE,MAAM;AACR,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE,SAAS;AACX,EAAE,QAAQ;AACV,EAAE,aAAa;AACf,EAAE,eAAe;AACjB,EAAE,MAAM;AACR,EAAE,UAAU;AACZ,EAAE,iBAAiB;AACnB,EAAE,cAAc;AAChB,EAAE,UAAU;AACZ,EAAE,MAAM;AACR,EAAE,kBAAkB;AACpB,EAAE,eAAe;AACjB,EAAE,OAAO;AACT,EAAE,YAAY;AACd,EAAE,gBAAgB;AAClB,CAAC,KAAK;AACN,EAAE,SAAS,CAAC,MAAM;AAClB,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;AACtB,GAAG,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAC1B;AACA,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC;AAC3B,EAAE,IAAI,UAAU,CAAC;AACjB;AACA,EAAE,IAAI,UAAU,IAAI,UAAU,CAAC,SAAS,GAAG,CAAC,EAAE;AAC9C,IAAI,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC;AACxE,IAAI,UAAU,gBAAgB,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE;AAC9D,MAAM,SAAS,EAAE,SAAS;AAC1B,MAAM,EAAE,EAAE,MAAM;AAChB,MAAM,eAAe,EAAE,eAAe;AACtC,KAAK,EAAE,MAAM,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,IAAI,MAAM,CAAC,YAAY,iBAAiB,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE;AAChH,MAAM,SAAS,EAAE,SAAS;AAC1B,KAAK,CAAC,EAAE,CAAC,MAAM,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,UAAU,iBAAiB,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,SAAS,GAAG,CAAC,iBAAiB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAC5N,MAAM,IAAI,EAAE,QAAQ;AACpB,MAAM,IAAI,EAAE,SAAS;AACrB,MAAM,MAAM,EAAE,MAAM,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC;AACpE,MAAM,eAAe,EAAE,eAAe;AACtC,KAAK,CAAC,eAAe,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE;AACvD,MAAM,MAAM,EAAE,MAAM;AACpB,MAAM,QAAQ,EAAE,QAAQ;AACxB,MAAM,MAAM,EAAE,MAAM;AACpB,MAAM,QAAQ,EAAE,QAAQ;AACxB,MAAM,aAAa,EAAE,aAAa;AAClC,MAAM,eAAe,EAAE,eAAe;AACtC,MAAM,MAAM,EAAE,MAAM;AACpB,MAAM,UAAU,EAAE,UAAU;AAC5B,MAAM,eAAe,EAAE,eAAe;AACtC,MAAM,OAAO,EAAE,OAAO;AACtB,MAAM,kBAAkB,EAAE,kBAAkB;AAC5C,MAAM,gBAAgB,EAAE,gBAAgB;AACxC,KAAK,CAAC,EAAE,CAAC,UAAU,iBAAiB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAChE,MAAM,IAAI,EAAE,QAAQ;AACpB,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,MAAM,EAAE,MAAM,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC;AACvE,MAAM,eAAe,EAAE,eAAe;AACtC,KAAK,CAAC,EAAE,UAAU,iBAAiB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAC/D,MAAM,IAAI,EAAE,QAAQ;AACpB,MAAM,IAAI,EAAE,QAAQ;AACpB,MAAM,MAAM,EAAE,MAAM;AACpB,QAAQ,UAAU,CAAC,MAAM,CAAC,CAAC;AAC3B,QAAQ,YAAY,EAAE,CAAC;AACvB,OAAO;AACP,MAAM,eAAe,EAAE,eAAe;AACtC,KAAK,CAAC,CAAC,EAAE,MAAM,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,cAAc,iBAAiB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE;AACvG,MAAM,SAAS,EAAE,iBAAiB;AAClC,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;AAC/B,GAAG,MAAM;AACT,IAAI,UAAU,gBAAgB,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE;AAC9D,MAAM,SAAS,EAAE,SAAS;AAC1B,MAAM,EAAE,EAAE,MAAM;AAChB,MAAM,eAAe,EAAE,eAAe;AACtC,KAAK,EAAE,MAAM,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,IAAI,MAAM,CAAC,YAAY,iBAAiB,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE;AAChH,MAAM,SAAS,EAAE,SAAS;AAC1B,KAAK,CAAC,EAAE,CAAC,MAAM,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,UAAU,iBAAiB,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,eAAe,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE;AACtM,MAAM,MAAM,EAAE,MAAM;AACpB,MAAM,MAAM,EAAE,MAAM;AACpB,MAAM,QAAQ,EAAE,QAAQ;AACxB,MAAM,kBAAkB,EAAE,kBAAkB;AAC5C,MAAM,aAAa,EAAE,aAAa;AAClC,MAAM,eAAe,EAAE,eAAe;AACtC,MAAM,MAAM,EAAE,MAAM;AACpB,MAAM,eAAe,EAAE,eAAe;AACtC,MAAM,OAAO,EAAE,OAAO;AACtB,MAAM,gBAAgB,EAAE,gBAAgB;AACxC,KAAK,CAAC,eAAe,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AACjD,MAAM,IAAI,EAAE,QAAQ;AACpB,MAAM,IAAI,EAAE,QAAQ;AACpB,MAAM,MAAM,EAAE,MAAM;AACpB,QAAQ,UAAU,CAAC,MAAM,CAAC,CAAC;AAC3B,QAAQ,YAAY,EAAE,CAAC;AACvB,OAAO;AACP,MAAM,eAAe,EAAE,eAAe;AACtC,KAAK,CAAC,CAAC,EAAE,MAAM,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,cAAc,iBAAiB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE;AACvG,MAAM,SAAS,EAAE,iBAAiB;AAClC,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;AAC/B,GAAG;AACH;AACA,EAAE,oBAAoB,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE;AACzD,IAAI,KAAK,EAAE,YAAY;AACvB,GAAG,EAAE,UAAU,CAAC,CAAC;AACjB,CAAC,CAAC;AACF;AACA,MAAM,CAAC,SAAS,GAAG;AACnB,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM;AAC7B,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM;AAC1B,EAAE,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AAClE,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM;AAC5B,EAAE,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AACnE,EAAE,eAAe,EAAE,SAAS,CAAC,IAAI;AACjC,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI;AAC3B,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI;AAC1B,EAAE,kBAAkB,EAAE,SAAS,CAAC,IAAI;AACpC,EAAE,aAAa,EAAE,SAAS,CAAC,IAAI;AAC/B,EAAE,eAAe,EAAE,SAAS,CAAC,MAAM;AACnC,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK;AACzB,EAAE,UAAU,EAAE,SAAS,CAAC,MAAM;AAC9B,EAAE,iBAAiB,EAAE,SAAS,CAAC,IAAI;AACnC,EAAE,cAAc,EAAE,SAAS,CAAC,IAAI;AAChC,EAAE,UAAU,EAAE,SAAS,CAAC,IAAI;AAC5B,EAAE,YAAY,EAAE,SAAS,CAAC,IAAI;AAC9B,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM;AAC1B,EAAE,gBAAgB,EAAE,SAAS,CAAC,IAAI;AAClC,CAAC,CAAC;AACF;AACA,SAAS,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE;AACpC,EAAE,OAAO;AACT,IAAI,IAAI;AACR,IAAI,GAAG,OAAO;AACd,GAAG,CAAC;AACJ,CAAC;AACD;AACA,MAAM,UAAU,GAAG,MAAM,IAAI,MAAM,CAAC,0BAA0B,EAAE;AAChE,EAAE,MAAM;AACR,CAAC,CAAC,CAAC;AACH,MAAM,SAAS,GAAG,MAAM,IAAI,MAAM,CAAC,WAAW,EAAE;AAChD,EAAE,MAAM;AACR,CAAC,CAAC,CAAC;AACH,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,KAAK,MAAM,CAAC,eAAe,EAAE;AAChE,EAAE,MAAM;AACR,EAAE,EAAE;AACJ,EAAE,KAAK;AACP,CAAC,CAAC,CAAC;AACH,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC,kBAAkB,EAAE;AACtF,EAAE,MAAM;AACR,EAAE,EAAE;AACJ,EAAE,KAAK;AACP,EAAE,SAAS;AACX,CAAC,CAAC,CAAC;AACH,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,KAAK,MAAM,CAAC,qBAAqB,EAAE;AAC1F,EAAE,MAAM;AACR,EAAE,EAAE;AACJ,EAAE,QAAQ;AACV,EAAE,KAAK;AACP,CAAC,CAAC,CAAC;AACH,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,KAAK,MAAM,CAAC,cAAc,EAAE;AACpE,EAAE,MAAM;AACR,EAAE,EAAE;AACJ,EAAE,KAAK;AACP,CAAC,CAAC,CAAC;AACH,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,CAAC,YAAY,EAAE;AACtE,EAAE,MAAM;AACR,EAAE,SAAS;AACX,CAAC,CAAC,CAAC;AACH,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,CAAC,SAAS,EAAE;AAChE,EAAE,MAAM;AACR,EAAE,SAAS;AACX,CAAC,CAAC,CAAC;AACH;AACA,MAAM,aAAa,GAAG,CAAC;AACvB,EAAE,SAAS;AACX,EAAE,MAAM;AACR,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE,SAAS;AACX,EAAE,QAAQ;AACV,EAAE,kBAAkB;AACpB,EAAE,aAAa;AACf,EAAE,eAAe;AACjB,EAAE,MAAM;AACR,EAAE,UAAU;AACZ,EAAE,iBAAiB;AACnB,EAAE,cAAc;AAChB,EAAE,UAAU;AACZ,EAAE,MAAM;AACR,EAAE,eAAe,GAAG,IAAI;AACxB,EAAE,OAAO;AACT,EAAE,gBAAgB;AAClB,EAAE,YAAY;AACd,CAAC,KAAK;AACN,EAAE,oBAAoB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAClD,IAAI,SAAS,EAAE,SAAS;AACxB,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,SAAS,EAAE,SAAS;AACxB,IAAI,QAAQ,EAAE,QAAQ;AACtB,IAAI,kBAAkB,EAAE,kBAAkB;AAC1C,IAAI,aAAa,EAAE,aAAa;AAChC,IAAI,eAAe,EAAE,eAAe;AACpC,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,UAAU,EAAE,UAAU;AAC1B,IAAI,iBAAiB,EAAE,iBAAiB;AACxC,IAAI,cAAc,EAAE,cAAc;AAClC,IAAI,UAAU,EAAE,UAAU;AAC1B,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,eAAe,EAAE,eAAe;AACpC,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,QAAQ,EAAE,QAAQ;AACtB,IAAI,gBAAgB,EAAE,gBAAgB;AACtC,IAAI,YAAY,EAAE,YAAY;AAC9B,GAAG,CAAC,CAAC;AACL,CAAC,CAAC;AACF;AACA,aAAa,CAAC,SAAS,GAAG;AAC1B,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM;AAC7B,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM;AAC1B,EAAE,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AAClE,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM;AAC5B,EAAE,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AACnE,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI;AAC3B,EAAE,kBAAkB,EAAE,SAAS,CAAC,IAAI;AACpC,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI;AAC1B,EAAE,eAAe,EAAE,SAAS,CAAC,IAAI;AACjC,EAAE,aAAa,EAAE,SAAS,CAAC,IAAI;AAC/B,EAAE,eAAe,EAAE,SAAS,CAAC,MAAM;AACnC,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK;AACzB,EAAE,UAAU,EAAE,SAAS,CAAC,MAAM;AAC9B,EAAE,iBAAiB,EAAE,SAAS,CAAC,IAAI;AACnC,EAAE,cAAc,EAAE,SAAS,CAAC,IAAI;AAChC,EAAE,UAAU,EAAE,SAAS,CAAC,IAAI;AAC5B,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM;AAC1B,EAAE,gBAAgB,EAAE,SAAS,CAAC,IAAI;AAClC,EAAE,YAAY,EAAE,SAAS,CAAC,IAAI;AAC9B,CAAC,CAAC;AACF;AACA,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK;AAC1C,EAAE,MAAM;AACR,IAAI,MAAM;AACV,GAAG,GAAG,KAAK,CAAC;AACZ,EAAE,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACrD,EAAE,MAAM,eAAe,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;AACtD,EAAE,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAC1D,EAAE,OAAO,KAAK,KAAK;AACnB,IAAI,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC;AACnC,IAAI,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC;AACnC,IAAI,eAAe,EAAE,iBAAiB,CAAC,KAAK,CAAC;AAC7C,IAAI,MAAM,EAAE,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC;AAC5C,IAAI,UAAU,EAAE,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC;AAC/C,IAAI,MAAM,EAAE,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC;AAC3C,IAAI,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC;AACzC,IAAI,QAAQ,EAAE,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC;AAC3C,GAAG,CAAC,CAAC;AACL,CAAC,CAAC;AACF;AACA,MAAM,kBAAkB,GAAG,QAAQ,IAAI;AACvC,EAAE,OAAO;AACT,IAAI,SAAS,EAAE,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACpD,IAAI,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,KAAK,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;AAC1E,IAAI,gBAAgB,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,KAAK,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;AAChH,IAAI,kBAAkB,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,KAAK,QAAQ,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAClH,IAAI,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,KAAK,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;AACpF,IAAI,iBAAiB,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAC5F,IAAI,cAAc,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACtF,IAAI,UAAU,EAAE,MAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACtD,GAAG,CAAC;AACJ,CAAC,CAAC;AACF;AACA,IAAI,IAAI,GAAG,OAAO,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;;;;"}
|