{"version":3,"file":"veilederIof-DKsiM1fx.js","sources":["../../../Features/VeilederInntektOgFormue/Utilities/A-InntektValg.ts","../../../Features/VeilederInntektOgFormue/Ids.ts","../../../Features/VeilederInntektOgFormue/Store/Valg/Types.ts","../../../Features/VeilederInntektOgFormue/Store/Resultat/Types.ts","../../../Features/VeilederInntektOgFormue/Store/Resultat/Actions.ts","../../../Features/VeilederInntektOgFormue/Store/Valg/Actions.ts","../../../Features/VeilederInntektOgFormue/ResultatVisning.ts","../../../Features/VeilederInntektOgFormue/Components/ResultatComponent.tsx","../../../Features/VeilederInntektOgFormue/Components/EkstraboksContainer.tsx","../../../Features/VeilederInntektOgFormue/App.tsx","../../../Features/VeilederInntektOgFormue/Store/Resultat/Reducers.ts","../../../Features/VeilederInntektOgFormue/Store/Satser/Types.ts","../../../Features/VeilederInntektOgFormue/Store/Satser/Reducers.ts","../../../Features/VeilederInntektOgFormue/Store/Valg/Reducers.ts","../../../Features/VeilederInntektOgFormue/Store/index.ts","../../../Features/VeilederInntektOgFormue/Utilities/SatserApi.ts","../../../Features/VeilederInntektOgFormue/Store/Satser/Actions.ts","../../../Features/VeilederInntektOgFormue/Index.tsx"],"sourcesContent":["import { RadioButtonValgModel } from '../../Shared/Scripts/Components/RadioButtonValg';\r\nimport VeilederIofDto from '../Models/VeilederIofDto';\r\n\r\nconst egenInntekt = 'a1-egenInntekt';\r\nconst ektefelleSamboer = 'a2-ektefelleSamboer';\r\nconst foreldre = 'a3-foreldre';\r\nconst formue = 'a4-formue';\r\nconst trygd = 'a5-trygd';\r\n\r\nconst aValg: RadioButtonValgModel[] = [\r\n {\r\n id: 'a1',\r\n value: egenInntekt,\r\n tekst: 'valgEgenInntekt',\r\n },\r\n {\r\n id: 'a2',\r\n value: ektefelleSamboer,\r\n tekst: 'valgEktefelleSamboer',\r\n },\r\n {\r\n id: 'a3',\r\n value: foreldre,\r\n tekst: 'valgForeldre',\r\n },\r\n {\r\n id: 'a4',\r\n value: formue,\r\n tekst: 'valgFormue',\r\n },\r\n {\r\n id: 'a5',\r\n value: trygd,\r\n tekst: 'valgTrygd',\r\n },\r\n];\r\n\r\nexport default {\r\n a1_egenInntekt: egenInntekt,\r\n a2_ektefelleSamboer: ektefelleSamboer,\r\n a3_foreldre: foreldre,\r\n a4_formue: formue,\r\n a5_trygd: trygd,\r\n aValg,\r\n};\r\n","export const AppContainerId = 'veilederinntektogformue';\r\nexport const BoksA = 'boks-a';\r\nexport const BoksResultat = 'resultat';\r\nexport const BoksEkstraboks = 'ekstraboks';\r\n","import Valg from '../../../Shared/Scripts/Models/Valg';\r\n\r\nexport interface ValgState {\r\n aInntekt?: Valg;\r\n visVilkar: boolean;\r\n}\r\n\r\nexport const UPDATE_VALG = 'UPDATE_VALG';\r\nexport const TOGGLE_VILKAR = 'TOGGLE_VILKAR';\r\n\r\ninterface UpdateValgAction {\r\n type: typeof UPDATE_VALG;\r\n payload: Partial;\r\n}\r\n\r\nexport interface ToggleVilkarAction {\r\n type: typeof TOGGLE_VILKAR;\r\n}\r\n\r\nexport type ValgStateActionTypes = UpdateValgAction | ToggleVilkarAction;\r\n","export type ResultatValg = ResultatValgVisning;\r\n\r\nexport interface ResultatValgVisning {\r\n visResultat: boolean;\r\n visGenerellFeil: boolean;\r\n visEkstraboks: boolean;\r\n}\r\n\r\nexport const SET_VISNING = 'SET_VISNING';\r\n\r\nexport interface SetVisningAction {\r\n type: typeof SET_VISNING;\r\n payload: Partial;\r\n}\r\n\r\nexport type ResultatActionTypes = SetVisningAction;\r\n","import { SetVisningAction, SET_VISNING, ResultatValgVisning } from './Types';\r\n\r\nexport function setVisning(stegVisning: Partial): SetVisningAction {\r\n return {\r\n type: SET_VISNING,\r\n payload: stegVisning,\r\n };\r\n}\r\n","import { ValgStateActionTypes, TOGGLE_VILKAR, ToggleVilkarAction, ValgState, UPDATE_VALG } from './Types';\r\n\r\nimport { ThunkAction, ThunkDispatch } from 'redux-thunk';\r\nimport { VeilederIofAppState } from '..';\r\nimport { AnyAction } from 'redux';\r\nimport { setVisning } from '../Resultat/Actions';\r\nimport AInntektValg from '../../Utilities/A-InntektValg';\r\n\r\nexport function updateValg(newValg: Partial): ValgStateActionTypes {\r\n return {\r\n type: UPDATE_VALG,\r\n payload: newValg,\r\n };\r\n}\r\n\r\nexport function toggleVilkar(): ToggleVilkarAction {\r\n return {\r\n type: TOGGLE_VILKAR,\r\n };\r\n}\r\n\r\nexport const updateVisning = (): ThunkAction => {\r\n return (dispatch: ThunkDispatch, getState: () => VeilederIofAppState): void => {\r\n const currentState = getState();\r\n const visResultat = visR(currentState);\r\n const visEkstraboks = visE(currentState);\r\n\r\n dispatch(setVisning({ visResultat, visEkstraboks }));\r\n };\r\n};\r\n\r\nconst getA = (state: ValgState): string | undefined => {\r\n return state.aInntekt?.value;\r\n};\r\n\r\nconst visR = (state: VeilederIofAppState): boolean => {\r\n return getA(state.valg) !== undefined;\r\n};\r\n\r\nconst visE = (state: VeilederIofAppState): boolean => {\r\n return getA(state.valg) === AInntektValg.a1_egenInntekt || getA(state.valg) === AInntektValg.a5_trygd;\r\n};\r\n","import AInntektValg from './Utilities/A-InntektValg';\r\nimport { ValgState } from './Store/Valg/Types';\r\nimport { Resultat } from './Models/Resultat/Resultat';\r\nimport { Modal } from './Models/Resultat/Modal';\r\nimport { Ekstraboks } from './Models/Resultat/Ekstraboks';\r\nimport VeilederIofDto from './Models/VeilederIofDto';\r\nimport { Satser } from './Utilities/SatserApi';\r\n\r\nenum ResultatType {\r\n Uknown,\r\n ResA,\r\n ResB,\r\n ResC,\r\n ResD,\r\n ResE,\r\n}\r\n\r\nconst visEkstraboks = (state: ValgState): boolean => {\r\n if (state.aInntekt !== undefined) {\r\n return state.aInntekt.value === AInntektValg.a1_egenInntekt || state.aInntekt.value === AInntektValg.a5_trygd;\r\n }\r\n return false;\r\n};\r\n\r\nconst erModalLenkeOgDobbelSum = (state: ValgState): boolean => {\r\n if (state.aInntekt !== undefined) {\r\n return (\r\n state.aInntekt.value === AInntektValg.a1_egenInntekt ||\r\n state.aInntekt.value === AInntektValg.a4_formue ||\r\n state.aInntekt.value === AInntektValg.a5_trygd\r\n );\r\n }\r\n return false;\r\n};\r\n\r\nexport const getSumOver = (state: ValgState, satser: Satser): number => {\r\n const valg = findResultat(state);\r\n if (valg === ResultatType.ResA) {\r\n return satser.ST04_InntektsgrenseDager211X;\r\n } else if (valg === ResultatType.ResB) {\r\n return satser.ST04_InntektsgrenseEktefelle;\r\n } else if (valg === ResultatType.ResC) {\r\n return satser.GrenseForeldreInntekt;\r\n } else if (valg === ResultatType.ResD) {\r\n return satser.ST04_FormuegrenseEnslig;\r\n } else if (valg === ResultatType.ResE) {\r\n return satser.ST04_TrygdegrenseDager211X;\r\n }\r\n return -99;\r\n};\r\n\r\nexport const getSumUnder = (state: ValgState, satser: Satser): number => {\r\n const valg = findResultat(state);\r\n if (valg === ResultatType.ResA) {\r\n return satser.ST04_InntektsgrenseDager0210;\r\n } else if (valg === ResultatType.ResD) {\r\n return satser.ST04_FormuegrenseGift;\r\n } else if (valg === ResultatType.ResE) {\r\n return satser.ST04_TrygdegrenseDager0210;\r\n }\r\n return -99;\r\n};\r\n\r\nexport const getResultat = (state: ValgState): Resultat => {\r\n const valg = findResultat(state);\r\n if (valg === ResultatType.ResA) {\r\n return {\r\n visEkstraboks: visEkstraboks(state),\r\n erModalLenkeOgDobbelSum: erModalLenkeOgDobbelSum(state),\r\n tittel: 'resultatEgenInntektTittel' as keyof VeilederIofDto,\r\n ingress: 'resultatEgenInntektIngress' as keyof VeilederIofDto,\r\n kronerDekorasjon: 'kronerDekorasjon' as keyof VeilederIofDto,\r\n dekorasjonOver: 'resultatEgenInntektDekorasjonOverSjuManeder' as keyof VeilederIofDto,\r\n dekorasjonUnder: 'resultatEgenInntektDekorasjonUnderSjuManeder' as keyof VeilederIofDto,\r\n modalLenketekst: 'resultatEgenInntektLenketekstModal' as keyof VeilederIofDto,\r\n };\r\n } else if (valg === ResultatType.ResB) {\r\n return {\r\n visEkstraboks: visEkstraboks(state),\r\n erModalLenkeOgDobbelSum: erModalLenkeOgDobbelSum(state),\r\n tittel: 'resultatEktefelleSamboerTittel' as keyof VeilederIofDto,\r\n ingress: 'resultatEktefelleSamboerIngress' as keyof VeilederIofDto,\r\n kronerDekorasjon: 'kronerDekorasjon' as keyof VeilederIofDto,\r\n dekorasjonOver: 'resultatEktefelleSamboerDekorasjon' as keyof VeilederIofDto,\r\n lenke: 'resultatEktefelleSamboerLenke' as keyof VeilederIofDto,\r\n };\r\n } else if (valg === ResultatType.ResC) {\r\n return {\r\n visEkstraboks: visEkstraboks(state),\r\n erModalLenkeOgDobbelSum: erModalLenkeOgDobbelSum(state),\r\n tittel: 'resultatForeldreTittel' as keyof VeilederIofDto,\r\n ingress: 'resultatForeldreIngress' as keyof VeilederIofDto,\r\n kronerDekorasjon: 'kronerDekorasjon' as keyof VeilederIofDto,\r\n dekorasjonOver: 'resultatForeldreDekorasjon' as keyof VeilederIofDto,\r\n lenke: 'resultatForeldreLenke' as keyof VeilederIofDto,\r\n };\r\n } else if (valg === ResultatType.ResD) {\r\n return {\r\n visEkstraboks: visEkstraboks(state),\r\n erModalLenkeOgDobbelSum: erModalLenkeOgDobbelSum(state),\r\n tittel: 'resultatFormueTittel' as keyof VeilederIofDto,\r\n ingress: 'resultatFormueIngress' as keyof VeilederIofDto,\r\n kronerDekorasjon: 'kronerDekorasjon' as keyof VeilederIofDto,\r\n dekorasjonOver: 'resultatFormueDekorasjonUtenFellesBarn' as keyof VeilederIofDto,\r\n dekorasjonUnder: 'resultatFormueDekorasjonMedFellesBarn' as keyof VeilederIofDto,\r\n modalLenketekst: 'resultatFormueLenketekstModal' as keyof VeilederIofDto,\r\n };\r\n } else {\r\n return {\r\n visEkstraboks: visEkstraboks(state),\r\n erModalLenkeOgDobbelSum: erModalLenkeOgDobbelSum(state),\r\n tittel: 'resultatTrygdTittel' as keyof VeilederIofDto,\r\n ingress: 'resultatTrygdIngress' as keyof VeilederIofDto,\r\n kronerDekorasjon: 'kronerDekorasjon' as keyof VeilederIofDto,\r\n dekorasjonOver: 'resultatTrygdDekorasjonOverSjuManeder' as keyof VeilederIofDto,\r\n dekorasjonUnder: 'resultatTrygdDekorasjonUnderSjuManeder' as keyof VeilederIofDto,\r\n modalLenketekst: 'resultatTrygdLenketekstModal' as keyof VeilederIofDto,\r\n };\r\n }\r\n};\r\n\r\nexport const getInntektsgrenseBostipendLaerlingelonn = (satser: Satser): number => {\r\n return satser.ST01_BostipendLaerlingelonnNedreGrenseTrekk;\r\n};\r\n\r\nexport const getEkstraboks = (state: ValgState): Ekstraboks | undefined => {\r\n const valg = findResultat(state);\r\n\r\n if (valg === ResultatType.ResA) {\r\n return {\r\n tittelLaerlinger: 'ekstraboksEgenInntektTittelLaerlinger' as keyof VeilederIofDto,\r\n ingressLaerlinger: 'ekstraboksEgenInntektIngressLaerlinger' as keyof VeilederIofDto,\r\n lenkeLaerlinger: 'ekstraboksEgenInntektLenkeLaerlinger' as keyof VeilederIofDto,\r\n tittelVideregaende: 'ekstraboksEgenInntektTittelVideregaende' as keyof VeilederIofDto,\r\n ingressVideregaende: 'ekstraboksEgenInntektIngressVideregaende' as keyof VeilederIofDto,\r\n };\r\n } else if (valg === ResultatType.ResE) {\r\n return {\r\n tittelLaerlinger: 'ekstraboksTrygdTittelLaerlinger' as keyof VeilederIofDto,\r\n ingressLaerlinger: 'ekstraboksTrygdIngressLaerlinger' as keyof VeilederIofDto,\r\n lenkeLaerlinger: 'ekstraboksTrygdLenkeLaerlinger' as keyof VeilederIofDto,\r\n tittelVideregaende: 'ekstraboksTrygdTittelVideregaende' as keyof VeilederIofDto,\r\n ingressVideregaende: 'ekstraboksTrygdIngressVideregaende' as keyof VeilederIofDto,\r\n lenkeVideregaende: 'ekstraboksTrygdLenkeVideregaende' as keyof VeilederIofDto,\r\n };\r\n }\r\n\r\n return undefined;\r\n};\r\n\r\nexport const getModal = (state: ValgState): Modal | undefined => {\r\n const valg = findResultat(state);\r\n if (valg === ResultatType.ResA) {\r\n return {\r\n tittel: 'modalLanStipendTittel' as keyof VeilederIofDto,\r\n content: 'modalLanStipendContent' as keyof VeilederIofDto,\r\n ariaLabel: 'modalLanStipendAriaLabel' as keyof VeilederIofDto,\r\n };\r\n } else if (valg === ResultatType.ResD) {\r\n return {\r\n tittel: 'modalFormueTittel' as keyof VeilederIofDto,\r\n content: 'modalFormueContent' as keyof VeilederIofDto,\r\n ariaLabel: 'modalFormueAriaLabel' as keyof VeilederIofDto,\r\n };\r\n } else if (valg === ResultatType.ResE) {\r\n return {\r\n tittel: 'modalTrygdPensjonTittel' as keyof VeilederIofDto,\r\n content: 'modalTrygdPensjonContent' as keyof VeilederIofDto,\r\n ariaLabel: 'modalTrygdPensjonAriaLabel' as keyof VeilederIofDto,\r\n };\r\n }\r\n\r\n return undefined;\r\n};\r\n\r\nconst findResultat = (state: ValgState): ResultatType => {\r\n if (state.aInntekt !== undefined) {\r\n if (state.aInntekt.value === AInntektValg.a1_egenInntekt) {\r\n return ResultatType.ResA;\r\n }\r\n if (state.aInntekt.value === AInntektValg.a2_ektefelleSamboer) {\r\n return ResultatType.ResB;\r\n }\r\n if (state.aInntekt.value === AInntektValg.a3_foreldre) {\r\n return ResultatType.ResC;\r\n }\r\n if (state.aInntekt.value === AInntektValg.a4_formue) {\r\n return ResultatType.ResD;\r\n }\r\n if (state.aInntekt.value === AInntektValg.a5_trygd) {\r\n return ResultatType.ResE;\r\n }\r\n }\r\n\r\n return ResultatType.Uknown;\r\n};\r\n","import React from 'react';\r\nimport { EpiContext } from '../../Shared/Scripts/Store/EpiContext/Types';\r\nimport VeilederIofDto from '../Models/VeilederIofDto';\r\nimport { connect } from 'react-redux';\r\nimport { VeilederIofAppState } from '../Store';\r\nimport { toggleVilkar } from '../Store/Valg/Actions';\r\nimport contentResolver, { resolveLinkCollection } from '../../Shared/Scripts/Utilities/EpiContentResolver';\r\nimport { ModalCompontent } from '../../Shared/Scripts/Components/ModalComponent';\r\nimport { updateZIndex } from '../../Shared/Scripts/Store/EpiContext/Actions';\r\nimport { BoksResultat } from '../../VeilederInntektOgFormue/Ids';\r\nimport { Resultat } from '../Models/Resultat/Resultat';\r\nimport { Modal } from '../Models/Resultat/Modal';\r\nimport { ArticleContentComponent } from '../../Shared/Scripts/Components/ArticleContentComponent';\r\nimport { Satser } from '../Utilities/SatserApi';\r\nimport * as VisningsLogikk from '../ResultatVisning';\r\nimport * as ValgTypes from '../Store/Valg/Types';\r\nimport { tilPengerFormat } from '../../Shared/Scripts/Utilities/Formatters';\r\nimport { updateLiveMessage } from '../../Shared/Scripts/Utilities/LiveMessage';\r\n\r\ninterface ResultOwnProps {\r\n resultat: Resultat;\r\n modal: Modal | undefined;\r\n satser: Satser;\r\n valg: ValgTypes.ValgState;\r\n}\r\n\r\ntype ResultatProps = MapStateToProps & MapDispatchToProps & ResultOwnProps;\r\n\r\nclass ResultatComponent extends React.PureComponent {\r\n constructor(props: ResultatProps) {\r\n super(props);\r\n this.onVilkarClick = this.onVilkarClick.bind(this);\r\n this.onRequestClose = this.onRequestClose.bind(this);\r\n }\r\n\r\n onRequestClose(): void {\r\n this.props.updateZIndex(1);\r\n this.props.toggleVilkar();\r\n }\r\n componentDidMount(): void {\r\n updateLiveMessage();\r\n }\r\n\r\n onVilkarClick(event: React.MouseEvent): void {\r\n this.props.updateZIndex(2);\r\n this.props.toggleVilkar();\r\n }\r\n\r\n render(): JSX.Element {\r\n const { resultat, modal, visVilkar, epiContext, satser, valg } = this.props;\r\n const { locale, valuta } = this.props.epiContext;\r\n\r\n return (\r\n \r\n
\r\n
\r\n

\r\n {contentResolver(epiContext, resultat.tittel)}\r\n

\r\n
\r\n

{contentResolver(epiContext, resultat.ingress)}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {tilPengerFormat(VisningsLogikk.getSumOver(valg, satser), locale)}\r\n \r\n {' '}\r\n {valuta}\r\n \r\n
\r\n

\r\n {contentResolver(epiContext, resultat.dekorasjonOver)}\r\n

\r\n
\r\n {resultat.dekorasjonUnder && (\r\n
\r\n
\r\n {tilPengerFormat(VisningsLogikk.getSumUnder(valg, satser), locale)}\r\n \r\n {' '}\r\n {valuta}\r\n \r\n
\r\n

\r\n {contentResolver(epiContext, resultat.dekorasjonUnder)}\r\n

\r\n
\r\n )}\r\n
\r\n
\r\n\r\n {!modal && (\r\n
\r\n
\r\n {resultat.lenke != null &&\r\n resolveLinkCollection(\r\n epiContext,\r\n resultat.lenke,\r\n 'c-veileder__linkwrapper c-veileder__resultatlink',\r\n 'c-knapp c-knapp--lenke c-knapp--artikkellenke c-knapp--icon-after c-knapp--pil-hoyre-hvit',\r\n )}\r\n
\r\n
\r\n
\r\n )}\r\n\r\n {modal && (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\ninterface MapStateToProps {\r\n epiContext: EpiContext;\r\n visVilkar: boolean;\r\n}\r\n\r\ninterface MapDispatchToProps {\r\n toggleVilkar: typeof toggleVilkar;\r\n updateZIndex: typeof updateZIndex;\r\n}\r\n\r\nexport default connect(\r\n (state: VeilederIofAppState): MapStateToProps => {\r\n return {\r\n epiContext: state.epiContext,\r\n visVilkar: state.valg.visVilkar,\r\n };\r\n },\r\n { toggleVilkar, updateZIndex },\r\n)(ResultatComponent);\r\n","import React from 'react';\r\nimport { EpiContext } from '../../Shared/Scripts/Store/EpiContext/Types';\r\nimport VeilederIofDto from '../Models/VeilederIofDto';\r\nimport { connect } from 'react-redux';\r\nimport { VeilederIofAppState } from '../Store';\r\nimport contentResolver, { resolveLinkCollection } from '../../Shared/Scripts/Utilities/EpiContentResolver';\r\nimport { Ekstraboks } from '../Models/Resultat/Ekstraboks';\r\nimport { BoksEkstraboks } from '../../VeilederInntektOgFormue/Ids';\r\nimport { updateLiveMessage } from '../../Shared/Scripts/Utilities/LiveMessage';\r\n\r\ninterface ResultOwnProps {\r\n ekstraboks: Ekstraboks | undefined;\r\n sats: string;\r\n}\r\n\r\ntype ResultatProps = MapStateToProps & ResultOwnProps;\r\n\r\nclass EkstraboksComponent extends React.PureComponent {\r\n constructor(props: ResultatProps) {\r\n super(props);\r\n }\r\n componentDidMount(): void {\r\n updateLiveMessage();\r\n }\r\n\r\n render(): JSX.Element | null {\r\n const { ekstraboks, epiContext, sats } = this.props;\r\n\r\n if (ekstraboks !== undefined) {\r\n const valuesMap = new Map();\r\n valuesMap.set('${sats}', sats);\r\n\r\n return (\r\n \r\n
\r\n
\r\n
\r\n

\r\n {contentResolver(epiContext, ekstraboks.tittelLaerlinger)}\r\n

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

{contentResolver(epiContext, ekstraboks.ingressLaerlinger, undefined, valuesMap)}

\r\n
\r\n
\r\n {resolveLinkCollection(\r\n epiContext,\r\n ekstraboks.lenkeLaerlinger,\r\n 'c-veileder__linkwrapper',\r\n 'c-knapp c-knapp--lenke c-knapp--artikkellenke c-knapp--icon-after c-knapp--pil-hoyre-aubergine',\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {contentResolver(epiContext, ekstraboks.tittelVideregaende)}\r\n

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

{contentResolver(epiContext, ekstraboks.ingressVideregaende)}

\r\n
\r\n {ekstraboks.lenkeVideregaende && (\r\n
\r\n {resolveLinkCollection(\r\n epiContext,\r\n ekstraboks.lenkeVideregaende,\r\n 'c-veileder__linkwrapper',\r\n 'c-knapp c-knapp--lenke c-knapp--artikkellenke c-knapp--icon-after c-knapp--pil-hoyre-aubergine',\r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n\r\ninterface MapStateToProps {\r\n epiContext: EpiContext;\r\n}\r\n\r\nexport default connect(\r\n (state: VeilederIofAppState): MapStateToProps => {\r\n return {\r\n epiContext: state.epiContext,\r\n };\r\n },\r\n)(EkstraboksComponent);\r\n","import React from 'react';\r\nimport ReactModal from 'react-modal';\r\nimport { connect } from 'react-redux';\r\nimport { ThunkDispatch } from 'redux-thunk';\r\nimport { AnyAction } from 'redux';\r\n\r\nimport { EpiContext } from '../Shared/Scripts/Store/EpiContext/Types';\r\nimport { FeilmeldingComponent } from '../Shared/Scripts/Components/FeilmeldingComponent';\r\nimport contentResolver from '../Shared/Scripts/Utilities/EpiContentResolver';\r\nimport RadioButtonsStegContainer from '../Shared/Scripts/Components/RadioButtonsStegComponent';\r\nimport Valg from '../Shared/Scripts/Models/Valg';\r\n\r\nimport AInntektValg from './Utilities/A-InntektValg';\r\nimport VeilederIofDto from './Models/VeilederIofDto';\r\nimport { VeilederIofAppState } from './Store';\r\nimport * as Ids from './Ids';\r\nimport * as ValgTypes from './Store/Valg/Types';\r\nimport { updateValg, updateVisning } from './Store/Valg/Actions';\r\nimport { ResultatValg } from './Store/Resultat/Types';\r\nimport ResultatContainer from './Components/ResultatComponent';\r\n\r\nimport * as VisningsLogikk from './ResultatVisning';\r\nimport EkstraboksContainer from './Components/EkstraboksContainer';\r\n\r\nimport { Satser } from './Utilities/SatserApi';\r\nimport { tilPengerFormat } from '../Shared/Scripts/Utilities/Formatters';\r\nimport SiteImproveHandler, { SiteImproveState, SiteImproveEvents, SiteImproveKategorier } from '../Shared/Scripts/Utilities/SiteImproveEventsHandler';\r\n\r\ninterface AppOwnProps {}\r\n\r\ntype AppProps = AppOwnProps & MapStateToProps & MapDispatchToProps;\r\n\r\nconst RadioButtonsStegComponent = RadioButtonsStegContainer();\r\n\r\nReactModal.setAppElement(document.getElementById(Ids.AppContainerId) as HTMLElement);\r\n\r\nexport class App extends React.Component {\r\n constructor(props: AppProps) {\r\n super(props);\r\n }\r\n\r\n render(): JSX.Element {\r\n const { valg, resultat, dispatchUpdateValg, epiContext, satser } = this.props;\r\n const { epiModel } = this.props.epiContext;\r\n const { locale } = this.props.epiContext;\r\n\r\n function registerSiteImproveEvents(): void {\r\n if(!SiteImproveState.Startet) {\r\n if(valg.aInntekt != undefined) {\r\n //veileder påstartet\r\n SiteImproveState.Startet = true;\r\n SiteImproveHandler.registerSiteImproveEvent(SiteImproveKategorier.Veileder, SiteImproveEvents.VeilederStart, SiteImproveHandler.hentOverskrift());\r\n }\r\n }\r\n\r\n if(!SiteImproveState.Fullfort) {\r\n if(resultat.visResultat) {\r\n //veileder fullført\r\n SiteImproveState.Fullfort = true;\r\n SiteImproveHandler.registerSiteImproveEvent(SiteImproveKategorier.Veileder, SiteImproveEvents.VeilederFullfort, SiteImproveHandler.hentOverskrift());\r\n }\r\n }\r\n }\r\n if (epiContext.epiModelFeilet) {\r\n return ;\r\n }\r\n\r\n if (epiModel != null) {\r\n if (satser != null) {\r\n const sats = tilPengerFormat(VisningsLogikk.getInntektsgrenseBostipendLaerlingelonn(satser), locale);\r\n\r\n return (\r\n
\r\n {registerSiteImproveEvents()}\r\n ): void => {\r\n dispatchUpdateValg({ aInntekt: nyttValg });\r\n }}\r\n neverCollapse={true}\r\n value={valg.aInntekt}\r\n />\r\n {resultat.visResultat && (\r\n \r\n )}\r\n {resultat.visEkstraboks && (\r\n \r\n )}\r\n
\r\n );\r\n } else if (resultat.visGenerellFeil) {\r\n return ;\r\n } else return
Laster...
;\r\n } else {\r\n return
Laster...
;\r\n }\r\n }\r\n}\r\n\r\ninterface MapStateToProps {\r\n valg: ValgTypes.ValgState;\r\n epiContext: EpiContext;\r\n resultat: ResultatValg;\r\n satser: Satser | null;\r\n}\r\n\r\ninterface MapDispatchToProps {\r\n dispatchUpdateValg: (newValg: Partial) => void;\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch: ThunkDispatch): MapDispatchToProps => ({\r\n dispatchUpdateValg: (newValg: Partial): void => {\r\n dispatch(updateValg(newValg));\r\n dispatch(updateVisning());\r\n },\r\n});\r\n\r\nconst mapStateToProps = (state: VeilederIofAppState): MapStateToProps => ({\r\n valg: state.valg,\r\n epiContext: state.epiContext,\r\n resultat: state.resultat,\r\n satser: state.satser,\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(App);\r\n","import { ResultatValg, SET_VISNING, ResultatActionTypes } from './Types';\r\nimport { ValgStateActionTypes } from '../Valg/Types';\r\n\r\nconst initialState: ResultatValg = {\r\n visResultat: false,\r\n visEkstraboks: false,\r\n visGenerellFeil: false,\r\n};\r\n\r\nexport function resultatReducer(\r\n state: ResultatValg = initialState,\r\n action: ValgStateActionTypes | ResultatActionTypes,\r\n): ResultatValg {\r\n switch (action.type) {\r\n case SET_VISNING: {\r\n return {\r\n ...state,\r\n ...action.payload,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { Satser } from '../../Utilities/SatserApi';\r\n\r\nexport const SET_SATSER = 'SET_SATSER';\r\n\r\nexport interface SetSatserAction {\r\n type: typeof SET_SATSER;\r\n payload: Satser;\r\n}\r\n\r\nexport type SatserActionTypes = SetSatserAction;\r\n","import { SET_SATSER, SatserActionTypes } from './Types';\r\nimport { Satser } from '../../Utilities/SatserApi';\r\n\r\nconst initialState: Satser | null = null;\r\n\r\nexport function satserReducer(state: Satser | null = initialState, action: SatserActionTypes): Satser | null {\r\n switch (action.type) {\r\n case SET_SATSER: {\r\n return action.payload;\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { ValgStateActionTypes, ValgState, TOGGLE_VILKAR, UPDATE_VALG } from './Types';\r\n\r\nexport const initialState: ValgState = {\r\n aInntekt: undefined,\r\n visVilkar: false,\r\n};\r\n\r\nexport function valgReducer(state: ValgState = initialState, action: ValgStateActionTypes): ValgState {\r\n const newState = getNewState();\r\n return newState;\r\n\r\n function getNewState(): ValgState {\r\n switch (action.type) {\r\n case UPDATE_VALG: {\r\n if (action.payload.aInntekt) {\r\n return {\r\n ...initialState,\r\n ...action.payload,\r\n };\r\n } else {\r\n return {\r\n ...state,\r\n ...action.payload,\r\n };\r\n }\r\n }\r\n case TOGGLE_VILKAR: {\r\n return {\r\n ...state,\r\n visVilkar: !state.visVilkar,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n }\r\n}\r\n","import ReduxThunk from 'redux-thunk';\r\nimport { createStore, combineReducers, Store, applyMiddleware } from 'redux';\r\nimport VeilederIofDto from '../Models/VeilederIofDto';\r\nimport { epiContextReducer } from '../../Shared/Scripts/Store/EpiContext/Reducers';\r\nimport { resultatReducer } from './Resultat/Reducers';\r\nimport { EpiContext, UpdateEpiContextActionTypes } from '../../Shared/Scripts/Store/EpiContext/Types';\r\nimport { stegVisningReducer } from '../../Shared/Scripts/Store/StegVisning/Reducers';\r\nimport { EpiAppStateMedSteg } from '../../Shared/Scripts/Store/Types';\r\nimport { satserReducer } from './Satser/Reducers';\r\nimport { valgReducer } from './Valg/Reducers';\r\n\r\nconst rootReducer = combineReducers({\r\n valg: valgReducer,\r\n resultat: resultatReducer,\r\n epiContext: (\r\n state: EpiContext | undefined,\r\n action: UpdateEpiContextActionTypes,\r\n ): EpiContext => epiContextReducer(state, action),\r\n stegVisning: stegVisningReducer,\r\n satser: satserReducer,\r\n});\r\n\r\nexport type VeilederIofAppState = EpiAppStateMedSteg & {\r\n valg: ReturnType;\r\n resultat: ReturnType;\r\n satser: ReturnType;\r\n};\r\n\r\nexport default function configureStore(): Store {\r\n return createStore(rootReducer, applyMiddleware(ReduxThunk));\r\n}\r\n","export const getSatser = async (): Promise => {\r\n const response = await fetch('/api/mt1535/satser/inntektogformue');\r\n\r\n if (!response.ok) {\r\n throw response;\r\n }\r\n\r\n return await response.json();\r\n};\r\n\r\nexport interface Satser {\r\n ST04_InntektsgrenseDager211X: number;\r\n ST04_InntektsgrenseDager0210: number;\r\n ST04_InntektsgrenseEktefelle: number;\r\n GrenseForeldreInntekt: number;\r\n ST04_FormuegrenseEnslig: number;\r\n ST04_FormuegrenseGift: number;\r\n ST04_TrygdegrenseDager211X: number;\r\n ST04_TrygdegrenseDager0210: number;\r\n ST01_BostipendLaerlingelonnNedreGrenseTrekk: number;\r\n}\r\n","import { SET_SATSER, SetSatserAction } from './Types';\r\nimport { Satser } from '../../Utilities/SatserApi';\r\n\r\nexport function setSatser(satser: Satser): SetSatserAction {\r\n return {\r\n type: SET_SATSER,\r\n payload: satser,\r\n };\r\n}\r\n","import React from 'react';\r\nimport { Provider } from 'react-redux';\r\nimport App from './App';\r\nimport configureStore from './Store';\r\nimport InitEpiMessages from '../Shared/Scripts/Utilities/EpiMessages';\r\nimport { updateLanguage } from '../Shared/Scripts/Store/EpiContext/Actions';\r\nimport { epiResolveLanguage } from '../Shared/Scripts/Utilities/EpiResolveLanguage';\r\nimport { AppContainerId } from './Ids';\r\nimport { getSatser } from './Utilities/SatserApi';\r\nimport { setSatser } from './Store/Satser/Actions';\r\nimport { setVisning } from './Store/Resultat/Actions';\r\nimport { createRoot } from 'react-dom/client';\r\n\r\nconst store = configureStore();\r\nstore.dispatch(updateLanguage(epiResolveLanguage()));\r\n\r\nconst container = document.getElementById(AppContainerId);\r\n\r\nif (container != null) {\r\n const root = createRoot(container!);\r\n const contentLink = container.attributes['data-content'].value as string;\r\n InitEpiMessages(store, contentLink);\r\n\r\n getSatser()\r\n .then((data): void => {\r\n store.dispatch(setSatser(data));\r\n })\r\n .catch((reason: any): void => {\r\n store.dispatch(setVisning({ visGenerellFeil: true }));\r\n });\r\n\r\n const AppRoot = (): JSX.Element => (\r\n \r\n \r\n \r\n );\r\n\r\n root.render();\r\n}\r\n"],"names":["visEkstraboks","jsxs","jsx","contentResolver","VisningsLogikk.getSumOver","VisningsLogikk.getSumUnder","Ids.AppContainerId","VisningsLogikk.getInntektsgrenseBostipendLaerlingelonn","Ids.BoksA","VisningsLogikk.getResultat","VisningsLogikk.getModal","VisningsLogikk.getEkstraboks","initialState","ReduxThunk","createRoot","App"],"mappings":";;;;;;;;;;;;;;;;;AAGA,MAAM,cAAc;AACpB,MAAM,mBAAmB;AACzB,MAAM,WAAW;AACjB,MAAM,SAAS;AACf,MAAM,QAAQ;AAEd,MAAM,QAAgD;AAAA,EAClD;AAAA,IACI,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,OAAO;AAAA,EACX;AAAA,EACA;AAAA,IACI,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,OAAO;AAAA,EACX;AAAA,EACA;AAAA,IACI,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,OAAO;AAAA,EACX;AAAA,EACA;AAAA,IACI,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,OAAO;AAAA,EACX;AAAA,EACA;AAAA,IACI,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,OAAO;AAAA,EAAA;AAEf;AAEA,MAAe,eAAA;AAAA,EACX,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,aAAa;AAAA,EACb,WAAW;AAAA,EACX,UAAU;AAAA,EACV;AACJ;AC5CO,MAAM,iBAAiB;AACvB,MAAM,QAAQ;AACd,MAAM,eAAe;AACrB,MAAM,iBAAiB;ACIvB,MAAM,cAAc;AACpB,MAAM,gBAAgB;ACAtB,MAAM,cAAc;ACNpB,SAAS,WAAW,aAA6D;AAC7E,SAAA;AAAA,IACH,MAAM;AAAA,IACN,SAAS;AAAA,EACb;AACJ;ACCO,SAAS,WAAW,SAAmD;AACnE,SAAA;AAAA,IACH,MAAM;AAAA,IACN,SAAS;AAAA,EACb;AACJ;AAEO,SAAS,eAAmC;AACxC,SAAA;AAAA,IACH,MAAM;AAAA,EACV;AACJ;AAEO,MAAM,gBAAgB,MAA6D;AAC/E,SAAA,CAAC,UAA6D,aAA8C;AAC/G,UAAM,eAAe,SAAS;AACxB,UAAA,cAAc,KAAK,YAAY;AAC/B,UAAAA,iBAAgB,KAAK,YAAY;AAEvC,aAAS,WAAW,EAAE,aAAa,eAAAA,eAAe,CAAA,CAAC;AAAA,EACvD;AACJ;AAEA,MAAM,OAAO,CAAC,UAAyC;AACnD,SAAO,MAAM,UAAU;AAC3B;AAEA,MAAM,OAAO,CAAC,UAAwC;AAC3C,SAAA,KAAK,MAAM,IAAI,MAAM;AAChC;AAEA,MAAM,OAAO,CAAC,UAAwC;AAC3C,SAAA,KAAK,MAAM,IAAI,MAAM,aAAa,kBAAkB,KAAK,MAAM,IAAI,MAAM,aAAa;AACjG;ACxBA,MAAM,gBAAgB,CAAC,UAA8B;AAC7C,MAAA,MAAM,aAAa,QAAW;AACvB,WAAA,MAAM,SAAS,UAAU,aAAa,kBAAkB,MAAM,SAAS,UAAU,aAAa;AAAA,EAAA;AAElG,SAAA;AACX;AAEA,MAAM,0BAA0B,CAAC,UAA8B;AACvD,MAAA,MAAM,aAAa,QAAW;AAC9B,WACI,MAAM,SAAS,UAAU,aAAa,kBACtC,MAAM,SAAS,UAAU,aAAa,aACtC,MAAM,SAAS,UAAU,aAAa;AAAA,EAAA;AAGvC,SAAA;AACX;AAEa,MAAA,aAAa,CAAC,OAAkB,WAA2B;AAC9D,QAAA,OAAO,aAAa,KAAK;AAC/B,MAAI,SAAS,GAAmB;AAC5B,WAAO,OAAO;AAAA,EAAA,WACP,SAAS,GAAmB;AACnC,WAAO,OAAO;AAAA,EAAA,WACP,SAAS,GAAmB;AACnC,WAAO,OAAO;AAAA,EAAA,WACP,SAAS,GAAmB;AACnC,WAAO,OAAO;AAAA,EAAA,WACP,SAAS,GAAmB;AACnC,WAAO,OAAO;AAAA,EAAA;AAEX,SAAA;AACX;AAEa,MAAA,cAAc,CAAC,OAAkB,WAA2B;AAC/D,QAAA,OAAO,aAAa,KAAK;AAC/B,MAAI,SAAS,GAAmB;AAC5B,WAAO,OAAO;AAAA,EAAA,WACP,SAAS,GAAmB;AACnC,WAAO,OAAO;AAAA,EAAA,WACP,SAAS,GAAmB;AACnC,WAAO,OAAO;AAAA,EAAA;AAEX,SAAA;AACX;AAEa,MAAA,cAAc,CAAC,UAA+B;AACjD,QAAA,OAAO,aAAa,KAAK;AAC/B,MAAI,SAAS,GAAmB;AACrB,WAAA;AAAA,MACH,eAAe,cAAc,KAAK;AAAA,MAClC,yBAAyB,wBAAwB,KAAK;AAAA,MACtD,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,kBAAkB;AAAA,MAClB,gBAAgB;AAAA,MAChB,iBAAiB;AAAA,MACjB,iBAAiB;AAAA,IACrB;AAAA,EAAA,WACO,SAAS,GAAmB;AAC5B,WAAA;AAAA,MACH,eAAe,cAAc,KAAK;AAAA,MAClC,yBAAyB,wBAAwB,KAAK;AAAA,MACtD,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,kBAAkB;AAAA,MAClB,gBAAgB;AAAA,MAChB,OAAO;AAAA,IACX;AAAA,EAAA,WACO,SAAS,GAAmB;AAC5B,WAAA;AAAA,MACH,eAAe,cAAc,KAAK;AAAA,MAClC,yBAAyB,wBAAwB,KAAK;AAAA,MACtD,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,kBAAkB;AAAA,MAClB,gBAAgB;AAAA,MAChB,OAAO;AAAA,IACX;AAAA,EAAA,WACO,SAAS,GAAmB;AAC5B,WAAA;AAAA,MACH,eAAe,cAAc,KAAK;AAAA,MAClC,yBAAyB,wBAAwB,KAAK;AAAA,MACtD,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,kBAAkB;AAAA,MAClB,gBAAgB;AAAA,MAChB,iBAAiB;AAAA,MACjB,iBAAiB;AAAA,IACrB;AAAA,EAAA,OACG;AACI,WAAA;AAAA,MACH,eAAe,cAAc,KAAK;AAAA,MAClC,yBAAyB,wBAAwB,KAAK;AAAA,MACtD,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,kBAAkB;AAAA,MAClB,gBAAgB;AAAA,MAChB,iBAAiB;AAAA,MACjB,iBAAiB;AAAA,IACrB;AAAA,EAAA;AAER;AAEa,MAAA,0CAA0C,CAAC,WAA2B;AAC/E,SAAO,OAAO;AAClB;AAEa,MAAA,gBAAgB,CAAC,UAA6C;AACjE,QAAA,OAAO,aAAa,KAAK;AAE/B,MAAI,SAAS,GAAmB;AACrB,WAAA;AAAA,MACH,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,iBAAiB;AAAA,MACjB,oBAAoB;AAAA,MACpB,qBAAqB;AAAA,IACzB;AAAA,EAAA,WACO,SAAS,GAAmB;AAC5B,WAAA;AAAA,MACH,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,iBAAiB;AAAA,MACjB,oBAAoB;AAAA,MACpB,qBAAqB;AAAA,MACrB,mBAAmB;AAAA,IACvB;AAAA,EAAA;AAGG,SAAA;AACX;AAEa,MAAA,WAAW,CAAC,UAAwC;AACvD,QAAA,OAAO,aAAa,KAAK;AAC/B,MAAI,SAAS,GAAmB;AACrB,WAAA;AAAA,MACH,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,WAAW;AAAA,IACf;AAAA,EAAA,WACO,SAAS,GAAmB;AAC5B,WAAA;AAAA,MACH,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,WAAW;AAAA,IACf;AAAA,EAAA,WACO,SAAS,GAAmB;AAC5B,WAAA;AAAA,MACH,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,WAAW;AAAA,IACf;AAAA,EAAA;AAGG,SAAA;AACX;AAEA,MAAM,eAAe,CAAC,UAAmC;AACjD,MAAA,MAAM,aAAa,QAAW;AAC9B,QAAI,MAAM,SAAS,UAAU,aAAa,gBAAgB;AAC/C,aAAA;AAAA,IAAA;AAEX,QAAI,MAAM,SAAS,UAAU,aAAa,qBAAqB;AACpD,aAAA;AAAA,IAAA;AAEX,QAAI,MAAM,SAAS,UAAU,aAAa,aAAa;AAC5C,aAAA;AAAA,IAAA;AAEX,QAAI,MAAM,SAAS,UAAU,aAAa,WAAW;AAC1C,aAAA;AAAA,IAAA;AAEX,QAAI,MAAM,SAAS,UAAU,aAAa,UAAU;AACzC,aAAA;AAAA,IAAA;AAAA,EACX;AAGG,SAAA;AACX;ACvKA,MAAM,0BAA0B,MAAM,cAA6B;AAAA,EAC/D,YAAY,OAAsB;AAC9B,UAAM,KAAK;AACX,SAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI;AACjD,SAAK,iBAAiB,KAAK,eAAe,KAAK,IAAI;AAAA,EAAA;AAAA,EAGvD,iBAAuB;AACd,SAAA,MAAM,aAAa,CAAC;AACzB,SAAK,MAAM,aAAa;AAAA,EAAA;AAAA,EAE5B,oBAA0B;AACJ,sBAAA;AAAA,EAAA;AAAA,EAGtB,cAAc,OAA+B;AACpC,SAAA,MAAM,aAAa,CAAC;AACzB,SAAK,MAAM,aAAa;AAAA,EAAA;AAAA,EAG5B,SAAsB;AACZ,UAAA,EAAE,UAAU,OAAO,WAAW,YAAY,QAAQ,SAAS,KAAK;AACtE,UAAM,EAAE,QAAQ,OAAO,IAAI,KAAK,MAAM;AAGlC,WAAAC,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,IAAI;AAAA,QACJ,WAAU;AAAA,QAEV,UAAA;AAAA,UAACA,kCAAAA,KAAA,OAAA,EAAI,WAAU,yBACX,UAAA;AAAA,YAACA,kCAAAA,KAAA,OAAA,EAAI,WAAU,uBACX,UAAA;AAAA,cAAAC,kCAAAA,IAAC,QAAG,WAAU,+EACT,kBAAgB,YAAY,SAAS,MAAM,GAChD;AAAA,cACAA,kCAAA,IAAC,OAAI,EAAA,WAAU,0CACX,UAAAA,kCAAAA,IAAC,KAAG,EAAA,UAAAC,QAAgB,YAAY,SAAS,OAAO,EAAE,CAAA,EACtD,CAAA;AAAA,YAAA,GACJ;AAAA,YACAF,kCAAAA,KAAC,OAAI,EAAA,WAAU,oDACX,UAAA;AAAA,cAACA,kCAAAA,KAAA,OAAA,EAAI,WAAU,6DACX,UAAA;AAAA,gBAACA,kCAAAA,KAAA,OAAA,EAAI,WAAU,8BACX,UAAA;AAAA,kBAACC,sCAAA,QAAA,EAAM,0BAAgBE,WAA0B,MAAM,MAAM,GAAG,MAAM,GAAE;AAAA,kBACxEH,kCAAAA,KAAC,QAAK,EAAA,WAAU,gDACX,UAAA;AAAA,oBAAA;AAAA,oBACA;AAAA,kBAAA,EACL,CAAA;AAAA,gBAAA,GACJ;AAAA,gBACAC,kCAAA,IAAC,KAAE,EAAA,WAAU,6CACT,UAAAA,kCAAAA,IAAC,QAAM,EAAA,UAAAC,QAAgB,YAAY,SAAS,cAAc,EAAE,CAAA,EAChE,CAAA;AAAA,cAAA,GACJ;AAAA,cACC,SAAS,mBACLF,uCAAA,OAAA,EAAI,WAAU,6DACX,UAAA;AAAA,gBAACA,kCAAAA,KAAA,OAAA,EAAI,WAAU,8BACX,UAAA;AAAA,kBAACC,sCAAA,QAAA,EAAM,0BAAgBG,YAA2B,MAAM,MAAM,GAAG,MAAM,GAAE;AAAA,kBACzEJ,kCAAAA,KAAC,QAAK,EAAA,WAAU,gDACX,UAAA;AAAA,oBAAA;AAAA,oBACA;AAAA,kBAAA,EACL,CAAA;AAAA,gBAAA,GACJ;AAAA,gBACAC,kCAAA,IAAC,KAAE,EAAA,WAAU,6CACT,UAAAA,kCAAAA,IAAC,QAAM,EAAA,UAAAC,QAAgB,YAAY,SAAS,eAAe,EAAE,CAAA,EACjE,CAAA;AAAA,cAAA,EACJ,CAAA;AAAA,YAAA,EAER,CAAA;AAAA,UAAA,GACJ;AAAA,UAEC,CAAC,SACGF,kCAAAA,KAAA,OAAA,EAAI,WAAU,yBACX,UAAA;AAAA,YAAAC,sCAAC,OAAI,EAAA,WAAU,mDACV,UAAA,SAAS,SAAS,QACf;AAAA,cACI;AAAA,cACA,SAAS;AAAA,cACT;AAAA,cACA;AAAA,YAAA,GAEZ;AAAA,YACAA,kCAAAA,IAAC,OAAI,EAAA,WAAU,sBAAsB,CAAA;AAAA,UAAA,GACzC;AAAA,UAGH,SACGD,kCAAA,KAAC,OAAI,EAAA,WAAU,yBACX,UAAA;AAAA,YAACA,kCAAAA,KAAA,OAAA,EAAI,WAAU,mDACX,UAAA;AAAA,cAAAC,sCAAC,UAAO,EAAA,MAAK,UAAS,WAAU,0BAAyB,SAAS,KAAK,eAClE,UAAA,SAAS,mBAAmB,QACzBC,QAAgB,YAAY,SAAS,eAAe,GAC5D;AAAA,cACAD,kCAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACG,QAAQ;AAAA,kBACR,gBAAgB,KAAK;AAAA,kBACrB,eAAe,MAAM;AAAA,kBAErB,UAAAA,kCAAA;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACG,eAAeC,QAAgB,YAAY,MAAM,QAAQ,CAAC;AAAA,sBAC1D,gBAAgBA,QAAgB,YAAY,MAAM,SAAS,CAAC;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBAChE;AAAA,cAAA;AAAA,YACJ,GACJ;AAAA,YACAD,kCAAAA,IAAC,OAAI,EAAA,WAAU,sBAAsB,CAAA;AAAA,UAAA,EACzC,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAER;AAAA,EAAA;AAGZ;AAYA,MAAA,oBAAe;AAAA,EACX,CAAC,UAAgD;AACtC,WAAA;AAAA,MACH,YAAY,MAAM;AAAA,MAClB,WAAW,MAAM,KAAK;AAAA,IAC1B;AAAA,EACJ;AAAA,EACA,EAAE,cAAc,aAAa;AACjC,EAAE,iBAAiB;AC1InB,MAAM,4BAA4B,MAAM,cAA6B;AAAA,EACjE,YAAY,OAAsB;AAC9B,UAAM,KAAK;AAAA,EAAA;AAAA,EAEf,oBAA0B;AACJ,sBAAA;AAAA,EAAA;AAAA,EAGtB,SAA6B;AACzB,UAAM,EAAE,YAAY,YAAY,SAAS,KAAK;AAE9C,QAAI,eAAe,QAAW;AACpB,YAAA,gCAAgB,IAAoB;AAChC,gBAAA,IAAI,WAAW,IAAI;AAGzB,aAAAA,kCAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,IAAI;AAAA,UACJ,WAAU;AAAA,UAEV,UAAAD,kCAAA,KAAC,OAAI,EAAA,WAAU,yBACX,UAAA;AAAA,YAACA,kCAAAA,KAAA,OAAA,EAAI,WAAU,oDACX,UAAA;AAAA,cAAAC,kCAAA,IAAC,OAAI,EAAA,WAAU,+BACX,UAAAA,kCAAA,IAAC,MAAG,EAAA,WAAU,mDACT,UAAAC,QAAgB,YAAY,WAAW,gBAAgB,EAC5D,CAAA,GACJ;AAAA,cACCD,kCAAA,IAAA,OAAA,EAAI,WAAU,0CACX,UAACA,kCAAAA,IAAA,KAAA,EAAG,UAAgBC,QAAA,YAAY,WAAW,mBAAmB,QAAW,SAAS,EAAE,CAAA,GACxF;AAAA,cACAD,kCAAAA,IAAC,OAAI,EAAA,WAAU,iFACV,UAAA;AAAA,gBACG;AAAA,gBACA,WAAW;AAAA,gBACX;AAAA,gBACA;AAAA,cAAA,EAER,CAAA;AAAA,YAAA,GACJ;AAAA,YACAD,kCAAAA,KAAC,OAAI,EAAA,WAAU,oDACX,UAAA;AAAA,cAAAC,kCAAA,IAAC,OAAI,EAAA,WAAU,+BACX,UAAAA,kCAAA,IAAC,MAAG,EAAA,WAAU,mDACT,UAAAC,QAAgB,YAAY,WAAW,kBAAkB,EAC9D,CAAA,GACJ;AAAA,cACAD,kCAAA,IAAC,OAAI,EAAA,WAAU,0CACX,UAAAA,kCAAAA,IAAC,KAAG,EAAA,UAAAC,QAAgB,YAAY,WAAW,mBAAmB,EAAE,CAAA,GACpE;AAAA,cACC,WAAW,qBACPD,sCAAA,OAAA,EAAI,WAAU,iFACV,UAAA;AAAA,gBACG;AAAA,gBACA,WAAW;AAAA,gBACX;AAAA,gBACA;AAAA,cAAA,EAER,CAAA;AAAA,YAAA,EAER,CAAA;AAAA,UAAA,EACJ,CAAA;AAAA,QAAA;AAAA,MACJ;AAAA,IAAA;AAID,WAAA;AAAA,EAAA;AAEf;AAMA,MAAA,sBAAe;AAAA,EACX,CAAC,UAAgD;AACtC,WAAA;AAAA,MACH,YAAY,MAAM;AAAA,IACtB;AAAA,EAAA;AAER,EAAE,mBAAmB;AC/DrB,MAAM,4BAA4B,0BAA0C;AAE5E,WAAW,cAAc,SAAS,eAAeI,cAAkB,CAAgB;AAEtE,MAAA,YAAY,MAAM,UAAoB;AAAA,EAC/C,YAAY,OAAiB;AACzB,UAAM,KAAK;AAAA,EAAA;AAAA,EAGf,SAAsB;AAClB,UAAM,EAAE,MAAM,UAAU,oBAAoB,YAAY,OAAA,IAAW,KAAK;AACxE,UAAM,EAAE,SAAA,IAAa,KAAK,MAAM;AAChC,UAAM,EAAE,OAAA,IAAW,KAAK,MAAM;AAE9B,aAAS,4BAAkC;AACpC,UAAA,CAAC,iBAAiB,SAAS;AACvB,YAAA,KAAK,YAAY,QAAW;AAE3B,2BAAiB,UAAU;AAC3B,6BAAmB,yBAAyB,sBAAsB,UAAU,kBAAkB,eAAe,mBAAmB,gBAAgB;AAAA,QAAA;AAAA,MACpJ;AAGD,UAAA,CAAC,iBAAiB,UAAU;AAC3B,YAAG,SAAS,aAAa;AAErB,2BAAiB,WAAW;AAC5B,6BAAmB,yBAAyB,sBAAsB,UAAU,kBAAkB,kBAAkB,mBAAmB,gBAAgB;AAAA,QAAA;AAAA,MACvJ;AAAA,IACJ;AAEJ,QAAI,WAAW,gBAAgB;AAC3B,mDAAQ,sBAAqB,EAAA;AAAA,IAAA;AAGjC,QAAI,YAAY,MAAM;AAClB,UAAI,UAAU,MAAM;AAChB,cAAM,OAAO,gBAAgBC,wCAAuD,MAAM,GAAG,MAAM;AAG/F,eAAAN,kCAAA,KAAC,OAAI,EAAA,WAAU,cACV,UAAA;AAAA,UAA0B,0BAAA;AAAA,UAC3BC,kCAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,YAAYM;AAAAA,cACZ,QAAQL,QAAgB,YAAY,eAAe;AAAA,cACnD,YAAYA,QAAgB,YAAY,aAAa;AAAA,cACrD,UAAS;AAAA,cACT,MAAM,aAAa;AAAA,cACnB,eAAe,CAAC,aAAiC;AAC1B,mCAAA,EAAE,UAAU,UAAU;AAAA,cAC7C;AAAA,cACA,eAAe;AAAA,cACf,OAAO,KAAK;AAAA,YAAA;AAAA,UAChB;AAAA,UACC,SAAS,eACND,kCAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,UAAUO,YAA2B,IAAI;AAAA,cACzC,OAAOC,SAAwB,IAAI;AAAA,cACnC;AAAA,cACA;AAAA,YAAA;AAAA,UACJ;AAAA,UAEH,SAAS,iBACLR,kCAAAA,IAAA,qBAAA,EAAoB,YAAYS,cAA6B,IAAI,GAAG,KAAY,CAAA;AAAA,QAAA,GAEzF;AAAA,MAAA,WAEG,SAAS,iBAAiB;AACjC,qDAAQ,sBAAqB,EAAA;AAAA,MAC1B,MAAA,QAAQT,kCAAAA,IAAA,OAAA,EAAI,UAAS,YAAA,CAAA;AAAA,IAAA,OACzB;AACI,aAAAA,kCAAA,IAAC,SAAI,UAAS,YAAA,CAAA;AAAA,IAAA;AAAA,EACzB;AAER;AAaA,MAAM,qBAAqB,CAAC,cAAqF;AAAA,EAC7G,oBAAoB,CAAC,YAAgD;AACxD,aAAA,WAAW,OAAO,CAAC;AAC5B,aAAS,eAAe;AAAA,EAAA;AAEhC;AAEA,MAAM,kBAAkB,CAAC,WAAiD;AAAA,EACtE,MAAM,MAAM;AAAA,EACZ,YAAY,MAAM;AAAA,EAClB,UAAU,MAAM;AAAA,EAChB,QAAQ,MAAM;AAClB;AAEA,MAAe,QAAA,QAAQ,iBAAiB,kBAAkB,EAAE,GAAG;AClI/D,MAAMU,iBAA6B;AAAA,EAC/B,aAAa;AAAA,EACb,eAAe;AAAA,EACf,iBAAiB;AACrB;AAEgB,SAAA,gBACZ,QAAsBA,gBACtB,QACY;AACZ,UAAQ,OAAO,MAAM;AAAA,IACjB,KAAK,aAAa;AACP,aAAA;AAAA,QACH,GAAG;AAAA,QACH,GAAG,OAAO;AAAA,MACd;AAAA,IAAA;AAAA,IAEJ;AACW,aAAA;AAAA,EAAA;AAEnB;ACrBO,MAAM,aAAa;ACC1B,MAAMA,iBAA8B;AAEpB,SAAA,cAAc,QAAuBA,gBAAc,QAA0C;AACzG,UAAQ,OAAO,MAAM;AAAA,IACjB,KAAK,YAAY;AACb,aAAO,OAAO;AAAA,IAAA;AAAA,IAElB;AACW,aAAA;AAAA,EAAA;AAEnB;ACXO,MAAM,eAA0B;AAAA,EACnC,UAAU;AAAA,EACV,WAAW;AACf;AAEgB,SAAA,YAAY,QAAmB,cAAc,QAAyC;AAClG,QAAM,WAAW,YAAY;AACtB,SAAA;AAEP,WAAS,cAAyB;AAC9B,YAAQ,OAAO,MAAM;AAAA,MACjB,KAAK,aAAa;AACV,YAAA,OAAO,QAAQ,UAAU;AAClB,iBAAA;AAAA,YACH,GAAG;AAAA,YACH,GAAG,OAAO;AAAA,UACd;AAAA,QAAA,OACG;AACI,iBAAA;AAAA,YACH,GAAG;AAAA,YACH,GAAG,OAAO;AAAA,UACd;AAAA,QAAA;AAAA,MACJ;AAAA,MAEJ,KAAK,eAAe;AACT,eAAA;AAAA,UACH,GAAG;AAAA,UACH,WAAW,CAAC,MAAM;AAAA,QACtB;AAAA,MAAA;AAAA,MAEJ;AACW,eAAA;AAAA,IAAA;AAAA,EACf;AAER;ACzBA,MAAM,cAAc,gBAAqC;AAAA,EACrD,MAAM;AAAA,EACN,UAAU;AAAA,EACV,YAAY,CACR,OACA,WAC6B,kBAAkB,OAAO,MAAM;AAAA,EAChE,aAAa;AAAA,EACb,QAAQ;AACZ,CAAC;AAQD,SAAwB,iBAA6C;AACjE,SAAO,YAAY,aAAa,gBAAgBC,KAAU,CAAC;AAC/D;AC9BO,MAAM,YAAY,YAA6B;AAC5C,QAAA,WAAW,MAAM,MAAM,oCAAoC;AAE7D,MAAA,CAAC,SAAS,IAAI;AACR,UAAA;AAAA,EAAA;AAGH,SAAA,MAAM,SAAS,KAAK;AAC/B;ACLO,SAAS,UAAU,QAAiC;AAChD,SAAA;AAAA,IACH,MAAM;AAAA,IACN,SAAS;AAAA,EACb;AACJ;ACKA,MAAM,QAAQ,eAAe;AAC7B,MAAM,SAAS,eAAe,mBAAmB,CAAC,CAAC;AAEnD,MAAM,YAAY,SAAS,eAAe,cAAc;AAExD,IAAI,aAAa,MAAM;AACb,QAAA,OAAOC,yBAAW,SAAU;AAClC,QAAM,cAAc,UAAU,WAAW,cAAc,EAAE;AACzD,kBAAgB,OAAO,WAAW;AAExB,YAAA,EACL,KAAK,CAAC,SAAe;AACZ,UAAA,SAAS,UAAU,IAAI,CAAC;AAAA,EAAA,CACjC,EACA,MAAM,CAAC,WAAsB;AAC1B,UAAM,SAAS,WAAW,EAAE,iBAAiB,KAAM,CAAA,CAAC;AAAA,EAAA,CACvD;AAEL,QAAM,UAAU,MACZZ,sCAAC,YAAS,OACN,UAAAA,sCAACa,QAAI,CAAA,GACT;AAGC,OAAA,OAAQb,kCAAAA,IAAA,SAAA,CAAQ,CAAA,CAAE;AAC3B;"}