You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fesod.apache.org by ps...@apache.org on 2025/12/23 15:09:13 UTC
(fesod) branch main updated: refactor: refactor into a multi-module architecture (#706)
This is an automated email from the ASF dual-hosted git repository.
psxjoy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fesod.git
The following commit(s) were added to refs/heads/main by this push:
new 50da70eb refactor: refactor into a multi-module architecture (#706)
50da70eb is described below
commit 50da70eb731d36d69317565199608a18ceaeb230
Author: DeleiGuo <de...@apache.org>
AuthorDate: Tue Dec 23 23:09:09 2025 +0800
refactor: refactor into a multi-module architecture (#706)
* refactor: split into multiple maven modules
* chore: update maven build and test modules
* build: remove spotless check execution
* build: restore surefire.jdk9plus.args
* fix: resolve conflict
* Merge remote-tracking branch 'origin/main' into maven-multi-module
* fix: resolve conflict
---
.github/workflows/ci.yml | 4 +-
fesod-bom/pom.xml | 49 +
.../resources/logback.xml => fesod-common/pom.xml | 27 +-
.../apache/fesod/common}/util/BooleanUtils.java | 6 +-
.../org/apache/fesod/common}/util/IntUtils.java | 4 +-
.../org/apache/fesod/common}/util/IoUtils.java | 2 +-
.../org/apache/fesod/common}/util/ListUtils.java | 13 +-
.../org/apache/fesod/common}/util/MapUtils.java | 3 +-
.../org/apache/fesod/common}/util/MemberUtils.java | 10 +-
.../apache/fesod/common}/util/PositionUtils.java | 2 +-
.../org/apache/fesod/common}/util/StringUtils.java | 7 +-
.../apache/fesod/common/util/ValidateUtils.java | 32 +-
.../apache/fesod/common}/util/StringUtilsTest.java | 2 +-
fesod-examples/fesod-sheet-examples/pom.xml | 48 +
.../org/apache/fesod/sheet/demo/fill/FillData.java | 0
.../org/apache/fesod/sheet/demo/fill/FillTest.java | 4 +-
.../apache/fesod/sheet/demo/rare/WriteTest.java | 2 +-
.../demo/read/CellDataDemoHeadDataListener.java | 0
.../sheet/demo/read/CellDataReadDemoData.java | 0
.../fesod/sheet/demo/read/ConverterData.java | 0
.../sheet/demo/read/ConverterDataListener.java | 0
.../demo/read/CustomStringStringConverter.java | 0
.../sheet/demo/read/DemoChainAccessorsData.java | 0
.../sheet/demo/read/DemoCompatibleHeaderData.java | 0
.../read/DemoCompatibleHeaderDataListener.java | 0
.../org/apache/fesod/sheet/demo/read/DemoDAO.java | 0
.../org/apache/fesod/sheet/demo/read/DemoData.java | 0
.../fesod/sheet/demo/read/DemoDataAnother.java | 0
.../fesod/sheet/demo/read/DemoDataListener.java | 0
.../sheet/demo/read/DemoExceptionListener.java | 0
.../fesod/sheet/demo/read/DemoExtraData.java | 0
.../fesod/sheet/demo/read/DemoExtraListener.java | 0
.../sheet/demo/read/DemoHeadDataListener.java | 0
.../fesod/sheet/demo/read/ExceptionDemoData.java | 0
.../demo/read/GenericHeaderTypeDataListener.java | 0
.../fesod/sheet/demo/read/IndexOrNameData.java | 0
.../sheet/demo/read/IndexOrNameDataListener.java | 0
.../fesod/sheet/demo/read/NoModelDataListener.java | 0
.../org/apache/fesod/sheet/demo/read/ReadTest.java | 0
.../org/apache/fesod/sheet/demo/read/Sample.java | 0
.../apache/fesod/sheet/demo/web/DownloadData.java | 0
.../fesod/sheet/demo/web/FesodApplication.java | 0
.../org/apache/fesod/sheet/demo/web/UploadDAO.java | 0
.../apache/fesod/sheet/demo/web/UploadData.java | 0
.../fesod/sheet/demo/web/UploadDataListener.java | 2 +-
.../org/apache/fesod/sheet/demo/web/WebTest.java | 4 +-
.../fesod/sheet/demo/write/ColorDemoData.java | 0
.../sheet/demo/write/CommentWriteHandler.java | 2 +-
.../fesod/sheet/demo/write/ComplexHeadData.java | 0
.../fesod/sheet/demo/write/ConverterData.java | 0
.../sheet/demo/write/CustomCellWriteHandler.java | 2 +-
.../sheet/demo/write/CustomSheetWriteHandler.java | 0
.../demo/write/CustomStringStringConverter.java | 0
.../apache/fesod/sheet/demo/write/DemoData.java | 0
.../fesod/sheet/demo/write/DemoMergeData.java | 0
.../fesod/sheet/demo/write/DemoStyleData.java | 0
.../demo/write/EscapeHexCellWriteHandlerTest.java | 0
.../sheet/demo/write/ImageDataWithAnnotation.java | 0
.../fesod/sheet/demo/write/ImageDemoData.java | 0
.../apache/fesod/sheet/demo/write/IndexData.java | 0
.../demo/write/LongestMatchColumnWidthData.java | 0
.../fesod/sheet/demo/write/WidthAndHeightData.java | 0
.../fesod/sheet/demo/write/WriteCellDemoData.java | 0
.../apache/fesod/sheet/demo/write/WriteTest.java | 4 +-
.../fesod/sheet/demo/write/WriteWithColorTest.java | 0
.../java/org/apache/fesod/sheet/temp/CamlData.java | 0
.../org/apache/fesod/sheet/temp/DemoData2.java | 0
.../org/apache/fesod/sheet/temp/DemoData3.java | 0
.../org/apache/fesod/sheet/temp/FillTempTest.java | 0
.../org/apache/fesod/sheet/temp/Lock2Test.java | 2 +-
.../java/org/apache/fesod/sheet/temp/LockData.java | 0
.../apache/fesod/sheet/temp/LockDataListener.java | 0
.../java/org/apache/fesod/sheet/temp/LockTest.java | 0
.../org/apache/fesod/sheet/temp/StyleData.java | 0
.../org/apache/fesod/sheet/temp/StyleTest.java | 0
.../org/apache/fesod/sheet/temp/TempFillData.java | 0
.../apache/fesod/sheet/temp/WriteLargeTest.java | 0
.../org/apache/fesod/sheet/temp/WriteV33Test.java | 2 +-
.../org/apache/fesod/sheet/temp/WriteV34Test.java | 0
.../org/apache/fesod/sheet/temp/Xls03Test.java | 0
.../org/apache/fesod/sheet/temp/bug/DataType.java | 0
.../apache/fesod/sheet/temp/bug/ExcelCreat.java | 0
.../org/apache/fesod/sheet/temp/bug/HeadType.java | 0
.../apache/fesod/sheet/temp/cache/CacheTest.java | 0
.../org/apache/fesod/sheet/temp/csv/CsvData.java | 0
.../fesod/sheet/temp/csv/CsvDataListener.java | 0
.../apache/fesod/sheet/temp/csv/CsvReadTest.java | 0
.../org/apache/fesod/sheet/temp/data/DataType.java | 0
.../apache/fesod/sheet/temp/data/EncryptData.java | 0
.../org/apache/fesod/sheet/temp/data/HeadType.java | 0
.../apache/fesod/sheet/temp/data/SimpleData.java | 0
.../sheet/temp/dataformat/DataFormatData.java | 0
.../sheet/temp/dataformat/DataFormatTest.java | 0
.../apache/fesod/sheet/temp/fill/FillData2.java | 0
.../apache/fesod/sheet/temp/fill/FillTempTest.java | 0
.../fesod/sheet/temp/issue1662/Data1662.java | 0
.../fesod/sheet/temp/issue1662/Issue1662Test.java | 0
.../fesod/sheet/temp/issue1663/FillData.java | 0
.../fesod/sheet/temp/issue1663/FillTest.java | 0
.../fesod/sheet/temp/issue2319/Issue2319.java | 0
.../fesod/sheet/temp/issue2319/Issue2319Test.java | 0
.../fesod/sheet/temp/issue2443/Issue2443.java | 0
.../fesod/sheet/temp/issue2443/Issue2443Test.java | 0
.../fesod/sheet/temp/issue406/ReadSheetTest.java | 0
.../apache/fesod/sheet/temp/large/LargeData.java | 0
.../fesod/sheet/temp/large/LargeDataListener.java | 0
.../sheet/temp/large/NoModelLargeDataListener.java | 0
.../fesod/sheet/temp/large/TempLargeDataTest.java | 0
.../org/apache/fesod/sheet/temp/poi/Poi2Test.java | 0
.../org/apache/fesod/sheet/temp/poi/Poi3Test.java | 0
.../fesod/sheet/temp/poi/PoiDateFormatTest.java | 0
.../fesod/sheet/temp/poi/PoiEncryptTest.java | 0
.../apache/fesod/sheet/temp/poi/PoiFormatTest.java | 0
.../org/apache/fesod/sheet/temp/poi/PoiTest.java | 0
.../apache/fesod/sheet/temp/poi/PoiWriteTest.java | 0
.../org/apache/fesod/sheet/temp/poi/TestCell.java | 0
.../apache/fesod/sheet/temp/read/CommentTest.java | 0
.../apache/fesod/sheet/temp/read/HDListener.java | 0
.../apache/fesod/sheet/temp/read/HeadListener.java | 0
.../apache/fesod/sheet/temp/read/HeadReadData.java | 0
.../apache/fesod/sheet/temp/read/HeadReadTest.java | 0
.../apache/fesod/sheet/temp/read/TestListener.java | 0
.../fesod/sheet/temp/read/WebStreamReadTest.java | 0
.../apache/fesod/sheet/temp/simple/DemoData1.java | 0
.../apache/fesod/sheet/temp/simple/DemoData2.java | 0
.../apache/fesod/sheet/temp/simple/HgListener.java | 0
.../apache/fesod/sheet/temp/simple/JsonData.java | 0
.../fesod/sheet/temp/simple/RepeatListener.java | 0
.../apache/fesod/sheet/temp/simple/RepeatTest.java | 0
.../org/apache/fesod/sheet/temp/simple/Write.java | 0
.../fesod/sheet/temp/simple/WriteCellHandler.java | 0
.../apache/fesod/sheet/temp/simple/WriteData.java | 0
.../fesod/sheet/temp/simple/WriteHandler.java | 0
.../fesod/sheet/temp/write/TempWriteData.java | 0
.../fesod/sheet/temp/write/TempWriteTest.java | 2 +-
.../apache/fesod/sheet/util/StyleTestUtils.java | 0
.../org/apache/fesod/sheet/util/TestFileUtil.java | 0
.../src/test/resources/bom/no_bom.csv | 0
.../src/test/resources/bom/office_bom.csv | 0
.../src/test/resources/cache/headt1.xls | Bin
.../src/test/resources/cache/t2.xlsx | Bin
.../src/test/resources/comment/comment.xls | Bin
.../src/test/resources/comment/comment.xlsx | Bin
.../src/test/resources/compatibility/t01.xls | Bin
.../src/test/resources/compatibility/t02.xlsx | Bin
.../src/test/resources/compatibility/t03.xlsx | Bin
.../src/test/resources/compatibility/t04.xlsx | Bin
.../src/test/resources/compatibility/t05.xlsx | Bin
.../src/test/resources/compatibility/t06.xlsx | Bin
.../src/test/resources/compatibility/t07.xlsx | Bin
.../src/test/resources/compatibility/t09.xlsx | Bin
.../src/test/resources/converter/converter03.xls | Bin
.../src/test/resources/converter/converter07.xlsx | Bin
.../src/test/resources/converter/converterCsv.csv | 0
.../src/test/resources/converter/img.jpg | Bin
.../src/test/resources/csv/simple-delimiter.csv | 0
.../src/test/resources/csv/simple-quote.csv | 0
.../src/test/resources/csv/simple.csv | 0
.../src/test/resources/dataformat/dataformat.xls | Bin
.../src/test/resources/dataformat/dataformat.xlsx | Bin
.../test/resources/dataformat/dataformatv2.xlsx | Bin
.../resources/datewindowing/1900DateWindowing.xls | Bin
.../resources/datewindowing/1904DateWindowing.xls | Bin
.../src/test/resources/demo/cellDataDemo.xlsx | Bin
.../src/test/resources/demo/demo.csv | 0
.../src/test/resources/demo/demo.xlsx | Bin
.../src/test/resources/demo/extra.xlsx | Bin
.../src/test/resources/demo/fill/complex.xlsx | Bin
.../resources/demo/fill/complexFillWithTable.xlsx | Bin
.../src/test/resources/demo/fill/composite.xlsx | Bin
.../src/test/resources/demo/fill/dateFormat.xlsx | Bin
.../src/test/resources/demo/fill/horizontal.xlsx | Bin
.../src/test/resources/demo/fill/list.xlsx | Bin
.../src/test/resources/demo/fill/simple.xlsx | Bin
.../src/test/resources/demo/generic-demo.xlsx | Bin
.../src/test/resources/demo/pwd_123.xls | Bin
.../src/test/resources/extra/extra.xls | Bin
.../src/test/resources/extra/extra.xlsx | Bin
.../test/resources/extra/extraRelationships.xlsx | Bin
.../src/test/resources/fill/annotation.xls | Bin
.../src/test/resources/fill/annotation.xlsx | Bin
.../src/test/resources/fill/byName.xls | Bin
.../src/test/resources/fill/byName.xlsx | Bin
.../src/test/resources/fill/complex.xls | Bin
.../src/test/resources/fill/complex.xlsx | Bin
.../src/test/resources/fill/composite.xls | Bin
.../src/test/resources/fill/composite.xlsx | Bin
.../src/test/resources/fill/horizontal.xls | Bin
.../src/test/resources/fill/horizontal.xlsx | Bin
.../src/test/resources/fill/simple.csv | 0
.../src/test/resources/fill/simple.xls | Bin
.../src/test/resources/fill/simple.xlsx | Bin
.../src/test/resources/fill/style.xls | Bin
.../src/test/resources/fill/style.xlsx | Bin
.../test/resources/hiddensheets/hiddensheets.xls | Bin
.../test/resources/hiddensheets/hiddensheets.xlsx | Bin
.../src/test/resources/large/fill.xlsx | Bin
.../src/test/resources/large/large07.xlsx | Bin
.../src/test/resources/logback.xml | 0
.../resources/multiplesheets/multiplesheets.xls | Bin
.../resources/multiplesheets/multiplesheets.xlsx | Bin
.../test/resources/poi/last_row_number_test.xlsx | Bin
.../poi/last_row_number_xssf_date_test.csv | 0
.../poi/last_row_number_xssf_date_test.xls | Bin
.../poi/last_row_number_xssf_date_test.xlsx | Bin
.../resources/poi/last_row_number_xssf_test.xlsx | Bin
.../src/test/resources/repeat/repeat.xls | Bin
.../src/test/resources/repeat/repeat.xlsx | Bin
.../src/test/resources/simple/LargeData.xlsx | Bin
.../test/resources/simple/no_model_10000_rows.xlsx | Bin
.../src/test/resources/simple/simple07.xlsx | Bin
.../src/test/resources/style/styleTest.xls | Bin
.../src/test/resources/style/styleTest.xlsx | Bin
.../test/resources/temp/issue1663/template.xlsx | Bin
.../src/test/resources/temp/issue220/test01.xlsx | Bin
.../src/test/resources/temp/issue220/test02.xlsx | Bin
.../src/test/resources/temp/issue220/test03.xlsx | Bin
.../src/test/resources/temp/issue2319/test1.xlsx | Bin
.../src/test/resources/temp/issue2319/test2.xlsx | Bin
.../src/test/resources/temp/issue2443/date1.xlsx | Bin
.../src/test/resources/temp/issue2443/date2.xlsx | Bin
.../src/test/resources/temp/lock_data.xlsx | Bin
.../src/test/resources/temp/number_format.xlsx | Bin
.../src/test/resources/template/template03.xls | Bin
.../src/test/resources/template/template07.xlsx | Bin
.../src/test/resources/web/io.xlsx | Bin
fesod-examples/pom.xml | 97 +-
fesod-sheet/pom.xml | 83 +
.../java/org/apache/fesod/sheet/EasyExcel.java | 0
.../java/org/apache/fesod/sheet/ExcelReader.java | 0
.../java/org/apache/fesod/sheet/ExcelWriter.java | 0
.../java/org/apache/fesod/sheet/FastExcel.java | 0
.../org/apache/fesod/sheet/FastExcelFactory.java | 0
.../java/org/apache/fesod/sheet/FesodSheet.java | 0
.../apache/fesod/sheet/analysis/ExcelAnalyser.java | 0
.../fesod/sheet/analysis/ExcelAnalyserImpl.java | 0
.../fesod/sheet/analysis/ExcelReadExecutor.java | 0
.../sheet/analysis/csv/CsvExcelReadExecutor.java | 0
.../analysis/v03/IgnorableXlsRecordHandler.java | 0
.../sheet/analysis/v03/XlsListSheetListener.java | 0
.../fesod/sheet/analysis/v03/XlsRecordHandler.java | 0
.../fesod/sheet/analysis/v03/XlsSaxAnalyser.java | 0
.../v03/handlers/AbstractXlsRecordHandler.java | 0
.../analysis/v03/handlers/BlankRecordHandler.java | 0
.../analysis/v03/handlers/BofRecordHandler.java | 0
.../v03/handlers/BoolErrRecordHandler.java | 0
.../v03/handlers/BoundSheetRecordHandler.java | 0
.../v03/handlers/DateWindow1904RecordHandler.java | 0
.../analysis/v03/handlers/DummyRecordHandler.java | 0
.../analysis/v03/handlers/EofRecordHandler.java | 0
.../v03/handlers/FormulaRecordHandler.java | 0
.../v03/handlers/HyperlinkRecordHandler.java | 0
.../analysis/v03/handlers/IndexRecordHandler.java | 0
.../analysis/v03/handlers/LabelRecordHandler.java | 0
.../v03/handlers/LabelSstRecordHandler.java | 0
.../v03/handlers/MergeCellsRecordHandler.java | 0
.../analysis/v03/handlers/NoteRecordHandler.java | 0
.../analysis/v03/handlers/NumberRecordHandler.java | 0
.../analysis/v03/handlers/ObjRecordHandler.java | 0
.../analysis/v03/handlers/RkRecordHandler.java | 0
.../analysis/v03/handlers/SstRecordHandler.java | 0
.../analysis/v03/handlers/StringRecordHandler.java | 0
.../v03/handlers/TextObjectRecordHandler.java | 0
.../fesod/sheet/analysis/v07/XlsxSaxAnalyser.java | 0
.../v07/handlers/AbstractCellValueTagHandler.java | 0
.../v07/handlers/AbstractXlsxTagHandler.java | 0
.../v07/handlers/CellFormulaTagHandler.java | 0
.../handlers/CellInlineStringValueTagHandler.java | 0
.../analysis/v07/handlers/CellTagHandler.java | 0
.../analysis/v07/handlers/CellValueTagHandler.java | 0
.../analysis/v07/handlers/CountTagHandler.java | 0
.../analysis/v07/handlers/HyperlinkTagHandler.java | 0
.../analysis/v07/handlers/MergeCellTagHandler.java | 0
.../sheet/analysis/v07/handlers/RowTagHandler.java | 0
.../analysis/v07/handlers/XlsxTagHandler.java | 0
.../handlers/sax/SharedStringsTableHandler.java | 0
.../analysis/v07/handlers/sax/XlsxRowHandler.java | 0
.../apache/fesod/sheet/annotation/ExcelIgnore.java | 0
.../sheet/annotation/ExcelIgnoreUnannotated.java | 0
.../fesod/sheet/annotation/ExcelProperty.java | 0
.../sheet/annotation/format/DateTimeFormat.java | 0
.../sheet/annotation/format/NumberFormat.java | 0
.../sheet/annotation/write/style/ColumnWidth.java | 0
.../annotation/write/style/ContentFontStyle.java | 0
.../annotation/write/style/ContentLoopMerge.java | 0
.../annotation/write/style/ContentRowHeight.java | 0
.../sheet/annotation/write/style/ContentStyle.java | 0
.../annotation/write/style/HeadFontStyle.java | 0
.../annotation/write/style/HeadRowHeight.java | 0
.../sheet/annotation/write/style/HeadStyle.java | 0
.../annotation/write/style/OnceAbsoluteMerge.java | 0
.../java/org/apache/fesod/sheet/cache/Ehcache.java | 0
.../org/apache/fesod/sheet/cache/MapCache.java | 0
.../org/apache/fesod/sheet/cache/ReadCache.java | 0
.../org/apache/fesod/sheet/cache/XlsCache.java | 0
.../cache/selector/EternalReadCacheSelector.java | 0
.../sheet/cache/selector/ReadCacheSelector.java | 0
.../cache/selector/SimpleReadCacheSelector.java | 0
.../fesod/sheet/constant/BuiltinFormats.java | 0
.../fesod/sheet/constant/ExcelXmlConstants.java | 0
.../fesod/sheet/constant/FastExcelConstants.java | 0
.../apache/fesod/sheet/constant/OrderConstant.java | 0
.../fesod/sheet/context/AnalysisContext.java | 0
.../fesod/sheet/context/AnalysisContextImpl.java | 0
.../apache/fesod/sheet/context/WriteContext.java | 0
.../fesod/sheet/context/WriteContextImpl.java | 0
.../fesod/sheet/context/csv/CsvReadContext.java | 0
.../sheet/context/csv/DefaultCsvReadContext.java | 0
.../sheet/context/xls/DefaultXlsReadContext.java | 0
.../fesod/sheet/context/xls/XlsReadContext.java | 0
.../sheet/context/xlsx/DefaultXlsxReadContext.java | 0
.../fesod/sheet/context/xlsx/XlsxReadContext.java | 0
.../fesod/sheet/converters/AutoConverter.java | 0
.../apache/fesod/sheet/converters/Converter.java | 0
.../fesod/sheet/converters/ConverterKeyBuild.java | 0
.../sheet/converters/DefaultConverterLoader.java | 0
.../sheet/converters/NullableObjectConverter.java | 0
.../sheet/converters/ReadConverterContext.java | 0
.../sheet/converters/WriteConverterContext.java | 0
.../bigdecimal/BigDecimalBooleanConverter.java | 0
.../bigdecimal/BigDecimalNumberConverter.java | 0
.../bigdecimal/BigDecimalStringConverter.java | 0
.../biginteger/BigIntegerBooleanConverter.java | 0
.../biginteger/BigIntegerNumberConverter.java | 0
.../biginteger/BigIntegerStringConverter.java | 0
.../booleanconverter/BooleanBooleanConverter.java | 0
.../booleanconverter/BooleanNumberConverter.java | 0
.../booleanconverter/BooleanStringConverter.java | 0
.../bytearray/BoxingByteArrayImageConverter.java | 0
.../bytearray/ByteArrayImageConverter.java | 0
.../byteconverter/ByteBooleanConverter.java | 0
.../byteconverter/ByteNumberConverter.java | 0
.../byteconverter/ByteStringConverter.java | 0
.../sheet/converters/date/DateDateConverter.java | 0
.../sheet/converters/date/DateNumberConverter.java | 0
.../sheet/converters/date/DateStringConverter.java | 0
.../doubleconverter/DoubleBooleanConverter.java | 0
.../doubleconverter/DoubleNumberConverter.java | 0
.../doubleconverter/DoubleStringConverter.java | 0
.../sheet/converters/file/FileImageConverter.java | 0
.../floatconverter/FloatBooleanConverter.java | 0
.../floatconverter/FloatNumberConverter.java | 0
.../floatconverter/FloatStringConverter.java | 0
.../inputstream/InputStreamImageConverter.java | 0
.../integer/IntegerBooleanConverter.java | 0
.../converters/integer/IntegerNumberConverter.java | 0
.../converters/integer/IntegerStringConverter.java | 0
.../localdate/LocalDateDateConverter.java | 0
.../localdate/LocalDateNumberConverter.java | 0
.../localdate/LocalDateStringConverter.java | 0
.../localdatetime/LocalDateTimeDateConverter.java | 0
.../LocalDateTimeNumberConverter.java | 0
.../LocalDateTimeStringConverter.java | 0
.../longconverter/LongBooleanConverter.java | 0
.../longconverter/LongNumberConverter.java | 0
.../longconverter/LongStringConverter.java | 0
.../shortconverter/ShortBooleanConverter.java | 0
.../shortconverter/ShortNumberConverter.java | 0
.../shortconverter/ShortStringConverter.java | 0
.../converters/string/StringBooleanConverter.java | 0
.../converters/string/StringErrorConverter.java | 0
.../converters/string/StringImageConverter.java | 0
.../converters/string/StringNumberConverter.java | 0
.../converters/string/StringStringConverter.java | 0
.../sheet/converters/url/UrlImageConverter.java | 0
.../org/apache/fesod/sheet/enums/BooleanEnum.java | 0
.../fesod/sheet/enums/ByteOrderMarkEnum.java | 0
.../fesod/sheet/enums/CacheLocationEnum.java | 0
.../apache/fesod/sheet/enums/CellDataTypeEnum.java | 0
.../fesod/sheet/enums/CellExtraTypeEnum.java | 0
.../org/apache/fesod/sheet/enums/HeadKindEnum.java | 0
.../fesod/sheet/enums/HeaderMergeStrategy.java | 0
.../org/apache/fesod/sheet/enums/HolderEnum.java | 0
.../fesod/sheet/enums/NumericCellTypeEnum.java | 0
.../fesod/sheet/enums/ReadDefaultReturnEnum.java | 0
.../org/apache/fesod/sheet/enums/RowTypeEnum.java | 0
.../fesod/sheet/enums/WriteDirectionEnum.java | 0
.../fesod/sheet/enums/WriteLastRowTypeEnum.java | 0
.../enums/WriteTemplateAnalysisCellTypeEnum.java | 0
.../apache/fesod/sheet/enums/WriteTypeEnum.java | 0
.../fesod/sheet/enums/poi/BorderStyleEnum.java | 0
.../fesod/sheet/enums/poi/FillPatternTypeEnum.java | 0
.../sheet/enums/poi/HorizontalAlignmentEnum.java | 0
.../sheet/enums/poi/VerticalAlignmentEnum.java | 0
.../event/AbstractIgnoreExceptionReadListener.java | 0
.../fesod/sheet/event/AnalysisEventListener.java | 0
.../java/org/apache/fesod/sheet/event/Handler.java | 0
.../org/apache/fesod/sheet/event/Listener.java | 0
.../fesod/sheet/event/NotRepeatExecutor.java | 0
.../java/org/apache/fesod/sheet/event/Order.java | 0
.../apache/fesod/sheet/event/SyncReadListener.java | 0
.../sheet/exception/ExcelAnalysisException.java | 0
.../exception/ExcelAnalysisStopException.java | 0
.../exception/ExcelAnalysisStopSheetException.java | 0
.../sheet/exception/ExcelCommonException.java | 0
.../sheet/exception/ExcelDataConvertException.java | 0
.../sheet/exception/ExcelGenerateException.java | 0
.../sheet/exception/ExcelRuntimeException.java | 0
.../exception/ExcelWriteDataConvertException.java | 0
.../apache/fesod/sheet/metadata/AbstractCell.java | 0
.../fesod/sheet/metadata/AbstractHolder.java | 0
.../sheet/metadata/AbstractParameterBuilder.java | 0
.../fesod/sheet/metadata/BasicParameter.java | 0
.../java/org/apache/fesod/sheet/metadata/Cell.java | 0
.../org/apache/fesod/sheet/metadata/CellExtra.java | 0
.../org/apache/fesod/sheet/metadata/CellRange.java | 0
.../fesod/sheet/metadata/ConfigurationHolder.java | 0
.../apache/fesod/sheet/metadata/FieldCache.java | 0
.../apache/fesod/sheet/metadata/FieldWrapper.java | 0
.../java/org/apache/fesod/sheet/metadata/Font.java | 0
.../fesod/sheet/metadata/GlobalConfiguration.java | 0
.../java/org/apache/fesod/sheet/metadata/Head.java | 0
.../org/apache/fesod/sheet/metadata/Holder.java | 0
.../apache/fesod/sheet/metadata/NullObject.java | 0
.../apache/fesod/sheet/metadata/csv/CsvCell.java | 0
.../fesod/sheet/metadata/csv/CsvCellStyle.java | 0
.../fesod/sheet/metadata/csv/CsvConstant.java | 0
.../fesod/sheet/metadata/csv/CsvDataFormat.java | 0
.../sheet/metadata/csv/CsvRichTextString.java | 0
.../apache/fesod/sheet/metadata/csv/CsvRow.java | 0
.../apache/fesod/sheet/metadata/csv/CsvSheet.java | 0
.../fesod/sheet/metadata/csv/CsvWorkbook.java | 0
.../apache/fesod/sheet/metadata/data/CellData.java | 0
.../sheet/metadata/data/ClientAnchorData.java | 0
.../fesod/sheet/metadata/data/CommentData.java | 0
.../fesod/sheet/metadata/data/CoordinateData.java | 0
.../fesod/sheet/metadata/data/DataFormatData.java | 0
.../fesod/sheet/metadata/data/FormulaData.java | 0
.../fesod/sheet/metadata/data/HyperlinkData.java | 0
.../fesod/sheet/metadata/data/ImageData.java | 0
.../fesod/sheet/metadata/data/ReadCellData.java | 0
.../sheet/metadata/data/RichTextStringData.java | 0
.../fesod/sheet/metadata/data/WriteCellData.java | 0
.../fesod/sheet/metadata/format/DataFormatter.java | 0
.../metadata/format/ExcelGeneralNumberFormat.java | 0
.../metadata/property/ColumnWidthProperty.java | 0
.../metadata/property/DateTimeFormatProperty.java | 0
.../metadata/property/ExcelContentProperty.java | 0
.../sheet/metadata/property/ExcelHeadProperty.java | 0
.../sheet/metadata/property/FontProperty.java | 0
.../sheet/metadata/property/LoopMergeProperty.java | 0
.../metadata/property/NumberFormatProperty.java | 0
.../property/OnceAbsoluteMergeProperty.java | 0
.../sheet/metadata/property/RowHeightProperty.java | 0
.../sheet/metadata/property/StyleProperty.java | 0
.../AbstractExcelReaderParameterBuilder.java | 0
.../fesod/sheet/read/builder/CsvReaderBuilder.java | 0
.../sheet/read/builder/ExcelReaderBuilder.java | 0
.../read/builder/ExcelReaderSheetBuilder.java | 0
.../read/listener/IgnoreExceptionReadListener.java | 0
.../read/listener/ModelBuildEventListener.java | 0
.../sheet/read/listener/PageReadListener.java | 0
.../fesod/sheet/read/listener/ReadListener.java | 0
.../sheet/read/metadata/ReadBasicParameter.java | 0
.../fesod/sheet/read/metadata/ReadSheet.java | 0
.../fesod/sheet/read/metadata/ReadWorkbook.java | 0
.../read/metadata/holder/AbstractReadHolder.java | 0
.../sheet/read/metadata/holder/ReadHolder.java | 0
.../sheet/read/metadata/holder/ReadRowHolder.java | 0
.../read/metadata/holder/ReadSheetHolder.java | 0
.../read/metadata/holder/ReadWorkbookHolder.java | 0
.../metadata/holder/csv/CsvReadSheetHolder.java | 0
.../metadata/holder/csv/CsvReadWorkbookHolder.java | 0
.../metadata/holder/xls/XlsReadSheetHolder.java | 0
.../metadata/holder/xls/XlsReadWorkbookHolder.java | 0
.../metadata/holder/xlsx/XlsxReadSheetHolder.java | 0
.../holder/xlsx/XlsxReadWorkbookHolder.java | 0
.../metadata/property/ExcelReadHeadProperty.java | 0
.../read/processor/AnalysisEventProcessor.java | 0
.../processor/DefaultAnalysisEventProcessor.java | 0
.../apache/fesod/sheet/support/ExcelTypeEnum.java | 0
.../org/apache/fesod/sheet/util/BeanMapUtils.java | 0
.../org/apache/fesod/sheet/util/BooleanUtils.java | 0
.../org/apache/fesod/sheet/util/ClassUtils.java | 0
.../apache/fesod/sheet/util/ConverterUtils.java | 0
.../org/apache/fesod/sheet/util/DateUtils.java | 0
.../util/FastExcelTempFileCreationStrategy.java | 0
.../org/apache/fesod/sheet/util/FieldUtils.java | 0
.../org/apache/fesod/sheet/util/FileTypeUtils.java | 0
.../org/apache/fesod/sheet/util/FileUtils.java | 0
.../java/org/apache/fesod/sheet/util/IntUtils.java | 0
.../java/org/apache/fesod/sheet/util/IoUtils.java | 0
.../org/apache/fesod/sheet/util/ListUtils.java | 0
.../java/org/apache/fesod/sheet/util/MapUtils.java | 0
.../org/apache/fesod/sheet/util/MemberUtils.java | 0
.../fesod/sheet/util/NumberDataFormatterUtils.java | 0
.../org/apache/fesod/sheet/util/NumberUtils.java | 0
.../org/apache/fesod/sheet/util/ParameterUtil.java | 0
.../java/org/apache/fesod/sheet/util/PoiUtils.java | 0
.../org/apache/fesod/sheet/util/PositionUtils.java | 0
.../org/apache/fesod/sheet/util/SheetUtils.java | 0
.../org/apache/fesod/sheet/util/StringUtils.java | 0
.../org/apache/fesod/sheet/util/StyleUtil.java | 0
.../java/org/apache/fesod/sheet/util/Validate.java | 0
.../org/apache/fesod/sheet/util/WorkBookUtil.java | 0
.../apache/fesod/sheet/util/WriteHandlerUtils.java | 0
.../org/apache/fesod/sheet/write/ExcelBuilder.java | 0
.../apache/fesod/sheet/write/ExcelBuilderImpl.java | 0
.../AbstractExcelWriterParameterBuilder.java | 0
.../sheet/write/builder/CsvWriterBuilder.java | 0
.../sheet/write/builder/ExcelWriterBuilder.java | 0
.../write/builder/ExcelWriterSheetBuilder.java | 0
.../write/builder/ExcelWriterTableBuilder.java | 0
.../write/executor/AbstractExcelWriteExecutor.java | 0
.../write/executor/ExcelWriteAddExecutor.java | 0
.../sheet/write/executor/ExcelWriteExecutor.java | 0
.../write/executor/ExcelWriteFillExecutor.java | 0
.../write/handler/AbstractCellWriteHandler.java | 0
.../write/handler/AbstractRowWriteHandler.java | 0
.../write/handler/AbstractSheetWriteHandler.java | 0
.../handler/AbstractWorkbookWriteHandler.java | 0
.../sheet/write/handler/CellWriteHandler.java | 0
.../write/handler/DefaultWriteHandlerLoader.java | 0
.../write/handler/EscapeHexCellWriteHandler.java | 0
.../fesod/sheet/write/handler/RowWriteHandler.java | 0
.../sheet/write/handler/SheetWriteHandler.java | 0
.../sheet/write/handler/WorkbookWriteHandler.java | 0
.../fesod/sheet/write/handler/WriteHandler.java | 0
.../handler/chain/CellHandlerExecutionChain.java | 0
.../handler/chain/RowHandlerExecutionChain.java | 0
.../handler/chain/SheetHandlerExecutionChain.java | 0
.../chain/WorkbookHandlerExecutionChain.java | 0
.../handler/context/CellWriteHandlerContext.java | 0
.../handler/context/RowWriteHandlerContext.java | 0
.../handler/context/SheetWriteHandlerContext.java | 0
.../context/WorkbookWriteHandlerContext.java | 0
.../write/handler/impl/DefaultRowWriteHandler.java | 0
.../impl/DimensionWorkbookWriteHandler.java | 0
.../handler/impl/FillStyleCellWriteHandler.java | 0
.../impl/WriteSheetWorkbookWriteHandler.java | 0
.../sheet/write/merge/AbstractMergeStrategy.java | 0
.../fesod/sheet/write/merge/LoopMergeStrategy.java | 0
.../write/merge/OnceAbsoluteMergeStrategy.java | 0
.../sheet/write/metadata/CollectionRowData.java | 0
.../fesod/sheet/write/metadata/MapRowData.java | 0
.../apache/fesod/sheet/write/metadata/RowData.java | 0
.../sheet/write/metadata/WriteBasicParameter.java | 0
.../fesod/sheet/write/metadata/WriteSheet.java | 0
.../fesod/sheet/write/metadata/WriteTable.java | 0
.../fesod/sheet/write/metadata/WriteWorkbook.java | 0
.../sheet/write/metadata/fill/AnalysisCell.java | 0
.../sheet/write/metadata/fill/FillConfig.java | 0
.../sheet/write/metadata/fill/FillWrapper.java | 0
.../write/metadata/holder/AbstractWriteHolder.java | 0
.../sheet/write/metadata/holder/WriteHolder.java | 0
.../write/metadata/holder/WriteSheetHolder.java | 0
.../write/metadata/holder/WriteTableHolder.java | 0
.../write/metadata/holder/WriteWorkbookHolder.java | 0
.../sheet/write/metadata/style/WriteCellStyle.java | 0
.../sheet/write/metadata/style/WriteFont.java | 0
.../write/property/ExcelWriteHeadProperty.java | 287 +
.../write/style/AbstractCellStyleStrategy.java | 0
.../style/AbstractVerticalCellStyleStrategy.java | 0
.../fesod/sheet/write/style/DefaultStyle.java | 0
.../write/style/HorizontalCellStyleStrategy.java | 0
.../column/AbstractColumnWidthStyleStrategy.java | 0
.../AbstractHeadColumnWidthStyleStrategy.java | 0
.../LongestMatchColumnWidthStyleStrategy.java | 0
.../column/SimpleColumnWidthStyleStrategy.java | 0
.../style/row/AbstractRowHeightStyleStrategy.java | 0
.../style/row/SimpleRowHeightStyleStrategy.java | 0
.../org/apache/fesod/sheet/FesodSheetTest.java | 0
.../sheet/analysis/ExcelAnalyserOldBiffTest.java | 0
.../fesod/sheet/annotation/AnnotationData.java | 0
.../sheet/annotation/AnnotationDataListener.java | 0
.../fesod/sheet/annotation/AnnotationDataTest.java | 0
.../annotation/AnnotationIndexAndNameData.java | 0
.../AnnotationIndexAndNameDataListener.java | 0
.../annotation/AnnotationIndexAndNameDataTest.java | 0
.../sheet/annotation/AnnotationStyleData.java | 0
.../sheet/annotation/ExcelPropertyFormatTest.java | 0
.../java/org/apache/fesod/sheet/bom/BomData.java | 0
.../org/apache/fesod/sheet/bom/BomDataTest.java | 0
.../org/apache/fesod/sheet/cache/CacheData.java | 0
.../apache/fesod/sheet/cache/CacheDataTest.java | 0
.../apache/fesod/sheet/cache/CacheInvokeData.java | 0
.../fesod/sheet/cache/CacheInvokeMemoryData.java | 0
.../fesod/sheet/celldata/CellDataDataListener.java | 0
.../fesod/sheet/celldata/CellDataDataTest.java | 0
.../fesod/sheet/celldata/CellDataReadData.java | 0
.../fesod/sheet/celldata/CellDataWriteData.java | 0
.../apache/fesod/sheet/charset/CharsetData.java | 0
.../fesod/sheet/charset/CharsetDataTest.java | 0
.../sheet/compatibility/CompatibilityTest.java | 0
.../sheet/converter/ConverterDataListener.java | 0
.../fesod/sheet/converter/ConverterDataTest.java | 0
.../fesod/sheet/converter/ConverterReadData.java | 0
.../fesod/sheet/converter/ConverterTest.java | 0
.../fesod/sheet/converter/ConverterWriteData.java | 0
.../fesod/sheet/converter/CustomConverterTest.java | 0
.../sheet/converter/CustomConverterWriteData.java | 0
.../apache/fesod/sheet/converter/ImageData.java | 0
.../sheet/converter/ReadAllConverterData.java | 0
.../converter/ReadAllConverterDataListener.java | 0
.../sheet/converter/TimestampNumberConverter.java | 0
.../sheet/converter/TimestampStringConverter.java | 0
.../sheet/csv/CsvBenignErrorToleranceTest.java | 0
.../java/org/apache/fesod/sheet/csv/CsvData.java | 0
.../apache/fesod/sheet/csv/CsvDataListener.java | 0
.../org/apache/fesod/sheet/csv/CsvFormatTest.java | 0
.../java/org/apache/fesod/sheet/data/DemoData.java | 0
.../fesod/sheet/dataformat/DateFormatData.java | 0
.../fesod/sheet/dataformat/DateFormatTest.java | 0
.../apache/fesod/sheet/encrypt/EncryptData.java | 0
.../fesod/sheet/encrypt/EncryptDataListener.java | 0
.../fesod/sheet/encrypt/EncryptDataTest.java | 0
...xcelAnalysisStopSheetExceptionDataListener.java | 0
.../fesod/sheet/exception/ExceptionData.java | 0
.../sheet/exception/ExceptionDataListener.java | 0
.../fesod/sheet/exception/ExceptionDataTest.java | 0
.../exception/ExceptionThrowDataListener.java | 0
.../XlsxSaxAnalyserReadOpcPackageTest.java | 0
.../excludeorinclude/ExcludeOrIncludeData.java | 0
.../excludeorinclude/ExcludeOrIncludeDataTest.java | 0
.../org/apache/fesod/sheet/extra/ExtraData.java | 0
.../fesod/sheet/extra/ExtraDataListener.java | 0
.../apache/fesod/sheet/extra/ExtraDataTest.java | 0
.../java/org/apache/fesod/sheet/fill/FillData.java | 0
.../org/apache/fesod/sheet/fill/FillDataTest.java | 0
.../sheet/fill/annotation/FillAnnotationData.java | 0
.../fill/annotation/FillAnnotationDataTest.java | 0
.../sheet/fill/style/FillStyleAnnotatedData.java | 0
.../sheet/fill/style/FillStyleAnnotatedTest.java | 0
.../fesod/sheet/fill/style/FillStyleData.java | 0
.../fesod/sheet/fill/style/FillStyleDataTest.java | 0
.../apache/fesod/sheet/fuzz/ExcelReadFuzzTest.java | 0
.../apache/fesod/sheet/fuzz/XlsReadFuzzTest.java | 0
.../apache/fesod/sheet/handler/WriteHandler.java | 0
.../fesod/sheet/handler/WriteHandlerData.java | 0
.../fesod/sheet/handler/WriteHandlerTest.java | 0
.../fesod/sheet/head/ComplexDataListener.java | 0
.../apache/fesod/sheet/head/ComplexHeadData.java | 0
.../fesod/sheet/head/ComplexHeadDataTest.java | 0
.../fesod/sheet/head/HeaderMergeStrategyTest.java | 0
.../fesod/sheet/head/ListHeadDataListener.java | 0
.../apache/fesod/sheet/head/ListHeadDataTest.java | 0
.../fesod/sheet/head/MaxHeadReadListener.java | 0
.../apache/fesod/sheet/head/MaxHeadSizeData.java | 0
.../apache/fesod/sheet/head/MaxHeadSizeTest.java | 0
.../org/apache/fesod/sheet/head/NoHeadData.java | 0
.../fesod/sheet/head/NoHeadDataListener.java | 0
.../apache/fesod/sheet/head/NoHeadDataTest.java | 0
.../fesod/sheet/hiddensheets/HiddenSheetsData.java | 0
.../sheet/hiddensheets/HiddenSheetsListener.java | 0
.../fesod/sheet/hiddensheets/HiddenSheetsTest.java | 0
.../org/apache/fesod/sheet/large/LargeData.java | 0
.../fesod/sheet/large/LargeDataListener.java | 0
.../apache/fesod/sheet/large/LargeDataTest.java | 0
.../sheet/multiplesheets/MultipleSheetsData.java | 0
.../multiplesheets/MultipleSheetsDataTest.java | 0
.../multiplesheets/MultipleSheetsListener.java | 0
.../fesod/sheet/nomodel/NoModelDataTest.java | 0
.../apache/fesod/sheet/noncamel/UnCamelData.java | 0
.../fesod/sheet/noncamel/UnCamelDataListener.java | 0
.../fesod/sheet/noncamel/UnCamelDataTest.java | 0
.../sheet/parameter/AutoStripParameterTest.java | 0
.../sheet/parameter/DateWindowingListener.java | 0
.../fesod/sheet/parameter/DateWindowingTest.java | 0
.../fesod/sheet/parameter/ParameterData.java | 0
.../sheet/parameter/ParameterDataListener.java | 0
.../fesod/sheet/parameter/ParameterDataTest.java | 0
.../fesod/sheet/repetition/RepetitionData.java | 0
.../sheet/repetition/RepetitionDataListener.java | 0
.../fesod/sheet/repetition/RepetitionDataTest.java | 0
.../org/apache/fesod/sheet/simple/SimpleData.java | 0
.../fesod/sheet/simple/SimpleDataListener.java | 0
.../sheet/simple/SimpleDataSheetNameListener.java | 0
.../apache/fesod/sheet/simple/SimpleDataTest.java | 0
.../sheet/skip/ClassUtilsFieldOverrideTest.java | 0
.../java/org/apache/fesod/sheet/skip/SkipData.java | 0
.../org/apache/fesod/sheet/skip/SkipDataTest.java | 0
.../java/org/apache/fesod/sheet/sort/SortData.java | 0
.../apache/fesod/sheet/sort/SortDataListener.java | 0
.../org/apache/fesod/sheet/sort/SortDataTest.java | 0
.../org/apache/fesod/sheet/style/StyleData.java | 0
.../fesod/sheet/style/StyleDataListener.java | 0
.../apache/fesod/sheet/style/StyleDataTest.java | 0
.../apache/fesod/sheet/template/TemplateData.java | 0
.../fesod/sheet/template/TemplateDataListener.java | 0
.../fesod/sheet/template/TemplateDataTest.java | 0
.../apache/fesod/sheet/util/StringUtilsTest.java | 0
.../apache/fesod/sheet/util/StyleTestUtils.java | 0
.../org/apache/fesod/sheet/util/StyleUtilTest.java | 0
.../org/apache/fesod/sheet/util/TestFileUtil.java | 0
.../java/org/apache/fesod/sheet/util/TestUtil.java | 0
.../fesod/sheet/writesheet/WriteSheetData.java | 0
.../fesod/sheet/writesheet/WriteSheetTest.java | 0
.../src/test/resources/bom/no_bom.csv | 0
.../src/test/resources/bom/office_bom.csv | 0
.../src/test/resources/cache/headt1.xls | Bin
.../src/test/resources/cache/t2.xlsx | Bin
.../src/test/resources/comment/comment.xls | Bin
.../src/test/resources/comment/comment.xlsx | Bin
.../src/test/resources/compatibility/t01.xls | Bin
.../src/test/resources/compatibility/t02.xlsx | Bin
.../src/test/resources/compatibility/t03.xlsx | Bin
.../src/test/resources/compatibility/t04.xlsx | Bin
.../src/test/resources/compatibility/t05.xlsx | Bin
.../src/test/resources/compatibility/t06.xlsx | Bin
.../src/test/resources/compatibility/t07.xlsx | Bin
.../src/test/resources/compatibility/t09.xlsx | Bin
.../src/test/resources/converter/converter03.xls | Bin
.../src/test/resources/converter/converter07.xlsx | Bin
.../src/test/resources/converter/converterCsv.csv | 0
.../src/test/resources/converter/img.jpg | Bin
.../src/test/resources/csv/simple-delimiter.csv | 0
.../src/test/resources/csv/simple-quote.csv | 0
.../src/test/resources/csv/simple.csv | 0
.../src/test/resources/dataformat/dataformat.xls | Bin
.../src/test/resources/dataformat/dataformat.xlsx | Bin
.../test/resources/dataformat/dataformatv2.xlsx | Bin
.../resources/datewindowing/1900DateWindowing.xls | Bin
.../resources/datewindowing/1904DateWindowing.xls | Bin
.../src/test/resources/demo/cellDataDemo.xlsx | Bin
.../src/test/resources/demo/demo.csv | 0
.../src/test/resources/demo/demo.xlsx | Bin
.../src/test/resources/demo/extra.xlsx | Bin
.../src/test/resources/demo/fill/complex.xlsx | Bin
.../resources/demo/fill/complexFillWithTable.xlsx | Bin
.../src/test/resources/demo/fill/composite.xlsx | Bin
.../src/test/resources/demo/fill/dateFormat.xlsx | Bin
.../src/test/resources/demo/fill/horizontal.xlsx | Bin
.../src/test/resources/demo/fill/list.xlsx | Bin
.../src/test/resources/demo/fill/simple.xlsx | Bin
.../src/test/resources/demo/generic-demo.xlsx | Bin
.../src/test/resources/demo/pwd_123.xls | Bin
.../src/test/resources/extra/extra.xls | Bin
.../src/test/resources/extra/extra.xlsx | Bin
.../test/resources/extra/extraRelationships.xlsx | Bin
.../src/test/resources/fill/annotation.xls | Bin
.../src/test/resources/fill/annotation.xlsx | Bin
.../src/test/resources/fill/byName.xls | Bin
.../src/test/resources/fill/byName.xlsx | Bin
.../src/test/resources/fill/complex.xls | Bin
.../src/test/resources/fill/complex.xlsx | Bin
.../src/test/resources/fill/composite.xls | Bin
.../src/test/resources/fill/composite.xlsx | Bin
.../src/test/resources/fill/horizontal.xls | Bin
.../src/test/resources/fill/horizontal.xlsx | Bin
.../src/test/resources/fill/simple.csv | 0
.../src/test/resources/fill/simple.xls | Bin
.../src/test/resources/fill/simple.xlsx | Bin
.../src/test/resources/fill/style.xls | Bin
.../src/test/resources/fill/style.xlsx | Bin
.../test/resources/hiddensheets/hiddensheets.xls | Bin
.../test/resources/hiddensheets/hiddensheets.xlsx | Bin
.../src/test/resources/large/fill.xlsx | Bin
.../src/test/resources/large/large07.xlsx | Bin
.../src/test/resources/logback.xml | 0
.../resources/multiplesheets/multiplesheets.xls | Bin
.../resources/multiplesheets/multiplesheets.xlsx | Bin
.../test/resources/poi/last_row_number_test.xlsx | Bin
.../poi/last_row_number_xssf_date_test.csv | 0
.../poi/last_row_number_xssf_date_test.xls | Bin
.../poi/last_row_number_xssf_date_test.xlsx | Bin
.../resources/poi/last_row_number_xssf_test.xlsx | Bin
.../src/test/resources/repeat/repeat.xls | Bin
.../src/test/resources/repeat/repeat.xlsx | Bin
.../src/test/resources/simple/LargeData.xlsx | Bin
.../test/resources/simple/no_model_10000_rows.xlsx | Bin
.../src/test/resources/simple/simple07.xlsx | Bin
.../src/test/resources/style/styleTest.xls | Bin
.../src/test/resources/style/styleTest.xlsx | Bin
.../test/resources/temp/issue1663/template.xlsx | Bin
.../src/test/resources/temp/issue220/test01.xlsx | Bin
.../src/test/resources/temp/issue220/test02.xlsx | Bin
.../src/test/resources/temp/issue220/test03.xlsx | Bin
.../src/test/resources/temp/issue2319/test1.xlsx | Bin
.../src/test/resources/temp/issue2319/test2.xlsx | Bin
.../src/test/resources/temp/issue2443/date1.xlsx | Bin
.../src/test/resources/temp/issue2443/date2.xlsx | Bin
.../src/test/resources/temp/lock_data.xlsx | Bin
.../src/test/resources/temp/number_format.xlsx | Bin
.../src/test/resources/template/template03.xls | Bin
.../src/test/resources/template/template07.xlsx | Bin
.../src/test/resources/web/io.xlsx | Bin
fesod/pom.xml | 177 -
pom.xml | 131 +-
website/pnpm-lock.yaml | 19007 +++++++++++++++++++
779 files changed, 19670 insertions(+), 347 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index dc1a29c0..f45eb274 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -82,13 +82,13 @@ jobs:
restore-keys: |
${{ runner.os }}-m2
- name: Test with Maven
- run: ./mvnw test -B -Dmaven.test.skip=false -pl fesod
+ run: ./mvnw test -B -Dmaven.test.skip=false -pl fesod-common,fesod-sheet
- name: Publish Unit Test Results
uses: EnricoMi/publish-unit-test-result-action@v2
if: (!cancelled())
with:
files: "**/target/surefire-reports/*.xml"
- name: Maven Build
- run: ./mvnw install -B -V -pl fesod
+ run: ./mvnw install -B -V -pl fesod-common,fesod-sheet
- name: Java Doc
run: ./mvnw javadoc:javadoc
diff --git a/fesod-bom/pom.xml b/fesod-bom/pom.xml
new file mode 100644
index 00000000..793fe12f
--- /dev/null
+++ b/fesod-bom/pom.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.fesod</groupId>
+ <artifactId>fesod-parent</artifactId>
+ <version>${revision}</version>
+ </parent>
+
+ <artifactId>fesod-bom</artifactId>
+ <packaging>pom</packaging>
+ <name>Fesod Bom</name>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.fesod</groupId>
+ <artifactId>fesod-common</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.fesod</groupId>
+ <artifactId>fesod-sheet</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+</project>
diff --git a/fesod/src/test/resources/logback.xml b/fesod-common/pom.xml
similarity index 60%
copy from fesod/src/test/resources/logback.xml
copy to fesod-common/pom.xml
index 6ef9578b..b92bec7c 100644
--- a/fesod/src/test/resources/logback.xml
+++ b/fesod-common/pom.xml
@@ -19,17 +19,20 @@
under the License.
-->
-<configuration>
- <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
- <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
- <encoder>
- <pattern>${CONSOLE_LOG_PATTERN}</pattern>
- <charset>utf8</charset>
- </encoder>
- </appender>
+ <parent>
+ <groupId>org.apache.fesod</groupId>
+ <artifactId>fesod-parent</artifactId>
+ <version>${revision}</version>
+ </parent>
- <root level="DEBUG">
- <appender-ref ref="CONSOLE"/>
- </root>
-</configuration>
+ <artifactId>fesod-common</artifactId>
+ <packaging>jar</packaging>
+ <name>Fesod Common</name>
+
+ <dependencies>
+ </dependencies>
+</project>
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/BooleanUtils.java b/fesod-common/src/main/java/org/apache/fesod/common/util/BooleanUtils.java
similarity index 97%
copy from fesod/src/main/java/org/apache/fesod/sheet/util/BooleanUtils.java
copy to fesod-common/src/main/java/org/apache/fesod/common/util/BooleanUtils.java
index 0fa18d5e..4bd02dcb 100644
--- a/fesod/src/main/java/org/apache/fesod/sheet/util/BooleanUtils.java
+++ b/fesod-common/src/main/java/org/apache/fesod/common/util/BooleanUtils.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.fesod.sheet.util;
+package org.apache.fesod.common.util;
public class BooleanUtils {
@@ -54,6 +54,7 @@ public class BooleanUtils {
*
* @param bool the boolean to check, null returns {@code false}
* @return {@code true} only if the input is non-null and true
+ * @since 2.1
*/
public static boolean isTrue(final Boolean bool) {
return Boolean.TRUE.equals(bool);
@@ -71,6 +72,7 @@ public class BooleanUtils {
*
* @param bool the boolean to check, null returns {@code true}
* @return {@code true} if the input is null or false
+ * @since 2.3
*/
public static boolean isNotTrue(final Boolean bool) {
return !isTrue(bool);
@@ -88,6 +90,7 @@ public class BooleanUtils {
*
* @param bool the boolean to check, null returns {@code false}
* @return {@code true} only if the input is non-null and false
+ * @since 2.1
*/
public static boolean isFalse(final Boolean bool) {
return Boolean.FALSE.equals(bool);
@@ -105,6 +108,7 @@ public class BooleanUtils {
*
* @param bool the boolean to check, null returns {@code true}
* @return {@code true} if the input is null or true
+ * @since 2.3
*/
public static boolean isNotFalse(final Boolean bool) {
return !isFalse(bool);
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/IntUtils.java b/fesod-common/src/main/java/org/apache/fesod/common/util/IntUtils.java
similarity index 96%
copy from fesod/src/main/java/org/apache/fesod/sheet/util/IntUtils.java
copy to fesod-common/src/main/java/org/apache/fesod/common/util/IntUtils.java
index ea799132..8df719d4 100644
--- a/fesod/src/main/java/org/apache/fesod/sheet/util/IntUtils.java
+++ b/fesod-common/src/main/java/org/apache/fesod/common/util/IntUtils.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.fesod.sheet.util;
+package org.apache.fesod.common.util;
/**
* Int utils
@@ -29,6 +29,8 @@ public class IntUtils {
/**
* The largest power of two that can be represented as an {@code int}.
+ *
+ * @since 10.0
*/
public static final int MAX_POWER_OF_TWO = 1 << (Integer.SIZE - 2);
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/IoUtils.java b/fesod-common/src/main/java/org/apache/fesod/common/util/IoUtils.java
similarity index 98%
copy from fesod/src/main/java/org/apache/fesod/sheet/util/IoUtils.java
copy to fesod-common/src/main/java/org/apache/fesod/common/util/IoUtils.java
index b2dbdcba..f8891b8e 100644
--- a/fesod/src/main/java/org/apache/fesod/sheet/util/IoUtils.java
+++ b/fesod-common/src/main/java/org/apache/fesod/common/util/IoUtils.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.fesod.sheet.util;
+package org.apache.fesod.common.util;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/ListUtils.java b/fesod-common/src/main/java/org/apache/fesod/common/util/ListUtils.java
similarity index 95%
copy from fesod/src/main/java/org/apache/fesod/sheet/util/ListUtils.java
copy to fesod-common/src/main/java/org/apache/fesod/common/util/ListUtils.java
index ce2fe8c6..40cce0c4 100644
--- a/fesod/src/main/java/org/apache/fesod/sheet/util/ListUtils.java
+++ b/fesod-common/src/main/java/org/apache/fesod/common/util/ListUtils.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.fesod.sheet.util;
+package org.apache.fesod.common.util;
import java.util.ArrayList;
import java.util.Collection;
@@ -25,7 +25,6 @@ import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import lombok.NonNull;
-import org.apache.commons.compress.utils.Iterators;
public class ListUtils {
private ListUtils() {}
@@ -55,13 +54,15 @@ public class ListUtils {
}
/**
- * Creates a <i>mutable</i> {@code ArrayList} instance containing the given elements; a very thin
- * shortcut for creating an empty list and then calling {@link Iterators#addAll}.
- *
+ * Creates a <i>mutable</i> {@code ArrayList} instance containing the given elements
*/
public static <E> ArrayList<E> newArrayList(Iterator<? extends E> elements) {
ArrayList<E> list = newArrayList();
- Iterators.addAll(list, elements);
+ if (elements != null) {
+ while (elements.hasNext()) {
+ list.add(elements.next());
+ }
+ }
return list;
}
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/MapUtils.java b/fesod-common/src/main/java/org/apache/fesod/common/util/MapUtils.java
similarity index 98%
copy from fesod/src/main/java/org/apache/fesod/sheet/util/MapUtils.java
copy to fesod-common/src/main/java/org/apache/fesod/common/util/MapUtils.java
index 779472a4..1f1bfc23 100644
--- a/fesod/src/main/java/org/apache/fesod/sheet/util/MapUtils.java
+++ b/fesod-common/src/main/java/org/apache/fesod/common/util/MapUtils.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.fesod.sheet.util;
+package org.apache.fesod.common.util;
import java.util.HashMap;
import java.util.LinkedHashMap;
@@ -100,6 +100,7 @@ public class MapUtils {
* @return a new, empty {@code LinkedHashMap} with enough capacity to hold {@code expectedSize}
* entries without resizing
* @throws IllegalArgumentException if {@code expectedSize} is negative
+ * @since 19.0
*/
public static <K, V> LinkedHashMap<K, V> newLinkedHashMapWithExpectedSize(int expectedSize) {
return new LinkedHashMap<>(capacity(expectedSize));
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/MemberUtils.java b/fesod-common/src/main/java/org/apache/fesod/common/util/MemberUtils.java
similarity index 92%
copy from fesod/src/main/java/org/apache/fesod/sheet/util/MemberUtils.java
copy to fesod-common/src/main/java/org/apache/fesod/common/util/MemberUtils.java
index 85af6920..ace65a1a 100644
--- a/fesod/src/main/java/org/apache/fesod/sheet/util/MemberUtils.java
+++ b/fesod-common/src/main/java/org/apache/fesod/common/util/MemberUtils.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.fesod.sheet.util;
+package org.apache.fesod.common.util;
import java.lang.reflect.AccessibleObject;
import java.lang.reflect.Member;
@@ -29,7 +29,7 @@ public class MemberUtils {
/**
* XXX Default access superclass workaround.
- *
+ * <p>
* When a {@code public} class has a default access superclass with {@code public} members,
* these members are accessible. Calling them from compiled code works fine.
* Unfortunately, on some JVMs, using reflection to invoke these members
@@ -37,10 +37,11 @@ public class MemberUtils {
* Calling {@code setAccessible(true)} solves the problem but will only work from
* sufficiently privileged code. Better workarounds would be gratefully
* accepted.
+ *
* @param o the AccessibleObject to set as accessible
* @return a boolean indicating whether the accessibility of the object was set to true.
*/
- static boolean setAccessibleWorkaround(final AccessibleObject o) {
+ public static boolean setAccessibleWorkaround(final AccessibleObject o) {
if (o == null || o.isAccessible()) {
return false;
}
@@ -60,10 +61,11 @@ public class MemberUtils {
/**
* Returns whether a given set of modifiers implies package access.
+ *
* @param modifiers to test
* @return {@code true} unless {@code package}/{@code protected}/{@code private} modifier detected
*/
- static boolean isPackageAccess(final int modifiers) {
+ public static boolean isPackageAccess(final int modifiers) {
return (modifiers & ACCESS_TEST) == 0;
}
}
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/PositionUtils.java b/fesod-common/src/main/java/org/apache/fesod/common/util/PositionUtils.java
similarity index 98%
copy from fesod/src/main/java/org/apache/fesod/sheet/util/PositionUtils.java
copy to fesod-common/src/main/java/org/apache/fesod/common/util/PositionUtils.java
index a69ed9dd..fce21da6 100644
--- a/fesod/src/main/java/org/apache/fesod/sheet/util/PositionUtils.java
+++ b/fesod-common/src/main/java/org/apache/fesod/common/util/PositionUtils.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.fesod.sheet.util;
+package org.apache.fesod.common.util;
import java.util.regex.Pattern;
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/StringUtils.java b/fesod-common/src/main/java/org/apache/fesod/common/util/StringUtils.java
similarity index 96%
copy from fesod/src/main/java/org/apache/fesod/sheet/util/StringUtils.java
copy to fesod-common/src/main/java/org/apache/fesod/common/util/StringUtils.java
index 42ed9d99..65b80f91 100644
--- a/fesod/src/main/java/org/apache/fesod/sheet/util/StringUtils.java
+++ b/fesod-common/src/main/java/org/apache/fesod/common/util/StringUtils.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.fesod.sheet.util;
+package org.apache.fesod.common.util;
public class StringUtils {
private StringUtils() {}
@@ -99,6 +99,8 @@ public class StringUtils {
* @param cs the CharSequence to check, may be null
* @return {@code true} if the CharSequence is
* not empty and not null and not whitespace only
+ * @since 2.0
+ * @since 3.0 Changed signature from isNotBlank(String) to isNotBlank(CharSequence)
*/
public static boolean isNotBlank(final CharSequence cs) {
return !isBlank(cs);
@@ -123,6 +125,7 @@ public class StringUtils {
* @param cs2 the second CharSequence, may be {@code null}
* @return {@code true} if the CharSequences are equal (case-sensitive), or both {@code null}
* @see Object#equals(Object)
+ * @since 3.0 Changed signature from equals(String, String) to equals(CharSequence, CharSequence)
*/
public static boolean equals(final CharSequence cs1, final CharSequence cs2) {
if (cs1 == cs2) {
@@ -229,6 +232,8 @@ public class StringUtils {
*
* @param cs the CharSequence to check, may be null
* @return {@code true} if only contains digits, and is non-null
+ * @since 3.0 Changed signature from isNumeric(String) to isNumeric(CharSequence)
+ * @since 3.0 Changed "" to return false and not true
*/
public static boolean isNumeric(final CharSequence cs) {
if (isEmpty(cs)) {
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/Validate.java b/fesod-common/src/main/java/org/apache/fesod/common/util/ValidateUtils.java
similarity index 85%
copy from fesod/src/main/java/org/apache/fesod/sheet/util/Validate.java
copy to fesod-common/src/main/java/org/apache/fesod/common/util/ValidateUtils.java
index 0a3779de..d1f7d14c 100644
--- a/fesod/src/main/java/org/apache/fesod/sheet/util/Validate.java
+++ b/fesod-common/src/main/java/org/apache/fesod/common/util/ValidateUtils.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.fesod.sheet.util;
+package org.apache.fesod.common.util;
import java.util.Objects;
-public class Validate {
+public class ValidateUtils {
private static final String DEFAULT_IS_TRUE_EX_MESSAGE = "The validated expression is false";
private static final String DEFAULT_IS_NULL_EX_MESSAGE = "The validated object is null";
@@ -37,9 +37,9 @@ public class Validate {
* <p>For performance reasons, the long value is passed as a separate parameter and
* appended to the exception message only in the case of an error.</p>
*
- * @param expression the boolean expression to check
- * @param message the {@link String#format(String, Object...)} exception message if invalid, not null
- * @param value the value to append to the message when invalid
+ * @param expression the boolean expression to check
+ * @param message the {@link String#format(String, Object...)} exception message if invalid, not null
+ * @param value the value to append to the message when invalid
* @throws IllegalArgumentException if expression is {@code false}
* @see #isTrue(boolean)
* @see #isTrue(boolean, String, double)
@@ -62,9 +62,9 @@ public class Validate {
* <p>For performance reasons, the double value is passed as a separate parameter and
* appended to the exception message only in the case of an error.</p>
*
- * @param expression the boolean expression to check
- * @param message the {@link String#format(String, Object...)} exception message if invalid, not null
- * @param value the value to append to the message when invalid
+ * @param expression the boolean expression to check
+ * @param message the {@link String#format(String, Object...)} exception message if invalid, not null
+ * @param value the value to append to the message when invalid
* @throws IllegalArgumentException if expression is {@code false}
* @see #isTrue(boolean)
* @see #isTrue(boolean, String, long)
@@ -86,9 +86,9 @@ public class Validate {
* Validate.isTrue(i >= min && i <= max, "The value must be between %d and %d", min, max);
* Validate.isTrue(myObject.isOk(), "The object is not okay");</pre>
*
- * @param expression the boolean expression to check
- * @param message the {@link String#format(String, Object...)} exception message if invalid, not null
- * @param values the optional values for the formatted exception message, null array not recommended
+ * @param expression the boolean expression to check
+ * @param message the {@link String#format(String, Object...)} exception message if invalid, not null
+ * @param values the optional values for the formatted exception message, null array not recommended
* @throws IllegalArgumentException if expression is {@code false}
* @see #isTrue(boolean)
* @see #isTrue(boolean, String, long)
@@ -113,7 +113,7 @@ public class Validate {
* <p>The message of the exception is "The validated expression is
* false".</p>
*
- * @param expression the boolean expression to check
+ * @param expression the boolean expression to check
* @throws IllegalArgumentException if expression is {@code false}
* @see #isTrue(boolean, String, long)
* @see #isTrue(boolean, String, double)
@@ -134,8 +134,8 @@ public class Validate {
* <p>The message of the exception is "The validated object is
* null".</p>
*
- * @param <T> the object type
- * @param object the object to check
+ * @param <T> the object type
+ * @param object the object to check
* @return the validated object (never {@code null} for method chaining)
* @throws NullPointerException if the object is {@code null}
* @see #notNull(Object, String, Object...)
@@ -150,9 +150,9 @@ public class Validate {
*
* <pre>Validate.notNull(myObject, "The object must not be null");</pre>
*
- * @param <T> the object type
+ * @param <T> the object type
* @param object the object to check
- * @param message the {@link String#format(String, Object...)} exception message if invalid, not null
+ * @param message the {@link String#format(String, Object...)} exception message if invalid, not null
* @param values the optional values for the formatted exception message
* @return the validated object (never {@code null} for method chaining)
* @throws NullPointerException if the object is {@code null}
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/util/StringUtilsTest.java b/fesod-common/src/test/java/org/apache/fesod/common/util/StringUtilsTest.java
similarity index 98%
copy from fesod/src/test/java/org/apache/fesod/sheet/util/StringUtilsTest.java
copy to fesod-common/src/test/java/org/apache/fesod/common/util/StringUtilsTest.java
index 1ce946b6..bea5fde6 100644
--- a/fesod/src/test/java/org/apache/fesod/sheet/util/StringUtilsTest.java
+++ b/fesod-common/src/test/java/org/apache/fesod/common/util/StringUtilsTest.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.fesod.sheet.util;
+package org.apache.fesod.common.util;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
diff --git a/fesod-examples/fesod-sheet-examples/pom.xml b/fesod-examples/fesod-sheet-examples/pom.xml
new file mode 100644
index 00000000..24c6b151
--- /dev/null
+++ b/fesod-examples/fesod-sheet-examples/pom.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.fesod</groupId>
+ <artifactId>fesod-examples</artifactId>
+ <version>${revision}</version>
+ </parent>
+
+ <artifactId>fesod-sheet-examples</artifactId>
+ <packaging>jar</packaging>
+ <name>Fesod Sheet Examples</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.fesod</groupId>
+ <artifactId>fesod-sheet</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-web</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/fill/FillData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/fill/FillData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/fill/FillData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/fill/FillData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/fill/FillTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/fill/FillTest.java
similarity index 99%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/fill/FillTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/fill/FillTest.java
index 51d2c7a0..1d65a91c 100644
--- a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/fill/FillTest.java
+++ b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/fill/FillTest.java
@@ -24,11 +24,11 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.apache.fesod.common.util.ListUtils;
+import org.apache.fesod.common.util.MapUtils;
import org.apache.fesod.sheet.ExcelWriter;
import org.apache.fesod.sheet.FesodSheet;
import org.apache.fesod.sheet.enums.WriteDirectionEnum;
-import org.apache.fesod.sheet.util.ListUtils;
-import org.apache.fesod.sheet.util.MapUtils;
import org.apache.fesod.sheet.util.TestFileUtil;
import org.apache.fesod.sheet.write.handler.SheetWriteHandler;
import org.apache.fesod.sheet.write.handler.context.SheetWriteHandlerContext;
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/rare/WriteTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/rare/WriteTest.java
similarity index 99%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/rare/WriteTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/rare/WriteTest.java
index fcc2f1a6..f47697e9 100644
--- a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/rare/WriteTest.java
+++ b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/rare/WriteTest.java
@@ -23,11 +23,11 @@ import java.io.File;
import java.util.Date;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
+import org.apache.fesod.common.util.ListUtils;
import org.apache.fesod.sheet.ExcelWriter;
import org.apache.fesod.sheet.FesodSheet;
import org.apache.fesod.sheet.demo.read.DemoData;
import org.apache.fesod.sheet.util.FileUtils;
-import org.apache.fesod.sheet.util.ListUtils;
import org.apache.fesod.sheet.util.TestFileUtil;
import org.apache.fesod.sheet.write.handler.RowWriteHandler;
import org.apache.fesod.sheet.write.handler.WorkbookWriteHandler;
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/CellDataDemoHeadDataListener.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/CellDataDemoHeadDataListener.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/CellDataDemoHeadDataListener.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/CellDataDemoHeadDataListener.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/CellDataReadDemoData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/CellDataReadDemoData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/CellDataReadDemoData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/CellDataReadDemoData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/ConverterData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/ConverterData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/ConverterData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/ConverterData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/ConverterDataListener.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/ConverterDataListener.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/ConverterDataListener.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/ConverterDataListener.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/CustomStringStringConverter.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/CustomStringStringConverter.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/CustomStringStringConverter.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/CustomStringStringConverter.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoChainAccessorsData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoChainAccessorsData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoChainAccessorsData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoChainAccessorsData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoCompatibleHeaderData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoCompatibleHeaderData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoCompatibleHeaderData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoCompatibleHeaderData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoCompatibleHeaderDataListener.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoCompatibleHeaderDataListener.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoCompatibleHeaderDataListener.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoCompatibleHeaderDataListener.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoDAO.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoDAO.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoDAO.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoDAO.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoDataAnother.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoDataAnother.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoDataAnother.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoDataAnother.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoDataListener.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoDataListener.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoDataListener.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoDataListener.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoExceptionListener.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoExceptionListener.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoExceptionListener.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoExceptionListener.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoExtraData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoExtraData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoExtraData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoExtraData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoExtraListener.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoExtraListener.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoExtraListener.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoExtraListener.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoHeadDataListener.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoHeadDataListener.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoHeadDataListener.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/DemoHeadDataListener.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/ExceptionDemoData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/ExceptionDemoData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/ExceptionDemoData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/ExceptionDemoData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/GenericHeaderTypeDataListener.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/GenericHeaderTypeDataListener.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/GenericHeaderTypeDataListener.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/GenericHeaderTypeDataListener.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/IndexOrNameData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/IndexOrNameData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/IndexOrNameData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/IndexOrNameData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/IndexOrNameDataListener.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/IndexOrNameDataListener.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/IndexOrNameDataListener.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/IndexOrNameDataListener.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/NoModelDataListener.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/NoModelDataListener.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/NoModelDataListener.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/NoModelDataListener.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/ReadTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/ReadTest.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/ReadTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/ReadTest.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/Sample.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/Sample.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/Sample.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/read/Sample.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/web/DownloadData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/web/DownloadData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/web/DownloadData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/web/DownloadData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/web/FesodApplication.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/web/FesodApplication.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/web/FesodApplication.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/web/FesodApplication.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/web/UploadDAO.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/web/UploadDAO.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/web/UploadDAO.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/web/UploadDAO.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/web/UploadData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/web/UploadData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/web/UploadData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/web/UploadData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/web/UploadDataListener.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/web/UploadDataListener.java
similarity index 98%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/web/UploadDataListener.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/web/UploadDataListener.java
index 43a149ba..50f443bd 100644
--- a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/web/UploadDataListener.java
+++ b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/web/UploadDataListener.java
@@ -22,9 +22,9 @@ package org.apache.fesod.sheet.demo.web;
import com.alibaba.fastjson2.JSON;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
+import org.apache.fesod.common.util.ListUtils;
import org.apache.fesod.sheet.context.AnalysisContext;
import org.apache.fesod.sheet.read.listener.ReadListener;
-import org.apache.fesod.sheet.util.ListUtils;
/**
* 模板的读取类
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/web/WebTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/web/WebTest.java
similarity index 98%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/web/WebTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/web/WebTest.java
index b106dc8f..f63490ed 100644
--- a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/web/WebTest.java
+++ b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/web/WebTest.java
@@ -26,9 +26,9 @@ import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
+import org.apache.fesod.common.util.ListUtils;
+import org.apache.fesod.common.util.MapUtils;
import org.apache.fesod.sheet.FesodSheet;
-import org.apache.fesod.sheet.util.ListUtils;
-import org.apache.fesod.sheet.util.MapUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/ColorDemoData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/ColorDemoData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/ColorDemoData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/ColorDemoData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/CommentWriteHandler.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/CommentWriteHandler.java
similarity index 97%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/CommentWriteHandler.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/CommentWriteHandler.java
index dc222b8a..28389b9d 100644
--- a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/CommentWriteHandler.java
+++ b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/CommentWriteHandler.java
@@ -20,7 +20,7 @@
package org.apache.fesod.sheet.demo.write;
import lombok.extern.slf4j.Slf4j;
-import org.apache.fesod.sheet.util.BooleanUtils;
+import org.apache.fesod.common.util.BooleanUtils;
import org.apache.fesod.sheet.write.handler.RowWriteHandler;
import org.apache.fesod.sheet.write.handler.context.RowWriteHandlerContext;
import org.apache.poi.ss.usermodel.Comment;
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/ComplexHeadData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/ComplexHeadData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/ComplexHeadData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/ComplexHeadData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/ConverterData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/ConverterData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/ConverterData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/ConverterData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/CustomCellWriteHandler.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/CustomCellWriteHandler.java
similarity index 97%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/CustomCellWriteHandler.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/CustomCellWriteHandler.java
index b70b75bd..349e7cf2 100644
--- a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/CustomCellWriteHandler.java
+++ b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/CustomCellWriteHandler.java
@@ -20,7 +20,7 @@
package org.apache.fesod.sheet.demo.write;
import lombok.extern.slf4j.Slf4j;
-import org.apache.fesod.sheet.util.BooleanUtils;
+import org.apache.fesod.common.util.BooleanUtils;
import org.apache.fesod.sheet.write.handler.CellWriteHandler;
import org.apache.fesod.sheet.write.handler.context.CellWriteHandlerContext;
import org.apache.poi.common.usermodel.HyperlinkType;
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/CustomSheetWriteHandler.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/CustomSheetWriteHandler.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/CustomSheetWriteHandler.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/CustomSheetWriteHandler.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/CustomStringStringConverter.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/CustomStringStringConverter.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/CustomStringStringConverter.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/CustomStringStringConverter.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/DemoData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/DemoData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/DemoData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/DemoData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/DemoMergeData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/DemoMergeData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/DemoMergeData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/DemoMergeData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/DemoStyleData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/DemoStyleData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/DemoStyleData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/DemoStyleData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/EscapeHexCellWriteHandlerTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/EscapeHexCellWriteHandlerTest.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/EscapeHexCellWriteHandlerTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/EscapeHexCellWriteHandlerTest.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/ImageDataWithAnnotation.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/ImageDataWithAnnotation.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/ImageDataWithAnnotation.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/ImageDataWithAnnotation.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/ImageDemoData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/ImageDemoData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/ImageDemoData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/ImageDemoData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/IndexData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/IndexData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/IndexData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/IndexData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/LongestMatchColumnWidthData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/LongestMatchColumnWidthData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/LongestMatchColumnWidthData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/LongestMatchColumnWidthData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/WidthAndHeightData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/WidthAndHeightData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/WidthAndHeightData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/WidthAndHeightData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/WriteCellDemoData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/WriteCellDemoData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/WriteCellDemoData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/WriteCellDemoData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/WriteTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/WriteTest.java
similarity index 99%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/WriteTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/WriteTest.java
index ee3e7b67..f7110d19 100644
--- a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/WriteTest.java
+++ b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/WriteTest.java
@@ -27,6 +27,8 @@ import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import org.apache.fesod.common.util.BooleanUtils;
+import org.apache.fesod.common.util.ListUtils;
import org.apache.fesod.sheet.ExcelWriter;
import org.apache.fesod.sheet.FesodSheet;
import org.apache.fesod.sheet.annotation.ExcelProperty;
@@ -42,9 +44,7 @@ import org.apache.fesod.sheet.metadata.data.HyperlinkData;
import org.apache.fesod.sheet.metadata.data.ImageData;
import org.apache.fesod.sheet.metadata.data.RichTextStringData;
import org.apache.fesod.sheet.metadata.data.WriteCellData;
-import org.apache.fesod.sheet.util.BooleanUtils;
import org.apache.fesod.sheet.util.FileUtils;
-import org.apache.fesod.sheet.util.ListUtils;
import org.apache.fesod.sheet.util.TestFileUtil;
import org.apache.fesod.sheet.write.handler.CellWriteHandler;
import org.apache.fesod.sheet.write.handler.EscapeHexCellWriteHandler;
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/WriteWithColorTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/WriteWithColorTest.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/WriteWithColorTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/demo/write/WriteWithColorTest.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/CamlData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/CamlData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/CamlData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/CamlData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/DemoData2.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/DemoData2.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/DemoData2.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/DemoData2.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/DemoData3.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/DemoData3.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/DemoData3.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/DemoData3.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/FillTempTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/FillTempTest.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/FillTempTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/FillTempTest.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/Lock2Test.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/Lock2Test.java
similarity index 99%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/Lock2Test.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/Lock2Test.java
index 848abdfa..20f69f63 100644
--- a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/Lock2Test.java
+++ b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/Lock2Test.java
@@ -36,10 +36,10 @@ import java.util.List;
import java.util.Map;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
+import org.apache.fesod.common.util.PositionUtils;
import org.apache.fesod.sheet.FastExcel;
import org.apache.fesod.sheet.demo.write.DemoData;
import org.apache.fesod.sheet.metadata.data.ReadCellData;
-import org.apache.fesod.sheet.util.PositionUtils;
import org.apache.fesod.sheet.util.TestFileUtil;
import org.apache.fesod.sheet.write.metadata.style.WriteCellStyle;
import org.apache.fesod.sheet.write.metadata.style.WriteFont;
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/LockData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/LockData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/LockData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/LockData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/LockDataListener.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/LockDataListener.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/LockDataListener.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/LockDataListener.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/LockTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/LockTest.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/LockTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/LockTest.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/StyleData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/StyleData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/StyleData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/StyleData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/StyleTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/StyleTest.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/StyleTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/StyleTest.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/TempFillData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/TempFillData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/TempFillData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/TempFillData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/WriteLargeTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/WriteLargeTest.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/WriteLargeTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/WriteLargeTest.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/WriteV33Test.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/WriteV33Test.java
similarity index 99%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/WriteV33Test.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/WriteV33Test.java
index 196fc337..e5f38f14 100644
--- a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/WriteV33Test.java
+++ b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/WriteV33Test.java
@@ -24,9 +24,9 @@ import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import org.apache.fesod.common.util.BooleanUtils;
import org.apache.fesod.sheet.FastExcel;
import org.apache.fesod.sheet.demo.write.DemoData;
-import org.apache.fesod.sheet.util.BooleanUtils;
import org.apache.fesod.sheet.util.TestFileUtil;
import org.apache.fesod.sheet.write.handler.CellWriteHandler;
import org.apache.fesod.sheet.write.handler.context.CellWriteHandlerContext;
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/WriteV34Test.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/WriteV34Test.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/WriteV34Test.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/WriteV34Test.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/Xls03Test.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/Xls03Test.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/Xls03Test.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/Xls03Test.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/bug/DataType.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/bug/DataType.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/bug/DataType.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/bug/DataType.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/bug/ExcelCreat.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/bug/ExcelCreat.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/bug/ExcelCreat.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/bug/ExcelCreat.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/bug/HeadType.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/bug/HeadType.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/bug/HeadType.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/bug/HeadType.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/cache/CacheTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/cache/CacheTest.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/cache/CacheTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/cache/CacheTest.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/csv/CsvData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/csv/CsvData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/csv/CsvData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/csv/CsvData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/csv/CsvDataListener.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/csv/CsvDataListener.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/csv/CsvDataListener.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/csv/CsvDataListener.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/csv/CsvReadTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/csv/CsvReadTest.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/csv/CsvReadTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/csv/CsvReadTest.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/data/DataType.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/data/DataType.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/data/DataType.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/data/DataType.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/data/EncryptData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/data/EncryptData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/data/EncryptData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/data/EncryptData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/data/HeadType.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/data/HeadType.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/data/HeadType.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/data/HeadType.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/data/SimpleData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/data/SimpleData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/data/SimpleData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/data/SimpleData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/dataformat/DataFormatData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/dataformat/DataFormatData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/dataformat/DataFormatData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/dataformat/DataFormatData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/dataformat/DataFormatTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/dataformat/DataFormatTest.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/dataformat/DataFormatTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/dataformat/DataFormatTest.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/fill/FillData2.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/fill/FillData2.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/fill/FillData2.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/fill/FillData2.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/fill/FillTempTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/fill/FillTempTest.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/fill/FillTempTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/fill/FillTempTest.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/issue1662/Data1662.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/issue1662/Data1662.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/issue1662/Data1662.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/issue1662/Data1662.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/issue1662/Issue1662Test.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/issue1662/Issue1662Test.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/issue1662/Issue1662Test.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/issue1662/Issue1662Test.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/issue1663/FillData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/issue1663/FillData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/issue1663/FillData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/issue1663/FillData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/issue1663/FillTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/issue1663/FillTest.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/issue1663/FillTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/issue1663/FillTest.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/issue2319/Issue2319.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/issue2319/Issue2319.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/issue2319/Issue2319.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/issue2319/Issue2319.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/issue2319/Issue2319Test.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/issue2319/Issue2319Test.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/issue2319/Issue2319Test.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/issue2319/Issue2319Test.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/issue2443/Issue2443.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/issue2443/Issue2443.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/issue2443/Issue2443.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/issue2443/Issue2443.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/issue2443/Issue2443Test.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/issue2443/Issue2443Test.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/issue2443/Issue2443Test.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/issue2443/Issue2443Test.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/issue406/ReadSheetTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/issue406/ReadSheetTest.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/issue406/ReadSheetTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/issue406/ReadSheetTest.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/large/LargeData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/large/LargeData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/large/LargeData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/large/LargeData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/large/LargeDataListener.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/large/LargeDataListener.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/large/LargeDataListener.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/large/LargeDataListener.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/large/NoModelLargeDataListener.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/large/NoModelLargeDataListener.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/large/NoModelLargeDataListener.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/large/NoModelLargeDataListener.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/large/TempLargeDataTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/large/TempLargeDataTest.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/large/TempLargeDataTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/large/TempLargeDataTest.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/poi/Poi2Test.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/poi/Poi2Test.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/poi/Poi2Test.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/poi/Poi2Test.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/poi/Poi3Test.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/poi/Poi3Test.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/poi/Poi3Test.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/poi/Poi3Test.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/poi/PoiDateFormatTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/poi/PoiDateFormatTest.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/poi/PoiDateFormatTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/poi/PoiDateFormatTest.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/poi/PoiEncryptTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/poi/PoiEncryptTest.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/poi/PoiEncryptTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/poi/PoiEncryptTest.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/poi/PoiFormatTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/poi/PoiFormatTest.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/poi/PoiFormatTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/poi/PoiFormatTest.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/poi/PoiTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/poi/PoiTest.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/poi/PoiTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/poi/PoiTest.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/poi/PoiWriteTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/poi/PoiWriteTest.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/poi/PoiWriteTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/poi/PoiWriteTest.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/poi/TestCell.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/poi/TestCell.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/poi/TestCell.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/poi/TestCell.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/read/CommentTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/read/CommentTest.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/read/CommentTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/read/CommentTest.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/read/HDListener.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/read/HDListener.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/read/HDListener.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/read/HDListener.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/read/HeadListener.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/read/HeadListener.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/read/HeadListener.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/read/HeadListener.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/read/HeadReadData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/read/HeadReadData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/read/HeadReadData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/read/HeadReadData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/read/HeadReadTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/read/HeadReadTest.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/read/HeadReadTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/read/HeadReadTest.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/read/TestListener.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/read/TestListener.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/read/TestListener.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/read/TestListener.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/read/WebStreamReadTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/read/WebStreamReadTest.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/read/WebStreamReadTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/read/WebStreamReadTest.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/simple/DemoData1.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/simple/DemoData1.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/simple/DemoData1.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/simple/DemoData1.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/simple/DemoData2.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/simple/DemoData2.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/simple/DemoData2.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/simple/DemoData2.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/simple/HgListener.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/simple/HgListener.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/simple/HgListener.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/simple/HgListener.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/simple/JsonData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/simple/JsonData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/simple/JsonData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/simple/JsonData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/simple/RepeatListener.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/simple/RepeatListener.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/simple/RepeatListener.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/simple/RepeatListener.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/simple/RepeatTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/simple/RepeatTest.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/simple/RepeatTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/simple/RepeatTest.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/simple/Write.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/simple/Write.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/simple/Write.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/simple/Write.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/simple/WriteCellHandler.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/simple/WriteCellHandler.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/simple/WriteCellHandler.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/simple/WriteCellHandler.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/simple/WriteData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/simple/WriteData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/simple/WriteData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/simple/WriteData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/simple/WriteHandler.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/simple/WriteHandler.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/simple/WriteHandler.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/simple/WriteHandler.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/write/TempWriteData.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/write/TempWriteData.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/write/TempWriteData.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/write/TempWriteData.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/write/TempWriteTest.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/write/TempWriteTest.java
similarity index 99%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/temp/write/TempWriteTest.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/write/TempWriteTest.java
index 72c6f2b7..d29ca93a 100644
--- a/fesod-examples/src/test/java/org/apache/fesod/sheet/temp/write/TempWriteTest.java
+++ b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/temp/write/TempWriteTest.java
@@ -26,11 +26,11 @@ import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
import lombok.extern.slf4j.Slf4j;
+import org.apache.fesod.common.util.ListUtils;
import org.apache.fesod.sheet.FastExcel;
import org.apache.fesod.sheet.demo.write.CustomStringStringConverter;
import org.apache.fesod.sheet.util.BeanMapUtils;
import org.apache.fesod.sheet.util.FileUtils;
-import org.apache.fesod.sheet.util.ListUtils;
import org.apache.fesod.sheet.util.TestFileUtil;
import org.apache.poi.ss.usermodel.ClientAnchor;
import org.apache.poi.ss.usermodel.CreationHelper;
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/util/StyleTestUtils.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/util/StyleTestUtils.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/util/StyleTestUtils.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/util/StyleTestUtils.java
diff --git a/fesod-examples/src/test/java/org/apache/fesod/sheet/util/TestFileUtil.java b/fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/util/TestFileUtil.java
similarity index 100%
rename from fesod-examples/src/test/java/org/apache/fesod/sheet/util/TestFileUtil.java
rename to fesod-examples/fesod-sheet-examples/src/test/java/org/apache/fesod/sheet/util/TestFileUtil.java
diff --git a/fesod-examples/src/test/resources/bom/no_bom.csv b/fesod-examples/fesod-sheet-examples/src/test/resources/bom/no_bom.csv
similarity index 100%
rename from fesod-examples/src/test/resources/bom/no_bom.csv
rename to fesod-examples/fesod-sheet-examples/src/test/resources/bom/no_bom.csv
diff --git a/fesod-examples/src/test/resources/bom/office_bom.csv b/fesod-examples/fesod-sheet-examples/src/test/resources/bom/office_bom.csv
similarity index 100%
rename from fesod-examples/src/test/resources/bom/office_bom.csv
rename to fesod-examples/fesod-sheet-examples/src/test/resources/bom/office_bom.csv
diff --git a/fesod-examples/src/test/resources/cache/headt1.xls b/fesod-examples/fesod-sheet-examples/src/test/resources/cache/headt1.xls
similarity index 100%
rename from fesod-examples/src/test/resources/cache/headt1.xls
rename to fesod-examples/fesod-sheet-examples/src/test/resources/cache/headt1.xls
diff --git a/fesod-examples/src/test/resources/cache/t2.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/cache/t2.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/cache/t2.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/cache/t2.xlsx
diff --git a/fesod-examples/src/test/resources/comment/comment.xls b/fesod-examples/fesod-sheet-examples/src/test/resources/comment/comment.xls
similarity index 100%
rename from fesod-examples/src/test/resources/comment/comment.xls
rename to fesod-examples/fesod-sheet-examples/src/test/resources/comment/comment.xls
diff --git a/fesod-examples/src/test/resources/comment/comment.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/comment/comment.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/comment/comment.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/comment/comment.xlsx
diff --git a/fesod-examples/src/test/resources/compatibility/t01.xls b/fesod-examples/fesod-sheet-examples/src/test/resources/compatibility/t01.xls
similarity index 100%
rename from fesod-examples/src/test/resources/compatibility/t01.xls
rename to fesod-examples/fesod-sheet-examples/src/test/resources/compatibility/t01.xls
diff --git a/fesod-examples/src/test/resources/compatibility/t02.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/compatibility/t02.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/compatibility/t02.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/compatibility/t02.xlsx
diff --git a/fesod-examples/src/test/resources/compatibility/t03.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/compatibility/t03.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/compatibility/t03.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/compatibility/t03.xlsx
diff --git a/fesod-examples/src/test/resources/compatibility/t04.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/compatibility/t04.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/compatibility/t04.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/compatibility/t04.xlsx
diff --git a/fesod-examples/src/test/resources/compatibility/t05.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/compatibility/t05.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/compatibility/t05.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/compatibility/t05.xlsx
diff --git a/fesod-examples/src/test/resources/compatibility/t06.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/compatibility/t06.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/compatibility/t06.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/compatibility/t06.xlsx
diff --git a/fesod-examples/src/test/resources/compatibility/t07.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/compatibility/t07.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/compatibility/t07.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/compatibility/t07.xlsx
diff --git a/fesod-examples/src/test/resources/compatibility/t09.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/compatibility/t09.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/compatibility/t09.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/compatibility/t09.xlsx
diff --git a/fesod-examples/src/test/resources/converter/converter03.xls b/fesod-examples/fesod-sheet-examples/src/test/resources/converter/converter03.xls
similarity index 100%
rename from fesod-examples/src/test/resources/converter/converter03.xls
rename to fesod-examples/fesod-sheet-examples/src/test/resources/converter/converter03.xls
diff --git a/fesod-examples/src/test/resources/converter/converter07.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/converter/converter07.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/converter/converter07.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/converter/converter07.xlsx
diff --git a/fesod-examples/src/test/resources/converter/converterCsv.csv b/fesod-examples/fesod-sheet-examples/src/test/resources/converter/converterCsv.csv
similarity index 100%
rename from fesod-examples/src/test/resources/converter/converterCsv.csv
rename to fesod-examples/fesod-sheet-examples/src/test/resources/converter/converterCsv.csv
diff --git a/fesod-examples/src/test/resources/converter/img.jpg b/fesod-examples/fesod-sheet-examples/src/test/resources/converter/img.jpg
similarity index 100%
rename from fesod-examples/src/test/resources/converter/img.jpg
rename to fesod-examples/fesod-sheet-examples/src/test/resources/converter/img.jpg
diff --git a/fesod-examples/src/test/resources/csv/simple-delimiter.csv b/fesod-examples/fesod-sheet-examples/src/test/resources/csv/simple-delimiter.csv
similarity index 100%
rename from fesod-examples/src/test/resources/csv/simple-delimiter.csv
rename to fesod-examples/fesod-sheet-examples/src/test/resources/csv/simple-delimiter.csv
diff --git a/fesod-examples/src/test/resources/csv/simple-quote.csv b/fesod-examples/fesod-sheet-examples/src/test/resources/csv/simple-quote.csv
similarity index 100%
rename from fesod-examples/src/test/resources/csv/simple-quote.csv
rename to fesod-examples/fesod-sheet-examples/src/test/resources/csv/simple-quote.csv
diff --git a/fesod-examples/src/test/resources/csv/simple.csv b/fesod-examples/fesod-sheet-examples/src/test/resources/csv/simple.csv
similarity index 100%
rename from fesod-examples/src/test/resources/csv/simple.csv
rename to fesod-examples/fesod-sheet-examples/src/test/resources/csv/simple.csv
diff --git a/fesod-examples/src/test/resources/dataformat/dataformat.xls b/fesod-examples/fesod-sheet-examples/src/test/resources/dataformat/dataformat.xls
similarity index 100%
rename from fesod-examples/src/test/resources/dataformat/dataformat.xls
rename to fesod-examples/fesod-sheet-examples/src/test/resources/dataformat/dataformat.xls
diff --git a/fesod-examples/src/test/resources/dataformat/dataformat.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/dataformat/dataformat.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/dataformat/dataformat.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/dataformat/dataformat.xlsx
diff --git a/fesod-examples/src/test/resources/dataformat/dataformatv2.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/dataformat/dataformatv2.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/dataformat/dataformatv2.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/dataformat/dataformatv2.xlsx
diff --git a/fesod-examples/src/test/resources/datewindowing/1900DateWindowing.xls b/fesod-examples/fesod-sheet-examples/src/test/resources/datewindowing/1900DateWindowing.xls
similarity index 100%
rename from fesod-examples/src/test/resources/datewindowing/1900DateWindowing.xls
rename to fesod-examples/fesod-sheet-examples/src/test/resources/datewindowing/1900DateWindowing.xls
diff --git a/fesod-examples/src/test/resources/datewindowing/1904DateWindowing.xls b/fesod-examples/fesod-sheet-examples/src/test/resources/datewindowing/1904DateWindowing.xls
similarity index 100%
rename from fesod-examples/src/test/resources/datewindowing/1904DateWindowing.xls
rename to fesod-examples/fesod-sheet-examples/src/test/resources/datewindowing/1904DateWindowing.xls
diff --git a/fesod-examples/src/test/resources/demo/cellDataDemo.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/demo/cellDataDemo.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/demo/cellDataDemo.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/demo/cellDataDemo.xlsx
diff --git a/fesod-examples/src/test/resources/demo/demo.csv b/fesod-examples/fesod-sheet-examples/src/test/resources/demo/demo.csv
similarity index 100%
rename from fesod-examples/src/test/resources/demo/demo.csv
rename to fesod-examples/fesod-sheet-examples/src/test/resources/demo/demo.csv
diff --git a/fesod-examples/src/test/resources/demo/demo.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/demo/demo.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/demo/demo.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/demo/demo.xlsx
diff --git a/fesod-examples/src/test/resources/demo/extra.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/demo/extra.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/demo/extra.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/demo/extra.xlsx
diff --git a/fesod-examples/src/test/resources/demo/fill/complex.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/demo/fill/complex.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/demo/fill/complex.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/demo/fill/complex.xlsx
diff --git a/fesod-examples/src/test/resources/demo/fill/complexFillWithTable.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/demo/fill/complexFillWithTable.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/demo/fill/complexFillWithTable.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/demo/fill/complexFillWithTable.xlsx
diff --git a/fesod-examples/src/test/resources/demo/fill/composite.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/demo/fill/composite.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/demo/fill/composite.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/demo/fill/composite.xlsx
diff --git a/fesod-examples/src/test/resources/demo/fill/dateFormat.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/demo/fill/dateFormat.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/demo/fill/dateFormat.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/demo/fill/dateFormat.xlsx
diff --git a/fesod-examples/src/test/resources/demo/fill/horizontal.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/demo/fill/horizontal.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/demo/fill/horizontal.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/demo/fill/horizontal.xlsx
diff --git a/fesod-examples/src/test/resources/demo/fill/list.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/demo/fill/list.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/demo/fill/list.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/demo/fill/list.xlsx
diff --git a/fesod-examples/src/test/resources/demo/fill/simple.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/demo/fill/simple.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/demo/fill/simple.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/demo/fill/simple.xlsx
diff --git a/fesod-examples/src/test/resources/demo/generic-demo.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/demo/generic-demo.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/demo/generic-demo.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/demo/generic-demo.xlsx
diff --git a/fesod-examples/src/test/resources/demo/pwd_123.xls b/fesod-examples/fesod-sheet-examples/src/test/resources/demo/pwd_123.xls
similarity index 100%
rename from fesod-examples/src/test/resources/demo/pwd_123.xls
rename to fesod-examples/fesod-sheet-examples/src/test/resources/demo/pwd_123.xls
diff --git a/fesod-examples/src/test/resources/extra/extra.xls b/fesod-examples/fesod-sheet-examples/src/test/resources/extra/extra.xls
similarity index 100%
rename from fesod-examples/src/test/resources/extra/extra.xls
rename to fesod-examples/fesod-sheet-examples/src/test/resources/extra/extra.xls
diff --git a/fesod-examples/src/test/resources/extra/extra.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/extra/extra.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/extra/extra.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/extra/extra.xlsx
diff --git a/fesod-examples/src/test/resources/extra/extraRelationships.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/extra/extraRelationships.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/extra/extraRelationships.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/extra/extraRelationships.xlsx
diff --git a/fesod-examples/src/test/resources/fill/annotation.xls b/fesod-examples/fesod-sheet-examples/src/test/resources/fill/annotation.xls
similarity index 100%
rename from fesod-examples/src/test/resources/fill/annotation.xls
rename to fesod-examples/fesod-sheet-examples/src/test/resources/fill/annotation.xls
diff --git a/fesod-examples/src/test/resources/fill/annotation.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/fill/annotation.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/fill/annotation.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/fill/annotation.xlsx
diff --git a/fesod-examples/src/test/resources/fill/byName.xls b/fesod-examples/fesod-sheet-examples/src/test/resources/fill/byName.xls
similarity index 100%
rename from fesod-examples/src/test/resources/fill/byName.xls
rename to fesod-examples/fesod-sheet-examples/src/test/resources/fill/byName.xls
diff --git a/fesod-examples/src/test/resources/fill/byName.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/fill/byName.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/fill/byName.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/fill/byName.xlsx
diff --git a/fesod-examples/src/test/resources/fill/complex.xls b/fesod-examples/fesod-sheet-examples/src/test/resources/fill/complex.xls
similarity index 100%
rename from fesod-examples/src/test/resources/fill/complex.xls
rename to fesod-examples/fesod-sheet-examples/src/test/resources/fill/complex.xls
diff --git a/fesod-examples/src/test/resources/fill/complex.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/fill/complex.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/fill/complex.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/fill/complex.xlsx
diff --git a/fesod-examples/src/test/resources/fill/composite.xls b/fesod-examples/fesod-sheet-examples/src/test/resources/fill/composite.xls
similarity index 100%
rename from fesod-examples/src/test/resources/fill/composite.xls
rename to fesod-examples/fesod-sheet-examples/src/test/resources/fill/composite.xls
diff --git a/fesod-examples/src/test/resources/fill/composite.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/fill/composite.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/fill/composite.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/fill/composite.xlsx
diff --git a/fesod-examples/src/test/resources/fill/horizontal.xls b/fesod-examples/fesod-sheet-examples/src/test/resources/fill/horizontal.xls
similarity index 100%
rename from fesod-examples/src/test/resources/fill/horizontal.xls
rename to fesod-examples/fesod-sheet-examples/src/test/resources/fill/horizontal.xls
diff --git a/fesod-examples/src/test/resources/fill/horizontal.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/fill/horizontal.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/fill/horizontal.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/fill/horizontal.xlsx
diff --git a/fesod-examples/src/test/resources/fill/simple.csv b/fesod-examples/fesod-sheet-examples/src/test/resources/fill/simple.csv
similarity index 100%
rename from fesod-examples/src/test/resources/fill/simple.csv
rename to fesod-examples/fesod-sheet-examples/src/test/resources/fill/simple.csv
diff --git a/fesod-examples/src/test/resources/fill/simple.xls b/fesod-examples/fesod-sheet-examples/src/test/resources/fill/simple.xls
similarity index 100%
rename from fesod-examples/src/test/resources/fill/simple.xls
rename to fesod-examples/fesod-sheet-examples/src/test/resources/fill/simple.xls
diff --git a/fesod-examples/src/test/resources/fill/simple.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/fill/simple.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/fill/simple.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/fill/simple.xlsx
diff --git a/fesod-examples/src/test/resources/fill/style.xls b/fesod-examples/fesod-sheet-examples/src/test/resources/fill/style.xls
similarity index 100%
rename from fesod-examples/src/test/resources/fill/style.xls
rename to fesod-examples/fesod-sheet-examples/src/test/resources/fill/style.xls
diff --git a/fesod-examples/src/test/resources/fill/style.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/fill/style.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/fill/style.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/fill/style.xlsx
diff --git a/fesod-examples/src/test/resources/hiddensheets/hiddensheets.xls b/fesod-examples/fesod-sheet-examples/src/test/resources/hiddensheets/hiddensheets.xls
similarity index 100%
rename from fesod-examples/src/test/resources/hiddensheets/hiddensheets.xls
rename to fesod-examples/fesod-sheet-examples/src/test/resources/hiddensheets/hiddensheets.xls
diff --git a/fesod-examples/src/test/resources/hiddensheets/hiddensheets.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/hiddensheets/hiddensheets.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/hiddensheets/hiddensheets.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/hiddensheets/hiddensheets.xlsx
diff --git a/fesod-examples/src/test/resources/large/fill.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/large/fill.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/large/fill.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/large/fill.xlsx
diff --git a/fesod-examples/src/test/resources/large/large07.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/large/large07.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/large/large07.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/large/large07.xlsx
diff --git a/fesod-examples/src/test/resources/logback.xml b/fesod-examples/fesod-sheet-examples/src/test/resources/logback.xml
similarity index 100%
rename from fesod-examples/src/test/resources/logback.xml
rename to fesod-examples/fesod-sheet-examples/src/test/resources/logback.xml
diff --git a/fesod-examples/src/test/resources/multiplesheets/multiplesheets.xls b/fesod-examples/fesod-sheet-examples/src/test/resources/multiplesheets/multiplesheets.xls
similarity index 100%
rename from fesod-examples/src/test/resources/multiplesheets/multiplesheets.xls
rename to fesod-examples/fesod-sheet-examples/src/test/resources/multiplesheets/multiplesheets.xls
diff --git a/fesod-examples/src/test/resources/multiplesheets/multiplesheets.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/multiplesheets/multiplesheets.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/multiplesheets/multiplesheets.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/multiplesheets/multiplesheets.xlsx
diff --git a/fesod-examples/src/test/resources/poi/last_row_number_test.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/poi/last_row_number_test.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/poi/last_row_number_test.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/poi/last_row_number_test.xlsx
diff --git a/fesod-examples/src/test/resources/poi/last_row_number_xssf_date_test.csv b/fesod-examples/fesod-sheet-examples/src/test/resources/poi/last_row_number_xssf_date_test.csv
similarity index 100%
rename from fesod-examples/src/test/resources/poi/last_row_number_xssf_date_test.csv
rename to fesod-examples/fesod-sheet-examples/src/test/resources/poi/last_row_number_xssf_date_test.csv
diff --git a/fesod-examples/src/test/resources/poi/last_row_number_xssf_date_test.xls b/fesod-examples/fesod-sheet-examples/src/test/resources/poi/last_row_number_xssf_date_test.xls
similarity index 100%
rename from fesod-examples/src/test/resources/poi/last_row_number_xssf_date_test.xls
rename to fesod-examples/fesod-sheet-examples/src/test/resources/poi/last_row_number_xssf_date_test.xls
diff --git a/fesod-examples/src/test/resources/poi/last_row_number_xssf_date_test.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/poi/last_row_number_xssf_date_test.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/poi/last_row_number_xssf_date_test.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/poi/last_row_number_xssf_date_test.xlsx
diff --git a/fesod-examples/src/test/resources/poi/last_row_number_xssf_test.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/poi/last_row_number_xssf_test.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/poi/last_row_number_xssf_test.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/poi/last_row_number_xssf_test.xlsx
diff --git a/fesod-examples/src/test/resources/repeat/repeat.xls b/fesod-examples/fesod-sheet-examples/src/test/resources/repeat/repeat.xls
similarity index 100%
rename from fesod-examples/src/test/resources/repeat/repeat.xls
rename to fesod-examples/fesod-sheet-examples/src/test/resources/repeat/repeat.xls
diff --git a/fesod-examples/src/test/resources/repeat/repeat.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/repeat/repeat.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/repeat/repeat.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/repeat/repeat.xlsx
diff --git a/fesod-examples/src/test/resources/simple/LargeData.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/simple/LargeData.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/simple/LargeData.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/simple/LargeData.xlsx
diff --git a/fesod-examples/src/test/resources/simple/no_model_10000_rows.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/simple/no_model_10000_rows.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/simple/no_model_10000_rows.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/simple/no_model_10000_rows.xlsx
diff --git a/fesod-examples/src/test/resources/simple/simple07.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/simple/simple07.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/simple/simple07.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/simple/simple07.xlsx
diff --git a/fesod-examples/src/test/resources/style/styleTest.xls b/fesod-examples/fesod-sheet-examples/src/test/resources/style/styleTest.xls
similarity index 100%
rename from fesod-examples/src/test/resources/style/styleTest.xls
rename to fesod-examples/fesod-sheet-examples/src/test/resources/style/styleTest.xls
diff --git a/fesod-examples/src/test/resources/style/styleTest.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/style/styleTest.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/style/styleTest.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/style/styleTest.xlsx
diff --git a/fesod-examples/src/test/resources/temp/issue1663/template.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/temp/issue1663/template.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/temp/issue1663/template.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/temp/issue1663/template.xlsx
diff --git a/fesod-examples/src/test/resources/temp/issue220/test01.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/temp/issue220/test01.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/temp/issue220/test01.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/temp/issue220/test01.xlsx
diff --git a/fesod-examples/src/test/resources/temp/issue220/test02.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/temp/issue220/test02.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/temp/issue220/test02.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/temp/issue220/test02.xlsx
diff --git a/fesod-examples/src/test/resources/temp/issue220/test03.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/temp/issue220/test03.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/temp/issue220/test03.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/temp/issue220/test03.xlsx
diff --git a/fesod-examples/src/test/resources/temp/issue2319/test1.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/temp/issue2319/test1.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/temp/issue2319/test1.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/temp/issue2319/test1.xlsx
diff --git a/fesod-examples/src/test/resources/temp/issue2319/test2.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/temp/issue2319/test2.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/temp/issue2319/test2.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/temp/issue2319/test2.xlsx
diff --git a/fesod-examples/src/test/resources/temp/issue2443/date1.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/temp/issue2443/date1.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/temp/issue2443/date1.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/temp/issue2443/date1.xlsx
diff --git a/fesod-examples/src/test/resources/temp/issue2443/date2.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/temp/issue2443/date2.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/temp/issue2443/date2.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/temp/issue2443/date2.xlsx
diff --git a/fesod-examples/src/test/resources/temp/lock_data.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/temp/lock_data.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/temp/lock_data.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/temp/lock_data.xlsx
diff --git a/fesod-examples/src/test/resources/temp/number_format.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/temp/number_format.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/temp/number_format.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/temp/number_format.xlsx
diff --git a/fesod-examples/src/test/resources/template/template03.xls b/fesod-examples/fesod-sheet-examples/src/test/resources/template/template03.xls
similarity index 100%
rename from fesod-examples/src/test/resources/template/template03.xls
rename to fesod-examples/fesod-sheet-examples/src/test/resources/template/template03.xls
diff --git a/fesod-examples/src/test/resources/template/template07.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/template/template07.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/template/template07.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/template/template07.xlsx
diff --git a/fesod-examples/src/test/resources/web/io.xlsx b/fesod-examples/fesod-sheet-examples/src/test/resources/web/io.xlsx
similarity index 100%
rename from fesod-examples/src/test/resources/web/io.xlsx
rename to fesod-examples/fesod-sheet-examples/src/test/resources/web/io.xlsx
diff --git a/fesod-examples/pom.xml b/fesod-examples/pom.xml
index 4a3fdbe5..22aea12b 100644
--- a/fesod-examples/pom.xml
+++ b/fesod-examples/pom.xml
@@ -19,103 +19,20 @@
under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.fesod</groupId>
<artifactId>fesod-parent</artifactId>
- <version>2.0.0</version>
+ <version>${revision}</version>
</parent>
<artifactId>fesod-examples</artifactId>
+ <packaging>pom</packaging>
+ <name>Fesod Examples</name>
-
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <gpg.skip>true</gpg.skip>
- <maven.javadoc.skip>true</maven.javadoc.skip>
- <maven.test.skip>true</maven.test.skip>
- <maven.deploy.skip>true</maven.deploy.skip>
- </properties>
- <dependencies>
- <dependency>
- <groupId>org.apache.fesod</groupId>
- <artifactId>fesod</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>com.alibaba.fastjson2</groupId>
- <artifactId>fastjson2</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.junit.jupiter</groupId>
- <artifactId>junit-jupiter</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-core</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-junit-jupiter</artifactId>
- <scope>test</scope>
- </dependency>
-
- <!-- logback -->
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-simple</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>jcl-over-slf4j</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>log4j-over-slf4j</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-classic</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.projectlombok</groupId>
- <artifactId>lombok</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.mock-server</groupId>
- <artifactId>mockserver-netty</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <testFailureIgnore>false</testFailureIgnore>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
+ <modules>
+ <module>fesod-sheet-examples</module>
+ </modules>
</project>
diff --git a/fesod-sheet/pom.xml b/fesod-sheet/pom.xml
new file mode 100644
index 00000000..50d7217a
--- /dev/null
+++ b/fesod-sheet/pom.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.fesod</groupId>
+ <artifactId>fesod-parent</artifactId>
+ <version>${revision}</version>
+ </parent>
+
+ <artifactId>fesod-sheet</artifactId>
+ <packaging>jar</packaging>
+ <name>Fesod Spreadsheet</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-csv</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.ehcache</groupId>
+ <artifactId>ehcache</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.fesod</groupId>
+ <artifactId>fesod-common</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>cn.idev.excel</groupId>
+ <artifactId>fastexcel-support</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.poi</groupId>
+ <artifactId>poi</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>commons-codec</groupId>
+ <artifactId>commons-codec</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.poi</groupId>
+ <artifactId>poi-ooxml</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/EasyExcel.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/EasyExcel.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/EasyExcel.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/EasyExcel.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/ExcelReader.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/ExcelReader.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/ExcelReader.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/ExcelReader.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/ExcelWriter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/ExcelWriter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/ExcelWriter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/ExcelWriter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/FastExcel.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/FastExcel.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/FastExcel.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/FastExcel.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/FastExcelFactory.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/FastExcelFactory.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/FastExcelFactory.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/FastExcelFactory.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/FesodSheet.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/FesodSheet.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/FesodSheet.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/FesodSheet.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/ExcelAnalyser.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/ExcelAnalyser.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/ExcelAnalyser.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/ExcelAnalyser.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/ExcelAnalyserImpl.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/ExcelAnalyserImpl.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/ExcelAnalyserImpl.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/ExcelAnalyserImpl.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/ExcelReadExecutor.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/ExcelReadExecutor.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/ExcelReadExecutor.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/ExcelReadExecutor.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/csv/CsvExcelReadExecutor.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/csv/CsvExcelReadExecutor.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/csv/CsvExcelReadExecutor.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/csv/CsvExcelReadExecutor.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/IgnorableXlsRecordHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/IgnorableXlsRecordHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/IgnorableXlsRecordHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/IgnorableXlsRecordHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/XlsListSheetListener.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/XlsListSheetListener.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/XlsListSheetListener.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/XlsListSheetListener.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/XlsRecordHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/XlsRecordHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/XlsRecordHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/XlsRecordHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/XlsSaxAnalyser.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/XlsSaxAnalyser.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/XlsSaxAnalyser.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/XlsSaxAnalyser.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/AbstractXlsRecordHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/AbstractXlsRecordHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/AbstractXlsRecordHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/AbstractXlsRecordHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/BlankRecordHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/BlankRecordHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/BlankRecordHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/BlankRecordHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/BofRecordHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/BofRecordHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/BofRecordHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/BofRecordHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/BoolErrRecordHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/BoolErrRecordHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/BoolErrRecordHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/BoolErrRecordHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/BoundSheetRecordHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/BoundSheetRecordHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/BoundSheetRecordHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/BoundSheetRecordHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/DateWindow1904RecordHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/DateWindow1904RecordHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/DateWindow1904RecordHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/DateWindow1904RecordHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/DummyRecordHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/DummyRecordHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/DummyRecordHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/DummyRecordHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/EofRecordHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/EofRecordHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/EofRecordHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/EofRecordHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/FormulaRecordHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/FormulaRecordHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/FormulaRecordHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/FormulaRecordHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/HyperlinkRecordHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/HyperlinkRecordHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/HyperlinkRecordHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/HyperlinkRecordHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/IndexRecordHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/IndexRecordHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/IndexRecordHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/IndexRecordHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/LabelRecordHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/LabelRecordHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/LabelRecordHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/LabelRecordHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/LabelSstRecordHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/LabelSstRecordHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/LabelSstRecordHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/LabelSstRecordHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/MergeCellsRecordHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/MergeCellsRecordHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/MergeCellsRecordHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/MergeCellsRecordHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/NoteRecordHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/NoteRecordHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/NoteRecordHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/NoteRecordHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/NumberRecordHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/NumberRecordHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/NumberRecordHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/NumberRecordHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/ObjRecordHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/ObjRecordHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/ObjRecordHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/ObjRecordHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/RkRecordHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/RkRecordHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/RkRecordHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/RkRecordHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/SstRecordHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/SstRecordHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/SstRecordHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/SstRecordHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/StringRecordHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/StringRecordHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/StringRecordHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/StringRecordHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/TextObjectRecordHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/TextObjectRecordHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/TextObjectRecordHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/TextObjectRecordHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/XlsxSaxAnalyser.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/XlsxSaxAnalyser.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/XlsxSaxAnalyser.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/XlsxSaxAnalyser.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/AbstractCellValueTagHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/AbstractCellValueTagHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/AbstractCellValueTagHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/AbstractCellValueTagHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/AbstractXlsxTagHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/AbstractXlsxTagHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/AbstractXlsxTagHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/AbstractXlsxTagHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CellFormulaTagHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CellFormulaTagHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CellFormulaTagHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CellFormulaTagHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CellInlineStringValueTagHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CellInlineStringValueTagHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CellInlineStringValueTagHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CellInlineStringValueTagHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CellTagHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CellTagHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CellTagHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CellTagHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CellValueTagHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CellValueTagHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CellValueTagHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CellValueTagHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CountTagHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CountTagHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CountTagHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CountTagHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/HyperlinkTagHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/HyperlinkTagHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/HyperlinkTagHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/HyperlinkTagHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/MergeCellTagHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/MergeCellTagHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/MergeCellTagHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/MergeCellTagHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/RowTagHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/RowTagHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/RowTagHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/RowTagHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/XlsxTagHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/XlsxTagHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/XlsxTagHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/XlsxTagHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/sax/SharedStringsTableHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/sax/SharedStringsTableHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/sax/SharedStringsTableHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/sax/SharedStringsTableHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/sax/XlsxRowHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/sax/XlsxRowHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/sax/XlsxRowHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/sax/XlsxRowHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/annotation/ExcelIgnore.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/ExcelIgnore.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/annotation/ExcelIgnore.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/ExcelIgnore.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/annotation/ExcelIgnoreUnannotated.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/ExcelIgnoreUnannotated.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/annotation/ExcelIgnoreUnannotated.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/ExcelIgnoreUnannotated.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/annotation/ExcelProperty.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/ExcelProperty.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/annotation/ExcelProperty.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/ExcelProperty.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/annotation/format/DateTimeFormat.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/format/DateTimeFormat.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/annotation/format/DateTimeFormat.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/format/DateTimeFormat.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/annotation/format/NumberFormat.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/format/NumberFormat.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/annotation/format/NumberFormat.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/format/NumberFormat.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/annotation/write/style/ColumnWidth.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/write/style/ColumnWidth.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/annotation/write/style/ColumnWidth.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/write/style/ColumnWidth.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/annotation/write/style/ContentFontStyle.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/write/style/ContentFontStyle.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/annotation/write/style/ContentFontStyle.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/write/style/ContentFontStyle.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/annotation/write/style/ContentLoopMerge.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/write/style/ContentLoopMerge.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/annotation/write/style/ContentLoopMerge.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/write/style/ContentLoopMerge.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/annotation/write/style/ContentRowHeight.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/write/style/ContentRowHeight.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/annotation/write/style/ContentRowHeight.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/write/style/ContentRowHeight.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/annotation/write/style/ContentStyle.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/write/style/ContentStyle.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/annotation/write/style/ContentStyle.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/write/style/ContentStyle.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/annotation/write/style/HeadFontStyle.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/write/style/HeadFontStyle.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/annotation/write/style/HeadFontStyle.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/write/style/HeadFontStyle.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/annotation/write/style/HeadRowHeight.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/write/style/HeadRowHeight.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/annotation/write/style/HeadRowHeight.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/write/style/HeadRowHeight.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/annotation/write/style/HeadStyle.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/write/style/HeadStyle.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/annotation/write/style/HeadStyle.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/write/style/HeadStyle.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/annotation/write/style/OnceAbsoluteMerge.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/write/style/OnceAbsoluteMerge.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/annotation/write/style/OnceAbsoluteMerge.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/annotation/write/style/OnceAbsoluteMerge.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/cache/Ehcache.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/cache/Ehcache.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/cache/Ehcache.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/cache/Ehcache.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/cache/MapCache.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/cache/MapCache.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/cache/MapCache.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/cache/MapCache.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/cache/ReadCache.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/cache/ReadCache.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/cache/ReadCache.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/cache/ReadCache.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/cache/XlsCache.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/cache/XlsCache.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/cache/XlsCache.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/cache/XlsCache.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/cache/selector/EternalReadCacheSelector.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/cache/selector/EternalReadCacheSelector.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/cache/selector/EternalReadCacheSelector.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/cache/selector/EternalReadCacheSelector.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/cache/selector/ReadCacheSelector.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/cache/selector/ReadCacheSelector.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/cache/selector/ReadCacheSelector.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/cache/selector/ReadCacheSelector.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/cache/selector/SimpleReadCacheSelector.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/cache/selector/SimpleReadCacheSelector.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/cache/selector/SimpleReadCacheSelector.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/cache/selector/SimpleReadCacheSelector.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/constant/BuiltinFormats.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/constant/BuiltinFormats.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/constant/BuiltinFormats.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/constant/BuiltinFormats.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/constant/ExcelXmlConstants.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/constant/ExcelXmlConstants.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/constant/ExcelXmlConstants.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/constant/ExcelXmlConstants.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/constant/FastExcelConstants.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/constant/FastExcelConstants.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/constant/FastExcelConstants.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/constant/FastExcelConstants.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/constant/OrderConstant.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/constant/OrderConstant.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/constant/OrderConstant.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/constant/OrderConstant.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/context/AnalysisContext.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/context/AnalysisContext.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/context/AnalysisContext.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/context/AnalysisContext.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/context/AnalysisContextImpl.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/context/AnalysisContextImpl.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/context/AnalysisContextImpl.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/context/AnalysisContextImpl.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/context/WriteContext.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/context/WriteContext.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/context/WriteContext.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/context/WriteContext.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/context/WriteContextImpl.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/context/WriteContextImpl.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/context/WriteContextImpl.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/context/WriteContextImpl.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/context/csv/CsvReadContext.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/context/csv/CsvReadContext.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/context/csv/CsvReadContext.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/context/csv/CsvReadContext.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/context/csv/DefaultCsvReadContext.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/context/csv/DefaultCsvReadContext.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/context/csv/DefaultCsvReadContext.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/context/csv/DefaultCsvReadContext.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/context/xls/DefaultXlsReadContext.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/context/xls/DefaultXlsReadContext.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/context/xls/DefaultXlsReadContext.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/context/xls/DefaultXlsReadContext.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/context/xls/XlsReadContext.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/context/xls/XlsReadContext.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/context/xls/XlsReadContext.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/context/xls/XlsReadContext.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/context/xlsx/DefaultXlsxReadContext.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/context/xlsx/DefaultXlsxReadContext.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/context/xlsx/DefaultXlsxReadContext.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/context/xlsx/DefaultXlsxReadContext.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/context/xlsx/XlsxReadContext.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/context/xlsx/XlsxReadContext.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/context/xlsx/XlsxReadContext.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/context/xlsx/XlsxReadContext.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/AutoConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/AutoConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/AutoConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/AutoConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/Converter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/Converter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/Converter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/Converter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/ConverterKeyBuild.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/ConverterKeyBuild.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/ConverterKeyBuild.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/ConverterKeyBuild.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/DefaultConverterLoader.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/DefaultConverterLoader.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/DefaultConverterLoader.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/DefaultConverterLoader.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/NullableObjectConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/NullableObjectConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/NullableObjectConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/NullableObjectConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/ReadConverterContext.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/ReadConverterContext.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/ReadConverterContext.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/ReadConverterContext.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/WriteConverterContext.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/WriteConverterContext.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/WriteConverterContext.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/WriteConverterContext.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/bigdecimal/BigDecimalBooleanConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/bigdecimal/BigDecimalBooleanConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/bigdecimal/BigDecimalBooleanConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/bigdecimal/BigDecimalBooleanConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/bigdecimal/BigDecimalNumberConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/bigdecimal/BigDecimalNumberConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/bigdecimal/BigDecimalNumberConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/bigdecimal/BigDecimalNumberConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/bigdecimal/BigDecimalStringConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/bigdecimal/BigDecimalStringConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/bigdecimal/BigDecimalStringConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/bigdecimal/BigDecimalStringConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/biginteger/BigIntegerBooleanConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/biginteger/BigIntegerBooleanConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/biginteger/BigIntegerBooleanConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/biginteger/BigIntegerBooleanConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/biginteger/BigIntegerNumberConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/biginteger/BigIntegerNumberConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/biginteger/BigIntegerNumberConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/biginteger/BigIntegerNumberConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/biginteger/BigIntegerStringConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/biginteger/BigIntegerStringConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/biginteger/BigIntegerStringConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/biginteger/BigIntegerStringConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/booleanconverter/BooleanBooleanConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/booleanconverter/BooleanBooleanConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/booleanconverter/BooleanBooleanConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/booleanconverter/BooleanBooleanConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/booleanconverter/BooleanNumberConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/booleanconverter/BooleanNumberConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/booleanconverter/BooleanNumberConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/booleanconverter/BooleanNumberConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/booleanconverter/BooleanStringConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/booleanconverter/BooleanStringConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/booleanconverter/BooleanStringConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/booleanconverter/BooleanStringConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/bytearray/BoxingByteArrayImageConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/bytearray/BoxingByteArrayImageConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/bytearray/BoxingByteArrayImageConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/bytearray/BoxingByteArrayImageConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/bytearray/ByteArrayImageConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/bytearray/ByteArrayImageConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/bytearray/ByteArrayImageConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/bytearray/ByteArrayImageConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/byteconverter/ByteBooleanConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/byteconverter/ByteBooleanConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/byteconverter/ByteBooleanConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/byteconverter/ByteBooleanConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/byteconverter/ByteNumberConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/byteconverter/ByteNumberConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/byteconverter/ByteNumberConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/byteconverter/ByteNumberConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/byteconverter/ByteStringConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/byteconverter/ByteStringConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/byteconverter/ByteStringConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/byteconverter/ByteStringConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/date/DateDateConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/date/DateDateConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/date/DateDateConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/date/DateDateConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/date/DateNumberConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/date/DateNumberConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/date/DateNumberConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/date/DateNumberConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/date/DateStringConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/date/DateStringConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/date/DateStringConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/date/DateStringConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/doubleconverter/DoubleBooleanConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/doubleconverter/DoubleBooleanConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/doubleconverter/DoubleBooleanConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/doubleconverter/DoubleBooleanConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/doubleconverter/DoubleNumberConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/doubleconverter/DoubleNumberConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/doubleconverter/DoubleNumberConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/doubleconverter/DoubleNumberConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/doubleconverter/DoubleStringConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/doubleconverter/DoubleStringConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/doubleconverter/DoubleStringConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/doubleconverter/DoubleStringConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/file/FileImageConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/file/FileImageConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/file/FileImageConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/file/FileImageConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/floatconverter/FloatBooleanConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/floatconverter/FloatBooleanConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/floatconverter/FloatBooleanConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/floatconverter/FloatBooleanConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/floatconverter/FloatNumberConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/floatconverter/FloatNumberConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/floatconverter/FloatNumberConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/floatconverter/FloatNumberConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/floatconverter/FloatStringConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/floatconverter/FloatStringConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/floatconverter/FloatStringConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/floatconverter/FloatStringConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/inputstream/InputStreamImageConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/inputstream/InputStreamImageConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/inputstream/InputStreamImageConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/inputstream/InputStreamImageConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/integer/IntegerBooleanConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/integer/IntegerBooleanConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/integer/IntegerBooleanConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/integer/IntegerBooleanConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/integer/IntegerNumberConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/integer/IntegerNumberConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/integer/IntegerNumberConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/integer/IntegerNumberConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/integer/IntegerStringConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/integer/IntegerStringConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/integer/IntegerStringConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/integer/IntegerStringConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/localdate/LocalDateDateConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/localdate/LocalDateDateConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/localdate/LocalDateDateConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/localdate/LocalDateDateConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/localdate/LocalDateNumberConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/localdate/LocalDateNumberConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/localdate/LocalDateNumberConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/localdate/LocalDateNumberConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/localdate/LocalDateStringConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/localdate/LocalDateStringConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/localdate/LocalDateStringConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/localdate/LocalDateStringConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/localdatetime/LocalDateTimeDateConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/localdatetime/LocalDateTimeDateConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/localdatetime/LocalDateTimeDateConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/localdatetime/LocalDateTimeDateConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/localdatetime/LocalDateTimeNumberConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/localdatetime/LocalDateTimeNumberConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/localdatetime/LocalDateTimeNumberConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/localdatetime/LocalDateTimeNumberConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/localdatetime/LocalDateTimeStringConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/localdatetime/LocalDateTimeStringConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/localdatetime/LocalDateTimeStringConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/localdatetime/LocalDateTimeStringConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/longconverter/LongBooleanConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/longconverter/LongBooleanConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/longconverter/LongBooleanConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/longconverter/LongBooleanConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/longconverter/LongNumberConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/longconverter/LongNumberConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/longconverter/LongNumberConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/longconverter/LongNumberConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/longconverter/LongStringConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/longconverter/LongStringConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/longconverter/LongStringConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/longconverter/LongStringConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/shortconverter/ShortBooleanConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/shortconverter/ShortBooleanConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/shortconverter/ShortBooleanConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/shortconverter/ShortBooleanConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/shortconverter/ShortNumberConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/shortconverter/ShortNumberConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/shortconverter/ShortNumberConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/shortconverter/ShortNumberConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/shortconverter/ShortStringConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/shortconverter/ShortStringConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/shortconverter/ShortStringConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/shortconverter/ShortStringConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/string/StringBooleanConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/string/StringBooleanConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/string/StringBooleanConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/string/StringBooleanConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/string/StringErrorConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/string/StringErrorConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/string/StringErrorConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/string/StringErrorConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/string/StringImageConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/string/StringImageConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/string/StringImageConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/string/StringImageConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/string/StringNumberConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/string/StringNumberConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/string/StringNumberConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/string/StringNumberConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/string/StringStringConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/string/StringStringConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/string/StringStringConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/string/StringStringConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/converters/url/UrlImageConverter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/url/UrlImageConverter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/converters/url/UrlImageConverter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/url/UrlImageConverter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/enums/BooleanEnum.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/BooleanEnum.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/enums/BooleanEnum.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/BooleanEnum.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/enums/ByteOrderMarkEnum.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/ByteOrderMarkEnum.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/enums/ByteOrderMarkEnum.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/ByteOrderMarkEnum.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/enums/CacheLocationEnum.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/CacheLocationEnum.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/enums/CacheLocationEnum.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/CacheLocationEnum.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/enums/CellDataTypeEnum.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/CellDataTypeEnum.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/enums/CellDataTypeEnum.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/CellDataTypeEnum.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/enums/CellExtraTypeEnum.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/CellExtraTypeEnum.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/enums/CellExtraTypeEnum.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/CellExtraTypeEnum.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/enums/HeadKindEnum.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/HeadKindEnum.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/enums/HeadKindEnum.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/HeadKindEnum.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/enums/HeaderMergeStrategy.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/HeaderMergeStrategy.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/enums/HeaderMergeStrategy.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/HeaderMergeStrategy.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/enums/HolderEnum.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/HolderEnum.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/enums/HolderEnum.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/HolderEnum.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/enums/NumericCellTypeEnum.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/NumericCellTypeEnum.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/enums/NumericCellTypeEnum.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/NumericCellTypeEnum.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/enums/ReadDefaultReturnEnum.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/ReadDefaultReturnEnum.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/enums/ReadDefaultReturnEnum.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/ReadDefaultReturnEnum.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/enums/RowTypeEnum.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/RowTypeEnum.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/enums/RowTypeEnum.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/RowTypeEnum.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/enums/WriteDirectionEnum.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/WriteDirectionEnum.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/enums/WriteDirectionEnum.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/WriteDirectionEnum.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/enums/WriteLastRowTypeEnum.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/WriteLastRowTypeEnum.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/enums/WriteLastRowTypeEnum.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/WriteLastRowTypeEnum.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/enums/WriteTemplateAnalysisCellTypeEnum.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/WriteTemplateAnalysisCellTypeEnum.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/enums/WriteTemplateAnalysisCellTypeEnum.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/WriteTemplateAnalysisCellTypeEnum.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/enums/WriteTypeEnum.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/WriteTypeEnum.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/enums/WriteTypeEnum.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/WriteTypeEnum.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/enums/poi/BorderStyleEnum.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/poi/BorderStyleEnum.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/enums/poi/BorderStyleEnum.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/poi/BorderStyleEnum.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/enums/poi/FillPatternTypeEnum.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/poi/FillPatternTypeEnum.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/enums/poi/FillPatternTypeEnum.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/poi/FillPatternTypeEnum.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/enums/poi/HorizontalAlignmentEnum.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/poi/HorizontalAlignmentEnum.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/enums/poi/HorizontalAlignmentEnum.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/poi/HorizontalAlignmentEnum.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/enums/poi/VerticalAlignmentEnum.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/poi/VerticalAlignmentEnum.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/enums/poi/VerticalAlignmentEnum.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/poi/VerticalAlignmentEnum.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/event/AbstractIgnoreExceptionReadListener.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/event/AbstractIgnoreExceptionReadListener.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/event/AbstractIgnoreExceptionReadListener.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/event/AbstractIgnoreExceptionReadListener.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/event/AnalysisEventListener.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/event/AnalysisEventListener.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/event/AnalysisEventListener.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/event/AnalysisEventListener.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/event/Handler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/event/Handler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/event/Handler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/event/Handler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/event/Listener.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/event/Listener.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/event/Listener.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/event/Listener.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/event/NotRepeatExecutor.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/event/NotRepeatExecutor.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/event/NotRepeatExecutor.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/event/NotRepeatExecutor.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/event/Order.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/event/Order.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/event/Order.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/event/Order.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/event/SyncReadListener.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/event/SyncReadListener.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/event/SyncReadListener.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/event/SyncReadListener.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/exception/ExcelAnalysisException.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/exception/ExcelAnalysisException.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/exception/ExcelAnalysisException.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/exception/ExcelAnalysisException.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/exception/ExcelAnalysisStopException.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/exception/ExcelAnalysisStopException.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/exception/ExcelAnalysisStopException.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/exception/ExcelAnalysisStopException.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/exception/ExcelAnalysisStopSheetException.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/exception/ExcelAnalysisStopSheetException.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/exception/ExcelAnalysisStopSheetException.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/exception/ExcelAnalysisStopSheetException.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/exception/ExcelCommonException.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/exception/ExcelCommonException.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/exception/ExcelCommonException.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/exception/ExcelCommonException.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/exception/ExcelDataConvertException.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/exception/ExcelDataConvertException.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/exception/ExcelDataConvertException.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/exception/ExcelDataConvertException.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/exception/ExcelGenerateException.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/exception/ExcelGenerateException.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/exception/ExcelGenerateException.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/exception/ExcelGenerateException.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/exception/ExcelRuntimeException.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/exception/ExcelRuntimeException.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/exception/ExcelRuntimeException.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/exception/ExcelRuntimeException.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/exception/ExcelWriteDataConvertException.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/exception/ExcelWriteDataConvertException.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/exception/ExcelWriteDataConvertException.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/exception/ExcelWriteDataConvertException.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/AbstractCell.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/AbstractCell.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/AbstractCell.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/AbstractCell.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/AbstractHolder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/AbstractHolder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/AbstractHolder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/AbstractHolder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/AbstractParameterBuilder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/AbstractParameterBuilder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/AbstractParameterBuilder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/AbstractParameterBuilder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/BasicParameter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/BasicParameter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/BasicParameter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/BasicParameter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/Cell.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/Cell.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/Cell.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/Cell.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/CellExtra.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/CellExtra.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/CellExtra.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/CellExtra.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/CellRange.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/CellRange.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/CellRange.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/CellRange.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/ConfigurationHolder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/ConfigurationHolder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/ConfigurationHolder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/ConfigurationHolder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/FieldCache.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/FieldCache.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/FieldCache.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/FieldCache.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/FieldWrapper.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/FieldWrapper.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/FieldWrapper.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/FieldWrapper.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/Font.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/Font.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/Font.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/Font.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/GlobalConfiguration.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/GlobalConfiguration.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/GlobalConfiguration.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/GlobalConfiguration.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/Head.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/Head.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/Head.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/Head.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/Holder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/Holder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/Holder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/Holder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/NullObject.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/NullObject.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/NullObject.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/NullObject.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvCell.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvCell.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvCell.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvCell.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvCellStyle.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvCellStyle.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvCellStyle.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvCellStyle.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvConstant.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvConstant.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvConstant.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvConstant.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvDataFormat.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvDataFormat.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvDataFormat.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvDataFormat.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvRichTextString.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvRichTextString.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvRichTextString.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvRichTextString.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvRow.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvRow.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvRow.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvRow.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvSheet.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvSheet.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvSheet.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvSheet.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvWorkbook.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvWorkbook.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvWorkbook.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvWorkbook.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/data/CellData.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/CellData.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/data/CellData.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/CellData.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/data/ClientAnchorData.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/ClientAnchorData.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/data/ClientAnchorData.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/ClientAnchorData.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/data/CommentData.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/CommentData.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/data/CommentData.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/CommentData.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/data/CoordinateData.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/CoordinateData.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/data/CoordinateData.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/CoordinateData.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/data/DataFormatData.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/DataFormatData.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/data/DataFormatData.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/DataFormatData.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/data/FormulaData.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/FormulaData.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/data/FormulaData.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/FormulaData.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/data/HyperlinkData.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/HyperlinkData.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/data/HyperlinkData.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/HyperlinkData.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/data/ImageData.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/ImageData.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/data/ImageData.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/ImageData.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/data/ReadCellData.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/ReadCellData.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/data/ReadCellData.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/ReadCellData.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/data/RichTextStringData.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/RichTextStringData.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/data/RichTextStringData.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/RichTextStringData.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/data/WriteCellData.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/WriteCellData.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/data/WriteCellData.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/WriteCellData.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/format/DataFormatter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/format/DataFormatter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/format/DataFormatter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/format/DataFormatter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/format/ExcelGeneralNumberFormat.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/format/ExcelGeneralNumberFormat.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/format/ExcelGeneralNumberFormat.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/format/ExcelGeneralNumberFormat.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/property/ColumnWidthProperty.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/ColumnWidthProperty.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/property/ColumnWidthProperty.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/ColumnWidthProperty.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/property/DateTimeFormatProperty.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/DateTimeFormatProperty.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/property/DateTimeFormatProperty.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/DateTimeFormatProperty.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/property/ExcelContentProperty.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/ExcelContentProperty.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/property/ExcelContentProperty.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/ExcelContentProperty.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/property/ExcelHeadProperty.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/ExcelHeadProperty.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/property/ExcelHeadProperty.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/ExcelHeadProperty.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/property/FontProperty.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/FontProperty.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/property/FontProperty.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/FontProperty.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/property/LoopMergeProperty.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/LoopMergeProperty.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/property/LoopMergeProperty.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/LoopMergeProperty.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/property/NumberFormatProperty.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/NumberFormatProperty.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/property/NumberFormatProperty.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/NumberFormatProperty.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/property/OnceAbsoluteMergeProperty.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/OnceAbsoluteMergeProperty.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/property/OnceAbsoluteMergeProperty.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/OnceAbsoluteMergeProperty.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/property/RowHeightProperty.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/RowHeightProperty.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/property/RowHeightProperty.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/RowHeightProperty.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/metadata/property/StyleProperty.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/StyleProperty.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/metadata/property/StyleProperty.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/StyleProperty.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/read/builder/AbstractExcelReaderParameterBuilder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/builder/AbstractExcelReaderParameterBuilder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/read/builder/AbstractExcelReaderParameterBuilder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/read/builder/AbstractExcelReaderParameterBuilder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/read/builder/CsvReaderBuilder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/builder/CsvReaderBuilder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/read/builder/CsvReaderBuilder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/read/builder/CsvReaderBuilder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/read/builder/ExcelReaderBuilder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/builder/ExcelReaderBuilder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/read/builder/ExcelReaderBuilder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/read/builder/ExcelReaderBuilder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/read/builder/ExcelReaderSheetBuilder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/builder/ExcelReaderSheetBuilder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/read/builder/ExcelReaderSheetBuilder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/read/builder/ExcelReaderSheetBuilder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/read/listener/IgnoreExceptionReadListener.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/listener/IgnoreExceptionReadListener.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/read/listener/IgnoreExceptionReadListener.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/read/listener/IgnoreExceptionReadListener.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/read/listener/ModelBuildEventListener.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/listener/ModelBuildEventListener.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/read/listener/ModelBuildEventListener.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/read/listener/ModelBuildEventListener.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/read/listener/PageReadListener.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/listener/PageReadListener.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/read/listener/PageReadListener.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/read/listener/PageReadListener.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/read/listener/ReadListener.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/listener/ReadListener.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/read/listener/ReadListener.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/read/listener/ReadListener.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/read/metadata/ReadBasicParameter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/ReadBasicParameter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/read/metadata/ReadBasicParameter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/ReadBasicParameter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/read/metadata/ReadSheet.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/ReadSheet.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/read/metadata/ReadSheet.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/ReadSheet.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/read/metadata/ReadWorkbook.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/ReadWorkbook.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/read/metadata/ReadWorkbook.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/ReadWorkbook.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/read/metadata/holder/AbstractReadHolder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/AbstractReadHolder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/read/metadata/holder/AbstractReadHolder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/AbstractReadHolder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/read/metadata/holder/ReadHolder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/ReadHolder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/read/metadata/holder/ReadHolder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/ReadHolder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/read/metadata/holder/ReadRowHolder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/ReadRowHolder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/read/metadata/holder/ReadRowHolder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/ReadRowHolder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/read/metadata/holder/ReadSheetHolder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/ReadSheetHolder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/read/metadata/holder/ReadSheetHolder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/ReadSheetHolder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/read/metadata/holder/ReadWorkbookHolder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/ReadWorkbookHolder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/read/metadata/holder/ReadWorkbookHolder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/ReadWorkbookHolder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/read/metadata/holder/csv/CsvReadSheetHolder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/csv/CsvReadSheetHolder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/read/metadata/holder/csv/CsvReadSheetHolder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/csv/CsvReadSheetHolder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/read/metadata/holder/csv/CsvReadWorkbookHolder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/csv/CsvReadWorkbookHolder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/read/metadata/holder/csv/CsvReadWorkbookHolder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/csv/CsvReadWorkbookHolder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/read/metadata/holder/xls/XlsReadSheetHolder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/xls/XlsReadSheetHolder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/read/metadata/holder/xls/XlsReadSheetHolder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/xls/XlsReadSheetHolder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/read/metadata/holder/xls/XlsReadWorkbookHolder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/xls/XlsReadWorkbookHolder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/read/metadata/holder/xls/XlsReadWorkbookHolder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/xls/XlsReadWorkbookHolder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/read/metadata/holder/xlsx/XlsxReadSheetHolder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/xlsx/XlsxReadSheetHolder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/read/metadata/holder/xlsx/XlsxReadSheetHolder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/xlsx/XlsxReadSheetHolder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/read/metadata/holder/xlsx/XlsxReadWorkbookHolder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/xlsx/XlsxReadWorkbookHolder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/read/metadata/holder/xlsx/XlsxReadWorkbookHolder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/xlsx/XlsxReadWorkbookHolder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/read/metadata/property/ExcelReadHeadProperty.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/property/ExcelReadHeadProperty.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/read/metadata/property/ExcelReadHeadProperty.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/property/ExcelReadHeadProperty.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/read/processor/AnalysisEventProcessor.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/processor/AnalysisEventProcessor.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/read/processor/AnalysisEventProcessor.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/read/processor/AnalysisEventProcessor.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/read/processor/DefaultAnalysisEventProcessor.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/processor/DefaultAnalysisEventProcessor.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/read/processor/DefaultAnalysisEventProcessor.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/read/processor/DefaultAnalysisEventProcessor.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/support/ExcelTypeEnum.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/support/ExcelTypeEnum.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/support/ExcelTypeEnum.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/support/ExcelTypeEnum.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/BeanMapUtils.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/BeanMapUtils.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/util/BeanMapUtils.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/util/BeanMapUtils.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/BooleanUtils.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/BooleanUtils.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/util/BooleanUtils.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/util/BooleanUtils.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/ClassUtils.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/ClassUtils.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/util/ClassUtils.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/util/ClassUtils.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/ConverterUtils.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/ConverterUtils.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/util/ConverterUtils.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/util/ConverterUtils.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/DateUtils.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/DateUtils.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/util/DateUtils.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/util/DateUtils.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/FastExcelTempFileCreationStrategy.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/FastExcelTempFileCreationStrategy.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/util/FastExcelTempFileCreationStrategy.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/util/FastExcelTempFileCreationStrategy.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/FieldUtils.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/FieldUtils.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/util/FieldUtils.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/util/FieldUtils.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/FileTypeUtils.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/FileTypeUtils.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/util/FileTypeUtils.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/util/FileTypeUtils.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/FileUtils.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/FileUtils.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/util/FileUtils.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/util/FileUtils.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/IntUtils.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/IntUtils.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/util/IntUtils.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/util/IntUtils.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/IoUtils.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/IoUtils.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/util/IoUtils.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/util/IoUtils.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/ListUtils.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/ListUtils.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/util/ListUtils.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/util/ListUtils.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/MapUtils.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/MapUtils.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/util/MapUtils.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/util/MapUtils.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/MemberUtils.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/MemberUtils.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/util/MemberUtils.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/util/MemberUtils.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/NumberDataFormatterUtils.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/NumberDataFormatterUtils.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/util/NumberDataFormatterUtils.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/util/NumberDataFormatterUtils.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/NumberUtils.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/NumberUtils.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/util/NumberUtils.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/util/NumberUtils.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/ParameterUtil.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/ParameterUtil.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/util/ParameterUtil.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/util/ParameterUtil.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/PoiUtils.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/PoiUtils.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/util/PoiUtils.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/util/PoiUtils.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/PositionUtils.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/PositionUtils.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/util/PositionUtils.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/util/PositionUtils.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/SheetUtils.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/SheetUtils.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/util/SheetUtils.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/util/SheetUtils.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/StringUtils.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/StringUtils.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/util/StringUtils.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/util/StringUtils.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/StyleUtil.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/StyleUtil.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/util/StyleUtil.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/util/StyleUtil.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/Validate.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/Validate.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/util/Validate.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/util/Validate.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/WorkBookUtil.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/WorkBookUtil.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/util/WorkBookUtil.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/util/WorkBookUtil.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/util/WriteHandlerUtils.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/WriteHandlerUtils.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/util/WriteHandlerUtils.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/util/WriteHandlerUtils.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/ExcelBuilder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/ExcelBuilder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/ExcelBuilder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/ExcelBuilder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/ExcelBuilderImpl.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/ExcelBuilderImpl.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/ExcelBuilderImpl.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/ExcelBuilderImpl.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/builder/AbstractExcelWriterParameterBuilder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/builder/AbstractExcelWriterParameterBuilder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/builder/AbstractExcelWriterParameterBuilder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/builder/AbstractExcelWriterParameterBuilder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/builder/CsvWriterBuilder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/builder/CsvWriterBuilder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/builder/CsvWriterBuilder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/builder/CsvWriterBuilder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/builder/ExcelWriterBuilder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/builder/ExcelWriterBuilder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/builder/ExcelWriterBuilder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/builder/ExcelWriterBuilder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/builder/ExcelWriterSheetBuilder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/builder/ExcelWriterSheetBuilder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/builder/ExcelWriterSheetBuilder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/builder/ExcelWriterSheetBuilder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/builder/ExcelWriterTableBuilder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/builder/ExcelWriterTableBuilder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/builder/ExcelWriterTableBuilder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/builder/ExcelWriterTableBuilder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/executor/AbstractExcelWriteExecutor.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/executor/AbstractExcelWriteExecutor.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/executor/AbstractExcelWriteExecutor.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/executor/AbstractExcelWriteExecutor.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/executor/ExcelWriteAddExecutor.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/executor/ExcelWriteAddExecutor.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/executor/ExcelWriteAddExecutor.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/executor/ExcelWriteAddExecutor.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/executor/ExcelWriteExecutor.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/executor/ExcelWriteExecutor.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/executor/ExcelWriteExecutor.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/executor/ExcelWriteExecutor.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/executor/ExcelWriteFillExecutor.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/executor/ExcelWriteFillExecutor.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/executor/ExcelWriteFillExecutor.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/executor/ExcelWriteFillExecutor.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/handler/AbstractCellWriteHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/AbstractCellWriteHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/handler/AbstractCellWriteHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/AbstractCellWriteHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/handler/AbstractRowWriteHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/AbstractRowWriteHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/handler/AbstractRowWriteHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/AbstractRowWriteHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/handler/AbstractSheetWriteHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/AbstractSheetWriteHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/handler/AbstractSheetWriteHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/AbstractSheetWriteHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/handler/AbstractWorkbookWriteHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/AbstractWorkbookWriteHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/handler/AbstractWorkbookWriteHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/AbstractWorkbookWriteHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/handler/CellWriteHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/CellWriteHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/handler/CellWriteHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/CellWriteHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/handler/DefaultWriteHandlerLoader.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/DefaultWriteHandlerLoader.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/handler/DefaultWriteHandlerLoader.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/DefaultWriteHandlerLoader.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/handler/EscapeHexCellWriteHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/EscapeHexCellWriteHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/handler/EscapeHexCellWriteHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/EscapeHexCellWriteHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/handler/RowWriteHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/RowWriteHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/handler/RowWriteHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/RowWriteHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/handler/SheetWriteHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/SheetWriteHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/handler/SheetWriteHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/SheetWriteHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/handler/WorkbookWriteHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/WorkbookWriteHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/handler/WorkbookWriteHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/WorkbookWriteHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/handler/WriteHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/WriteHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/handler/WriteHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/WriteHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/handler/chain/CellHandlerExecutionChain.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/chain/CellHandlerExecutionChain.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/handler/chain/CellHandlerExecutionChain.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/chain/CellHandlerExecutionChain.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/handler/chain/RowHandlerExecutionChain.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/chain/RowHandlerExecutionChain.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/handler/chain/RowHandlerExecutionChain.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/chain/RowHandlerExecutionChain.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/handler/chain/SheetHandlerExecutionChain.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/chain/SheetHandlerExecutionChain.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/handler/chain/SheetHandlerExecutionChain.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/chain/SheetHandlerExecutionChain.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/handler/chain/WorkbookHandlerExecutionChain.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/chain/WorkbookHandlerExecutionChain.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/handler/chain/WorkbookHandlerExecutionChain.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/chain/WorkbookHandlerExecutionChain.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/handler/context/CellWriteHandlerContext.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/context/CellWriteHandlerContext.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/handler/context/CellWriteHandlerContext.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/context/CellWriteHandlerContext.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/handler/context/RowWriteHandlerContext.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/context/RowWriteHandlerContext.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/handler/context/RowWriteHandlerContext.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/context/RowWriteHandlerContext.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/handler/context/SheetWriteHandlerContext.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/context/SheetWriteHandlerContext.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/handler/context/SheetWriteHandlerContext.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/context/SheetWriteHandlerContext.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/handler/context/WorkbookWriteHandlerContext.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/context/WorkbookWriteHandlerContext.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/handler/context/WorkbookWriteHandlerContext.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/context/WorkbookWriteHandlerContext.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/handler/impl/DefaultRowWriteHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/impl/DefaultRowWriteHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/handler/impl/DefaultRowWriteHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/impl/DefaultRowWriteHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/handler/impl/DimensionWorkbookWriteHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/impl/DimensionWorkbookWriteHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/handler/impl/DimensionWorkbookWriteHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/impl/DimensionWorkbookWriteHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/handler/impl/FillStyleCellWriteHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/impl/FillStyleCellWriteHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/handler/impl/FillStyleCellWriteHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/impl/FillStyleCellWriteHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/handler/impl/WriteSheetWorkbookWriteHandler.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/impl/WriteSheetWorkbookWriteHandler.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/handler/impl/WriteSheetWorkbookWriteHandler.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/impl/WriteSheetWorkbookWriteHandler.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/merge/AbstractMergeStrategy.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/merge/AbstractMergeStrategy.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/merge/AbstractMergeStrategy.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/merge/AbstractMergeStrategy.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/merge/LoopMergeStrategy.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/merge/LoopMergeStrategy.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/merge/LoopMergeStrategy.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/merge/LoopMergeStrategy.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/merge/OnceAbsoluteMergeStrategy.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/merge/OnceAbsoluteMergeStrategy.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/merge/OnceAbsoluteMergeStrategy.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/merge/OnceAbsoluteMergeStrategy.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/metadata/CollectionRowData.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/CollectionRowData.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/metadata/CollectionRowData.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/CollectionRowData.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/metadata/MapRowData.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/MapRowData.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/metadata/MapRowData.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/MapRowData.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/metadata/RowData.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/RowData.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/metadata/RowData.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/RowData.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/metadata/WriteBasicParameter.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/WriteBasicParameter.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/metadata/WriteBasicParameter.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/WriteBasicParameter.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/metadata/WriteSheet.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/WriteSheet.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/metadata/WriteSheet.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/WriteSheet.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/metadata/WriteTable.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/WriteTable.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/metadata/WriteTable.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/WriteTable.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/metadata/WriteWorkbook.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/WriteWorkbook.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/metadata/WriteWorkbook.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/WriteWorkbook.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/metadata/fill/AnalysisCell.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/fill/AnalysisCell.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/metadata/fill/AnalysisCell.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/fill/AnalysisCell.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/metadata/fill/FillConfig.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/fill/FillConfig.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/metadata/fill/FillConfig.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/fill/FillConfig.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/metadata/fill/FillWrapper.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/fill/FillWrapper.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/metadata/fill/FillWrapper.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/fill/FillWrapper.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/metadata/holder/AbstractWriteHolder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/holder/AbstractWriteHolder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/metadata/holder/AbstractWriteHolder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/holder/AbstractWriteHolder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/metadata/holder/WriteHolder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/holder/WriteHolder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/metadata/holder/WriteHolder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/holder/WriteHolder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/metadata/holder/WriteSheetHolder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/holder/WriteSheetHolder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/metadata/holder/WriteSheetHolder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/holder/WriteSheetHolder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/metadata/holder/WriteTableHolder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/holder/WriteTableHolder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/metadata/holder/WriteTableHolder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/holder/WriteTableHolder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/metadata/holder/WriteWorkbookHolder.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/holder/WriteWorkbookHolder.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/metadata/holder/WriteWorkbookHolder.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/holder/WriteWorkbookHolder.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/metadata/style/WriteCellStyle.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/style/WriteCellStyle.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/metadata/style/WriteCellStyle.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/style/WriteCellStyle.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/metadata/style/WriteFont.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/style/WriteFont.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/metadata/style/WriteFont.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/style/WriteFont.java
diff --git a/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/property/ExcelWriteHeadProperty.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/property/ExcelWriteHeadProperty.java
new file mode 100644
index 00000000..4bf2e673
--- /dev/null
+++ b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/property/ExcelWriteHeadProperty.java
@@ -0,0 +1,287 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.fesod.sheet.write.property;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
+import org.apache.fesod.sheet.annotation.write.style.ColumnWidth;
+import org.apache.fesod.sheet.annotation.write.style.ContentLoopMerge;
+import org.apache.fesod.sheet.annotation.write.style.ContentRowHeight;
+import org.apache.fesod.sheet.annotation.write.style.HeadFontStyle;
+import org.apache.fesod.sheet.annotation.write.style.HeadRowHeight;
+import org.apache.fesod.sheet.annotation.write.style.HeadStyle;
+import org.apache.fesod.sheet.annotation.write.style.OnceAbsoluteMerge;
+import org.apache.fesod.sheet.enums.HeadKindEnum;
+import org.apache.fesod.sheet.enums.HeaderMergeStrategy;
+import org.apache.fesod.sheet.metadata.CellRange;
+import org.apache.fesod.sheet.metadata.ConfigurationHolder;
+import org.apache.fesod.sheet.metadata.Head;
+import org.apache.fesod.sheet.metadata.property.ColumnWidthProperty;
+import org.apache.fesod.sheet.metadata.property.ExcelHeadProperty;
+import org.apache.fesod.sheet.metadata.property.FontProperty;
+import org.apache.fesod.sheet.metadata.property.LoopMergeProperty;
+import org.apache.fesod.sheet.metadata.property.OnceAbsoluteMergeProperty;
+import org.apache.fesod.sheet.metadata.property.RowHeightProperty;
+import org.apache.fesod.sheet.metadata.property.StyleProperty;
+
+/**
+ * Define the header attribute of excel
+ *
+ */
+@Getter
+@Setter
+@EqualsAndHashCode
+public class ExcelWriteHeadProperty extends ExcelHeadProperty {
+
+ private RowHeightProperty headRowHeightProperty;
+ private RowHeightProperty contentRowHeightProperty;
+ private OnceAbsoluteMergeProperty onceAbsoluteMergeProperty;
+
+ public ExcelWriteHeadProperty(
+ ConfigurationHolder configurationHolder, Class<?> headClazz, List<List<String>> head) {
+ super(configurationHolder, headClazz, head);
+ if (getHeadKind() != HeadKindEnum.CLASS) {
+ return;
+ }
+ this.headRowHeightProperty = RowHeightProperty.build(headClazz.getAnnotation(HeadRowHeight.class));
+ this.contentRowHeightProperty = RowHeightProperty.build(headClazz.getAnnotation(ContentRowHeight.class));
+ this.onceAbsoluteMergeProperty =
+ OnceAbsoluteMergeProperty.build(headClazz.getAnnotation(OnceAbsoluteMerge.class));
+
+ ColumnWidth parentColumnWidth = headClazz.getAnnotation(ColumnWidth.class);
+ HeadStyle parentHeadStyle = headClazz.getAnnotation(HeadStyle.class);
+ HeadFontStyle parentHeadFontStyle = headClazz.getAnnotation(HeadFontStyle.class);
+
+ for (Map.Entry<Integer, Head> entry : getHeadMap().entrySet()) {
+ Head headData = entry.getValue();
+ if (headData == null) {
+ throw new IllegalArgumentException(
+ "Passing in the class and list the head, the two must be the same size.");
+ }
+ Field field = headData.getField();
+
+ ColumnWidth columnWidth = field.getAnnotation(ColumnWidth.class);
+ if (columnWidth == null) {
+ columnWidth = parentColumnWidth;
+ }
+ headData.setColumnWidthProperty(ColumnWidthProperty.build(columnWidth));
+
+ HeadStyle headStyle = field.getAnnotation(HeadStyle.class);
+ if (headStyle == null) {
+ headStyle = parentHeadStyle;
+ }
+ headData.setHeadStyleProperty(StyleProperty.build(headStyle));
+
+ HeadFontStyle headFontStyle = field.getAnnotation(HeadFontStyle.class);
+ if (headFontStyle == null) {
+ headFontStyle = parentHeadFontStyle;
+ }
+ headData.setHeadFontProperty(FontProperty.build(headFontStyle));
+
+ headData.setLoopMergeProperty(LoopMergeProperty.build(field.getAnnotation(ContentLoopMerge.class)));
+ }
+ }
+
+ /**
+ * Calculate all cells that need to be merged
+ *
+ * @return cells that need to be merged
+ * @deprecated Use {@link #headCellRangeList(HeaderMergeStrategy)} instead
+ */
+ @Deprecated
+ public List<CellRange> headCellRangeList() {
+ return headCellRangeList(HeaderMergeStrategy.AUTO);
+ }
+
+ /**
+ * Calculate all cells that need to be merged based on the merge strategy
+ *
+ * @param mergeStrategy The merge strategy to use
+ * @return cells that need to be merged
+ */
+ public List<CellRange> headCellRangeList(HeaderMergeStrategy mergeStrategy) {
+ if (mergeStrategy == null || mergeStrategy == HeaderMergeStrategy.NONE) {
+ return new ArrayList<>();
+ }
+
+ List<CellRange> cellRangeList = new ArrayList<>();
+ Set<String> alreadyRangeSet = new HashSet<>();
+ List<Head> headList = new ArrayList<>(getHeadMap().values());
+
+ for (int i = 0; i < headList.size(); i++) {
+ Head head = headList.get(i);
+ List<String> headNameList = head.getHeadNameList();
+ for (int j = 0; j < headNameList.size(); j++) {
+ if (alreadyRangeSet.contains(i + "-" + j)) {
+ continue;
+ }
+ alreadyRangeSet.add(i + "-" + j);
+ String headName = headNameList.get(j);
+ int lastCol = i;
+ int lastRow = j;
+
+ // Horizontal merge (if allowed by strategy)
+ if (mergeStrategy == HeaderMergeStrategy.HORIZONTAL_ONLY
+ || mergeStrategy == HeaderMergeStrategy.FULL_RECTANGLE
+ || mergeStrategy == HeaderMergeStrategy.AUTO) {
+ for (int k = i + 1; k < headList.size(); k++) {
+ String key = k + "-" + j;
+ if (headList.get(k).getHeadNameList().size() > j
+ && Objects.equals(
+ headList.get(k).getHeadNameList().get(j), headName)
+ && !alreadyRangeSet.contains(key)) {
+ alreadyRangeSet.add(key);
+ lastCol = k;
+ } else {
+ break;
+ }
+ }
+ }
+
+ // Vertical merge (if allowed by strategy)
+ Set<String> tempAlreadyRangeSet = new HashSet<>();
+ if (mergeStrategy == HeaderMergeStrategy.VERTICAL_ONLY
+ || mergeStrategy == HeaderMergeStrategy.FULL_RECTANGLE
+ || mergeStrategy == HeaderMergeStrategy.AUTO) {
+ outer:
+ for (int k = j + 1; k < headNameList.size(); k++) {
+ // For FULL_RECTANGLE and AUTO, verify all cells in the row
+ boolean canMerge = true;
+ for (int l = i; l <= lastCol; l++) {
+ String key = l + "-" + k;
+ if (headList.get(l).getHeadNameList().size() <= k
+ || !Objects.equals(
+ headList.get(l).getHeadNameList().get(k), headName)
+ || alreadyRangeSet.contains(key)) {
+ canMerge = false;
+ break;
+ }
+ }
+
+ // For AUTO strategy, also check context consistency
+ if (canMerge && mergeStrategy == HeaderMergeStrategy.AUTO) {
+ canMerge = canMergeVertically(headList, j, k, i, lastCol);
+ }
+
+ if (canMerge) {
+ for (int l = i; l <= lastCol; l++) {
+ String key = l + "-" + k;
+ tempAlreadyRangeSet.add(key);
+ }
+ lastRow = k;
+ } else {
+ break outer;
+ }
+ }
+ alreadyRangeSet.addAll(tempAlreadyRangeSet);
+ }
+
+ // For FULL_RECTANGLE strategy, verify the entire rectangle is valid
+ if (mergeStrategy == HeaderMergeStrategy.FULL_RECTANGLE) {
+ if (!isValidRectangleRegion(headList, j, lastRow, i, lastCol, headName)) {
+ // If rectangle is invalid, fall back to single cell (no merge)
+ continue;
+ }
+ }
+
+ // Add merge range if it's larger than a single cell
+ if (j != lastRow || i != lastCol) {
+ cellRangeList.add(new CellRange(
+ j,
+ lastRow,
+ head.getColumnIndex(),
+ headList.get(lastCol).getColumnIndex()));
+ }
+ }
+ }
+ return cellRangeList;
+ }
+
+ /**
+ * Check if two rows can be merged vertically based on context consistency
+ *
+ * @param headList The list of heads
+ * @param row1 First row index
+ * @param row2 Second row index
+ * @param startCol Start column index
+ * @param endCol End column index
+ * @return true if the rows can be merged
+ */
+ private boolean canMergeVertically(List<Head> headList, int row1, int row2, int startCol, int endCol) {
+ // Check if there's a row above that provides context
+ if (row1 > 0) {
+ // Check if all cells in the range have the same context above
+ for (int col = startCol; col <= endCol; col++) {
+ boolean hasUpper1 = headList.get(col).getHeadNameList().size() > row1;
+ boolean hasUpper2 = headList.get(col).getHeadNameList().size() > row2;
+
+ // If one row has upper context but the other doesn't, don't merge
+ if (hasUpper1 != hasUpper2) {
+ return false;
+ }
+
+ if (hasUpper1) {
+ String upper1 = headList.get(col).getHeadNameList().get(row1 - 1);
+ String upper2 = headList.get(col).getHeadNameList().get(row2 - 1);
+ // If context (upper cells) is different, don't merge
+ if (!Objects.equals(upper1, upper2)) {
+ return false;
+ }
+ }
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Verify if a rectangle region is valid (all cells exist and have the same name)
+ *
+ * @param headList The list of heads
+ * @param startRow Start row index
+ * @param endRow End row index
+ * @param startCol Start column index
+ * @param endCol End column index
+ * @param expectedName Expected cell name
+ * @return true if the rectangle is valid
+ */
+ private boolean isValidRectangleRegion(
+ List<Head> headList, int startRow, int endRow, int startCol, int endCol, String expectedName) {
+ for (int row = startRow; row <= endRow; row++) {
+ for (int col = startCol; col <= endCol; col++) {
+ if (headList.get(col).getHeadNameList().size() <= row) {
+ return false; // Cell doesn't exist
+ }
+ String cellName = headList.get(col).getHeadNameList().get(row);
+ if (!Objects.equals(expectedName, cellName)) {
+ return false; // Cell name doesn't match
+ }
+ }
+ }
+ return true;
+ }
+}
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/style/AbstractCellStyleStrategy.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/AbstractCellStyleStrategy.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/style/AbstractCellStyleStrategy.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/AbstractCellStyleStrategy.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/style/AbstractVerticalCellStyleStrategy.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/AbstractVerticalCellStyleStrategy.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/style/AbstractVerticalCellStyleStrategy.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/AbstractVerticalCellStyleStrategy.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/style/DefaultStyle.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/DefaultStyle.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/style/DefaultStyle.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/DefaultStyle.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/style/HorizontalCellStyleStrategy.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/HorizontalCellStyleStrategy.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/style/HorizontalCellStyleStrategy.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/HorizontalCellStyleStrategy.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/style/column/AbstractColumnWidthStyleStrategy.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/column/AbstractColumnWidthStyleStrategy.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/style/column/AbstractColumnWidthStyleStrategy.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/column/AbstractColumnWidthStyleStrategy.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/style/column/AbstractHeadColumnWidthStyleStrategy.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/column/AbstractHeadColumnWidthStyleStrategy.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/style/column/AbstractHeadColumnWidthStyleStrategy.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/column/AbstractHeadColumnWidthStyleStrategy.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/style/column/LongestMatchColumnWidthStyleStrategy.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/column/LongestMatchColumnWidthStyleStrategy.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/style/column/LongestMatchColumnWidthStyleStrategy.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/column/LongestMatchColumnWidthStyleStrategy.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/style/column/SimpleColumnWidthStyleStrategy.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/column/SimpleColumnWidthStyleStrategy.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/style/column/SimpleColumnWidthStyleStrategy.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/column/SimpleColumnWidthStyleStrategy.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/style/row/AbstractRowHeightStyleStrategy.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/row/AbstractRowHeightStyleStrategy.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/style/row/AbstractRowHeightStyleStrategy.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/row/AbstractRowHeightStyleStrategy.java
diff --git a/fesod/src/main/java/org/apache/fesod/sheet/write/style/row/SimpleRowHeightStyleStrategy.java b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/row/SimpleRowHeightStyleStrategy.java
similarity index 100%
rename from fesod/src/main/java/org/apache/fesod/sheet/write/style/row/SimpleRowHeightStyleStrategy.java
rename to fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/row/SimpleRowHeightStyleStrategy.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/FesodSheetTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/FesodSheetTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/FesodSheetTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/FesodSheetTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/analysis/ExcelAnalyserOldBiffTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/analysis/ExcelAnalyserOldBiffTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/analysis/ExcelAnalyserOldBiffTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/analysis/ExcelAnalyserOldBiffTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/annotation/AnnotationData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/annotation/AnnotationData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/annotation/AnnotationData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/annotation/AnnotationData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/annotation/AnnotationDataListener.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/annotation/AnnotationDataListener.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/annotation/AnnotationDataListener.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/annotation/AnnotationDataListener.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/annotation/AnnotationDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/annotation/AnnotationDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/annotation/AnnotationDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/annotation/AnnotationDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/annotation/AnnotationIndexAndNameData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/annotation/AnnotationIndexAndNameData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/annotation/AnnotationIndexAndNameData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/annotation/AnnotationIndexAndNameData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/annotation/AnnotationIndexAndNameDataListener.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/annotation/AnnotationIndexAndNameDataListener.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/annotation/AnnotationIndexAndNameDataListener.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/annotation/AnnotationIndexAndNameDataListener.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/annotation/AnnotationIndexAndNameDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/annotation/AnnotationIndexAndNameDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/annotation/AnnotationIndexAndNameDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/annotation/AnnotationIndexAndNameDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/annotation/AnnotationStyleData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/annotation/AnnotationStyleData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/annotation/AnnotationStyleData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/annotation/AnnotationStyleData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/annotation/ExcelPropertyFormatTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/annotation/ExcelPropertyFormatTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/annotation/ExcelPropertyFormatTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/annotation/ExcelPropertyFormatTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/bom/BomData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/bom/BomData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/bom/BomData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/bom/BomData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/bom/BomDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/bom/BomDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/bom/BomDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/bom/BomDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/cache/CacheData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/cache/CacheData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/cache/CacheData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/cache/CacheData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/cache/CacheDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/cache/CacheDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/cache/CacheDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/cache/CacheDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/cache/CacheInvokeData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/cache/CacheInvokeData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/cache/CacheInvokeData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/cache/CacheInvokeData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/cache/CacheInvokeMemoryData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/cache/CacheInvokeMemoryData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/cache/CacheInvokeMemoryData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/cache/CacheInvokeMemoryData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/celldata/CellDataDataListener.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/celldata/CellDataDataListener.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/celldata/CellDataDataListener.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/celldata/CellDataDataListener.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/celldata/CellDataDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/celldata/CellDataDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/celldata/CellDataDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/celldata/CellDataDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/celldata/CellDataReadData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/celldata/CellDataReadData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/celldata/CellDataReadData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/celldata/CellDataReadData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/celldata/CellDataWriteData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/celldata/CellDataWriteData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/celldata/CellDataWriteData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/celldata/CellDataWriteData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/charset/CharsetData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/charset/CharsetData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/charset/CharsetData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/charset/CharsetData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/charset/CharsetDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/charset/CharsetDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/charset/CharsetDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/charset/CharsetDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/compatibility/CompatibilityTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/compatibility/CompatibilityTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/compatibility/CompatibilityTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/compatibility/CompatibilityTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/converter/ConverterDataListener.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/converter/ConverterDataListener.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/converter/ConverterDataListener.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/converter/ConverterDataListener.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/converter/ConverterDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/converter/ConverterDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/converter/ConverterDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/converter/ConverterDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/converter/ConverterReadData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/converter/ConverterReadData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/converter/ConverterReadData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/converter/ConverterReadData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/converter/ConverterTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/converter/ConverterTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/converter/ConverterTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/converter/ConverterTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/converter/ConverterWriteData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/converter/ConverterWriteData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/converter/ConverterWriteData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/converter/ConverterWriteData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/converter/CustomConverterTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/converter/CustomConverterTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/converter/CustomConverterTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/converter/CustomConverterTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/converter/CustomConverterWriteData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/converter/CustomConverterWriteData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/converter/CustomConverterWriteData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/converter/CustomConverterWriteData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/converter/ImageData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/converter/ImageData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/converter/ImageData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/converter/ImageData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/converter/ReadAllConverterData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/converter/ReadAllConverterData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/converter/ReadAllConverterData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/converter/ReadAllConverterData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/converter/ReadAllConverterDataListener.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/converter/ReadAllConverterDataListener.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/converter/ReadAllConverterDataListener.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/converter/ReadAllConverterDataListener.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/converter/TimestampNumberConverter.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/converter/TimestampNumberConverter.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/converter/TimestampNumberConverter.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/converter/TimestampNumberConverter.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/converter/TimestampStringConverter.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/converter/TimestampStringConverter.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/converter/TimestampStringConverter.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/converter/TimestampStringConverter.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/csv/CsvBenignErrorToleranceTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/csv/CsvBenignErrorToleranceTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/csv/CsvBenignErrorToleranceTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/csv/CsvBenignErrorToleranceTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/csv/CsvData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/csv/CsvData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/csv/CsvData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/csv/CsvData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/csv/CsvDataListener.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/csv/CsvDataListener.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/csv/CsvDataListener.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/csv/CsvDataListener.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/csv/CsvFormatTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/csv/CsvFormatTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/csv/CsvFormatTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/csv/CsvFormatTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/data/DemoData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/data/DemoData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/data/DemoData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/data/DemoData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/dataformat/DateFormatData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/dataformat/DateFormatData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/dataformat/DateFormatData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/dataformat/DateFormatData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/dataformat/DateFormatTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/dataformat/DateFormatTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/dataformat/DateFormatTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/dataformat/DateFormatTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/encrypt/EncryptData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/encrypt/EncryptData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/encrypt/EncryptData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/encrypt/EncryptData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/encrypt/EncryptDataListener.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/encrypt/EncryptDataListener.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/encrypt/EncryptDataListener.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/encrypt/EncryptDataListener.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/encrypt/EncryptDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/encrypt/EncryptDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/encrypt/EncryptDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/encrypt/EncryptDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/exception/ExcelAnalysisStopSheetExceptionDataListener.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/exception/ExcelAnalysisStopSheetExceptionDataListener.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/exception/ExcelAnalysisStopSheetExceptionDataListener.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/exception/ExcelAnalysisStopSheetExceptionDataListener.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/exception/ExceptionData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/exception/ExceptionData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/exception/ExceptionData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/exception/ExceptionData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/exception/ExceptionDataListener.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/exception/ExceptionDataListener.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/exception/ExceptionDataListener.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/exception/ExceptionDataListener.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/exception/ExceptionDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/exception/ExceptionDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/exception/ExceptionDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/exception/ExceptionDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/exception/ExceptionThrowDataListener.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/exception/ExceptionThrowDataListener.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/exception/ExceptionThrowDataListener.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/exception/ExceptionThrowDataListener.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/exception/XlsxSaxAnalyserReadOpcPackageTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/exception/XlsxSaxAnalyserReadOpcPackageTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/exception/XlsxSaxAnalyserReadOpcPackageTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/exception/XlsxSaxAnalyserReadOpcPackageTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/excludeorinclude/ExcludeOrIncludeData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/excludeorinclude/ExcludeOrIncludeData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/excludeorinclude/ExcludeOrIncludeData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/excludeorinclude/ExcludeOrIncludeData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/excludeorinclude/ExcludeOrIncludeDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/excludeorinclude/ExcludeOrIncludeDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/excludeorinclude/ExcludeOrIncludeDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/excludeorinclude/ExcludeOrIncludeDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/extra/ExtraData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/extra/ExtraData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/extra/ExtraData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/extra/ExtraData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/extra/ExtraDataListener.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/extra/ExtraDataListener.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/extra/ExtraDataListener.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/extra/ExtraDataListener.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/extra/ExtraDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/extra/ExtraDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/extra/ExtraDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/extra/ExtraDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/fill/FillData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/fill/FillData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/fill/FillData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/fill/FillData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/fill/FillDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/fill/FillDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/fill/FillDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/fill/FillDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/fill/annotation/FillAnnotationData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/fill/annotation/FillAnnotationData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/fill/annotation/FillAnnotationData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/fill/annotation/FillAnnotationData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/fill/annotation/FillAnnotationDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/fill/annotation/FillAnnotationDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/fill/annotation/FillAnnotationDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/fill/annotation/FillAnnotationDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/fill/style/FillStyleAnnotatedData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/fill/style/FillStyleAnnotatedData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/fill/style/FillStyleAnnotatedData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/fill/style/FillStyleAnnotatedData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/fill/style/FillStyleAnnotatedTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/fill/style/FillStyleAnnotatedTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/fill/style/FillStyleAnnotatedTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/fill/style/FillStyleAnnotatedTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/fill/style/FillStyleData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/fill/style/FillStyleData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/fill/style/FillStyleData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/fill/style/FillStyleData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/fill/style/FillStyleDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/fill/style/FillStyleDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/fill/style/FillStyleDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/fill/style/FillStyleDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/fuzz/ExcelReadFuzzTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/fuzz/ExcelReadFuzzTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/fuzz/ExcelReadFuzzTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/fuzz/ExcelReadFuzzTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/fuzz/XlsReadFuzzTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/fuzz/XlsReadFuzzTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/fuzz/XlsReadFuzzTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/fuzz/XlsReadFuzzTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/handler/WriteHandler.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/handler/WriteHandler.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/handler/WriteHandler.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/handler/WriteHandler.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/handler/WriteHandlerData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/handler/WriteHandlerData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/handler/WriteHandlerData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/handler/WriteHandlerData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/handler/WriteHandlerTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/handler/WriteHandlerTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/handler/WriteHandlerTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/handler/WriteHandlerTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/head/ComplexDataListener.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/head/ComplexDataListener.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/head/ComplexDataListener.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/head/ComplexDataListener.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/head/ComplexHeadData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/head/ComplexHeadData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/head/ComplexHeadData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/head/ComplexHeadData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/head/ComplexHeadDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/head/ComplexHeadDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/head/ComplexHeadDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/head/ComplexHeadDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/head/HeaderMergeStrategyTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/head/HeaderMergeStrategyTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/head/HeaderMergeStrategyTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/head/HeaderMergeStrategyTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/head/ListHeadDataListener.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/head/ListHeadDataListener.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/head/ListHeadDataListener.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/head/ListHeadDataListener.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/head/ListHeadDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/head/ListHeadDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/head/ListHeadDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/head/ListHeadDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/head/MaxHeadReadListener.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/head/MaxHeadReadListener.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/head/MaxHeadReadListener.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/head/MaxHeadReadListener.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/head/MaxHeadSizeData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/head/MaxHeadSizeData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/head/MaxHeadSizeData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/head/MaxHeadSizeData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/head/MaxHeadSizeTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/head/MaxHeadSizeTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/head/MaxHeadSizeTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/head/MaxHeadSizeTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/head/NoHeadData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/head/NoHeadData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/head/NoHeadData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/head/NoHeadData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/head/NoHeadDataListener.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/head/NoHeadDataListener.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/head/NoHeadDataListener.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/head/NoHeadDataListener.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/head/NoHeadDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/head/NoHeadDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/head/NoHeadDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/head/NoHeadDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/hiddensheets/HiddenSheetsData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/hiddensheets/HiddenSheetsData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/hiddensheets/HiddenSheetsData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/hiddensheets/HiddenSheetsData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/hiddensheets/HiddenSheetsListener.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/hiddensheets/HiddenSheetsListener.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/hiddensheets/HiddenSheetsListener.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/hiddensheets/HiddenSheetsListener.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/hiddensheets/HiddenSheetsTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/hiddensheets/HiddenSheetsTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/hiddensheets/HiddenSheetsTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/hiddensheets/HiddenSheetsTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/large/LargeData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/large/LargeData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/large/LargeData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/large/LargeData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/large/LargeDataListener.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/large/LargeDataListener.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/large/LargeDataListener.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/large/LargeDataListener.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/large/LargeDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/large/LargeDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/large/LargeDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/large/LargeDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/multiplesheets/MultipleSheetsData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/multiplesheets/MultipleSheetsData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/multiplesheets/MultipleSheetsData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/multiplesheets/MultipleSheetsData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/multiplesheets/MultipleSheetsDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/multiplesheets/MultipleSheetsDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/multiplesheets/MultipleSheetsDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/multiplesheets/MultipleSheetsDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/multiplesheets/MultipleSheetsListener.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/multiplesheets/MultipleSheetsListener.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/multiplesheets/MultipleSheetsListener.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/multiplesheets/MultipleSheetsListener.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/nomodel/NoModelDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/nomodel/NoModelDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/nomodel/NoModelDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/nomodel/NoModelDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/noncamel/UnCamelData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/noncamel/UnCamelData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/noncamel/UnCamelData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/noncamel/UnCamelData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/noncamel/UnCamelDataListener.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/noncamel/UnCamelDataListener.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/noncamel/UnCamelDataListener.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/noncamel/UnCamelDataListener.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/noncamel/UnCamelDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/noncamel/UnCamelDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/noncamel/UnCamelDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/noncamel/UnCamelDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/parameter/AutoStripParameterTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/parameter/AutoStripParameterTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/parameter/AutoStripParameterTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/parameter/AutoStripParameterTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/parameter/DateWindowingListener.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/parameter/DateWindowingListener.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/parameter/DateWindowingListener.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/parameter/DateWindowingListener.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/parameter/DateWindowingTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/parameter/DateWindowingTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/parameter/DateWindowingTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/parameter/DateWindowingTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/parameter/ParameterData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/parameter/ParameterData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/parameter/ParameterData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/parameter/ParameterData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/parameter/ParameterDataListener.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/parameter/ParameterDataListener.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/parameter/ParameterDataListener.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/parameter/ParameterDataListener.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/parameter/ParameterDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/parameter/ParameterDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/parameter/ParameterDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/parameter/ParameterDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/repetition/RepetitionData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/repetition/RepetitionData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/repetition/RepetitionData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/repetition/RepetitionData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/repetition/RepetitionDataListener.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/repetition/RepetitionDataListener.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/repetition/RepetitionDataListener.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/repetition/RepetitionDataListener.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/repetition/RepetitionDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/repetition/RepetitionDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/repetition/RepetitionDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/repetition/RepetitionDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/simple/SimpleData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/simple/SimpleData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/simple/SimpleData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/simple/SimpleData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/simple/SimpleDataListener.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/simple/SimpleDataListener.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/simple/SimpleDataListener.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/simple/SimpleDataListener.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/simple/SimpleDataSheetNameListener.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/simple/SimpleDataSheetNameListener.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/simple/SimpleDataSheetNameListener.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/simple/SimpleDataSheetNameListener.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/simple/SimpleDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/simple/SimpleDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/simple/SimpleDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/simple/SimpleDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/skip/ClassUtilsFieldOverrideTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/skip/ClassUtilsFieldOverrideTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/skip/ClassUtilsFieldOverrideTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/skip/ClassUtilsFieldOverrideTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/skip/SkipData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/skip/SkipData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/skip/SkipData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/skip/SkipData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/skip/SkipDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/skip/SkipDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/skip/SkipDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/skip/SkipDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/sort/SortData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/sort/SortData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/sort/SortData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/sort/SortData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/sort/SortDataListener.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/sort/SortDataListener.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/sort/SortDataListener.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/sort/SortDataListener.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/sort/SortDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/sort/SortDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/sort/SortDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/sort/SortDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/style/StyleData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/style/StyleData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/style/StyleData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/style/StyleData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/style/StyleDataListener.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/style/StyleDataListener.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/style/StyleDataListener.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/style/StyleDataListener.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/style/StyleDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/style/StyleDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/style/StyleDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/style/StyleDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/template/TemplateData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/template/TemplateData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/template/TemplateData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/template/TemplateData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/template/TemplateDataListener.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/template/TemplateDataListener.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/template/TemplateDataListener.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/template/TemplateDataListener.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/template/TemplateDataTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/template/TemplateDataTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/template/TemplateDataTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/template/TemplateDataTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/util/StringUtilsTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/util/StringUtilsTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/util/StringUtilsTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/util/StringUtilsTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/util/StyleTestUtils.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/util/StyleTestUtils.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/util/StyleTestUtils.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/util/StyleTestUtils.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/util/StyleUtilTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/util/StyleUtilTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/util/StyleUtilTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/util/StyleUtilTest.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/util/TestFileUtil.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/util/TestFileUtil.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/util/TestFileUtil.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/util/TestFileUtil.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/util/TestUtil.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/util/TestUtil.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/util/TestUtil.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/util/TestUtil.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/writesheet/WriteSheetData.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/writesheet/WriteSheetData.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/writesheet/WriteSheetData.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/writesheet/WriteSheetData.java
diff --git a/fesod/src/test/java/org/apache/fesod/sheet/writesheet/WriteSheetTest.java b/fesod-sheet/src/test/java/org/apache/fesod/sheet/writesheet/WriteSheetTest.java
similarity index 100%
rename from fesod/src/test/java/org/apache/fesod/sheet/writesheet/WriteSheetTest.java
rename to fesod-sheet/src/test/java/org/apache/fesod/sheet/writesheet/WriteSheetTest.java
diff --git a/fesod/src/test/resources/bom/no_bom.csv b/fesod-sheet/src/test/resources/bom/no_bom.csv
similarity index 100%
rename from fesod/src/test/resources/bom/no_bom.csv
rename to fesod-sheet/src/test/resources/bom/no_bom.csv
diff --git a/fesod/src/test/resources/bom/office_bom.csv b/fesod-sheet/src/test/resources/bom/office_bom.csv
similarity index 100%
rename from fesod/src/test/resources/bom/office_bom.csv
rename to fesod-sheet/src/test/resources/bom/office_bom.csv
diff --git a/fesod/src/test/resources/cache/headt1.xls b/fesod-sheet/src/test/resources/cache/headt1.xls
similarity index 100%
rename from fesod/src/test/resources/cache/headt1.xls
rename to fesod-sheet/src/test/resources/cache/headt1.xls
diff --git a/fesod/src/test/resources/cache/t2.xlsx b/fesod-sheet/src/test/resources/cache/t2.xlsx
similarity index 100%
rename from fesod/src/test/resources/cache/t2.xlsx
rename to fesod-sheet/src/test/resources/cache/t2.xlsx
diff --git a/fesod/src/test/resources/comment/comment.xls b/fesod-sheet/src/test/resources/comment/comment.xls
similarity index 100%
rename from fesod/src/test/resources/comment/comment.xls
rename to fesod-sheet/src/test/resources/comment/comment.xls
diff --git a/fesod/src/test/resources/comment/comment.xlsx b/fesod-sheet/src/test/resources/comment/comment.xlsx
similarity index 100%
rename from fesod/src/test/resources/comment/comment.xlsx
rename to fesod-sheet/src/test/resources/comment/comment.xlsx
diff --git a/fesod/src/test/resources/compatibility/t01.xls b/fesod-sheet/src/test/resources/compatibility/t01.xls
similarity index 100%
rename from fesod/src/test/resources/compatibility/t01.xls
rename to fesod-sheet/src/test/resources/compatibility/t01.xls
diff --git a/fesod/src/test/resources/compatibility/t02.xlsx b/fesod-sheet/src/test/resources/compatibility/t02.xlsx
similarity index 100%
rename from fesod/src/test/resources/compatibility/t02.xlsx
rename to fesod-sheet/src/test/resources/compatibility/t02.xlsx
diff --git a/fesod/src/test/resources/compatibility/t03.xlsx b/fesod-sheet/src/test/resources/compatibility/t03.xlsx
similarity index 100%
rename from fesod/src/test/resources/compatibility/t03.xlsx
rename to fesod-sheet/src/test/resources/compatibility/t03.xlsx
diff --git a/fesod/src/test/resources/compatibility/t04.xlsx b/fesod-sheet/src/test/resources/compatibility/t04.xlsx
similarity index 100%
rename from fesod/src/test/resources/compatibility/t04.xlsx
rename to fesod-sheet/src/test/resources/compatibility/t04.xlsx
diff --git a/fesod/src/test/resources/compatibility/t05.xlsx b/fesod-sheet/src/test/resources/compatibility/t05.xlsx
similarity index 100%
rename from fesod/src/test/resources/compatibility/t05.xlsx
rename to fesod-sheet/src/test/resources/compatibility/t05.xlsx
diff --git a/fesod/src/test/resources/compatibility/t06.xlsx b/fesod-sheet/src/test/resources/compatibility/t06.xlsx
similarity index 100%
rename from fesod/src/test/resources/compatibility/t06.xlsx
rename to fesod-sheet/src/test/resources/compatibility/t06.xlsx
diff --git a/fesod/src/test/resources/compatibility/t07.xlsx b/fesod-sheet/src/test/resources/compatibility/t07.xlsx
similarity index 100%
rename from fesod/src/test/resources/compatibility/t07.xlsx
rename to fesod-sheet/src/test/resources/compatibility/t07.xlsx
diff --git a/fesod/src/test/resources/compatibility/t09.xlsx b/fesod-sheet/src/test/resources/compatibility/t09.xlsx
similarity index 100%
rename from fesod/src/test/resources/compatibility/t09.xlsx
rename to fesod-sheet/src/test/resources/compatibility/t09.xlsx
diff --git a/fesod/src/test/resources/converter/converter03.xls b/fesod-sheet/src/test/resources/converter/converter03.xls
similarity index 100%
rename from fesod/src/test/resources/converter/converter03.xls
rename to fesod-sheet/src/test/resources/converter/converter03.xls
diff --git a/fesod/src/test/resources/converter/converter07.xlsx b/fesod-sheet/src/test/resources/converter/converter07.xlsx
similarity index 100%
rename from fesod/src/test/resources/converter/converter07.xlsx
rename to fesod-sheet/src/test/resources/converter/converter07.xlsx
diff --git a/fesod/src/test/resources/converter/converterCsv.csv b/fesod-sheet/src/test/resources/converter/converterCsv.csv
similarity index 100%
rename from fesod/src/test/resources/converter/converterCsv.csv
rename to fesod-sheet/src/test/resources/converter/converterCsv.csv
diff --git a/fesod/src/test/resources/converter/img.jpg b/fesod-sheet/src/test/resources/converter/img.jpg
similarity index 100%
rename from fesod/src/test/resources/converter/img.jpg
rename to fesod-sheet/src/test/resources/converter/img.jpg
diff --git a/fesod/src/test/resources/csv/simple-delimiter.csv b/fesod-sheet/src/test/resources/csv/simple-delimiter.csv
similarity index 100%
rename from fesod/src/test/resources/csv/simple-delimiter.csv
rename to fesod-sheet/src/test/resources/csv/simple-delimiter.csv
diff --git a/fesod/src/test/resources/csv/simple-quote.csv b/fesod-sheet/src/test/resources/csv/simple-quote.csv
similarity index 100%
rename from fesod/src/test/resources/csv/simple-quote.csv
rename to fesod-sheet/src/test/resources/csv/simple-quote.csv
diff --git a/fesod/src/test/resources/csv/simple.csv b/fesod-sheet/src/test/resources/csv/simple.csv
similarity index 100%
rename from fesod/src/test/resources/csv/simple.csv
rename to fesod-sheet/src/test/resources/csv/simple.csv
diff --git a/fesod/src/test/resources/dataformat/dataformat.xls b/fesod-sheet/src/test/resources/dataformat/dataformat.xls
similarity index 100%
rename from fesod/src/test/resources/dataformat/dataformat.xls
rename to fesod-sheet/src/test/resources/dataformat/dataformat.xls
diff --git a/fesod/src/test/resources/dataformat/dataformat.xlsx b/fesod-sheet/src/test/resources/dataformat/dataformat.xlsx
similarity index 100%
rename from fesod/src/test/resources/dataformat/dataformat.xlsx
rename to fesod-sheet/src/test/resources/dataformat/dataformat.xlsx
diff --git a/fesod/src/test/resources/dataformat/dataformatv2.xlsx b/fesod-sheet/src/test/resources/dataformat/dataformatv2.xlsx
similarity index 100%
rename from fesod/src/test/resources/dataformat/dataformatv2.xlsx
rename to fesod-sheet/src/test/resources/dataformat/dataformatv2.xlsx
diff --git a/fesod/src/test/resources/datewindowing/1900DateWindowing.xls b/fesod-sheet/src/test/resources/datewindowing/1900DateWindowing.xls
similarity index 100%
rename from fesod/src/test/resources/datewindowing/1900DateWindowing.xls
rename to fesod-sheet/src/test/resources/datewindowing/1900DateWindowing.xls
diff --git a/fesod/src/test/resources/datewindowing/1904DateWindowing.xls b/fesod-sheet/src/test/resources/datewindowing/1904DateWindowing.xls
similarity index 100%
rename from fesod/src/test/resources/datewindowing/1904DateWindowing.xls
rename to fesod-sheet/src/test/resources/datewindowing/1904DateWindowing.xls
diff --git a/fesod/src/test/resources/demo/cellDataDemo.xlsx b/fesod-sheet/src/test/resources/demo/cellDataDemo.xlsx
similarity index 100%
rename from fesod/src/test/resources/demo/cellDataDemo.xlsx
rename to fesod-sheet/src/test/resources/demo/cellDataDemo.xlsx
diff --git a/fesod/src/test/resources/demo/demo.csv b/fesod-sheet/src/test/resources/demo/demo.csv
similarity index 100%
rename from fesod/src/test/resources/demo/demo.csv
rename to fesod-sheet/src/test/resources/demo/demo.csv
diff --git a/fesod/src/test/resources/demo/demo.xlsx b/fesod-sheet/src/test/resources/demo/demo.xlsx
similarity index 100%
rename from fesod/src/test/resources/demo/demo.xlsx
rename to fesod-sheet/src/test/resources/demo/demo.xlsx
diff --git a/fesod/src/test/resources/demo/extra.xlsx b/fesod-sheet/src/test/resources/demo/extra.xlsx
similarity index 100%
rename from fesod/src/test/resources/demo/extra.xlsx
rename to fesod-sheet/src/test/resources/demo/extra.xlsx
diff --git a/fesod/src/test/resources/demo/fill/complex.xlsx b/fesod-sheet/src/test/resources/demo/fill/complex.xlsx
similarity index 100%
rename from fesod/src/test/resources/demo/fill/complex.xlsx
rename to fesod-sheet/src/test/resources/demo/fill/complex.xlsx
diff --git a/fesod/src/test/resources/demo/fill/complexFillWithTable.xlsx b/fesod-sheet/src/test/resources/demo/fill/complexFillWithTable.xlsx
similarity index 100%
rename from fesod/src/test/resources/demo/fill/complexFillWithTable.xlsx
rename to fesod-sheet/src/test/resources/demo/fill/complexFillWithTable.xlsx
diff --git a/fesod/src/test/resources/demo/fill/composite.xlsx b/fesod-sheet/src/test/resources/demo/fill/composite.xlsx
similarity index 100%
rename from fesod/src/test/resources/demo/fill/composite.xlsx
rename to fesod-sheet/src/test/resources/demo/fill/composite.xlsx
diff --git a/fesod/src/test/resources/demo/fill/dateFormat.xlsx b/fesod-sheet/src/test/resources/demo/fill/dateFormat.xlsx
similarity index 100%
rename from fesod/src/test/resources/demo/fill/dateFormat.xlsx
rename to fesod-sheet/src/test/resources/demo/fill/dateFormat.xlsx
diff --git a/fesod/src/test/resources/demo/fill/horizontal.xlsx b/fesod-sheet/src/test/resources/demo/fill/horizontal.xlsx
similarity index 100%
rename from fesod/src/test/resources/demo/fill/horizontal.xlsx
rename to fesod-sheet/src/test/resources/demo/fill/horizontal.xlsx
diff --git a/fesod/src/test/resources/demo/fill/list.xlsx b/fesod-sheet/src/test/resources/demo/fill/list.xlsx
similarity index 100%
rename from fesod/src/test/resources/demo/fill/list.xlsx
rename to fesod-sheet/src/test/resources/demo/fill/list.xlsx
diff --git a/fesod/src/test/resources/demo/fill/simple.xlsx b/fesod-sheet/src/test/resources/demo/fill/simple.xlsx
similarity index 100%
rename from fesod/src/test/resources/demo/fill/simple.xlsx
rename to fesod-sheet/src/test/resources/demo/fill/simple.xlsx
diff --git a/fesod/src/test/resources/demo/generic-demo.xlsx b/fesod-sheet/src/test/resources/demo/generic-demo.xlsx
similarity index 100%
rename from fesod/src/test/resources/demo/generic-demo.xlsx
rename to fesod-sheet/src/test/resources/demo/generic-demo.xlsx
diff --git a/fesod/src/test/resources/demo/pwd_123.xls b/fesod-sheet/src/test/resources/demo/pwd_123.xls
similarity index 100%
rename from fesod/src/test/resources/demo/pwd_123.xls
rename to fesod-sheet/src/test/resources/demo/pwd_123.xls
diff --git a/fesod/src/test/resources/extra/extra.xls b/fesod-sheet/src/test/resources/extra/extra.xls
similarity index 100%
rename from fesod/src/test/resources/extra/extra.xls
rename to fesod-sheet/src/test/resources/extra/extra.xls
diff --git a/fesod/src/test/resources/extra/extra.xlsx b/fesod-sheet/src/test/resources/extra/extra.xlsx
similarity index 100%
rename from fesod/src/test/resources/extra/extra.xlsx
rename to fesod-sheet/src/test/resources/extra/extra.xlsx
diff --git a/fesod/src/test/resources/extra/extraRelationships.xlsx b/fesod-sheet/src/test/resources/extra/extraRelationships.xlsx
similarity index 100%
rename from fesod/src/test/resources/extra/extraRelationships.xlsx
rename to fesod-sheet/src/test/resources/extra/extraRelationships.xlsx
diff --git a/fesod/src/test/resources/fill/annotation.xls b/fesod-sheet/src/test/resources/fill/annotation.xls
similarity index 100%
rename from fesod/src/test/resources/fill/annotation.xls
rename to fesod-sheet/src/test/resources/fill/annotation.xls
diff --git a/fesod/src/test/resources/fill/annotation.xlsx b/fesod-sheet/src/test/resources/fill/annotation.xlsx
similarity index 100%
rename from fesod/src/test/resources/fill/annotation.xlsx
rename to fesod-sheet/src/test/resources/fill/annotation.xlsx
diff --git a/fesod/src/test/resources/fill/byName.xls b/fesod-sheet/src/test/resources/fill/byName.xls
similarity index 100%
rename from fesod/src/test/resources/fill/byName.xls
rename to fesod-sheet/src/test/resources/fill/byName.xls
diff --git a/fesod/src/test/resources/fill/byName.xlsx b/fesod-sheet/src/test/resources/fill/byName.xlsx
similarity index 100%
rename from fesod/src/test/resources/fill/byName.xlsx
rename to fesod-sheet/src/test/resources/fill/byName.xlsx
diff --git a/fesod/src/test/resources/fill/complex.xls b/fesod-sheet/src/test/resources/fill/complex.xls
similarity index 100%
rename from fesod/src/test/resources/fill/complex.xls
rename to fesod-sheet/src/test/resources/fill/complex.xls
diff --git a/fesod/src/test/resources/fill/complex.xlsx b/fesod-sheet/src/test/resources/fill/complex.xlsx
similarity index 100%
rename from fesod/src/test/resources/fill/complex.xlsx
rename to fesod-sheet/src/test/resources/fill/complex.xlsx
diff --git a/fesod/src/test/resources/fill/composite.xls b/fesod-sheet/src/test/resources/fill/composite.xls
similarity index 100%
rename from fesod/src/test/resources/fill/composite.xls
rename to fesod-sheet/src/test/resources/fill/composite.xls
diff --git a/fesod/src/test/resources/fill/composite.xlsx b/fesod-sheet/src/test/resources/fill/composite.xlsx
similarity index 100%
rename from fesod/src/test/resources/fill/composite.xlsx
rename to fesod-sheet/src/test/resources/fill/composite.xlsx
diff --git a/fesod/src/test/resources/fill/horizontal.xls b/fesod-sheet/src/test/resources/fill/horizontal.xls
similarity index 100%
rename from fesod/src/test/resources/fill/horizontal.xls
rename to fesod-sheet/src/test/resources/fill/horizontal.xls
diff --git a/fesod/src/test/resources/fill/horizontal.xlsx b/fesod-sheet/src/test/resources/fill/horizontal.xlsx
similarity index 100%
rename from fesod/src/test/resources/fill/horizontal.xlsx
rename to fesod-sheet/src/test/resources/fill/horizontal.xlsx
diff --git a/fesod/src/test/resources/fill/simple.csv b/fesod-sheet/src/test/resources/fill/simple.csv
similarity index 100%
rename from fesod/src/test/resources/fill/simple.csv
rename to fesod-sheet/src/test/resources/fill/simple.csv
diff --git a/fesod/src/test/resources/fill/simple.xls b/fesod-sheet/src/test/resources/fill/simple.xls
similarity index 100%
rename from fesod/src/test/resources/fill/simple.xls
rename to fesod-sheet/src/test/resources/fill/simple.xls
diff --git a/fesod/src/test/resources/fill/simple.xlsx b/fesod-sheet/src/test/resources/fill/simple.xlsx
similarity index 100%
rename from fesod/src/test/resources/fill/simple.xlsx
rename to fesod-sheet/src/test/resources/fill/simple.xlsx
diff --git a/fesod/src/test/resources/fill/style.xls b/fesod-sheet/src/test/resources/fill/style.xls
similarity index 100%
rename from fesod/src/test/resources/fill/style.xls
rename to fesod-sheet/src/test/resources/fill/style.xls
diff --git a/fesod/src/test/resources/fill/style.xlsx b/fesod-sheet/src/test/resources/fill/style.xlsx
similarity index 100%
rename from fesod/src/test/resources/fill/style.xlsx
rename to fesod-sheet/src/test/resources/fill/style.xlsx
diff --git a/fesod/src/test/resources/hiddensheets/hiddensheets.xls b/fesod-sheet/src/test/resources/hiddensheets/hiddensheets.xls
similarity index 100%
rename from fesod/src/test/resources/hiddensheets/hiddensheets.xls
rename to fesod-sheet/src/test/resources/hiddensheets/hiddensheets.xls
diff --git a/fesod/src/test/resources/hiddensheets/hiddensheets.xlsx b/fesod-sheet/src/test/resources/hiddensheets/hiddensheets.xlsx
similarity index 100%
rename from fesod/src/test/resources/hiddensheets/hiddensheets.xlsx
rename to fesod-sheet/src/test/resources/hiddensheets/hiddensheets.xlsx
diff --git a/fesod/src/test/resources/large/fill.xlsx b/fesod-sheet/src/test/resources/large/fill.xlsx
similarity index 100%
rename from fesod/src/test/resources/large/fill.xlsx
rename to fesod-sheet/src/test/resources/large/fill.xlsx
diff --git a/fesod/src/test/resources/large/large07.xlsx b/fesod-sheet/src/test/resources/large/large07.xlsx
similarity index 100%
rename from fesod/src/test/resources/large/large07.xlsx
rename to fesod-sheet/src/test/resources/large/large07.xlsx
diff --git a/fesod/src/test/resources/logback.xml b/fesod-sheet/src/test/resources/logback.xml
similarity index 100%
rename from fesod/src/test/resources/logback.xml
rename to fesod-sheet/src/test/resources/logback.xml
diff --git a/fesod/src/test/resources/multiplesheets/multiplesheets.xls b/fesod-sheet/src/test/resources/multiplesheets/multiplesheets.xls
similarity index 100%
rename from fesod/src/test/resources/multiplesheets/multiplesheets.xls
rename to fesod-sheet/src/test/resources/multiplesheets/multiplesheets.xls
diff --git a/fesod/src/test/resources/multiplesheets/multiplesheets.xlsx b/fesod-sheet/src/test/resources/multiplesheets/multiplesheets.xlsx
similarity index 100%
rename from fesod/src/test/resources/multiplesheets/multiplesheets.xlsx
rename to fesod-sheet/src/test/resources/multiplesheets/multiplesheets.xlsx
diff --git a/fesod/src/test/resources/poi/last_row_number_test.xlsx b/fesod-sheet/src/test/resources/poi/last_row_number_test.xlsx
similarity index 100%
rename from fesod/src/test/resources/poi/last_row_number_test.xlsx
rename to fesod-sheet/src/test/resources/poi/last_row_number_test.xlsx
diff --git a/fesod/src/test/resources/poi/last_row_number_xssf_date_test.csv b/fesod-sheet/src/test/resources/poi/last_row_number_xssf_date_test.csv
similarity index 100%
rename from fesod/src/test/resources/poi/last_row_number_xssf_date_test.csv
rename to fesod-sheet/src/test/resources/poi/last_row_number_xssf_date_test.csv
diff --git a/fesod/src/test/resources/poi/last_row_number_xssf_date_test.xls b/fesod-sheet/src/test/resources/poi/last_row_number_xssf_date_test.xls
similarity index 100%
rename from fesod/src/test/resources/poi/last_row_number_xssf_date_test.xls
rename to fesod-sheet/src/test/resources/poi/last_row_number_xssf_date_test.xls
diff --git a/fesod/src/test/resources/poi/last_row_number_xssf_date_test.xlsx b/fesod-sheet/src/test/resources/poi/last_row_number_xssf_date_test.xlsx
similarity index 100%
rename from fesod/src/test/resources/poi/last_row_number_xssf_date_test.xlsx
rename to fesod-sheet/src/test/resources/poi/last_row_number_xssf_date_test.xlsx
diff --git a/fesod/src/test/resources/poi/last_row_number_xssf_test.xlsx b/fesod-sheet/src/test/resources/poi/last_row_number_xssf_test.xlsx
similarity index 100%
rename from fesod/src/test/resources/poi/last_row_number_xssf_test.xlsx
rename to fesod-sheet/src/test/resources/poi/last_row_number_xssf_test.xlsx
diff --git a/fesod/src/test/resources/repeat/repeat.xls b/fesod-sheet/src/test/resources/repeat/repeat.xls
similarity index 100%
rename from fesod/src/test/resources/repeat/repeat.xls
rename to fesod-sheet/src/test/resources/repeat/repeat.xls
diff --git a/fesod/src/test/resources/repeat/repeat.xlsx b/fesod-sheet/src/test/resources/repeat/repeat.xlsx
similarity index 100%
rename from fesod/src/test/resources/repeat/repeat.xlsx
rename to fesod-sheet/src/test/resources/repeat/repeat.xlsx
diff --git a/fesod/src/test/resources/simple/LargeData.xlsx b/fesod-sheet/src/test/resources/simple/LargeData.xlsx
similarity index 100%
rename from fesod/src/test/resources/simple/LargeData.xlsx
rename to fesod-sheet/src/test/resources/simple/LargeData.xlsx
diff --git a/fesod/src/test/resources/simple/no_model_10000_rows.xlsx b/fesod-sheet/src/test/resources/simple/no_model_10000_rows.xlsx
similarity index 100%
rename from fesod/src/test/resources/simple/no_model_10000_rows.xlsx
rename to fesod-sheet/src/test/resources/simple/no_model_10000_rows.xlsx
diff --git a/fesod/src/test/resources/simple/simple07.xlsx b/fesod-sheet/src/test/resources/simple/simple07.xlsx
similarity index 100%
rename from fesod/src/test/resources/simple/simple07.xlsx
rename to fesod-sheet/src/test/resources/simple/simple07.xlsx
diff --git a/fesod/src/test/resources/style/styleTest.xls b/fesod-sheet/src/test/resources/style/styleTest.xls
similarity index 100%
rename from fesod/src/test/resources/style/styleTest.xls
rename to fesod-sheet/src/test/resources/style/styleTest.xls
diff --git a/fesod/src/test/resources/style/styleTest.xlsx b/fesod-sheet/src/test/resources/style/styleTest.xlsx
similarity index 100%
rename from fesod/src/test/resources/style/styleTest.xlsx
rename to fesod-sheet/src/test/resources/style/styleTest.xlsx
diff --git a/fesod/src/test/resources/temp/issue1663/template.xlsx b/fesod-sheet/src/test/resources/temp/issue1663/template.xlsx
similarity index 100%
rename from fesod/src/test/resources/temp/issue1663/template.xlsx
rename to fesod-sheet/src/test/resources/temp/issue1663/template.xlsx
diff --git a/fesod/src/test/resources/temp/issue220/test01.xlsx b/fesod-sheet/src/test/resources/temp/issue220/test01.xlsx
similarity index 100%
rename from fesod/src/test/resources/temp/issue220/test01.xlsx
rename to fesod-sheet/src/test/resources/temp/issue220/test01.xlsx
diff --git a/fesod/src/test/resources/temp/issue220/test02.xlsx b/fesod-sheet/src/test/resources/temp/issue220/test02.xlsx
similarity index 100%
rename from fesod/src/test/resources/temp/issue220/test02.xlsx
rename to fesod-sheet/src/test/resources/temp/issue220/test02.xlsx
diff --git a/fesod/src/test/resources/temp/issue220/test03.xlsx b/fesod-sheet/src/test/resources/temp/issue220/test03.xlsx
similarity index 100%
rename from fesod/src/test/resources/temp/issue220/test03.xlsx
rename to fesod-sheet/src/test/resources/temp/issue220/test03.xlsx
diff --git a/fesod/src/test/resources/temp/issue2319/test1.xlsx b/fesod-sheet/src/test/resources/temp/issue2319/test1.xlsx
similarity index 100%
rename from fesod/src/test/resources/temp/issue2319/test1.xlsx
rename to fesod-sheet/src/test/resources/temp/issue2319/test1.xlsx
diff --git a/fesod/src/test/resources/temp/issue2319/test2.xlsx b/fesod-sheet/src/test/resources/temp/issue2319/test2.xlsx
similarity index 100%
rename from fesod/src/test/resources/temp/issue2319/test2.xlsx
rename to fesod-sheet/src/test/resources/temp/issue2319/test2.xlsx
diff --git a/fesod/src/test/resources/temp/issue2443/date1.xlsx b/fesod-sheet/src/test/resources/temp/issue2443/date1.xlsx
similarity index 100%
rename from fesod/src/test/resources/temp/issue2443/date1.xlsx
rename to fesod-sheet/src/test/resources/temp/issue2443/date1.xlsx
diff --git a/fesod/src/test/resources/temp/issue2443/date2.xlsx b/fesod-sheet/src/test/resources/temp/issue2443/date2.xlsx
similarity index 100%
rename from fesod/src/test/resources/temp/issue2443/date2.xlsx
rename to fesod-sheet/src/test/resources/temp/issue2443/date2.xlsx
diff --git a/fesod/src/test/resources/temp/lock_data.xlsx b/fesod-sheet/src/test/resources/temp/lock_data.xlsx
similarity index 100%
rename from fesod/src/test/resources/temp/lock_data.xlsx
rename to fesod-sheet/src/test/resources/temp/lock_data.xlsx
diff --git a/fesod/src/test/resources/temp/number_format.xlsx b/fesod-sheet/src/test/resources/temp/number_format.xlsx
similarity index 100%
rename from fesod/src/test/resources/temp/number_format.xlsx
rename to fesod-sheet/src/test/resources/temp/number_format.xlsx
diff --git a/fesod/src/test/resources/template/template03.xls b/fesod-sheet/src/test/resources/template/template03.xls
similarity index 100%
rename from fesod/src/test/resources/template/template03.xls
rename to fesod-sheet/src/test/resources/template/template03.xls
diff --git a/fesod/src/test/resources/template/template07.xlsx b/fesod-sheet/src/test/resources/template/template07.xlsx
similarity index 100%
rename from fesod/src/test/resources/template/template07.xlsx
rename to fesod-sheet/src/test/resources/template/template07.xlsx
diff --git a/fesod/src/test/resources/web/io.xlsx b/fesod-sheet/src/test/resources/web/io.xlsx
similarity index 100%
rename from fesod/src/test/resources/web/io.xlsx
rename to fesod-sheet/src/test/resources/web/io.xlsx
diff --git a/fesod/pom.xml b/fesod/pom.xml
deleted file mode 100644
index d12f20cc..00000000
--- a/fesod/pom.xml
+++ /dev/null
@@ -1,177 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.fesod</groupId>
- <artifactId>fesod-parent</artifactId>
- <version>2.0.0</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>fesod</artifactId>
- <name>fesod</name>
-
-
- <dependencies>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-csv</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.poi</groupId>
- <artifactId>poi</artifactId>
- <exclusions>
- <exclusion>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- </exclusion>
- <exclusion>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>org.apache.poi</groupId>
- <artifactId>poi-ooxml</artifactId>
- <exclusions>
- <exclusion>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>org.ehcache</groupId>
- <artifactId>ehcache</artifactId>
- </dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- </dependency>
-
- <!-- provided -->
- <dependency>
- <groupId>org.projectlombok</groupId>
- <artifactId>lombok</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>cn.idev.excel</groupId>
- <artifactId>fastexcel-support</artifactId>
- <version>1.3.0</version>
- </dependency>
-
- <!-- test -->
- <dependency>
- <groupId>com.alibaba.fastjson2</groupId>
- <artifactId>fastjson2</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.junit.jupiter</groupId>
- <artifactId>junit-jupiter</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-core</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-junit-jupiter</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-simple</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>jcl-over-slf4j</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>log4j-over-slf4j</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-classic</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.mock-server</groupId>
- <artifactId>mockserver-netty</artifactId>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <artifactId>commons-lang3</artifactId>
- <groupId>org.apache.commons</groupId>
- </exclusion>
- <exclusion>
- <artifactId>commons-codec</artifactId>
- <groupId>commons-codec</groupId>
- </exclusion>
- <exclusion>
- <artifactId>jackson-databind</artifactId>
- <groupId>com.fasterxml.jackson.core</groupId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>com.code-intelligence</groupId>
- <artifactId>jazzer-junit</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <testFailureIgnore>false</testFailureIgnore>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/pom.xml b/pom.xml
index f7a876c0..70a2774b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,21 +28,26 @@
<groupId>org.apache.fesod</groupId>
<artifactId>fesod-parent</artifactId>
- <version>2.0.0</version>
+ <version>${revision}</version>
<packaging>pom</packaging>
-
<name>fesod-parent</name>
- <description>Fesod is a high-performance and memory-efficient Java library for reading and writing Excel files, designed to simplify development and ensure reliability.</description>
+ <description>
+ Fesod is a high-performance and memory-efficient Java library for reading and writing Excel files, designed to
+ simplify development and ensure reliability.
+ </description>
<url>https://github.com/apache/fesod</url>
<inceptionYear>2025</inceptionYear>
<modules>
- <module>fesod</module>
+ <module>fesod-bom</module>
+ <module>fesod-common</module>
<module>fesod-examples</module>
+ <module>fesod-sheet</module>
</modules>
<properties>
+ <revision>2.0.0</revision>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
<maven.compiler.target>1.8</maven.compiler.target>
@@ -52,7 +57,9 @@
<gpg.skip>true</gpg.skip>
<maven.javadoc.skip>true</maven.javadoc.skip>
<maven.test.skip>true</maven.test.skip>
+ <commons-collections4.version>4.4</commons-collections4.version>
<commons-csv.version>1.11.0</commons-csv.version>
+ <commons-lang3.version>3.16.0</commons-lang3.version>
<poi.version>5.5.1</poi.version>
<ehcache.version>3.9.11</ehcache.version>
<commons-io.version>2.16.1</commons-io.version>
@@ -69,9 +76,10 @@
<jacoco.version>0.8.14</jacoco.version>
<junit.version>5.13.4</junit.version>
<mockito.version>4.11.0</mockito.version>
+ <jazzer.junit.version>0.25.1</jazzer.junit.version>
+ <fastexcel.support.version>1.3.0</fastexcel.support.version>
<surefire.jvm.args>-Xmx2g -Xms2g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8</surefire.jvm.args>
<surefire.jdk9plus.args></surefire.jdk9plus.args>
- <jazzer.junit.version>0.25.1</jazzer.junit.version>
<argLine></argLine>
</properties>
@@ -127,11 +135,21 @@
<dependencyManagement>
<dependencies>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-collections4</artifactId>
+ <version>${commons-collections4.version}</version>
+ </dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-csv</artifactId>
<version>${commons-csv.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>${commons-lang3.version}</version>
+ </dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
@@ -163,6 +181,11 @@
<artifactId>ehcache</artifactId>
<version>${ehcache.version}</version>
</dependency>
+ <dependency>
+ <groupId>cn.idev.excel</groupId>
+ <artifactId>fastexcel-support</artifactId>
+ <version>${fastexcel.support.version}</version>
+ </dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
@@ -267,10 +290,85 @@
</exclusions>
<scope>test</scope>
</dependency>
-
</dependencies>
</dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.projectlombok</groupId>
+ <artifactId>lombok</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <!-- test -->
+ <dependency>
+ <groupId>com.alibaba.fastjson2</groupId>
+ <artifactId>fastjson2</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-junit-jupiter</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>jcl-over-slf4j</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>log4j-over-slf4j</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-classic</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.mock-server</groupId>
+ <artifactId>mockserver-netty</artifactId>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>commons-codec</groupId>
+ <artifactId>commons-codec</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>com.code-intelligence</groupId>
+ <artifactId>jazzer-junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
<build>
<pluginManagement>
@@ -476,7 +574,7 @@
<configuration>
<java>
<licenseHeader>
- <file>tools/spotless/license-header.txt</file>
+ <file>${maven.multiModuleProjectDirectory}/tools/spotless/license-header.txt</file>
<delimiter>package |import |module </delimiter>
</licenseHeader>
<palantirJavaFormat>
@@ -504,18 +602,6 @@
</pom>
</configuration>
</plugin>
-
- <!-- Publish package to the Maven Central Repository -->
- <!-- <plugin>-->
- <!-- <groupId>org.sonatype.plugins</groupId>-->
- <!-- <artifactId>nexus-staging-maven-plugin</artifactId>-->
- <!-- <extensions>true</extensions>-->
- <!-- <configuration>-->
- <!-- <serverId>ossrh</serverId>-->
- <!-- <nexusUrl>https://oss.sonatype.org/</nexusUrl>-->
- <!-- <autoReleaseAfterClose>true</autoReleaseAfterClose>-->
- <!-- </configuration>-->
- <!-- </plugin>-->
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
@@ -525,6 +611,10 @@
<tokenAuth>true</tokenAuth>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ </plugin>
</plugins>
</build>
<profiles>
@@ -534,7 +624,8 @@
<jdk>[9,)</jdk>
</activation>
<properties>
- <surefire.jdk9plus.args>--add-opens=java.base/java.lang=ALL-UNNAMED
+ <surefire.jdk9plus.args>
+ --add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/sun.reflect.annotation=ALL-UNNAMED
</surefire.jdk9plus.args>
diff --git a/website/pnpm-lock.yaml b/website/pnpm-lock.yaml
new file mode 100644
index 00000000..123ac94b
--- /dev/null
+++ b/website/pnpm-lock.yaml
@@ -0,0 +1,19007 @@
+lockfileVersion: '9.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
+importers:
+
+ .:
+ dependencies:
+ '@docusaurus/core':
+ specifier: ^3.9.1
+ version: 3.9.1(@mdx-js/react@3.1.1(@types/react@19.2.2)(react@19.2.0))(debug@4.4.3)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
+ '@docusaurus/preset-classic':
+ specifier: ^3.9.1
+ version: 3.9.1(@algolia/client-search@5.40.0)(@mdx-js/react@3.1.1(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(search-insights@2.17.3)(typescript@5.9.3)
+ '@docusaurus/theme-mermaid':
+ specifier: ^3.9.1
+ version: 3.9.1(@docusaurus/plugin-content-docs@3.9.1(@mdx-js/react@3.1.1(@types/react@19.2.2)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3))(@mdx-js/react@3.1.1(@types/react@19.2.2)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
+ '@easyops-cn/docusaurus-search-local':
+ specifier: ^0.52.1
+ version: 0.52.1(@docusaurus/theme-common@3.9.1(@docusaurus/plugin-content-docs@3.9.1(@mdx-js/react@3.1.1(@types/react@19.2.2)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3))(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(@mdx-js/react@3.1.1(@types/react@19.2.2)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
+ '@mdx-js/react':
+ specifier: ^3.0.0
+ version: 3.1.1(@types/react@19.2.2)(react@19.2.0)
+ clsx:
+ specifier: ^2.0.0
+ version: 2.1.1
+ docusaurus-plugin-matomo:
+ specifier: ^0.0.8
+ version: 0.0.8(@docusaurus/core@3.9.1(@mdx-js/react@3.1.1(@types/react@19.2.2)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3))
+ markdownlint-cli2:
+ specifier: ^0.18.1
+ version: 0.18.1
+ prism-react-renderer:
+ specifier: ^2.3.0
+ version: 2.4.1(react@19.2.0)
+ react:
+ specifier: ^19.0.0
+ version: 19.2.0
+ react-dom:
+ specifier: ^19.0.0
+ version: 19.2.0(react@19.2.0)
+ devDependencies:
+ '@docusaurus/module-type-aliases':
+ specifier: ^3.9.1
+ version: 3.9.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@docusaurus/types':
+ specifier: ^3.9.1
+ version: 3.9.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ gh-pages:
+ specifier: ^6.3.0
+ version: 6.3.0
+ netlify-cli:
+ specifier: ^23.10.0
+ version: 23.10.0(@types/express@4.17.23)(@types/node@24.7.0)(picomatch@4.0.3)
+
+packages:
+
+ '@ai-sdk/gateway@1.0.35':
+ resolution: {integrity: sha512-cdsXbeRRMi6QxbZscin69Asx2fi0d2TmmPngcPFUMpZbchGEBiJYVNvIfiALKFKXEq0l/w0xGNV3E13vroaleA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ zod: ^3.25.76 || ^4.1.8
+
+ '@ai-sdk/provider-utils@3.0.11':
+ resolution: {integrity: sha512-4hgHj89VqyOHzGaV85TkcgvO8WjecVF35TOUVg+C56vnzpWSgdIZu/ZWZNdZ6BTrv8y0N1toBWW7XcWiRRicLg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ zod: ^3.25.76 || ^4.1.8
+
+ '@ai-sdk/provider@2.0.0':
+ resolution: {integrity: sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==}
+ engines: {node: '>=18'}
+
+ '@ai-sdk/react@2.0.62':
+ resolution: {integrity: sha512-rmfDpkJuOlVyw1yJd47kcn80u9F4s6cfmOafQdADzId9Sb4D9ksJnLeUhgo5XWkqLsLjNWi6Sdg6hzmthIgSEQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ react: ^18 || ^19 || ^19.0.0-rc
+ zod: ^3.25.76 || ^4.1.8
+ peerDependenciesMeta:
+ zod:
+ optional: true
+
+ '@algolia/abtesting@1.6.0':
+ resolution: {integrity: sha512-c4M/Z/KWkEG+RHpZsWKDTTlApXu3fe4vlABNcpankWBhdMe4oPZ/r4JxEr2zKUP6K+BT66tnp8UbHmgOd/vvqQ==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/autocomplete-core@1.19.2':
+ resolution: {integrity: sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw==}
+
+ '@algolia/autocomplete-plugin-algolia-insights@1.19.2':
+ resolution: {integrity: sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg==}
+ peerDependencies:
+ search-insights: '>= 1 < 3'
+
+ '@algolia/autocomplete-shared@1.19.2':
+ resolution: {integrity: sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w==}
+ peerDependencies:
+ '@algolia/client-search': '>= 4.9.1 < 6'
+ algoliasearch: '>= 4.9.1 < 6'
+
+ '@algolia/client-abtesting@5.40.0':
+ resolution: {integrity: sha512-qegVlgHtmiS8m9nEsuKUVhlw1FHsIshtt5nhNnA6EYz3g+tm9+xkVZZMzkrMLPP7kpoheHJZAwz2MYnHtwFa9A==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/client-analytics@5.40.0':
+ resolution: {integrity: sha512-Dw2c+6KGkw7mucnnxPyyMsIGEY8+hqv6oB+viYB612OMM3l8aNaWToBZMnNvXsyP+fArwq7XGR+k3boPZyV53A==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/client-common@5.40.0':
+ resolution: {integrity: sha512-dbE4+MJIDsTghG3hUYWBq7THhaAmqNqvW9g2vzwPf5edU4IRmuYpKtY3MMotes8/wdTasWG07XoaVhplJBlvdg==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/client-insights@5.40.0':
+ resolution: {integrity: sha512-SH6zlROyGUCDDWg71DlCnbbZ/zEHYPZC8k901EAaBVhvY43Ju8Wa6LAcMPC4tahcDBgkG2poBy8nJZXvwEWAlQ==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/client-personalization@5.40.0':
+ resolution: {integrity: sha512-EgHjJEEf7CbUL9gJHI1ULmAtAFeym2cFNSAi1uwHelWgLPcnLjYW2opruPxigOV7NcetkGu+t2pcWOWmZFuvKQ==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/client-query-suggestions@5.40.0':
+ resolution: {integrity: sha512-HvE1jtCag95DR41tDh7cGwrMk4X0aQXPOBIhZRmsBPolMeqRJz0kvfVw8VCKvA1uuoAkjFfTG0X0IZED+rKXoA==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/client-search@5.40.0':
+ resolution: {integrity: sha512-nlr/MMgoLNUHcfWC5Ns2ENrzKx9x51orPc6wJ8Ignv1DsrUmKm0LUih+Tj3J+kxYofzqQIQRU495d4xn3ozMbg==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/events@4.0.1':
+ resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==}
+
+ '@algolia/ingestion@1.40.0':
+ resolution: {integrity: sha512-OfHnhE+P0f+p3i90Kmshf9Epgesw5oPV1IEUOY4Mq1HV7cQk16gvklVN1EaY/T9sVavl+Vc3g4ojlfpIwZFA4g==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/monitoring@1.40.0':
+ resolution: {integrity: sha512-SWANV32PTKhBYvwKozeWP9HOnVabOixAuPdFFGoqtysTkkwutrtGI/rrh80tvG+BnQAmZX0vUmD/RqFZVfr/Yg==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/recommend@5.40.0':
+ resolution: {integrity: sha512-1Qxy9I5bSb3mrhPk809DllMa561zl5hLsMR6YhIqNkqQ0OyXXQokvJ2zApSxvd39veRZZnhN+oGe+XNoNwLgkw==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/requester-browser-xhr@5.40.0':
+ resolution: {integrity: sha512-MGt94rdHfkrVjfN/KwUfWcnaeohYbWGINrPs96f5J7ZyRYpVLF+VtPQ2FmcddFvK4gnKXSu8BAi81hiIhUpm3w==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/requester-fetch@5.40.0':
+ resolution: {integrity: sha512-wXQ05JZZ10Dr642QVAkAZ4ZZlU+lh5r6dIBGmm9WElz+1EaQ6BNYtEOTV6pkXuFYsZpeJA89JpDOiwBOP9j24w==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/requester-node-http@5.40.0':
+ resolution: {integrity: sha512-5qCRoySnzpbQVg2IPLGFCm4LF75pToxI5tdjOYgUMNL/um91aJ4dH3SVdBEuFlVsalxl8mh3bWPgkUmv6NpJiQ==}
+ engines: {node: '>= 14.0.0'}
+
+ '@antfu/install-pkg@1.1.0':
+ resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==}
+
+ '@antfu/utils@9.3.0':
+ resolution: {integrity: sha512-9hFT4RauhcUzqOE4f1+frMKLZrgNog5b06I7VmZQV1BkvwvqrbC8EBZf3L1eEL2AKb6rNKjER0sEvJiSP1FXEA==}
+
+ '@babel/code-frame@7.27.1':
+ resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/compat-data@7.28.4':
+ resolution: {integrity: sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/core@7.28.4':
+ resolution: {integrity: sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/generator@7.28.3':
+ resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-annotate-as-pure@7.27.3':
+ resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-compilation-targets@7.27.2':
+ resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-create-class-features-plugin@7.28.3':
+ resolution: {integrity: sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-create-regexp-features-plugin@7.27.1':
+ resolution: {integrity: sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-define-polyfill-provider@0.6.5':
+ resolution: {integrity: sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
+ '@babel/helper-globals@7.28.0':
+ resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-member-expression-to-functions@7.27.1':
+ resolution: {integrity: sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-module-imports@7.27.1':
+ resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-module-transforms@7.28.3':
+ resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-optimise-call-expression@7.27.1':
+ resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-plugin-utils@7.27.1':
+ resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-remap-async-to-generator@7.27.1':
+ resolution: {integrity: sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-replace-supers@7.27.1':
+ resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-skip-transparent-expression-wrappers@7.27.1':
+ resolution: {integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-string-parser@7.27.1':
+ resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-identifier@7.27.1':
+ resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-identifier@7.28.5':
+ resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-option@7.27.1':
+ resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-wrap-function@7.28.3':
+ resolution: {integrity: sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helpers@7.28.4':
+ resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/parser@7.28.4':
+ resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
+ '@babel/parser@7.28.5':
+ resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
+ '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1':
+ resolution: {integrity: sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1':
+ resolution: {integrity: sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1':
+ resolution: {integrity: sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1':
+ resolution: {integrity: sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.13.0
+
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3':
+ resolution: {integrity: sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2':
+ resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-dynamic-import@7.8.3':
+ resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-import-assertions@7.27.1':
+ resolution: {integrity: sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-import-attributes@7.27.1':
+ resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-jsx@7.27.1':
+ resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-typescript@7.27.1':
+ resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-unicode-sets-regex@7.18.6':
+ resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-transform-arrow-functions@7.27.1':
+ resolution: {integrity: sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-async-generator-functions@7.28.0':
+ resolution: {integrity: sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-async-to-generator@7.27.1':
+ resolution: {integrity: sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-block-scoped-functions@7.27.1':
+ resolution: {integrity: sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-block-scoping@7.28.4':
+ resolution: {integrity: sha512-1yxmvN0MJHOhPVmAsmoW5liWwoILobu/d/ShymZmj867bAdxGbehIrew1DuLpw2Ukv+qDSSPQdYW1dLNE7t11A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-class-properties@7.27.1':
+ resolution: {integrity: sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-class-static-block@7.28.3':
+ resolution: {integrity: sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.12.0
+
+ '@babel/plugin-transform-classes@7.28.4':
+ resolution: {integrity: sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-computed-properties@7.27.1':
+ resolution: {integrity: sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-destructuring@7.28.0':
+ resolution: {integrity: sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-dotall-regex@7.27.1':
+ resolution: {integrity: sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-duplicate-keys@7.27.1':
+ resolution: {integrity: sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1':
+ resolution: {integrity: sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-transform-dynamic-import@7.27.1':
+ resolution: {integrity: sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-explicit-resource-management@7.28.0':
+ resolution: {integrity: sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-exponentiation-operator@7.27.1':
+ resolution: {integrity: sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-export-namespace-from@7.27.1':
+ resolution: {integrity: sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-for-of@7.27.1':
+ resolution: {integrity: sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-function-name@7.27.1':
+ resolution: {integrity: sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-json-strings@7.27.1':
+ resolution: {integrity: sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-literals@7.27.1':
+ resolution: {integrity: sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-logical-assignment-operators@7.27.1':
+ resolution: {integrity: sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-member-expression-literals@7.27.1':
+ resolution: {integrity: sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-amd@7.27.1':
+ resolution: {integrity: sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-commonjs@7.27.1':
+ resolution: {integrity: sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-systemjs@7.27.1':
+ resolution: {integrity: sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-umd@7.27.1':
+ resolution: {integrity: sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-named-capturing-groups-regex@7.27.1':
+ resolution: {integrity: sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-transform-new-target@7.27.1':
+ resolution: {integrity: sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-nullish-coalescing-operator@7.27.1':
+ resolution: {integrity: sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-numeric-separator@7.27.1':
+ resolution: {integrity: sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-object-rest-spread@7.28.4':
+ resolution: {integrity: sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-object-super@7.27.1':
+ resolution: {integrity: sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-optional-catch-binding@7.27.1':
+ resolution: {integrity: sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-optional-chaining@7.27.1':
+ resolution: {integrity: sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-parameters@7.27.7':
+ resolution: {integrity: sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-private-methods@7.27.1':
+ resolution: {integrity: sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-private-property-in-object@7.27.1':
+ resolution: {integrity: sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-property-literals@7.27.1':
+ resolution: {integrity: sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-constant-elements@7.27.1':
+ resolution: {integrity: sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-display-name@7.28.0':
+ resolution: {integrity: sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-jsx-development@7.27.1':
+ resolution: {integrity: sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-jsx@7.27.1':
+ resolution: {integrity: sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-pure-annotations@7.27.1':
+ resolution: {integrity: sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-regenerator@7.28.4':
+ resolution: {integrity: sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-regexp-modifiers@7.27.1':
+ resolution: {integrity: sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-transform-reserved-words@7.27.1':
+ resolution: {integrity: sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-runtime@7.28.3':
+ resolution: {integrity: sha512-Y6ab1kGqZ0u42Zv/4a7l0l72n9DKP/MKoKWaUSBylrhNZO2prYuqFOLbn5aW5SIFXwSH93yfjbgllL8lxuGKLg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-shorthand-properties@7.27.1':
+ resolution: {integrity: sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-spread@7.27.1':
+ resolution: {integrity: sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-sticky-regex@7.27.1':
+ resolution: {integrity: sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-template-literals@7.27.1':
+ resolution: {integrity: sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-typeof-symbol@7.27.1':
+ resolution: {integrity: sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-typescript@7.28.0':
+ resolution: {integrity: sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-escapes@7.27.1':
+ resolution: {integrity: sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-property-regex@7.27.1':
+ resolution: {integrity: sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-regex@7.27.1':
+ resolution: {integrity: sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-sets-regex@7.27.1':
+ resolution: {integrity: sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/preset-env@7.28.3':
+ resolution: {integrity: sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/preset-modules@0.1.6-no-external-plugins':
+ resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
+
+ '@babel/preset-react@7.27.1':
+ resolution: {integrity: sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/preset-typescript@7.27.1':
+ resolution: {integrity: sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/runtime-corejs3@7.28.4':
+ resolution: {integrity: sha512-h7iEYiW4HebClDEhtvFObtPmIvrd1SSfpI9EhOeKk4CtIK/ngBWFpuhCzhdmRKtg71ylcue+9I6dv54XYO1epQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/runtime@7.28.4':
+ resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/template@7.27.2':
+ resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/traverse@7.28.4':
+ resolution: {integrity: sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/types@7.28.4':
+ resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/types@7.28.5':
+ resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==}
+ engines: {node: '>=6.9.0'}
+
+ '@braintree/sanitize-url@7.1.1':
+ resolution: {integrity: sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==}
+
+ '@bugsnag/browser@8.6.0':
+ resolution: {integrity: sha512-7UGqTGnQqXUQ09gOlWbDTFUSbeLIIrP+hML3kTOq8Zdc8nP/iuOEflXGLV2TxWBWW8xIUPc928caFPr9EcaDuw==}
+
+ '@bugsnag/core@8.6.0':
+ resolution: {integrity: sha512-94Jo443JegaiKV8z8NXMFdyTGubiUnwppWhq3kG2ldlYKtEvrmIaO5+JA58B6oveySvoRu3cCe2W9ysY7G7mDw==}
+
+ '@bugsnag/cuid@3.2.1':
+ resolution: {integrity: sha512-zpvN8xQ5rdRWakMd/BcVkdn2F8HKlDSbM3l7duueK590WmI1T0ObTLc1V/1e55r14WNjPd5AJTYX4yPEAFVi+Q==}
+
+ '@bugsnag/js@8.6.0':
+ resolution: {integrity: sha512-U+ofNTTMA2Z6tCrOhK/QhHBhLoQHoalk8Y82WWc7FAcVSoJZYadND/QuXUriNRZpC4YgJ/s/AxPeQ2y+WvMxzw==}
+
+ '@bugsnag/node@8.6.0':
+ resolution: {integrity: sha512-O91sELo6zBjflVeP3roRC9l68iYaafVs5lz2N0FDkrT08mP2UljtNWpjjoR/0h1so5Ny1OxHgnZ1IrsXhz5SMQ==}
+
+ '@bugsnag/safe-json-stringify@6.1.0':
+ resolution: {integrity: sha512-ImA35rnM7bGr+J30R979FQ95BhRB4UO1KfJA0J2sVqc8nwnrS9hhE5mkTmQWMs8Vh1Da+hkLKs5jJB4JjNZp4A==}
+
+ '@chevrotain/cst-dts-gen@11.0.3':
+ resolution: {integrity: sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==}
+
+ '@chevrotain/gast@11.0.3':
+ resolution: {integrity: sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==}
+
+ '@chevrotain/regexp-to-ast@11.0.3':
+ resolution: {integrity: sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==}
+
+ '@chevrotain/types@11.0.3':
+ resolution: {integrity: sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==}
+
+ '@chevrotain/utils@11.0.3':
+ resolution: {integrity: sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==}
+
+ '@colors/colors@1.5.0':
+ resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==}
+ engines: {node: '>=0.1.90'}
+
+ '@colors/colors@1.6.0':
+ resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==}
+ engines: {node: '>=0.1.90'}
+
+ '@cspotcode/source-map-support@0.8.1':
+ resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
+ engines: {node: '>=12'}
+
+ '@csstools/cascade-layer-name-parser@2.0.5':
+ resolution: {integrity: sha512-p1ko5eHgV+MgXFVa4STPKpvPxr6ReS8oS2jzTukjR74i5zJNyWO1ZM1m8YKBXnzDKWfBN1ztLYlHxbVemDD88A==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@csstools/css-parser-algorithms': ^3.0.5
+ '@csstools/css-tokenizer': ^3.0.4
+
+ '@csstools/color-helpers@5.1.0':
+ resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==}
+ engines: {node: '>=18'}
+
+ '@csstools/css-calc@2.1.4':
+ resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@csstools/css-parser-algorithms': ^3.0.5
+ '@csstools/css-tokenizer': ^3.0.4
+
+ '@csstools/css-color-parser@3.1.0':
+ resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@csstools/css-parser-algorithms': ^3.0.5
+ '@csstools/css-tokenizer': ^3.0.4
+
+ '@csstools/css-parser-algorithms@3.0.5':
+ resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@csstools/css-tokenizer': ^3.0.4
+
+ '@csstools/css-tokenizer@3.0.4':
+ resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==}
+ engines: {node: '>=18'}
+
+ '@csstools/media-query-list-parser@4.0.3':
+ resolution: {integrity: sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@csstools/css-parser-algorithms': ^3.0.5
+ '@csstools/css-tokenizer': ^3.0.4
+
+ '@csstools/postcss-alpha-function@1.0.1':
+ resolution: {integrity: sha512-isfLLwksH3yHkFXfCI2Gcaqg7wGGHZZwunoJzEZk0yKYIokgre6hYVFibKL3SYAoR1kBXova8LB+JoO5vZzi9w==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-cascade-layers@5.0.2':
+ resolution: {integrity: sha512-nWBE08nhO8uWl6kSAeCx4im7QfVko3zLrtgWZY4/bP87zrSPpSyN/3W3TDqz1jJuH+kbKOHXg5rJnK+ZVYcFFg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-color-function-display-p3-linear@1.0.1':
+ resolution: {integrity: sha512-E5qusdzhlmO1TztYzDIi8XPdPoYOjoTY6HBYBCYSj+Gn4gQRBlvjgPQXzfzuPQqt8EhkC/SzPKObg4Mbn8/xMg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-color-function@4.0.12':
+ resolution: {integrity: sha512-yx3cljQKRaSBc2hfh8rMZFZzChaFgwmO2JfFgFr1vMcF3C/uyy5I4RFIBOIWGq1D+XbKCG789CGkG6zzkLpagA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-color-mix-function@3.0.12':
+ resolution: {integrity: sha512-4STERZfCP5Jcs13P1U5pTvI9SkgLgfMUMhdXW8IlJWkzOOOqhZIjcNhWtNJZes2nkBDsIKJ0CJtFtuaZ00moag==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-color-mix-variadic-function-arguments@1.0.2':
+ resolution: {integrity: sha512-rM67Gp9lRAkTo+X31DUqMEq+iK+EFqsidfecmhrteErxJZb6tUoJBVQca1Vn1GpDql1s1rD1pKcuYzMsg7Z1KQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-content-alt-text@2.0.8':
+ resolution: {integrity: sha512-9SfEW9QCxEpTlNMnpSqFaHyzsiRpZ5J5+KqCu1u5/eEJAWsMhzT40qf0FIbeeglEvrGRMdDzAxMIz3wqoGSb+Q==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-contrast-color-function@2.0.12':
+ resolution: {integrity: sha512-YbwWckjK3qwKjeYz/CijgcS7WDUCtKTd8ShLztm3/i5dhh4NaqzsbYnhm4bjrpFpnLZ31jVcbK8YL77z3GBPzA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-exponential-functions@2.0.9':
+ resolution: {integrity: sha512-abg2W/PI3HXwS/CZshSa79kNWNZHdJPMBXeZNyPQFbbj8sKO3jXxOt/wF7juJVjyDTc6JrvaUZYFcSBZBhaxjw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-font-format-keywords@4.0.0':
+ resolution: {integrity: sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-gamut-mapping@2.0.11':
+ resolution: {integrity: sha512-fCpCUgZNE2piVJKC76zFsgVW1apF6dpYsqGyH8SIeCcM4pTEsRTWTLCaJIMKFEundsCKwY1rwfhtrio04RJ4Dw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-gradients-interpolation-method@5.0.12':
+ resolution: {integrity: sha512-jugzjwkUY0wtNrZlFeyXzimUL3hN4xMvoPnIXxoZqxDvjZRiSh+itgHcVUWzJ2VwD/VAMEgCLvtaJHX+4Vj3Ow==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-hwb-function@4.0.12':
+ resolution: {integrity: sha512-mL/+88Z53KrE4JdePYFJAQWFrcADEqsLprExCM04GDNgHIztwFzj0Mbhd/yxMBngq0NIlz58VVxjt5abNs1VhA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-ic-unit@4.0.4':
+ resolution: {integrity: sha512-yQ4VmossuOAql65sCPppVO1yfb7hDscf4GseF0VCA/DTDaBc0Wtf8MTqVPfjGYlT5+2buokG0Gp7y0atYZpwjg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-initial@2.0.1':
+ resolution: {integrity: sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-is-pseudo-class@5.0.3':
+ resolution: {integrity: sha512-jS/TY4SpG4gszAtIg7Qnf3AS2pjcUM5SzxpApOrlndMeGhIbaTzWBzzP/IApXoNWEW7OhcjkRT48jnAUIFXhAQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-light-dark-function@2.0.11':
+ resolution: {integrity: sha512-fNJcKXJdPM3Lyrbmgw2OBbaioU7yuKZtiXClf4sGdQttitijYlZMD5K7HrC/eF83VRWRrYq6OZ0Lx92leV2LFA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-logical-float-and-clear@3.0.0':
+ resolution: {integrity: sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-logical-overflow@2.0.0':
+ resolution: {integrity: sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-logical-overscroll-behavior@2.0.0':
+ resolution: {integrity: sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-logical-resize@3.0.0':
+ resolution: {integrity: sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-logical-viewport-units@3.0.4':
+ resolution: {integrity: sha512-q+eHV1haXA4w9xBwZLKjVKAWn3W2CMqmpNpZUk5kRprvSiBEGMgrNH3/sJZ8UA3JgyHaOt3jwT9uFa4wLX4EqQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-media-minmax@2.0.9':
+ resolution: {integrity: sha512-af9Qw3uS3JhYLnCbqtZ9crTvvkR+0Se+bBqSr7ykAnl9yKhk6895z9rf+2F4dClIDJWxgn0iZZ1PSdkhrbs2ig==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5':
+ resolution: {integrity: sha512-zhAe31xaaXOY2Px8IYfoVTB3wglbJUVigGphFLj6exb7cjZRH9A6adyE22XfFK3P2PzwRk0VDeTJmaxpluyrDg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-nested-calc@4.0.0':
+ resolution: {integrity: sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-normalize-display-values@4.0.0':
+ resolution: {integrity: sha512-HlEoG0IDRoHXzXnkV4in47dzsxdsjdz6+j7MLjaACABX2NfvjFS6XVAnpaDyGesz9gK2SC7MbNwdCHusObKJ9Q==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-oklab-function@4.0.12':
+ resolution: {integrity: sha512-HhlSmnE1NKBhXsTnNGjxvhryKtO7tJd1w42DKOGFD6jSHtYOrsJTQDKPMwvOfrzUAk8t7GcpIfRyM7ssqHpFjg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-progressive-custom-properties@4.2.1':
+ resolution: {integrity: sha512-uPiiXf7IEKtUQXsxu6uWtOlRMXd2QWWy5fhxHDnPdXKCQckPP3E34ZgDoZ62r2iT+UOgWsSbM4NvHE5m3mAEdw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-random-function@2.0.1':
+ resolution: {integrity: sha512-q+FQaNiRBhnoSNo+GzqGOIBKoHQ43lYz0ICrV+UudfWnEF6ksS6DsBIJSISKQT2Bvu3g4k6r7t0zYrk5pDlo8w==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-relative-color-syntax@3.0.12':
+ resolution: {integrity: sha512-0RLIeONxu/mtxRtf3o41Lq2ghLimw0w9ByLWnnEVuy89exmEEq8bynveBxNW3nyHqLAFEeNtVEmC1QK9MZ8Huw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-scope-pseudo-class@4.0.1':
+ resolution: {integrity: sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-sign-functions@1.1.4':
+ resolution: {integrity: sha512-P97h1XqRPcfcJndFdG95Gv/6ZzxUBBISem0IDqPZ7WMvc/wlO+yU0c5D/OCpZ5TJoTt63Ok3knGk64N+o6L2Pg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-stepped-value-functions@4.0.9':
+ resolution: {integrity: sha512-h9btycWrsex4dNLeQfyU3y3w40LMQooJWFMm/SK9lrKguHDcFl4VMkncKKoXi2z5rM9YGWbUQABI8BT2UydIcA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-text-decoration-shorthand@4.0.3':
+ resolution: {integrity: sha512-KSkGgZfx0kQjRIYnpsD7X2Om9BUXX/Kii77VBifQW9Ih929hK0KNjVngHDH0bFB9GmfWcR9vJYJJRvw/NQjkrA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-trigonometric-functions@4.0.9':
+ resolution: {integrity: sha512-Hnh5zJUdpNrJqK9v1/E3BbrQhaDTj5YiX7P61TOvUhoDHnUmsNNxcDAgkQ32RrcWx9GVUvfUNPcUkn8R3vIX6A==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/postcss-unset-value@4.0.0':
+ resolution: {integrity: sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/selector-resolve-nested@3.1.0':
+ resolution: {integrity: sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss-selector-parser: ^7.0.0
+
+ '@csstools/selector-specificity@5.0.0':
+ resolution: {integrity: sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss-selector-parser: ^7.0.0
+
+ '@csstools/utilities@2.0.0':
+ resolution: {integrity: sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@dabh/diagnostics@2.0.8':
+ resolution: {integrity: sha512-R4MSXTVnuMzGD7bzHdW2ZhhdPC/igELENcq5IjEverBvq5hn1SXCWcsi6eSsdWP0/Ur+SItRRjAktmdoX/8R/Q==}
+
+ '@dependents/detective-less@5.0.1':
+ resolution: {integrity: sha512-Y6+WUMsTFWE5jb20IFP4YGa5IrGY/+a/FbOSjDF/wz9gepU2hwCYSXRHP/vPwBvwcY3SVMASt4yXxbXNXigmZQ==}
+ engines: {node: '>=18'}
+
+ '@discoveryjs/json-ext@0.5.7':
+ resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==}
+ engines: {node: '>=10.0.0'}
+
+ '@docsearch/css@4.2.0':
+ resolution: {integrity: sha512-65KU9Fw5fGsPPPlgIghonMcndyx1bszzrDQYLfierN+Ha29yotMHzVS94bPkZS6On9LS8dE4qmW4P/fGjtCf/g==}
+
+ '@docsearch/react@4.2.0':
+ resolution: {integrity: sha512-zSN/KblmtBcerf7Z87yuKIHZQmxuXvYc6/m0+qnjyNu+Ir67AVOagTa1zBqcxkVUVkmBqUExdcyrdo9hbGbqTw==}
+ peerDependencies:
+ '@types/react': '>= 16.8.0 < 20.0.0'
+ react: '>= 16.8.0 < 20.0.0'
+ react-dom: '>= 16.8.0 < 20.0.0'
+ search-insights: '>= 1 < 3'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ search-insights:
+ optional: true
+
+ '@docusaurus/babel@3.9.1':
+ resolution: {integrity: sha512-/uoi3oG+wvbVWNBRfPrzrEslOSeLxrQEyWMywK51TLDFTANqIRivzkMusudh5bdDty8fXzCYUT+tg5t697jYqg==}
+ engines: {node: '>=20.0'}
+
+ '@docusaurus/bundler@3.9.1':
+ resolution: {integrity: sha512-E1c9DgNmAz4NqbNtiJVp4UgjLtr8O01IgtXD/NDQ4PZaK8895cMiTOgb3k7mN0qX8A3lb8vqyrPJ842+yMpuUg==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ '@docusaurus/faster': '*'
+ peerDependenciesMeta:
+ '@docusaurus/faster':
+ optional: true
+
+ '@docusaurus/core@3.9.1':
+ resolution: {integrity: sha512-FWDk1LIGD5UR5Zmm9rCrXRoxZUgbwuP6FBA7rc50DVfzqDOMkeMe3NyJhOsA2dF0zBE3VbHEIMmTjKwTZJwbaA==}
+ engines: {node: '>=20.0'}
+ hasBin: true
+ peerDependencies:
+ '@mdx-js/react': ^3.0.0
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/cssnano-preset@3.9.1':
+ resolution: {integrity: sha512-2y7+s7RWQMqBg+9ejeKwvZs7Bdw/hHIVJIodwMXbs2kr+S48AhcmAfdOh6Cwm0unJb0hJUshN0ROwRoQMwl3xg==}
+ engines: {node: '>=20.0'}
+
+ '@docusaurus/logger@3.9.1':
+ resolution: {integrity: sha512-C9iFzXwHzwvGlisE4bZx+XQE0JIqlGAYAd5LzpR7fEDgjctu7yL8bE5U4nTNywXKHURDzMt4RJK8V6+stFHVkA==}
+ engines: {node: '>=20.0'}
+
+ '@docusaurus/mdx-loader@3.9.1':
+ resolution: {integrity: sha512-/1PY8lqry8jCt0qZddJSpc0U2sH6XC27kVJZfpA7o2TiQ3mdBQyH5AVbj/B2m682B1ounE+XjI0LdpOkAQLPoA==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/module-type-aliases@3.9.1':
+ resolution: {integrity: sha512-YBce3GbJGGcMbJTyHcnEOMvdXqg41pa5HsrMCGA5Rm4z0h0tHS6YtEldj0mlfQRhCG7Y0VD66t2tb87Aom+11g==}
+ peerDependencies:
+ react: '*'
+ react-dom: '*'
+
+ '@docusaurus/plugin-content-blog@3.9.1':
+ resolution: {integrity: sha512-vT6kIimpJLWvW9iuWzH4u7VpTdsGlmn4yfyhq0/Kb1h4kf9uVouGsTmrD7WgtYBUG1P+TSmQzUUQa+ALBSRTig==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ '@docusaurus/plugin-content-docs': '*'
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/plugin-content-docs@3.9.1':
+ resolution: {integrity: sha512-DyLk9BIA6I9gPIuia8XIL+XIEbNnExam6AHzRsfrEq4zJr7k/DsWW7oi4aJMepDnL7jMRhpVcdsCxdjb0/A9xg==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/plugin-content-pages@3.9.1':
+ resolution: {integrity: sha512-/1wFzRnXYASI+Nv9ck9IVPIMw0O5BGQ8ZVhDzEwhkL+tl44ycvSnY6PIe6rW2HLxsw61Z3WFwAiU8+xMMtMZpg==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/plugin-css-cascade-layers@3.9.1':
+ resolution: {integrity: sha512-/QyW2gRCk/XE3ttCK/ERIgle8KJ024dBNKMu6U5SmpJvuT2il1n5jR/48Pp/9wEwut8WVml4imNm6X8JsL5A0Q==}
+ engines: {node: '>=20.0'}
+
+ '@docusaurus/plugin-debug@3.9.1':
+ resolution: {integrity: sha512-qPeAuk0LccC251d7jg2MRhNI+o7niyqa924oEM/AxnZJvIpMa596aAxkRImiAqNN6+gtLE1Hkrz/RHUH2HDGsA==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/plugin-google-analytics@3.9.1':
+ resolution: {integrity: sha512-k4Qq2HphqOrIU/CevGPdEO1yJnWUI8m0zOJsYt5NfMJwNsIn/gDD6gv/DKD+hxHndQT5pacsfBd4BWHZVNVroQ==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/plugin-google-gtag@3.9.1':
+ resolution: {integrity: sha512-n9BURBiQyJKI/Ecz35IUjXYwXcgNCSq7/eA07+ZYcDiSyH2p/EjPf8q/QcZG3CyEJPZ/SzGkDHePfcVPahY4Gg==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/plugin-google-tag-manager@3.9.1':
+ resolution: {integrity: sha512-rZAQZ25ZuXaThBajxzLjXieTDUCMmBzfAA6ThElQ3o7Q+LEpOjCIrwGFau0KLY9HeG6x91+FwwsAM8zeApYDrg==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/plugin-sitemap@3.9.1':
+ resolution: {integrity: sha512-k/bf5cXDxAJUYTzqatgFJwmZsLUbIgl6S8AdZMKGG2Mv2wcOHt+EQNN9qPyWZ5/9cFj+Q8f8DN+KQheBMYLong==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/plugin-svgr@3.9.1':
+ resolution: {integrity: sha512-TeZOXT2PSdTNR1OpDJMkYqFyX7MMhbd4t16hQByXksgZQCXNyw3Dio+KaDJ2Nj+LA4WkOvsk45bWgYG5MAaXSQ==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/preset-classic@3.9.1':
+ resolution: {integrity: sha512-ZHga2xsxxsyd0dN1BpLj8S889Eu9eMBuj2suqxdw/vaaXu/FjJ8KEGbcaeo6nHPo8VQcBBnPEdkBtSDm2TfMNw==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/react-loadable@6.0.0':
+ resolution: {integrity: sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==}
+ peerDependencies:
+ react: '*'
+
+ '@docusaurus/theme-classic@3.9.1':
+ resolution: {integrity: sha512-LrAIu/mQ04nG6s1cssC0TMmICD8twFIIn/hJ5Pd9uIPQvtKnyAKEn12RefopAul5KfMo9kixPaqogV5jIJr26w==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/theme-common@3.9.1':
+ resolution: {integrity: sha512-j9adi961F+6Ps9d0jcb5BokMcbjXAAJqKkV43eo8nh4YgmDj7KUNDX4EnOh/MjTQeO06oPY5cxp3yUXdW/8Ggw==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ '@docusaurus/plugin-content-docs': '*'
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/theme-mermaid@3.9.1':
+ resolution: {integrity: sha512-aKMFlQfxueVBPdCdrNSshG12fOkJXSn1sb6EhI/sGn3UpiTEiazJm4QLP6NoF78mqq8O5Ar2Yll+iHWLvCsuZQ==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ '@mermaid-js/layout-elk': ^0.1.9
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@mermaid-js/layout-elk':
+ optional: true
+
+ '@docusaurus/theme-search-algolia@3.9.1':
+ resolution: {integrity: sha512-WjM28bzlgfT6nHlEJemkwyGVpvGsZWPireV/w+wZ1Uo64xCZ8lNOb4xwQRukDaLSed3oPBN0gSnu06l5VuCXHg==}
+ engines: {node: '>=20.0'}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/theme-translations@3.9.1':
+ resolution: {integrity: sha512-mUQd49BSGKTiM6vP9+JFgRJL28lMIN3PUvXjF3rzuOHMByUZUBNwCt26Z23GkKiSIOrRkjKoaBNTipR/MHdYSQ==}
+ engines: {node: '>=20.0'}
+
+ '@docusaurus/types@3.9.1':
+ resolution: {integrity: sha512-ElekJ29sk39s5LTEZMByY1c2oH9FMtw7KbWFU3BtuQ1TytfIK39HhUivDEJvm5KCLyEnnfUZlvSNDXeyk0vzAA==}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
+ '@docusaurus/utils-common@3.9.1':
+ resolution: {integrity: sha512-4M1u5Q8Zn2CYL2TJ864M51FV4YlxyGyfC3x+7CLuR6xsyTVNBNU4QMcPgsTHRS9J2+X6Lq7MyH6hiWXyi/sXUQ==}
+ engines: {node: '>=20.0'}
+
+ '@docusaurus/utils-validation@3.9.1':
+ resolution: {integrity: sha512-5bzab5si3E1udrlZuVGR17857Lfwe8iFPoy5AvMP9PXqDfoyIKT7gDQgAmxdRDMurgHaJlyhXEHHdzDKkOxxZQ==}
+ engines: {node: '>=20.0'}
+
+ '@docusaurus/utils@3.9.1':
+ resolution: {integrity: sha512-YAL4yhhWLl9DXuf5MVig260a6INz4MehrBGFU/CZu8yXmRiYEuQvRFWh9ZsjfAOyaG7za1MNmBVZ4VVAi/CiJA==}
+ engines: {node: '>=20.0'}
+
+ '@easyops-cn/autocomplete.js@0.38.1':
+ resolution: {integrity: sha512-drg76jS6syilOUmVNkyo1c7ZEBPcPuK+aJA7AksM5ZIIbV57DMHCywiCr+uHyv8BE5jUTU98j/H7gVrkHrWW3Q==}
+
+ '@easyops-cn/docusaurus-search-local@0.52.1':
+ resolution: {integrity: sha512-pwfANjTLOQyAPc2Iz93WbG4OQM5C4COCWARbLAs79FIpIS38gHq3PrbDIX8f7oDhGQp1u6f8fr3K3u3+yZXZTA==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ '@docusaurus/theme-common': ^2 || ^3
+ react: ^16.14.0 || ^17 || ^18 || ^19
+ react-dom: ^16.14.0 || 17 || ^18 || ^19
+
+ '@emnapi/core@1.5.0':
+ resolution: {integrity: sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==}
+
+ '@emnapi/runtime@1.5.0':
+ resolution: {integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==}
+
+ '@emnapi/runtime@1.7.0':
+ resolution: {integrity: sha512-oAYoQnCYaQZKVS53Fq23ceWMRxq5EhQsE0x0RdQ55jT7wagMu5k+fS39v1fiSLrtrLQlXwVINenqhLMtTrV/1Q==}
+
+ '@emnapi/wasi-threads@1.1.0':
+ resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==}
+
+ '@envelop/instrumentation@1.0.0':
+ resolution: {integrity: sha512-cxgkB66RQB95H3X27jlnxCRNTmPuSTgmBAq6/4n2Dtv4hsk4yz8FadA1ggmd0uZzvKqWD6CR+WFgTjhDqg7eyw==}
+ engines: {node: '>=18.0.0'}
+
+ '@esbuild/aix-ppc64@0.25.11':
+ resolution: {integrity: sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [aix]
+
+ '@esbuild/android-arm64@0.25.11':
+ resolution: {integrity: sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [android]
+
+ '@esbuild/android-arm@0.25.11':
+ resolution: {integrity: sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [android]
+
+ '@esbuild/android-x64@0.25.11':
+ resolution: {integrity: sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [android]
+
+ '@esbuild/darwin-arm64@0.25.11':
+ resolution: {integrity: sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@esbuild/darwin-x64@0.25.11':
+ resolution: {integrity: sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@esbuild/freebsd-arm64@0.25.11':
+ resolution: {integrity: sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@esbuild/freebsd-x64@0.25.11':
+ resolution: {integrity: sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@esbuild/linux-arm64@0.25.11':
+ resolution: {integrity: sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@esbuild/linux-arm@0.25.11':
+ resolution: {integrity: sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [linux]
+
+ '@esbuild/linux-ia32@0.25.11':
+ resolution: {integrity: sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [linux]
+
+ '@esbuild/linux-loong64@0.25.11':
+ resolution: {integrity: sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==}
+ engines: {node: '>=18'}
+ cpu: [loong64]
+ os: [linux]
+
+ '@esbuild/linux-mips64el@0.25.11':
+ resolution: {integrity: sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==}
+ engines: {node: '>=18'}
+ cpu: [mips64el]
+ os: [linux]
+
+ '@esbuild/linux-ppc64@0.25.11':
+ resolution: {integrity: sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@esbuild/linux-riscv64@0.25.11':
+ resolution: {integrity: sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==}
+ engines: {node: '>=18'}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@esbuild/linux-s390x@0.25.11':
+ resolution: {integrity: sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==}
+ engines: {node: '>=18'}
+ cpu: [s390x]
+ os: [linux]
+
+ '@esbuild/linux-x64@0.25.11':
+ resolution: {integrity: sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [linux]
+
+ '@esbuild/netbsd-arm64@0.25.11':
+ resolution: {integrity: sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [netbsd]
+
+ '@esbuild/netbsd-x64@0.25.11':
+ resolution: {integrity: sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [netbsd]
+
+ '@esbuild/openbsd-arm64@0.25.11':
+ resolution: {integrity: sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openbsd]
+
+ '@esbuild/openbsd-x64@0.25.11':
+ resolution: {integrity: sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@esbuild/openharmony-arm64@0.25.11':
+ resolution: {integrity: sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@esbuild/sunos-x64@0.25.11':
+ resolution: {integrity: sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [sunos]
+
+ '@esbuild/win32-arm64@0.25.11':
+ resolution: {integrity: sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@esbuild/win32-ia32@0.25.11':
+ resolution: {integrity: sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@esbuild/win32-x64@0.25.11':
+ resolution: {integrity: sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [win32]
+
+ '@fastify/accept-negotiator@1.1.0':
+ resolution: {integrity: sha512-OIHZrb2ImZ7XG85HXOONLcJWGosv7sIvM2ifAPQVhg9Lv7qdmMBNVaai4QTdyuaqbKM5eO6sLSQOYI7wEQeCJQ==}
+ engines: {node: '>=14'}
+
+ '@fastify/accept-negotiator@2.0.1':
+ resolution: {integrity: sha512-/c/TW2bO/v9JeEgoD/g1G5GxGeCF1Hafdf79WPmUlgYiBXummY0oX3VVq4yFkKKVBKDNlaDUYoab7g38RpPqCQ==}
+
+ '@fastify/ajv-compiler@3.6.0':
+ resolution: {integrity: sha512-LwdXQJjmMD+GwLOkP7TVC68qa+pSSogeWWmznRJ/coyTcfe9qA05AHFSe1eZFwK6q+xVRpChnvFUkf1iYaSZsQ==}
+
+ '@fastify/busboy@3.2.0':
+ resolution: {integrity: sha512-m9FVDXU3GT2ITSe0UaMA5rU3QkfC/UXtCU8y0gSN/GugTqtVldOBWIB5V6V3sbmenVZUIpU6f+mPEO2+m5iTaA==}
+
+ '@fastify/error@3.4.1':
+ resolution: {integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==}
+
+ '@fastify/fast-json-stringify-compiler@4.3.0':
+ resolution: {integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==}
+
+ '@fastify/merge-json-schemas@0.1.1':
+ resolution: {integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==}
+
+ '@fastify/send@2.1.0':
+ resolution: {integrity: sha512-yNYiY6sDkexoJR0D8IDy3aRP3+L4wdqCpvx5WP+VtEU58sn7USmKynBzDQex5X42Zzvw2gNzzYgP90UfWShLFA==}
+
+ '@fastify/static@7.0.4':
+ resolution: {integrity: sha512-p2uKtaf8BMOZWLs6wu+Ihg7bWNBdjNgCwDza4MJtTqg+5ovKmcbgbR9Xs5/smZ1YISfzKOCNYmZV8LaCj+eJ1Q==}
+
+ '@hapi/hoek@9.3.0':
+ resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==}
+
+ '@hapi/topo@5.1.0':
+ resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==}
+
+ '@humanwhocodes/momoa@2.0.4':
+ resolution: {integrity: sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==}
+ engines: {node: '>=10.10.0'}
+
+ '@iarna/toml@2.2.5':
+ resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==}
+
+ '@iconify/types@2.0.0':
+ resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
+
+ '@iconify/utils@3.0.2':
+ resolution: {integrity: sha512-EfJS0rLfVuRuJRn4psJHtK2A9TqVnkxPpHY6lYHiB9+8eSuudsxbwMiavocG45ujOo6FJ+CIRlRnlOGinzkaGQ==}
+
+ '@img/colour@1.0.0':
+ resolution: {integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==}
+ engines: {node: '>=18'}
+
+ '@img/sharp-darwin-arm64@0.34.5':
+ resolution: {integrity: sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@img/sharp-darwin-x64@0.34.5':
+ resolution: {integrity: sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [darwin]
+
+ '@img/sharp-libvips-darwin-arm64@1.2.4':
+ resolution: {integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@img/sharp-libvips-darwin-x64@1.2.4':
+ resolution: {integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@img/sharp-libvips-linux-arm64@1.2.4':
+ resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linux-arm@1.2.4':
+ resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==}
+ cpu: [arm]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linux-ppc64@1.2.4':
+ resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linux-riscv64@1.2.4':
+ resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linux-s390x@1.2.4':
+ resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linux-x64@1.2.4':
+ resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linuxmusl-arm64@1.2.4':
+ resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@img/sharp-libvips-linuxmusl-x64@1.2.4':
+ resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@img/sharp-linux-arm64@0.34.5':
+ resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linux-arm@0.34.5':
+ resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linux-ppc64@0.34.5':
+ resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linux-riscv64@0.34.5':
+ resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linux-s390x@0.34.5':
+ resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linux-x64@0.34.5':
+ resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linuxmusl-arm64@0.34.5':
+ resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@img/sharp-linuxmusl-x64@0.34.5':
+ resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@img/sharp-wasm32@0.34.5':
+ resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [wasm32]
+
+ '@img/sharp-win32-arm64@0.34.5':
+ resolution: {integrity: sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [win32]
+
+ '@img/sharp-win32-ia32@0.34.5':
+ resolution: {integrity: sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [ia32]
+ os: [win32]
+
+ '@img/sharp-win32-x64@0.34.5':
+ resolution: {integrity: sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [win32]
+
+ '@import-maps/resolve@2.0.0':
+ resolution: {integrity: sha512-RwzRTpmrrS6Q1ZhQExwuxJGK1Wqhv4stt+OF2JzS+uawewpwNyU7EJL1WpBex7aDiiGLs4FsXGkfUBdYuX7xiQ==}
+
+ '@inquirer/external-editor@1.0.3':
+ resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@isaacs/cliui@8.0.2':
+ resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
+ engines: {node: '>=12'}
+
+ '@isaacs/fs-minipass@4.0.1':
+ resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==}
+ engines: {node: '>=18.0.0'}
+
+ '@jest/schemas@29.6.3':
+ resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+ '@jest/types@29.6.3':
+ resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+ '@jridgewell/gen-mapping@0.3.13':
+ resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
+
+ '@jridgewell/remapping@2.3.5':
+ resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==}
+
+ '@jridgewell/resolve-uri@3.1.2':
+ resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
+ engines: {node: '>=6.0.0'}
+
+ '@jridgewell/source-map@0.3.11':
+ resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==}
+
+ '@jridgewell/sourcemap-codec@1.5.5':
+ resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
+
+ '@jridgewell/trace-mapping@0.3.31':
+ resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
+
+ '@jridgewell/trace-mapping@0.3.9':
+ resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
+
+ '@jsonjoy.com/base64@1.1.2':
+ resolution: {integrity: sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==}
+ engines: {node: '>=10.0'}
+ peerDependencies:
+ tslib: '2'
+
+ '@jsonjoy.com/buffers@1.2.0':
+ resolution: {integrity: sha512-6RX+W5a+ZUY/c/7J5s5jK9UinLfJo5oWKh84fb4X0yK2q4WXEWUWZWuEMjvCb1YNUQhEAhUfr5scEGOH7jC4YQ==}
+ engines: {node: '>=10.0'}
+ peerDependencies:
+ tslib: '2'
+
+ '@jsonjoy.com/codegen@1.0.0':
+ resolution: {integrity: sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g==}
+ engines: {node: '>=10.0'}
+ peerDependencies:
+ tslib: '2'
+
+ '@jsonjoy.com/json-pack@1.19.0':
+ resolution: {integrity: sha512-ed3bz2NTJOH+i/HoVOGDjI9FCIA1yW2xLFuB+7PABRJrs0Dj+SoUpHMhQgNe2xYZ3zTiT2jb6xp8VTvM1MBdcQ==}
+ engines: {node: '>=10.0'}
+ peerDependencies:
+ tslib: '2'
+
+ '@jsonjoy.com/json-pointer@1.0.2':
+ resolution: {integrity: sha512-Fsn6wM2zlDzY1U+v4Nc8bo3bVqgfNTGcn6dMgs6FjrEnt4ZCe60o6ByKRjOGlI2gow0aE/Q41QOigdTqkyK5fg==}
+ engines: {node: '>=10.0'}
+ peerDependencies:
+ tslib: '2'
+
+ '@jsonjoy.com/util@1.9.0':
+ resolution: {integrity: sha512-pLuQo+VPRnN8hfPqUTLTHk126wuYdXVxE6aDmjSeV4NCAgyxWbiOIeNJVtID3h1Vzpoi9m4jXezf73I6LgabgQ==}
+ engines: {node: '>=10.0'}
+ peerDependencies:
+ tslib: '2'
+
+ '@leichtgewicht/ip-codec@2.0.5':
+ resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==}
+
+ '@lukeed/ms@2.0.2':
+ resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==}
+ engines: {node: '>=8'}
+
+ '@mapbox/node-pre-gyp@2.0.0':
+ resolution: {integrity: sha512-llMXd39jtP0HpQLVI37Bf1m2ADlEb35GYSh1SDSLsBhR+5iCxiNGlT31yqbNtVHygHAtMy6dWFERpU2JgufhPg==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ '@mdx-js/mdx@3.1.1':
+ resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==}
+
+ '@mdx-js/react@3.1.1':
+ resolution: {integrity: sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==}
+ peerDependencies:
+ '@types/react': '>=16'
+ react: '>=16'
+
+ '@mermaid-js/parser@0.6.3':
+ resolution: {integrity: sha512-lnjOhe7zyHjc+If7yT4zoedx2vo4sHaTmtkl1+or8BRTnCtDmcTpAjpzDSfCZrshM5bCoz0GyidzadJAH1xobA==}
+
+ '@napi-rs/wasm-runtime@0.2.12':
+ resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==}
+
+ '@netlify/ai@0.3.0':
+ resolution: {integrity: sha512-nMsJS6VXDRrwdqkKdmq4fAn4idyl+sDGwXPB+fjdeX/cX1etWynkKAWK5DifxshjgWlfCAp5GD7ZtVR5bpZQJA==}
+ engines: {node: '>=20.6.1'}
+ peerDependencies:
+ '@netlify/api': '>=14.0.0'
+
+ '@netlify/api@14.0.9':
+ resolution: {integrity: sha512-fKmMheaHDps5K8T3lyidFR+nCkpqEkkFLNz5YGptlaocz7LpgEZvmluv20XwqMEXQ3WBGZzXeJMns87Tdmtw2Q==}
+ engines: {node: '>=18.14.0'}
+
+ '@netlify/binary-info@1.0.0':
+ resolution: {integrity: sha512-4wMPu9iN3/HL97QblBsBay3E1etIciR84izI3U+4iALY+JHCrI+a2jO0qbAZ/nxKoegypYEaiiqWXylm+/zfrw==}
+
+ '@netlify/blobs@10.1.0':
+ resolution: {integrity: sha512-dFpqDc6/x5LEu9L7kblCQu00CFEchH8J42jmQoXPuhKoE7avajzeLTbVKA8Olk3S/c2m9ejegrgbhL8NRA2Jyw==}
+ engines: {node: ^14.16.0 || >=16.0.0}
+
+ '@netlify/blobs@10.3.3':
+ resolution: {integrity: sha512-yhw0AxB/Felk0KlWtCAqxWcV4xchPumxdlpmdJWlxkVQPoOR7dTPwXsQ6Y4W46oA83QaDD6Rgroi3OKbvg5OBQ==}
+ engines: {node: ^14.16.0 || >=16.0.0}
+
+ '@netlify/build-info@10.0.9':
+ resolution: {integrity: sha512-lkcEejs4D0gwDIVtyRpIXXIv4SPZOii9cstGI5eOsMwoMTlZRL/jniZOSeMk2ZS147l9ncD6vtKxaZPnW1MJew==}
+ engines: {node: '>=18.14.0'}
+ hasBin: true
+
+ '@netlify/build@35.3.1':
+ resolution: {integrity: sha512-jYS3BoExNVjVF6v2SGzRyRMMrD8pQ4SJT7mpuLCY8J5hdboTgjPPxtC9kdtGeue1eNdoUo3GCP573Clk/9Wm0Q==}
+ engines: {node: '>=18.14.0'}
+ hasBin: true
+ peerDependencies:
+ '@netlify/opentelemetry-sdk-setup': ^2.0.0
+ '@opentelemetry/api': ~1.8.0
+ peerDependenciesMeta:
+ '@netlify/opentelemetry-sdk-setup':
+ optional: true
+
+ '@netlify/cache-utils@6.0.4':
+ resolution: {integrity: sha512-KD6IXLbJcjJ5BhjGCy32BJtp1WxvTBS9J5cvdxjbBJGgfLWuJwzUzU8LR2sA4fppCCnEdKJdKy40OcVGZE0iUg==}
+ engines: {node: '>=18.14.0'}
+
+ '@netlify/config@24.0.8':
+ resolution: {integrity: sha512-9E4TvUsb1PXTZ7PgY8PSFwOHR8NuW1FpbC9S1KcrDpTVCY1+nzscQpBeE/vFque9F+nd3CWqxWWvWWuo96Q/Qg==}
+ engines: {node: '>=18.14.0'}
+ hasBin: true
+
+ '@netlify/dev-utils@4.3.0':
+ resolution: {integrity: sha512-vZAL8pMuj3yPQlmHSgyaA/UQFxc6pZgU0LucFJ1+IPWGJtIzBXHRvuR4acpoP72HtyQPUHJ42s7U9GaaSGVNHg==}
+ engines: {node: ^18.14.0 || >=20}
+
+ '@netlify/dev-utils@4.3.1':
+ resolution: {integrity: sha512-ErQgiGOxGlHLuu29+pOPhBNJ+ak9thbhZ9/9zI/hbr732S8CNVDGAU2N0DC59Mrl9/HjLetFoXxsCBDeQzaeqg==}
+ engines: {node: ^18.14.0 || >=20}
+
+ '@netlify/edge-bundler@14.8.6':
+ resolution: {integrity: sha512-2Dm6V7BP/p6bt+BP5I5sNUU3+4iweUuEczmoxUWDn2N1slZdDnh9RvdVDWxS3G0zaN0H6SLPOE2X74dS7dslRQ==}
+ engines: {node: '>=18.14.0'}
+
+ '@netlify/edge-functions-bootstrap@2.17.1':
+ resolution: {integrity: sha512-KyNJbDhK1rC5wEeI7bXPgfl8QvADMHqNy2nwNJG60EHVRXTF0zxFnOpt/p0m2C512gcMXRrKZxaOZQ032RHVbw==}
+
+ '@netlify/edge-functions@3.0.1':
+ resolution: {integrity: sha512-5Rd+gd2uD/iHReiY2p0KhVpgYnWKJsFyey2CN8WwGLQTq0GA7CEWkEMyks1azuAkChlqS4YJbpa//lMBmyrjSA==}
+ engines: {node: '>=18.0.0'}
+
+ '@netlify/functions-utils@6.2.13':
+ resolution: {integrity: sha512-nntswdhi9wW3QejB/HMgtnrP1b7+6RLmZE6/DojfVBQN3D4ybxcoUFOKU97aQviXnwfFy2366dEzhlCbFabi0Q==}
+ engines: {node: '>=18.14.0'}
+
+ '@netlify/git-utils@6.0.2':
+ resolution: {integrity: sha512-ASp8T6ZAxL5OE0xvTTn5+tIBua5F8ruLH7oYtI/m2W/8rYb9V3qvNeenf9SnKlGj1xv6mPv8l7Tc93kmBLLofw==}
+ engines: {node: '>=18.14.0'}
+
+ '@netlify/headers-parser@9.0.2':
+ resolution: {integrity: sha512-86YEGPxVemhksY1LeSr8NSOyH11RHvYHq+FuBJnTlPZoRDX+TD+0TAxF6lwzAgVTd1VPkyFEHlNgUGqw7aNzRQ==}
+ engines: {node: '>=18.14.0'}
+
+ '@netlify/local-functions-proxy-darwin-arm64@1.1.1':
+ resolution: {integrity: sha512-lphJ9qqZ3glnKWEqlemU1LMqXxtJ/tKf7VzakqqyjigwLscXSZSb6fupSjQfd4tR1xqxA76ylws/2HDhc/gs+Q==}
+ cpu: [arm64]
+ os: [darwin]
+ hasBin: true
+
+ '@netlify/local-functions-proxy-darwin-x64@1.1.1':
+ resolution: {integrity: sha512-4CRB0H+dXZzoEklq5Jpmg+chizXlVwCko94d8+UHWCgy/bA3M/rU/BJ8OLZisnJaAktHoeLABKtcLOhtRHpxZQ==}
+ cpu: [x64]
+ os: [darwin]
+ hasBin: true
+
+ '@netlify/local-functions-proxy-freebsd-arm64@1.1.1':
+ resolution: {integrity: sha512-u13lWTVMJDF0A6jX7V4N3HYGTIHLe5d1Z2wT43fSIHwXkTs6UXi72cGSraisajG+5JFIwHfPr7asw5vxFC0P9w==}
+ cpu: [arm64]
+ os: [freebsd]
+ hasBin: true
+
+ '@netlify/local-functions-proxy-freebsd-x64@1.1.1':
+ resolution: {integrity: sha512-g5xw4xATK5YDzvXtzJ8S1qSkWBiyF8VVRehXPMOAMzpGjCX86twYhWp8rbAk7yA1zBWmmWrWNA2Odq/MgpKJJg==}
+ cpu: [x64]
+ os: [freebsd]
+ hasBin: true
+
+ '@netlify/local-functions-proxy-linux-arm64@1.1.1':
+ resolution: {integrity: sha512-dPGu1H5n8na7mBKxiXQ+FNmthDAiA57wqgpm5JMAHtcdcmRvcXwJkwWVGvwfj8ShhYJHQaSaS9oPgO+mpKkgmA==}
+ cpu: [arm64]
+ os: [linux]
+ hasBin: true
+
+ '@netlify/local-functions-proxy-linux-arm@1.1.1':
+ resolution: {integrity: sha512-YsTpL+AbHwQrfHWXmKnwUrJBjoUON363nr6jUG1ueYnpbbv6wTUA7gI5snMi/gkGpqFusBthAA7C30e6bixfiA==}
+ cpu: [arm]
+ os: [linux]
+ hasBin: true
+
+ '@netlify/local-functions-proxy-linux-ia32@1.1.1':
+ resolution: {integrity: sha512-Ra0FlXDrmPRaq+rYH3/ttkXSrwk1D5Zx/Na7UPfJZxMY7Qo5iY4bgi/FuzjzWzlp0uuKZOhYOYzYzsIIyrSvmw==}
+ cpu: [ia32]
+ os: [linux]
+ hasBin: true
+
+ '@netlify/local-functions-proxy-linux-ppc64@1.1.1':
+ resolution: {integrity: sha512-oXf1satwqwUUxz7LHS1BxbRqc4FFEKIDFTls04eXiLReFR3sqv9H/QuYNTCCDMuRcCOd92qKyDfATdnxT4HR8w==}
+ cpu: [ppc64]
+ os: [linux]
+ hasBin: true
+
+ '@netlify/local-functions-proxy-linux-x64@1.1.1':
+ resolution: {integrity: sha512-bS3u4JuDg/eC0y4Na3i/29JBOxrdUvsK5JSjHfzUeZEbOcuXYf4KavTpHS5uikdvTgyczoSrvbmQJ5m0FLXfLA==}
+ cpu: [x64]
+ os: [linux]
+ hasBin: true
+
+ '@netlify/local-functions-proxy-openbsd-x64@1.1.1':
+ resolution: {integrity: sha512-1xLef/kLRNkBTXJ+ZGoRFcwsFxd/B2H3oeJZyXaZ3CN5umd9Mv9wZuAD74NuMt/535yRva8jtAJqvEgl9xMSdA==}
+ cpu: [x64]
+ os: [openbsd]
+ hasBin: true
+
+ '@netlify/local-functions-proxy-win32-ia32@1.1.1':
+ resolution: {integrity: sha512-4IOMDBxp2f8VbIkhZ85zGNDrZR4ey8d68fCMSOIwitjsnKav35YrCf8UmAh3UR6CNIRJdJL4MW1GYePJ7iJ8uA==}
+ cpu: [ia32]
+ os: [win32]
+ hasBin: true
+
+ '@netlify/local-functions-proxy-win32-x64@1.1.1':
+ resolution: {integrity: sha512-VCBXBJWBujVxyo5f+3r8ovLc9I7wJqpmgDn3ixs1fvdrER5Ac+SzYwYH4mUug9HI08mzTSAKZErzKeuadSez3w==}
+ cpu: [x64]
+ os: [win32]
+ hasBin: true
+
+ '@netlify/local-functions-proxy@2.0.3':
+ resolution: {integrity: sha512-siVwmrp7Ow+7jLALi6jXOja4Y4uHMMgOLLQMgd+OZ1TESOstrJvkUisJEDAc9hx7u0v/B0mh5g1g1huiH3uS3A==}
+ engines: {node: '>=18.14.0'}
+
+ '@netlify/open-api@2.43.1':
+ resolution: {integrity: sha512-MPhzLfVVTzQCs9iIjxxgIoXv6/tE2FVHTFT2gi4leChj5o4DQ9an/6gc1q7QPRXeIuPIb+P6AaYi3TGHf8vsBA==}
+ engines: {node: '>=14.8.0'}
+
+ '@netlify/opentelemetry-utils@2.0.1':
+ resolution: {integrity: sha512-SE9dZZR620yTYky8By/8h+UaTMugxue8oL51aRUrvtDg7y8Ed6fYKC8VY5JExCkLWQ1k3874qktwfc5gdMVx+w==}
+ engines: {node: '>=18.14.0'}
+ peerDependencies:
+ '@opentelemetry/api': ~1.8.0
+
+ '@netlify/otel@4.3.2':
+ resolution: {integrity: sha512-979piAUQd2UINkfy951JFUFWvscXl+t+a57uYX6ViDBlNOhV/UTZGF5THAv1es3qtng8SHFDmOiftO8D/rFEPA==}
+ engines: {node: ^18.14.0 || >=20.6.1}
+
+ '@netlify/plugins-list@6.80.0':
+ resolution: {integrity: sha512-bCKLI51UZ70ziIWsf2nvgPd4XuG6m8AMCoHiYtl/BSsiaSBfmryZnTTqdRXerH09tBRpbPPwzaEgUJwyU9o8Qw==}
+ engines: {node: ^14.14.0 || >=16.0.0}
+
+ '@netlify/redirect-parser@15.0.3':
+ resolution: {integrity: sha512-/HB3fcRRNgf6O/pbLn4EYNDHrU2kiadMMnazg8/OjvQK2S9i4y61vQcrICvDxYKUKQdgeEaABUuaCNAJFnfD9w==}
+ engines: {node: '>=18.14.0'}
+
+ '@netlify/run-utils@6.0.2':
+ resolution: {integrity: sha512-62K++LDoPqcR1hTnOL2JhuAfY0LMgQ6MgW89DehPplKLbKaEXQH1K1+hUDvgKsn68ofTpE1CTq30PGZQo8fVxw==}
+ engines: {node: '>=18.14.0'}
+
+ '@netlify/runtime-utils@2.2.0':
+ resolution: {integrity: sha512-K3kWIxIMucibzQsATU2xw2JI+OpS9PZfPW/a+81gmeLC8tLv5YAxTVT0NFY/3imk1kcOJb9g7658jPLqDJaiAw==}
+ engines: {node: ^18.14.0 || >=20}
+
+ '@netlify/runtime-utils@2.2.1':
+ resolution: {integrity: sha512-dyJeuggzQM8+Dsi0T8Z9UjfLJ6vCmNC36W6WE2aqzfTdTw4wPkh2xlEu4LoD75+TGuYK7jIhEoU2QcCXOzfyAQ==}
+ engines: {node: ^18.14.0 || >=20}
+
+ '@netlify/serverless-functions-api@2.7.1':
+ resolution: {integrity: sha512-NQcLB8BHbIsgSBPk9A/OBR5mGpc6dOAg1iRsYHWK0IoKsvwQ9a7bZc2+E40nE41Mnk24UjfK09vDLxP85O/zwA==}
+ engines: {node: '>=18.0.0'}
+
+ '@netlify/types@2.1.0':
+ resolution: {integrity: sha512-ktUb5d58pt1lQGXO5E9S0F1ljM0g+CoQuGTVII0IxBc0apmPq5RI0o3OWLY7U3ZERRiYTg5UfjiMihBEzuZsuw==}
+ engines: {node: ^18.14.0 || >=20}
+
+ '@netlify/zip-it-and-ship-it@14.1.13':
+ resolution: {integrity: sha512-nemTNQ2HjF5ubGKOMZ0XO9eHayoNJ8F2YahPqHXRQ3VXfwQnXkC8vW1Tvq1OspUsAiFrOyYOYLyw2J4JmpuTtA==}
+ engines: {node: '>=18.14.0'}
+ hasBin: true
+
+ '@node-rs/jieba-android-arm-eabi@1.10.4':
+ resolution: {integrity: sha512-MhyvW5N3Fwcp385d0rxbCWH42kqDBatQTyP8XbnYbju2+0BO/eTeCCLYj7Agws4pwxn2LtdldXRSKavT7WdzNA==}
+ engines: {node: '>= 10'}
+ cpu: [arm]
+ os: [android]
+
+ '@node-rs/jieba-android-arm64@1.10.4':
+ resolution: {integrity: sha512-XyDwq5+rQ+Tk55A+FGi6PtJbzf974oqnpyCcCPzwU3QVXJCa2Rr4Lci+fx8oOpU4plT3GuD+chXMYLsXipMgJA==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [android]
+
+ '@node-rs/jieba-darwin-arm64@1.10.4':
+ resolution: {integrity: sha512-G++RYEJ2jo0rxF9626KUy90wp06TRUjAsvY/BrIzEOX/ingQYV/HjwQzNPRR1P1o32a6/U8RGo7zEBhfdybL6w==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@node-rs/jieba-darwin-x64@1.10.4':
+ resolution: {integrity: sha512-MmDNeOb2TXIZCPyWCi2upQnZpPjAxw5ZGEj6R8kNsPXVFALHIKMa6ZZ15LCOkSTsKXVC17j2t4h+hSuyYb6qfQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@node-rs/jieba-freebsd-x64@1.10.4':
+ resolution: {integrity: sha512-/x7aVQ8nqUWhpXU92RZqd333cq639i/olNpd9Z5hdlyyV5/B65LLy+Je2B2bfs62PVVm5QXRpeBcZqaHelp/bg==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@node-rs/jieba-linux-arm-gnueabihf@1.10.4':
+ resolution: {integrity: sha512-crd2M35oJBRLkoESs0O6QO3BBbhpv+tqXuKsqhIG94B1d02RVxtRIvSDwO33QurxqSdvN9IeSnVpHbDGkuXm3g==}
+ engines: {node: '>= 10'}
+ cpu: [arm]
+ os: [linux]
+
+ '@node-rs/jieba-linux-arm64-gnu@1.10.4':
+ resolution: {integrity: sha512-omIzNX1psUzPcsdnUhGU6oHeOaTCuCjUgOA/v/DGkvWC1jLcnfXe4vdYbtXMh4XOCuIgS1UCcvZEc8vQLXFbXQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@node-rs/jieba-linux-arm64-musl@1.10.4':
+ resolution: {integrity: sha512-Y/tiJ1+HeS5nnmLbZOE+66LbsPOHZ/PUckAYVeLlQfpygLEpLYdlh0aPpS5uiaWMjAXYZYdFkpZHhxDmSLpwpw==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@node-rs/jieba-linux-x64-gnu@1.10.4':
+ resolution: {integrity: sha512-WZO8ykRJpWGE9MHuZpy1lu3nJluPoeB+fIJJn5CWZ9YTVhNDWoCF4i/7nxz1ntulINYGQ8VVuCU9LD86Mek97g==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@node-rs/jieba-linux-x64-musl@1.10.4':
+ resolution: {integrity: sha512-uBBD4S1rGKcgCyAk6VCKatEVQb6EDD5I40v/DxODi5CuZVCANi9m5oee/MQbAoaX7RydA2f0OSCE9/tcwXEwUg==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@node-rs/jieba-wasm32-wasi@1.10.4':
+ resolution: {integrity: sha512-Y2umiKHjuIJy0uulNDz9SDYHdfq5Hmy7jY5nORO99B4pySKkcrMjpeVrmWXJLIsEKLJwcCXHxz8tjwU5/uhz0A==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+
+ '@node-rs/jieba-win32-arm64-msvc@1.10.4':
+ resolution: {integrity: sha512-nwMtViFm4hjqhz1it/juQnxpXgqlGltCuWJ02bw70YUDMDlbyTy3grCJPpQQpueeETcALUnTxda8pZuVrLRcBA==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@node-rs/jieba-win32-ia32-msvc@1.10.4':
+ resolution: {integrity: sha512-DCAvLx7Z+W4z5oKS+7vUowAJr0uw9JBw8x1Y23Xs/xMA4Em+OOSiaF5/tCJqZUCJ8uC4QeImmgDFiBqGNwxlyA==}
+ engines: {node: '>= 10'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@node-rs/jieba-win32-x64-msvc@1.10.4':
+ resolution: {integrity: sha512-+sqemSfS1jjb+Tt7InNbNzrRh1Ua3vProVvC4BZRPg010/leCbGFFiQHpzcPRfpxAXZrzG5Y0YBTsPzN/I4yHQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [win32]
+
+ '@node-rs/jieba@1.10.4':
+ resolution: {integrity: sha512-GvDgi8MnBiyWd6tksojej8anIx18244NmIOc1ovEw8WKNUejcccLfyu8vj66LWSuoZuKILVtNsOy4jvg3aoxIw==}
+ engines: {node: '>= 10'}
+
+ '@nodelib/fs.scandir@2.1.5':
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.stat@2.0.5':
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.walk@1.2.8':
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
+
+ '@octokit/auth-token@6.0.0':
+ resolution: {integrity: sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==}
+ engines: {node: '>= 20'}
+
+ '@octokit/core@7.0.6':
+ resolution: {integrity: sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==}
+ engines: {node: '>= 20'}
+
+ '@octokit/endpoint@11.0.2':
+ resolution: {integrity: sha512-4zCpzP1fWc7QlqunZ5bSEjxc6yLAlRTnDwKtgXfcI/FxxGoqedDG8V2+xJ60bV2kODqcGB+nATdtap/XYq2NZQ==}
+ engines: {node: '>= 20'}
+
+ '@octokit/graphql@9.0.3':
+ resolution: {integrity: sha512-grAEuupr/C1rALFnXTv6ZQhFuL1D8G5y8CN04RgrO4FIPMrtm+mcZzFG7dcBm+nq+1ppNixu+Jd78aeJOYxlGA==}
+ engines: {node: '>= 20'}
+
+ '@octokit/openapi-types@26.0.0':
+ resolution: {integrity: sha512-7AtcfKtpo77j7Ts73b4OWhOZHTKo/gGY8bB3bNBQz4H+GRSWqx2yvj8TXRsbdTE0eRmYmXOEY66jM7mJ7LzfsA==}
+
+ '@octokit/openapi-types@27.0.0':
+ resolution: {integrity: sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==}
+
+ '@octokit/plugin-paginate-rest@13.2.1':
+ resolution: {integrity: sha512-Tj4PkZyIL6eBMYcG/76QGsedF0+dWVeLhYprTmuFVVxzDW7PQh23tM0TP0z+1MvSkxB29YFZwnUX+cXfTiSdyw==}
+ engines: {node: '>= 20'}
+ peerDependencies:
+ '@octokit/core': '>=6'
+
+ '@octokit/plugin-request-log@6.0.0':
+ resolution: {integrity: sha512-UkOzeEN3W91/eBq9sPZNQ7sUBvYCqYbrrD8gTbBuGtHEuycE4/awMXcYvx6sVYo7LypPhmQwwpUe4Yyu4QZN5Q==}
+ engines: {node: '>= 20'}
+ peerDependencies:
+ '@octokit/core': '>=6'
+
+ '@octokit/plugin-rest-endpoint-methods@16.1.1':
+ resolution: {integrity: sha512-VztDkhM0ketQYSh5Im3IcKWFZl7VIrrsCaHbDINkdYeiiAsJzjhS2xRFCSJgfN6VOcsoW4laMtsmf3HcNqIimg==}
+ engines: {node: '>= 20'}
+ peerDependencies:
+ '@octokit/core': '>=6'
+
+ '@octokit/request-error@7.0.2':
+ resolution: {integrity: sha512-U8piOROoQQUyExw5c6dTkU3GKxts5/ERRThIauNL7yaRoeXW0q/5bgHWT7JfWBw1UyrbK8ERId2wVkcB32n0uQ==}
+ engines: {node: '>= 20'}
+
+ '@octokit/request@10.0.6':
+ resolution: {integrity: sha512-FO+UgZCUu+pPnZAR+iKdUt64kPE7QW7ciqpldaMXaNzixz5Jld8dJ31LAUewk0cfSRkNSRKyqG438ba9c/qDlQ==}
+ engines: {node: '>= 20'}
+
+ '@octokit/rest@22.0.0':
+ resolution: {integrity: sha512-z6tmTu9BTnw51jYGulxrlernpsQYXpui1RK21vmXn8yF5bp6iX16yfTtJYGK5Mh1qDkvDOmp2n8sRMcQmR8jiA==}
+ engines: {node: '>= 20'}
+
+ '@octokit/types@15.0.2':
+ resolution: {integrity: sha512-rR+5VRjhYSer7sC51krfCctQhVTmjyUMAaShfPB8mscVa8tSoLyon3coxQmXu0ahJoLVWl8dSGD/3OGZlFV44Q==}
+
+ '@octokit/types@16.0.0':
+ resolution: {integrity: sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==}
+
+ '@opentelemetry/api-logs@0.203.0':
+ resolution: {integrity: sha512-9B9RU0H7Ya1Dx/Rkyc4stuBZSGVQF27WigitInx2QQoj6KUpEFYPKoWjdFTunJYxmXmh17HeBvbMa1EhGyPmqQ==}
+ engines: {node: '>=8.0.0'}
+
+ '@opentelemetry/api-logs@0.57.2':
+ resolution: {integrity: sha512-uIX52NnTM0iBh84MShlpouI7UKqkZ7MrUszTmaypHBu4r7NofznSnQRfJ+uUeDtQDj6w8eFGg5KBLDAwAPz1+A==}
+ engines: {node: '>=14'}
+
+ '@opentelemetry/api@1.8.0':
+ resolution: {integrity: sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w==}
+ engines: {node: '>=8.0.0'}
+
+ '@opentelemetry/api@1.9.0':
+ resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==}
+ engines: {node: '>=8.0.0'}
+
+ '@opentelemetry/context-async-hooks@1.30.1':
+ resolution: {integrity: sha512-s5vvxXPVdjqS3kTLKMeBMvop9hbWkwzBpu+mUO2M7sZtlkyDJGwFe33wRKnbaYDo8ExRVBIIdwIGrqpxHuKttA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.0.0 <1.10.0'
+
+ '@opentelemetry/core@1.30.1':
+ resolution: {integrity: sha512-OOCM2C/QIURhJMuKaekP3TRBxBKxG/TWWA0TL2J6nXUtDnuCtccy49LUJF8xPFXMX+0LMcxFpCo8M9cGY1W6rQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.0.0 <1.10.0'
+
+ '@opentelemetry/instrumentation@0.203.0':
+ resolution: {integrity: sha512-ke1qyM+3AK2zPuBPb6Hk/GCsc5ewbLvPNkEuELx/JmANeEp6ZjnZ+wypPAJSucTw0wvCGrUaibDSdcrGFoWxKQ==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/otlp-transformer@0.57.2':
+ resolution: {integrity: sha512-48IIRj49gbQVK52jYsw70+Jv+JbahT8BqT2Th7C4H7RCM9d0gZ5sgNPoMpWldmfjvIsSgiGJtjfk9MeZvjhoig==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/propagator-b3@1.30.1':
+ resolution: {integrity: sha512-oATwWWDIJzybAZ4pO76ATN5N6FFbOA1otibAVlS8v90B4S1wClnhRUk7K+2CHAwN1JKYuj4jh/lpCEG5BAqFuQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.0.0 <1.10.0'
+
+ '@opentelemetry/propagator-jaeger@1.30.1':
+ resolution: {integrity: sha512-Pj/BfnYEKIOImirH76M4hDaBSx6HyZ2CXUqk+Kj02m6BB80c/yo4BdWkn/1gDFfU+YPY+bPR2U0DKBfdxCKwmg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.0.0 <1.10.0'
+
+ '@opentelemetry/resources@1.30.1':
+ resolution: {integrity: sha512-5UxZqiAgLYGFjS4s9qm5mBVo433u+dSPUFWVWXmLAD4wB65oMCoXaJP1KJa9DIYYMeHu3z4BZcStG3LC593cWA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.0.0 <1.10.0'
+
+ '@opentelemetry/sdk-logs@0.57.2':
+ resolution: {integrity: sha512-TXFHJ5c+BKggWbdEQ/inpgIzEmS2BGQowLE9UhsMd7YYlUfBQJ4uax0VF/B5NYigdM/75OoJGhAV3upEhK+3gg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.4.0 <1.10.0'
+
+ '@opentelemetry/sdk-metrics@1.30.1':
+ resolution: {integrity: sha512-q9zcZ0Okl8jRgmy7eNW3Ku1XSgg3sDLa5evHZpCwjspw7E8Is4K/haRPDJrBcX3YSn/Y7gUvFnByNYEKQNbNog==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.3.0 <1.10.0'
+
+ '@opentelemetry/sdk-trace-base@1.30.1':
+ resolution: {integrity: sha512-jVPgBbH1gCy2Lb7X0AVQ8XAfgg0pJ4nvl8/IiQA6nxOsPvS+0zMJaFSs2ltXe0J6C8dqjcnpyqINDJmU30+uOg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.0.0 <1.10.0'
+
+ '@opentelemetry/sdk-trace-node@1.30.1':
+ resolution: {integrity: sha512-cBjYOINt1JxXdpw1e5MlHmFRc5fgj4GW/86vsKFxJCJ8AL4PdVtYH41gWwl4qd4uQjqEL1oJVrXkSy5cnduAnQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.0.0 <1.10.0'
+
+ '@opentelemetry/semantic-conventions@1.28.0':
+ resolution: {integrity: sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA==}
+ engines: {node: '>=14'}
+
+ '@parcel/watcher-android-arm64@2.5.1':
+ resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [android]
+
+ '@parcel/watcher-darwin-arm64@2.5.1':
+ resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@parcel/watcher-darwin-x64@2.5.1':
+ resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@parcel/watcher-freebsd-x64@2.5.1':
+ resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@parcel/watcher-linux-arm-glibc@2.5.1':
+ resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm]
+ os: [linux]
+ libc: [glibc]
+
+ '@parcel/watcher-linux-arm-musl@2.5.1':
+ resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm]
+ os: [linux]
+ libc: [musl]
+
+ '@parcel/watcher-linux-arm64-glibc@2.5.1':
+ resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@parcel/watcher-linux-arm64-musl@2.5.1':
+ resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@parcel/watcher-linux-x64-glibc@2.5.1':
+ resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@parcel/watcher-linux-x64-musl@2.5.1':
+ resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@parcel/watcher-wasm@2.5.1':
+ resolution: {integrity: sha512-RJxlQQLkaMMIuWRozy+z2vEqbaQlCuaCgVZIUCzQLYggY22LZbP5Y1+ia+FD724Ids9e+XIyOLXLrLgQSHIthw==}
+ engines: {node: '>= 10.0.0'}
+ bundledDependencies:
+ - napi-wasm
+
+ '@parcel/watcher-win32-arm64@2.5.1':
+ resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@parcel/watcher-win32-ia32@2.5.1':
+ resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@parcel/watcher-win32-x64@2.5.1':
+ resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [win32]
+
+ '@parcel/watcher@2.5.1':
+ resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==}
+ engines: {node: '>= 10.0.0'}
+
+ '@pinojs/redact@0.4.0':
+ resolution: {integrity: sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==}
+
+ '@pkgjs/parseargs@0.11.0':
+ resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
+ engines: {node: '>=14'}
+
+ '@pnpm/config.env-replace@1.1.0':
+ resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==}
+ engines: {node: '>=12.22.0'}
+
+ '@pnpm/network.ca-file@1.0.2':
+ resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==}
+ engines: {node: '>=12.22.0'}
+
+ '@pnpm/npm-conf@2.3.1':
+ resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==}
+ engines: {node: '>=12'}
+
+ '@pnpm/tabtab@0.5.4':
+ resolution: {integrity: sha512-bWLDlHsBlgKY/05wDN/V3ETcn5G2SV/SiA2ZmNvKGGlmVX4G5li7GRDhHcgYvHJHyJ8TUStqg2xtHmCs0UbAbg==}
+ engines: {node: '>=18'}
+
+ '@polka/url@1.0.0-next.29':
+ resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==}
+
+ '@protobufjs/aspromise@1.1.2':
+ resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==}
+
+ '@protobufjs/base64@1.1.2':
+ resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==}
+
+ '@protobufjs/codegen@2.0.4':
+ resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==}
+
+ '@protobufjs/eventemitter@1.1.0':
+ resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==}
+
+ '@protobufjs/fetch@1.1.0':
+ resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==}
+
+ '@protobufjs/float@1.0.2':
+ resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==}
+
+ '@protobufjs/inquire@1.1.0':
+ resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==}
+
+ '@protobufjs/path@1.1.2':
+ resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==}
+
+ '@protobufjs/pool@1.1.0':
+ resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==}
+
+ '@protobufjs/utf8@1.1.0':
+ resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==}
+
+ '@rollup/pluginutils@5.3.0':
+ resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@sec-ant/readable-stream@0.4.1':
+ resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==}
+
+ '@sideway/address@4.1.5':
+ resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==}
+
+ '@sideway/formula@3.0.1':
+ resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==}
+
+ '@sideway/pinpoint@2.0.0':
+ resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==}
+
+ '@sinclair/typebox@0.27.8':
+ resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
+
+ '@sindresorhus/is@4.6.0':
+ resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==}
+ engines: {node: '>=10'}
+
+ '@sindresorhus/is@5.6.0':
+ resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==}
+ engines: {node: '>=14.16'}
+
+ '@sindresorhus/merge-streams@2.3.0':
+ resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==}
+ engines: {node: '>=18'}
+
+ '@sindresorhus/slugify@2.2.1':
+ resolution: {integrity: sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw==}
+ engines: {node: '>=12'}
+
+ '@sindresorhus/transliterate@1.6.0':
+ resolution: {integrity: sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ==}
+ engines: {node: '>=12'}
+
+ '@slorber/react-helmet-async@1.3.0':
+ resolution: {integrity: sha512-e9/OK8VhwUSc67diWI8Rb3I0YgI9/SBQtnhe9aEuK6MhZm7ntZZimXgwXnd8W96YTmSOb9M4d8LwhRZyhWr/1A==}
+ peerDependencies:
+ react: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
+ '@slorber/remark-comment@1.0.0':
+ resolution: {integrity: sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==}
+
+ '@so-ric/colorspace@1.1.6':
+ resolution: {integrity: sha512-/KiKkpHNOBgkFJwu9sh48LkHSMYGyuTcSFK/qMBdnOAlrRJzRSXAOFB5qwzaVQuDl8wAvHVMkaASQDReTahxuw==}
+
+ '@standard-schema/spec@1.0.0':
+ resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==}
+
+ '@svgr/babel-plugin-add-jsx-attribute@8.0.0':
+ resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/babel-plugin-remove-jsx-attribute@8.0.0':
+ resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0':
+ resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0':
+ resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/babel-plugin-svg-dynamic-title@8.0.0':
+ resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/babel-plugin-svg-em-dimensions@8.0.0':
+ resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/babel-plugin-transform-react-native-svg@8.1.0':
+ resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/babel-plugin-transform-svg-component@8.0.0':
+ resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/babel-preset@8.1.0':
+ resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/core@8.1.0':
+ resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==}
+ engines: {node: '>=14'}
+
+ '@svgr/hast-util-to-babel-ast@8.0.0':
+ resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==}
+ engines: {node: '>=14'}
+
+ '@svgr/plugin-jsx@8.1.0':
+ resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@svgr/core': '*'
+
+ '@svgr/plugin-svgo@8.1.0':
+ resolution: {integrity: sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@svgr/core': '*'
+
+ '@svgr/webpack@8.1.0':
+ resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==}
+ engines: {node: '>=14'}
+
+ '@szmarczak/http-timer@5.0.1':
+ resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==}
+ engines: {node: '>=14.16'}
+
+ '@tokenizer/token@0.3.0':
+ resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==}
+
+ '@trysound/sax@0.2.0':
+ resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
+ engines: {node: '>=10.13.0'}
+
+ '@tsconfig/node10@1.0.12':
+ resolution: {integrity: sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==}
+
+ '@tsconfig/node12@1.0.11':
+ resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==}
+
+ '@tsconfig/node14@1.0.3':
+ resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==}
+
+ '@tsconfig/node16@1.0.4':
+ resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
+
+ '@tybys/wasm-util@0.10.1':
+ resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==}
+
+ '@types/body-parser@1.19.6':
+ resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==}
+
+ '@types/bonjour@3.5.13':
+ resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==}
+
+ '@types/connect-history-api-fallback@1.5.4':
+ resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==}
+
+ '@types/connect@3.4.38':
+ resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
+
+ '@types/d3-array@3.2.2':
+ resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==}
+
+ '@types/d3-axis@3.0.6':
+ resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==}
+
+ '@types/d3-brush@3.0.6':
+ resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==}
+
+ '@types/d3-chord@3.0.6':
+ resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==}
+
+ '@types/d3-color@3.1.3':
+ resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==}
+
+ '@types/d3-contour@3.0.6':
+ resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==}
+
+ '@types/d3-delaunay@6.0.4':
+ resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==}
+
+ '@types/d3-dispatch@3.0.7':
+ resolution: {integrity: sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==}
+
+ '@types/d3-drag@3.0.7':
+ resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==}
+
+ '@types/d3-dsv@3.0.7':
+ resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==}
+
+ '@types/d3-ease@3.0.2':
+ resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==}
+
+ '@types/d3-fetch@3.0.7':
+ resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==}
+
+ '@types/d3-force@3.0.10':
+ resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==}
+
+ '@types/d3-format@3.0.4':
+ resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==}
+
+ '@types/d3-geo@3.1.0':
+ resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==}
+
+ '@types/d3-hierarchy@3.1.7':
+ resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==}
+
+ '@types/d3-interpolate@3.0.4':
+ resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==}
+
+ '@types/d3-path@3.1.1':
+ resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==}
+
+ '@types/d3-polygon@3.0.2':
+ resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==}
+
+ '@types/d3-quadtree@3.0.6':
+ resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==}
+
+ '@types/d3-random@3.0.3':
+ resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==}
+
+ '@types/d3-scale-chromatic@3.1.0':
+ resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==}
+
+ '@types/d3-scale@4.0.9':
+ resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==}
+
+ '@types/d3-selection@3.0.11':
+ resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==}
+
+ '@types/d3-shape@3.1.7':
+ resolution: {integrity: sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==}
+
+ '@types/d3-time-format@4.0.3':
+ resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==}
+
+ '@types/d3-time@3.0.4':
+ resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==}
+
+ '@types/d3-timer@3.0.2':
+ resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==}
+
+ '@types/d3-transition@3.0.9':
+ resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==}
+
+ '@types/d3-zoom@3.0.8':
+ resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==}
+
+ '@types/d3@7.4.3':
+ resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==}
+
+ '@types/debug@4.1.12':
+ resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
+
+ '@types/eslint-scope@3.7.7':
+ resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
+
+ '@types/eslint@9.6.1':
+ resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==}
+
+ '@types/estree-jsx@1.0.5':
+ resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==}
+
+ '@types/estree@1.0.8':
+ resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
+
+ '@types/express-serve-static-core@4.19.6':
+ resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==}
+
+ '@types/express@4.17.23':
+ resolution: {integrity: sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ==}
+
+ '@types/geojson@7946.0.16':
+ resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==}
+
+ '@types/gtag.js@0.0.12':
+ resolution: {integrity: sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==}
+
+ '@types/hast@3.0.4':
+ resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
+
+ '@types/history@4.7.11':
+ resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==}
+
+ '@types/html-minifier-terser@6.1.0':
+ resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==}
+
+ '@types/http-cache-semantics@4.0.4':
+ resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==}
+
+ '@types/http-errors@2.0.5':
+ resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==}
+
+ '@types/http-proxy@1.17.16':
+ resolution: {integrity: sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w==}
+
+ '@types/istanbul-lib-coverage@2.0.6':
+ resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==}
+
+ '@types/istanbul-lib-report@3.0.3':
+ resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==}
+
+ '@types/istanbul-reports@3.0.4':
+ resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==}
+
+ '@types/json-schema@7.0.15':
+ resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
+
+ '@types/katex@0.16.7':
+ resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==}
+
+ '@types/mdast@4.0.4':
+ resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
+
+ '@types/mdx@2.0.13':
+ resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==}
+
+ '@types/mime@1.3.5':
+ resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==}
+
+ '@types/ms@2.1.0':
+ resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
+
+ '@types/node-forge@1.3.14':
+ resolution: {integrity: sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==}
+
+ '@types/node@17.0.45':
+ resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==}
+
+ '@types/node@24.7.0':
+ resolution: {integrity: sha512-IbKooQVqUBrlzWTi79E8Fw78l8k1RNtlDDNWsFZs7XonuQSJ8oNYfEeclhprUldXISRMLzBpILuKgPlIxm+/Yw==}
+
+ '@types/normalize-package-data@2.4.4':
+ resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
+
+ '@types/prismjs@1.26.5':
+ resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==}
+
+ '@types/qs@6.14.0':
+ resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==}
+
+ '@types/range-parser@1.2.7':
+ resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==}
+
+ '@types/react-router-config@5.0.11':
+ resolution: {integrity: sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==}
+
+ '@types/react-router-dom@5.3.3':
+ resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==}
+
+ '@types/react-router@5.1.20':
+ resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==}
+
+ '@types/react@19.2.2':
+ resolution: {integrity: sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==}
+
+ '@types/retry@0.12.2':
+ resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==}
+
+ '@types/sax@1.2.7':
+ resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==}
+
+ '@types/send@0.17.5':
+ resolution: {integrity: sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==}
+
+ '@types/send@1.2.0':
+ resolution: {integrity: sha512-zBF6vZJn1IaMpg3xUF25VK3gd3l8zwE0ZLRX7dsQyQi+jp4E8mMDJNGDYnYse+bQhYwWERTxVwHpi3dMOq7RKQ==}
+
+ '@types/serve-index@1.9.4':
+ resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==}
+
+ '@types/serve-static@1.15.9':
+ resolution: {integrity: sha512-dOTIuqpWLyl3BBXU3maNQsS4A3zuuoYRNIvYSxxhebPfXg2mzWQEPne/nlJ37yOse6uGgR386uTpdsx4D0QZWA==}
+
+ '@types/sockjs@0.3.36':
+ resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==}
+
+ '@types/triple-beam@1.3.5':
+ resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==}
+
+ '@types/trusted-types@2.0.7':
+ resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
+
+ '@types/unist@2.0.11':
+ resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==}
+
+ '@types/unist@3.0.3':
+ resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
+
+ '@types/ws@8.18.1':
+ resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==}
+
+ '@types/yargs-parser@21.0.3':
+ resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==}
+
+ '@types/yargs@17.0.33':
+ resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==}
+
+ '@types/yauzl@2.10.3':
+ resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
+
+ '@typescript-eslint/project-service@8.46.4':
+ resolution: {integrity: sha512-nPiRSKuvtTN+no/2N1kt2tUh/HoFzeEgOm9fQ6XQk4/ApGqjx0zFIIaLJ6wooR1HIoozvj2j6vTi/1fgAz7UYQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <6.0.0'
+
+ '@typescript-eslint/tsconfig-utils@8.46.4':
+ resolution: {integrity: sha512-+/XqaZPIAk6Cjg7NWgSGe27X4zMGqrFqZ8atJsX3CWxH/jACqWnrWI68h7nHQld0y+k9eTTjb9r+KU4twLoo9A==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <6.0.0'
+
+ '@typescript-eslint/types@8.46.4':
+ resolution: {integrity: sha512-USjyxm3gQEePdUwJBFjjGNG18xY9A2grDVGuk7/9AkjIF1L+ZrVnwR5VAU5JXtUnBL/Nwt3H31KlRDaksnM7/w==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@typescript-eslint/typescript-estree@8.46.4':
+ resolution: {integrity: sha512-7oV2qEOr1d4NWNmpXLR35LvCfOkTNymY9oyW+lUHkmCno7aOmIf/hMaydnJBUTBMRCOGZh8YjkFOc8dadEoNGA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <6.0.0'
+
+ '@typescript-eslint/visitor-keys@8.46.4':
+ resolution: {integrity: sha512-/++5CYLQqsO9HFGLI7APrxBJYo+5OCMpViuhV8q5/Qa3o5mMrF//eQHks+PXcsAVaLdn817fMuS7zqoXNNZGaw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@ungap/structured-clone@1.3.0':
+ resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
+
+ '@vercel/nft@0.29.4':
+ resolution: {integrity: sha512-6lLqMNX3TuycBPABycx7A9F1bHQR7kiQln6abjFbPrf5C/05qHM9M5E4PeTE59c7z8g6vHnx1Ioihb2AQl7BTA==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ '@vercel/oidc@3.0.2':
+ resolution: {integrity: sha512-JekxQ0RApo4gS4un/iMGsIL1/k4KUBe3HmnGcDvzHuFBdQdudEJgTqcsJC7y6Ul4Yw5CeykgvQbX2XeEJd0+DA==}
+ engines: {node: '>= 20'}
+
+ '@vue/compiler-core@3.5.24':
+ resolution: {integrity: sha512-eDl5H57AOpNakGNAkFDH+y7kTqrQpJkZFXhWZQGyx/5Wh7B1uQYvcWkvZi11BDhscPgj8N7XV3oRwiPnx1Vrig==}
+
+ '@vue/compiler-dom@3.5.24':
+ resolution: {integrity: sha512-1QHGAvs53gXkWdd3ZMGYuvQFXHW4ksKWPG8HP8/2BscrbZ0brw183q2oNWjMrSWImYLHxHrx1ItBQr50I/q2zw==}
+
+ '@vue/compiler-sfc@3.5.24':
+ resolution: {integrity: sha512-8EG5YPRgmTB+YxYBM3VXy8zHD9SWHUJLIGPhDovo3Z8VOgvP+O7UP5vl0J4BBPWYD9vxtBabzW1EuEZ+Cqs14g==}
+
+ '@vue/compiler-ssr@3.5.24':
+ resolution: {integrity: sha512-trOvMWNBMQ/odMRHW7Ae1CdfYx+7MuiQu62Jtu36gMLXcaoqKvAyh+P73sYG9ll+6jLB6QPovqoKGGZROzkFFg==}
+
+ '@vue/shared@3.5.24':
+ resolution: {integrity: sha512-9cwHL2EsJBdi8NY22pngYYWzkTDhld6fAD6jlaeloNGciNSJL6bLpbxVgXl96X00Jtc6YWQv96YA/0sxex/k1A==}
+
+ '@webassemblyjs/ast@1.14.1':
+ resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==}
+
+ '@webassemblyjs/floating-point-hex-parser@1.13.2':
+ resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==}
+
+ '@webassemblyjs/helper-api-error@1.13.2':
+ resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==}
+
+ '@webassemblyjs/helper-buffer@1.14.1':
+ resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==}
+
+ '@webassemblyjs/helper-numbers@1.13.2':
+ resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==}
+
+ '@webassemblyjs/helper-wasm-bytecode@1.13.2':
+ resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==}
+
+ '@webassemblyjs/helper-wasm-section@1.14.1':
+ resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==}
+
+ '@webassemblyjs/ieee754@1.13.2':
+ resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==}
+
+ '@webassemblyjs/leb128@1.13.2':
+ resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==}
+
+ '@webassemblyjs/utf8@1.13.2':
+ resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==}
+
+ '@webassemblyjs/wasm-edit@1.14.1':
+ resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==}
+
+ '@webassemblyjs/wasm-gen@1.14.1':
+ resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==}
+
+ '@webassemblyjs/wasm-opt@1.14.1':
+ resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==}
+
+ '@webassemblyjs/wasm-parser@1.14.1':
+ resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==}
+
+ '@webassemblyjs/wast-printer@1.14.1':
+ resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==}
+
+ '@whatwg-node/disposablestack@0.0.6':
+ resolution: {integrity: sha512-LOtTn+JgJvX8WfBVJtF08TGrdjuFzGJc4mkP8EdDI8ADbvO7kiexYep1o8dwnt0okb0jYclCDXF13xU7Ge4zSw==}
+ engines: {node: '>=18.0.0'}
+
+ '@whatwg-node/fetch@0.10.13':
+ resolution: {integrity: sha512-b4PhJ+zYj4357zwk4TTuF2nEe0vVtOrwdsrNo5hL+u1ojXNhh1FgJ6pg1jzDlwlT4oBdzfSwaBwMCtFCsIWg8Q==}
+ engines: {node: '>=18.0.0'}
+
+ '@whatwg-node/node-fetch@0.8.4':
+ resolution: {integrity: sha512-AlKLc57loGoyYlrzDbejB9EeR+pfdJdGzbYnkEuZaGekFboBwzfVYVMsy88PMriqPI1ORpiGYGgSSWpx7a2sDA==}
+ engines: {node: '>=18.0.0'}
+
+ '@whatwg-node/promise-helpers@1.3.2':
+ resolution: {integrity: sha512-Nst5JdK47VIl9UcGwtv2Rcgyn5lWtZ0/mhRQ4G8NN2isxpq2TO30iqHzmwoJycjWuyUfg3GFXqP/gFHXeV57IA==}
+ engines: {node: '>=16.0.0'}
+
+ '@whatwg-node/server@0.10.17':
+ resolution: {integrity: sha512-QxI+HQfJeI/UscFNCTcSri6nrHP25mtyAMbhEri7W2ctdb3EsorPuJz7IovSgNjvKVs73dg9Fmayewx1O2xOxA==}
+ engines: {node: '>=18.0.0'}
+
+ '@xhmikosr/archive-type@6.0.1':
+ resolution: {integrity: sha512-PB3NeJL8xARZt52yDBupK0dNPn8uIVQDe15qNehUpoeeLWCZyAOam4vGXnoZGz2N9D1VXtjievJuCsXam2TmbQ==}
+ engines: {node: ^14.14.0 || >=16.0.0}
+
+ '@xhmikosr/decompress-tar@7.0.0':
+ resolution: {integrity: sha512-kyWf2hybtQVbWtB+FdRyOT+jyR5jxCNZPLqvQGB7djZj75lrpLUPEmRbyo86AtJ5OEtivpYaNWjCkqSJ8xtRWw==}
+ engines: {node: ^14.14.0 || >=16.0.0}
+
+ '@xhmikosr/decompress-tarbz2@7.0.0':
+ resolution: {integrity: sha512-3QnjipYkRgh3Dee1MWDgKmANWxOQBVN4e1IwiGNe2fHYfMYTeSkVvWREt87UIoSucKUh3E95v8uGFttgTknZcA==}
+ engines: {node: ^14.14.0 || >=16.0.0}
+
+ '@xhmikosr/decompress-targz@7.0.0':
+ resolution: {integrity: sha512-7BNHJl92g9OLhw89zqcFS67V1LAtm4Ex02j6OiQzuE8P7Yy9lQcyBuEL3x6v436grLdL+BcFjgbmhWxnem4GHw==}
+ engines: {node: ^14.14.0 || >=16.0.0}
+
+ '@xhmikosr/decompress-unzip@6.0.0':
+ resolution: {integrity: sha512-R1HAkjXLS7RAL74YFLxYY9zYflCcYGssld9KKFDu87PnJ4h4btdhzXfSC8J5i5A2njH3oYIoCzx03RIGTH07Sg==}
+ engines: {node: ^14.14.0 || >=16.0.0}
+
+ '@xhmikosr/decompress@9.0.1':
+ resolution: {integrity: sha512-9Lvlt6Qdpo9SaRQyRIXCo3lgU++eMZ68lzgjcTwtuKDrlwT635+5zsHZ1yrSx/Blc5IDuVLlPkBPj5CZkx+2+Q==}
+ engines: {node: ^14.14.0 || >=16.0.0}
+
+ '@xhmikosr/downloader@13.0.1':
+ resolution: {integrity: sha512-mBvWew1kZJHfNQVVfVllMjUDwCGN9apPa0t4/z1zaUJ9MzpXjRL3w8fsfJKB8gHN/h4rik9HneKfDbh2fErN+w==}
+ engines: {node: ^14.14.0 || >=16.0.0}
+
+ '@xtuc/ieee754@1.2.0':
+ resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
+
+ '@xtuc/long@4.2.2':
+ resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
+
+ abbrev@3.0.1:
+ resolution: {integrity: sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==}
+ engines: {node: ^18.17.0 || >=20.5.0}
+
+ abort-controller@3.0.0:
+ resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
+ engines: {node: '>=6.5'}
+
+ abstract-logging@2.0.1:
+ resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==}
+
+ accepts@1.3.8:
+ resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
+ engines: {node: '>= 0.6'}
+
+ acorn-import-attributes@1.9.5:
+ resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==}
+ peerDependencies:
+ acorn: ^8
+
+ acorn-import-phases@1.0.4:
+ resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==}
+ engines: {node: '>=10.13.0'}
+ peerDependencies:
+ acorn: ^8.14.0
+
+ acorn-jsx@5.3.2:
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ acorn-walk@8.3.4:
+ resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==}
+ engines: {node: '>=0.4.0'}
+
+ acorn@8.15.0:
+ resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ address@1.2.2:
+ resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==}
+ engines: {node: '>= 10.0.0'}
+
+ agent-base@7.1.4:
+ resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==}
+ engines: {node: '>= 14'}
+
+ aggregate-error@3.1.0:
+ resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==}
+ engines: {node: '>=8'}
+
+ ai@5.0.62:
+ resolution: {integrity: sha512-IZ5H0rIgwoMx/H9hdZnjW0AjXDMhJnPZlnl+xzfP3vsG76+4k/vYJBYJ4kbKAGCRhaErhc2sK22bSegpXqnhEQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ zod: ^3.25.76 || ^4.1.8
+
+ ajv-errors@3.0.0:
+ resolution: {integrity: sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==}
+ peerDependencies:
+ ajv: ^8.0.1
+
+ ajv-formats@2.1.1:
+ resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
+ peerDependencies:
+ ajv: ^8.0.0
+ peerDependenciesMeta:
+ ajv:
+ optional: true
+
+ ajv-formats@3.0.1:
+ resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==}
+ peerDependencies:
+ ajv: ^8.0.0
+ peerDependenciesMeta:
+ ajv:
+ optional: true
+
+ ajv-keywords@3.5.2:
+ resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
+ peerDependencies:
+ ajv: ^6.9.1
+
+ ajv-keywords@5.1.0:
+ resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==}
+ peerDependencies:
+ ajv: ^8.8.2
+
+ ajv@6.12.6:
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+
+ ajv@8.17.1:
+ resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==}
+
+ algoliasearch-helper@3.26.0:
+ resolution: {integrity: sha512-Rv2x3GXleQ3ygwhkhJubhhYGsICmShLAiqtUuJTUkr9uOCOXyF2E71LVT4XDnVffbknv8XgScP4U0Oxtgm+hIw==}
+ peerDependencies:
+ algoliasearch: '>= 3.1 < 6'
+
+ algoliasearch@5.40.0:
+ resolution: {integrity: sha512-a9aIL2E3Z7uYUPMCmjMFFd5MWhn+ccTubEvnMy7rOTZCB62dXBJtz0R5BZ/TPuX3R9ocBsgWuAbGWQ+Ph4Fmlg==}
+ engines: {node: '>= 14.0.0'}
+
+ ansi-align@3.0.1:
+ resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
+
+ ansi-colors@4.1.3:
+ resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
+ engines: {node: '>=6'}
+
+ ansi-escapes@4.3.2:
+ resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
+ engines: {node: '>=8'}
+
+ ansi-escapes@7.1.1:
+ resolution: {integrity: sha512-Zhl0ErHcSRUaVfGUeUdDuLgpkEo8KIFjB4Y9uAc46ScOpdDiU1Dbyplh7qWJeJ/ZHpbyMSM26+X3BySgnIz40Q==}
+ engines: {node: '>=18'}
+
+ ansi-html-community@0.0.8:
+ resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==}
+ engines: {'0': node >= 0.8.0}
+ hasBin: true
+
+ ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+
+ ansi-regex@6.2.2:
+ resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==}
+ engines: {node: '>=12'}
+
+ ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+
+ ansi-styles@6.2.3:
+ resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==}
+ engines: {node: '>=12'}
+
+ ansi-to-html@0.7.2:
+ resolution: {integrity: sha512-v6MqmEpNlxF+POuyhKkidusCHWWkaLcGRURzivcU3I9tv7k4JVhFcnukrM5Rlk2rUywdZuzYAZ+kbZqWCnfN3g==}
+ engines: {node: '>=8.0.0'}
+ hasBin: true
+
+ ansis@4.2.0:
+ resolution: {integrity: sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==}
+ engines: {node: '>=14'}
+
+ anymatch@3.1.3:
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
+ engines: {node: '>= 8'}
+
+ archiver-utils@5.0.2:
+ resolution: {integrity: sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==}
+ engines: {node: '>= 14'}
+
+ archiver@7.0.1:
+ resolution: {integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==}
+ engines: {node: '>= 14'}
+
+ arg@4.1.3:
+ resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
+
+ arg@5.0.2:
+ resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
+
+ argparse@1.0.10:
+ resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
+
+ argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+
+ array-flatten@1.1.1:
+ resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
+
+ array-timsort@1.0.3:
+ resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==}
+
+ array-union@2.1.0:
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
+ engines: {node: '>=8'}
+
+ ascii-table@0.0.9:
+ resolution: {integrity: sha512-xpkr6sCDIYTPqzvjG8M3ncw1YOTaloWZOyrUmicoEifBEKzQzt+ooUpRpQ/AbOoJfO/p2ZKiyp79qHThzJDulQ==}
+
+ ast-module-types@6.0.1:
+ resolution: {integrity: sha512-WHw67kLXYbZuHTmcdbIrVArCq5wxo6NEuj3hiYAWr8mwJeC+C2mMCIBIWCiDoCye/OF/xelc+teJ1ERoWmnEIA==}
+ engines: {node: '>=18'}
+
+ astring@1.9.0:
+ resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==}
+ hasBin: true
+
+ async-sema@3.1.1:
+ resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==}
+
+ async@3.2.6:
+ resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==}
+
+ atomic-sleep@1.0.0:
+ resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==}
+ engines: {node: '>=8.0.0'}
+
+ atomically@2.1.0:
+ resolution: {integrity: sha512-+gDffFXRW6sl/HCwbta7zK4uNqbPjv4YJEAdz7Vu+FLQHe77eZ4bvbJGi4hE0QPeJlMYMA3piXEr1UL3dAwx7Q==}
+
+ autoprefixer@10.4.21:
+ resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==}
+ engines: {node: ^10 || ^12 || >=14}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.1.0
+
+ avvio@8.4.0:
+ resolution: {integrity: sha512-CDSwaxINFy59iNwhYnkvALBwZiTydGkOecZyPkqBpABYR1KqGEsET0VOOYDwtleZSUIdeY36DC2bSZ24CO1igA==}
+
+ b4a@1.7.3:
+ resolution: {integrity: sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==}
+ peerDependencies:
+ react-native-b4a: '*'
+ peerDependenciesMeta:
+ react-native-b4a:
+ optional: true
+
+ babel-loader@9.2.1:
+ resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==}
+ engines: {node: '>= 14.15.0'}
+ peerDependencies:
+ '@babel/core': ^7.12.0
+ webpack: '>=5'
+
+ babel-plugin-dynamic-import-node@2.3.3:
+ resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==}
+
+ babel-plugin-polyfill-corejs2@0.4.14:
+ resolution: {integrity: sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
+ babel-plugin-polyfill-corejs3@0.13.0:
+ resolution: {integrity: sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
+ babel-plugin-polyfill-regenerator@0.6.5:
+ resolution: {integrity: sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
+ backoff@2.5.0:
+ resolution: {integrity: sha512-wC5ihrnUXmR2douXmXLCe5O3zg3GKIyvRi/hi58a/XyRxVI+3/yM0PYueQOZXPXQ9pxBislYkw+sF9b7C/RuMA==}
+ engines: {node: '>= 0.6'}
+
+ bail@2.0.2:
+ resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
+
+ balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+ bare-events@2.8.2:
+ resolution: {integrity: sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==}
+ peerDependencies:
+ bare-abort-controller: '*'
+ peerDependenciesMeta:
+ bare-abort-controller:
+ optional: true
+
+ base64-js@1.5.1:
+ resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
+
+ baseline-browser-mapping@2.8.14:
+ resolution: {integrity: sha512-GM9c0cWWR8Ga7//Ves/9KRgTS8nLausCkP3CGiFLrnwA2CDUluXgaQqvrULoR2Ujrd/mz/lkX87F5BHFsNr5sQ==}
+ hasBin: true
+
+ batch@0.6.1:
+ resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==}
+
+ before-after-hook@4.0.0:
+ resolution: {integrity: sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==}
+
+ better-ajv-errors@1.2.0:
+ resolution: {integrity: sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ ajv: 4.11.8 - 8
+
+ big.js@5.2.2:
+ resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==}
+
+ binary-extensions@2.3.0:
+ resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
+ engines: {node: '>=8'}
+
+ bindings@1.5.0:
+ resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
+
+ bl@4.1.0:
+ resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
+
+ body-parser@1.20.3:
+ resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==}
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+
+ bonjour-service@1.3.0:
+ resolution: {integrity: sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==}
+
+ boolbase@1.0.0:
+ resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
+
+ boxen@6.2.1:
+ resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ boxen@7.1.1:
+ resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==}
+ engines: {node: '>=14.16'}
+
+ boxen@8.0.1:
+ resolution: {integrity: sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==}
+ engines: {node: '>=18'}
+
+ brace-expansion@1.1.12:
+ resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==}
+
+ brace-expansion@2.0.2:
+ resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
+
+ braces@3.0.3:
+ resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
+ engines: {node: '>=8'}
+
+ browserslist@4.26.3:
+ resolution: {integrity: sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+
+ buffer-crc32@0.2.13:
+ resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
+
+ buffer-crc32@1.0.0:
+ resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==}
+ engines: {node: '>=8.0.0'}
+
+ buffer-equal-constant-time@1.0.1:
+ resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==}
+
+ buffer-from@1.1.2:
+ resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
+
+ buffer@5.7.1:
+ resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
+
+ buffer@6.0.3:
+ resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
+
+ bundle-name@4.1.0:
+ resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==}
+ engines: {node: '>=18'}
+
+ byline@5.0.0:
+ resolution: {integrity: sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==}
+ engines: {node: '>=0.10.0'}
+
+ bytes@3.0.0:
+ resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
+ engines: {node: '>= 0.8'}
+
+ bytes@3.1.2:
+ resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
+ engines: {node: '>= 0.8'}
+
+ cacheable-lookup@7.0.0:
+ resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==}
+ engines: {node: '>=14.16'}
+
+ cacheable-request@10.2.14:
+ resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==}
+ engines: {node: '>=14.16'}
+
+ call-bind-apply-helpers@1.0.2:
+ resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
+ engines: {node: '>= 0.4'}
+
+ call-bind@1.0.8:
+ resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==}
+ engines: {node: '>= 0.4'}
+
+ call-bound@1.0.4:
+ resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}
+ engines: {node: '>= 0.4'}
+
+ callsite@1.0.0:
+ resolution: {integrity: sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ==}
+
+ callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+
+ camel-case@4.1.2:
+ resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==}
+
+ camelcase@6.3.0:
+ resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
+ engines: {node: '>=10'}
+
+ camelcase@7.0.1:
+ resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==}
+ engines: {node: '>=14.16'}
+
+ camelcase@8.0.0:
+ resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==}
+ engines: {node: '>=16'}
+
+ caniuse-api@3.0.0:
+ resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
+
+ caniuse-lite@1.0.30001749:
+ resolution: {integrity: sha512-0rw2fJOmLfnzCRbkm8EyHL8SvI2Apu5UbnQuTsJ0ClgrH8hcwFooJ1s5R0EP8o8aVrFu8++ae29Kt9/gZAZp/Q==}
+
+ ccount@2.0.1:
+ resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
+
+ chalk@4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
+
+ chalk@5.6.2:
+ resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==}
+ engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+
+ char-regex@1.0.2:
+ resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
+ engines: {node: '>=10'}
+
+ character-entities-html4@2.1.0:
+ resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
+
+ character-entities-legacy@3.0.0:
+ resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
+
+ character-entities@2.0.2:
+ resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
+
+ character-reference-invalid@2.0.1:
+ resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==}
+
+ chardet@2.1.1:
+ resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==}
+
+ cheerio-select@2.1.0:
+ resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==}
+
+ cheerio@1.0.0-rc.12:
+ resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==}
+ engines: {node: '>= 6'}
+
+ cheerio@1.1.2:
+ resolution: {integrity: sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==}
+ engines: {node: '>=20.18.1'}
+
+ chevrotain-allstar@0.3.1:
+ resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==}
+ peerDependencies:
+ chevrotain: ^11.0.0
+
+ chevrotain@11.0.3:
+ resolution: {integrity: sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==}
+
+ chokidar@3.6.0:
+ resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
+ engines: {node: '>= 8.10.0'}
+
+ chokidar@4.0.3:
+ resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
+ engines: {node: '>= 14.16.0'}
+
+ chownr@3.0.0:
+ resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==}
+ engines: {node: '>=18'}
+
+ chrome-trace-event@1.0.4:
+ resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==}
+ engines: {node: '>=6.0'}
+
+ ci-info@3.9.0:
+ resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
+ engines: {node: '>=8'}
+
+ ci-info@4.3.0:
+ resolution: {integrity: sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==}
+ engines: {node: '>=8'}
+
+ citty@0.1.6:
+ resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==}
+
+ cjs-module-lexer@1.4.3:
+ resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==}
+
+ clean-css@5.3.3:
+ resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==}
+ engines: {node: '>= 10.0'}
+
+ clean-deep@3.4.0:
+ resolution: {integrity: sha512-Lo78NV5ItJL/jl+B5w0BycAisaieJGXK1qYi/9m4SjR8zbqmrUtO7Yhro40wEShGmmxs/aJLI/A+jNhdkXK8mw==}
+ engines: {node: '>=4'}
+
+ clean-stack@2.2.0:
+ resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
+ engines: {node: '>=6'}
+
+ clean-stack@5.3.0:
+ resolution: {integrity: sha512-9ngPTOhYGQqNVSfeJkYXHmF7AGWp4/nN5D/QqNQs3Dvxd1Kk/WpjHfNujKHYUQ/5CoGyOyFNoWSPk5afzP0QVg==}
+ engines: {node: '>=14.16'}
+
+ cli-boxes@3.0.0:
+ resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==}
+ engines: {node: '>=10'}
+
+ cli-cursor@3.1.0:
+ resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
+ engines: {node: '>=8'}
+
+ cli-cursor@5.0.0:
+ resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==}
+ engines: {node: '>=18'}
+
+ cli-spinners@2.9.2:
+ resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
+ engines: {node: '>=6'}
+
+ cli-table3@0.6.5:
+ resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==}
+ engines: {node: 10.* || >= 12.*}
+
+ cli-width@3.0.0:
+ resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==}
+ engines: {node: '>= 10'}
+
+ clipboardy@4.0.0:
+ resolution: {integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==}
+ engines: {node: '>=18'}
+
+ cliui@8.0.1:
+ resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
+ engines: {node: '>=12'}
+
+ clone-deep@4.0.1:
+ resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==}
+ engines: {node: '>=6'}
+
+ clone@1.0.4:
+ resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
+ engines: {node: '>=0.8'}
+
+ clsx@2.1.1:
+ resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
+ engines: {node: '>=6'}
+
+ collapse-white-space@2.1.0:
+ resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==}
+
+ color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+
+ color-convert@3.1.2:
+ resolution: {integrity: sha512-UNqkvCDXstVck3kdowtOTWROIJQwafjOfXSmddoDrXo4cewMKmusCeF22Q24zvjR8nwWib/3S/dfyzPItPEiJg==}
+ engines: {node: '>=14.6'}
+
+ color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+
+ color-name@2.1.0:
+ resolution: {integrity: sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==}
+ engines: {node: '>=12.20'}
+
+ color-string@2.1.2:
+ resolution: {integrity: sha512-RxmjYxbWemV9gKu4zPgiZagUxbH3RQpEIO77XoSSX0ivgABDZ+h8Zuash/EMFLTI4N9QgFPOJ6JQpPZKFxa+dA==}
+ engines: {node: '>=18'}
+
+ color@5.0.2:
+ resolution: {integrity: sha512-e2hz5BzbUPcYlIRHo8ieAhYgoajrJr+hWoceg6E345TPsATMUKqDgzt8fSXZJJbxfpiPzkWyphz8yn8At7q3fA==}
+ engines: {node: '>=18'}
+
+ colord@2.9.3:
+ resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
+
+ colorette@2.0.20:
+ resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
+
+ colors@1.4.0:
+ resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==}
+ engines: {node: '>=0.1.90'}
+
+ combine-promises@1.2.0:
+ resolution: {integrity: sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==}
+ engines: {node: '>=10'}
+
+ comlink@4.4.2:
+ resolution: {integrity: sha512-OxGdvBmJuNKSCMO4NTl1L47VRp6xn2wG4F/2hYzB6tiCb709otOxtEYCSvK80PtjODfXXZu8ds+Nw5kVCjqd2g==}
+
+ comma-separated-tokens@2.0.3:
+ resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
+
+ commander@10.0.1:
+ resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==}
+ engines: {node: '>=14'}
+
+ commander@11.1.0:
+ resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==}
+ engines: {node: '>=16'}
+
+ commander@12.1.0:
+ resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==}
+ engines: {node: '>=18'}
+
+ commander@13.1.0:
+ resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==}
+ engines: {node: '>=18'}
+
+ commander@2.20.3:
+ resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+
+ commander@5.1.0:
+ resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==}
+ engines: {node: '>= 6'}
+
+ commander@7.2.0:
+ resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
+ engines: {node: '>= 10'}
+
+ commander@8.3.0:
+ resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
+ engines: {node: '>= 12'}
+
+ commander@9.5.0:
+ resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
+ engines: {node: ^12.20.0 || >=14}
+
+ comment-json@4.3.0:
+ resolution: {integrity: sha512-DczdmbvWLd09KATFWY0xcihOO45b32+5V34vZg1oelxqgjtGJotaLrrdFpJRLOdG6Wb031qcg4zOKgnQoBWbEw==}
+ engines: {node: '>= 6'}
+
+ common-path-prefix@3.0.0:
+ resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==}
+
+ commondir@1.0.1:
+ resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
+
+ compress-commons@6.0.2:
+ resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==}
+ engines: {node: '>= 14'}
+
+ compressible@2.0.18:
+ resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
+ engines: {node: '>= 0.6'}
+
+ compression@1.8.1:
+ resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==}
+ engines: {node: '>= 0.8.0'}
+
+ concat-map@0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+
+ confbox@0.1.8:
+ resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==}
+
+ confbox@0.2.2:
+ resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==}
+
+ config-chain@1.1.13:
+ resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==}
+
+ configstore@6.0.0:
+ resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==}
+ engines: {node: '>=12'}
+
+ configstore@7.1.0:
+ resolution: {integrity: sha512-N4oog6YJWbR9kGyXvS7jEykLDXIE2C0ILYqNBZBp9iwiJpoCBWYsuAdW6PPFn6w06jjnC+3JstVvWHO4cZqvRg==}
+ engines: {node: '>=18'}
+
+ connect-history-api-fallback@2.0.0:
+ resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==}
+ engines: {node: '>=0.8'}
+
+ consola@3.4.2:
+ resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==}
+ engines: {node: ^14.18.0 || >=16.10.0}
+
+ content-disposition@0.5.2:
+ resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==}
+ engines: {node: '>= 0.6'}
+
+ content-disposition@0.5.4:
+ resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
+ engines: {node: '>= 0.6'}
+
+ content-type@1.0.5:
+ resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
+ engines: {node: '>= 0.6'}
+
+ convert-source-map@2.0.0:
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+
+ cookie-es@1.2.2:
+ resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==}
+
+ cookie-signature@1.0.6:
+ resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
+
+ cookie@0.7.1:
+ resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==}
+ engines: {node: '>= 0.6'}
+
+ cookie@1.0.2:
+ resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==}
+ engines: {node: '>=18'}
+
+ copy-file@11.1.0:
+ resolution: {integrity: sha512-X8XDzyvYaA6msMyAM575CUoygY5b44QzLcGRKsK3MFmXcOvQa518dNPLsKYwkYsn72g3EiW+LE0ytd/FlqWmyw==}
+ engines: {node: '>=18'}
+
+ copy-webpack-plugin@11.0.0:
+ resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==}
+ engines: {node: '>= 14.15.0'}
+ peerDependencies:
+ webpack: ^5.1.0
+
+ core-js-compat@3.45.1:
+ resolution: {integrity: sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==}
+
+ core-js-pure@3.45.1:
+ resolution: {integrity: sha512-OHnWFKgTUshEU8MK+lOs1H8kC8GkTi9Z1tvNkxrCcw9wl3MJIO7q2ld77wjWn4/xuGrVu2X+nME1iIIPBSdyEQ==}
+
+ core-js@3.45.1:
+ resolution: {integrity: sha512-L4NPsJlCfZsPeXukyzHFlg/i7IIVwHSItR0wg0FLNqYClJ4MQYTYLbC7EkjKYRLZF2iof2MUgN0EGy7MdQFChg==}
+
+ core-util-is@1.0.3:
+ resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
+
+ cose-base@1.0.3:
+ resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==}
+
+ cose-base@2.2.0:
+ resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==}
+
+ cosmiconfig@8.3.6:
+ resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ typescript: '>=4.9.5'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ cpy@11.1.0:
+ resolution: {integrity: sha512-QGHetPSSuprVs+lJmMDcivvrBwTKASzXQ5qxFvRC2RFESjjod71bDvFvhxTjDgkNjrrb72AI6JPjfYwxrIy33A==}
+ engines: {node: '>=18'}
+
+ crc-32@1.2.2:
+ resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==}
+ engines: {node: '>=0.8'}
+ hasBin: true
+
+ crc32-stream@6.0.0:
+ resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==}
+ engines: {node: '>= 14'}
+
+ create-require@1.1.1:
+ resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
+
+ cron-parser@4.9.0:
+ resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==}
+ engines: {node: '>=12.0.0'}
+
+ cross-spawn@7.0.6:
+ resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
+ engines: {node: '>= 8'}
+
+ crossws@0.3.5:
+ resolution: {integrity: sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==}
+
+ crypto-random-string@4.0.0:
+ resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==}
+ engines: {node: '>=12'}
+
+ css-blank-pseudo@7.0.1:
+ resolution: {integrity: sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ css-declaration-sorter@7.3.0:
+ resolution: {integrity: sha512-LQF6N/3vkAMYF4xoHLJfG718HRJh34Z8BnNhd6bosOMIVjMlhuZK5++oZa3uYAgrI5+7x2o27gUqTR2U/KjUOQ==}
+ engines: {node: ^14 || ^16 || >=18}
+ peerDependencies:
+ postcss: ^8.0.9
+
+ css-has-pseudo@7.0.3:
+ resolution: {integrity: sha512-oG+vKuGyqe/xvEMoxAQrhi7uY16deJR3i7wwhBerVrGQKSqUC5GiOVxTpM9F9B9hw0J+eKeOWLH7E9gZ1Dr5rA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ css-loader@6.11.0:
+ resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ '@rspack/core': 0.x || 1.x
+ webpack: ^5.0.0
+ peerDependenciesMeta:
+ '@rspack/core':
+ optional: true
+ webpack:
+ optional: true
+
+ css-minimizer-webpack-plugin@5.0.1:
+ resolution: {integrity: sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==}
+ engines: {node: '>= 14.15.0'}
+ peerDependencies:
+ '@parcel/css': '*'
+ '@swc/css': '*'
+ clean-css: '*'
+ csso: '*'
+ esbuild: '*'
+ lightningcss: '*'
+ webpack: ^5.0.0
+ peerDependenciesMeta:
+ '@parcel/css':
+ optional: true
+ '@swc/css':
+ optional: true
+ clean-css:
+ optional: true
+ csso:
+ optional: true
+ esbuild:
+ optional: true
+ lightningcss:
+ optional: true
+
+ css-prefers-color-scheme@10.0.0:
+ resolution: {integrity: sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ css-select@4.3.0:
+ resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
+
+ css-select@5.2.2:
+ resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==}
+
+ css-tree@2.2.1:
+ resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
+
+ css-tree@2.3.1:
+ resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+
+ css-tree@3.1.0:
+ resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+
+ css-what@6.2.2:
+ resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==}
+ engines: {node: '>= 6'}
+
+ cssdb@8.4.2:
+ resolution: {integrity: sha512-PzjkRkRUS+IHDJohtxkIczlxPPZqRo0nXplsYXOMBRPjcVRjj1W4DfvRgshUYTVuUigU7ptVYkFJQ7abUB0nyg==}
+
+ cssesc@3.0.0:
+ resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ cssfilter@0.0.10:
+ resolution: {integrity: sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==}
+
+ cssnano-preset-advanced@6.1.2:
+ resolution: {integrity: sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ cssnano-preset-default@6.1.2:
+ resolution: {integrity: sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ cssnano-utils@4.0.2:
+ resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ cssnano@6.1.2:
+ resolution: {integrity: sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ csso@5.0.5:
+ resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
+
+ csstype@3.1.3:
+ resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+
+ cyclist@1.0.2:
+ resolution: {integrity: sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==}
+
+ cytoscape-cose-bilkent@4.1.0:
+ resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==}
+ peerDependencies:
+ cytoscape: ^3.2.0
+
+ cytoscape-fcose@2.2.0:
+ resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==}
+ peerDependencies:
+ cytoscape: ^3.2.0
+
+ cytoscape@3.33.1:
+ resolution: {integrity: sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==}
+ engines: {node: '>=0.10'}
+
+ d3-array@2.12.1:
+ resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==}
+
+ d3-array@3.2.4:
+ resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==}
+ engines: {node: '>=12'}
+
+ d3-axis@3.0.0:
+ resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==}
+ engines: {node: '>=12'}
+
+ d3-brush@3.0.0:
+ resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==}
+ engines: {node: '>=12'}
+
+ d3-chord@3.0.1:
+ resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==}
+ engines: {node: '>=12'}
+
+ d3-color@3.1.0:
+ resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==}
+ engines: {node: '>=12'}
+
+ d3-contour@4.0.2:
+ resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==}
+ engines: {node: '>=12'}
+
+ d3-delaunay@6.0.4:
+ resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==}
+ engines: {node: '>=12'}
+
+ d3-dispatch@3.0.1:
+ resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==}
+ engines: {node: '>=12'}
+
+ d3-drag@3.0.0:
+ resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==}
+ engines: {node: '>=12'}
+
+ d3-dsv@3.0.1:
+ resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==}
+ engines: {node: '>=12'}
+ hasBin: true
+
+ d3-ease@3.0.1:
+ resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==}
+ engines: {node: '>=12'}
+
+ d3-fetch@3.0.1:
+ resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==}
+ engines: {node: '>=12'}
+
+ d3-force@3.0.0:
+ resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==}
+ engines: {node: '>=12'}
+
+ d3-format@3.1.0:
+ resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==}
+ engines: {node: '>=12'}
+
+ d3-geo@3.1.1:
+ resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==}
+ engines: {node: '>=12'}
+
+ d3-hierarchy@3.1.2:
+ resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==}
+ engines: {node: '>=12'}
+
+ d3-interpolate@3.0.1:
+ resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==}
+ engines: {node: '>=12'}
+
+ d3-path@1.0.9:
+ resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==}
+
+ d3-path@3.1.0:
+ resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==}
+ engines: {node: '>=12'}
+
+ d3-polygon@3.0.1:
+ resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==}
+ engines: {node: '>=12'}
+
+ d3-quadtree@3.0.1:
+ resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==}
+ engines: {node: '>=12'}
+
+ d3-random@3.0.1:
+ resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==}
+ engines: {node: '>=12'}
+
+ d3-sankey@0.12.3:
+ resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==}
+
+ d3-scale-chromatic@3.1.0:
+ resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==}
+ engines: {node: '>=12'}
+
+ d3-scale@4.0.2:
+ resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==}
+ engines: {node: '>=12'}
+
+ d3-selection@3.0.0:
+ resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==}
+ engines: {node: '>=12'}
+
+ d3-shape@1.3.7:
+ resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==}
+
+ d3-shape@3.2.0:
+ resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==}
+ engines: {node: '>=12'}
+
+ d3-time-format@4.1.0:
+ resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==}
+ engines: {node: '>=12'}
+
+ d3-time@3.1.0:
+ resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==}
+ engines: {node: '>=12'}
+
+ d3-timer@3.0.1:
+ resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==}
+ engines: {node: '>=12'}
+
+ d3-transition@3.0.1:
+ resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ d3-selection: 2 - 3
+
+ d3-zoom@3.0.0:
+ resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==}
+ engines: {node: '>=12'}
+
+ d3@7.9.0:
+ resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==}
+ engines: {node: '>=12'}
+
+ dagre-d3-es@7.0.11:
+ resolution: {integrity: sha512-tvlJLyQf834SylNKax8Wkzco/1ias1OPw8DcUMDE7oUIoSEW25riQVuiu/0OWEFqT0cxHT3Pa9/D82Jr47IONw==}
+
+ data-uri-to-buffer@4.0.1:
+ resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==}
+ engines: {node: '>= 12'}
+
+ dayjs@1.11.18:
+ resolution: {integrity: sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA==}
+
+ debounce@1.2.1:
+ resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==}
+
+ debug@2.6.9:
+ resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ debug@4.4.3:
+ resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ decache@4.6.2:
+ resolution: {integrity: sha512-2LPqkLeu8XWHU8qNCS3kcF6sCcb5zIzvWaAHYSvPfwhdd7mHuah29NssMzrTYyHN4F5oFy2ko9OBYxegtU0FEw==}
+
+ decode-named-character-reference@1.2.0:
+ resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==}
+
+ decompress-response@6.0.0:
+ resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
+ engines: {node: '>=10'}
+
+ deep-extend@0.6.0:
+ resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
+ engines: {node: '>=4.0.0'}
+
+ deepmerge@4.3.1:
+ resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
+ engines: {node: '>=0.10.0'}
+
+ default-browser-id@5.0.0:
+ resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==}
+ engines: {node: '>=18'}
+
+ default-browser@5.2.1:
+ resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==}
+ engines: {node: '>=18'}
+
+ defaults@1.0.4:
+ resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
+
+ defer-to-connect@2.0.1:
+ resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==}
+ engines: {node: '>=10'}
+
+ define-data-property@1.1.4:
+ resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
+ engines: {node: '>= 0.4'}
+
+ define-lazy-prop@2.0.0:
+ resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
+ engines: {node: '>=8'}
+
+ define-lazy-prop@3.0.0:
+ resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
+ engines: {node: '>=12'}
+
+ define-properties@1.2.1:
+ resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
+ engines: {node: '>= 0.4'}
+
+ defu@6.1.4:
+ resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
+
+ delaunator@5.0.1:
+ resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==}
+
+ depd@1.1.2:
+ resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==}
+ engines: {node: '>= 0.6'}
+
+ depd@2.0.0:
+ resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
+ engines: {node: '>= 0.8'}
+
+ dequal@2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
+
+ destr@2.0.5:
+ resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==}
+
+ destroy@1.2.0:
+ resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+
+ detect-libc@1.0.3:
+ resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
+ engines: {node: '>=0.10'}
+ hasBin: true
+
+ detect-libc@2.1.2:
+ resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
+ engines: {node: '>=8'}
+
+ detect-node@2.1.0:
+ resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==}
+
+ detect-port@1.6.1:
+ resolution: {integrity: sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==}
+ engines: {node: '>= 4.0.0'}
+ hasBin: true
+
+ detective-amd@6.0.1:
+ resolution: {integrity: sha512-TtyZ3OhwUoEEIhTFoc1C9IyJIud3y+xYkSRjmvCt65+ycQuc3VcBrPRTMWoO/AnuCyOB8T5gky+xf7Igxtjd3g==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ detective-cjs@6.0.1:
+ resolution: {integrity: sha512-tLTQsWvd2WMcmn/60T2inEJNhJoi7a//PQ7DwRKEj1yEeiQs4mrONgsUtEJKnZmrGWBBmE0kJ1vqOG/NAxwaJw==}
+ engines: {node: '>=18'}
+
+ detective-es6@5.0.1:
+ resolution: {integrity: sha512-XusTPuewnSUdoxRSx8OOI6xIA/uld/wMQwYsouvFN2LAg7HgP06NF1lHRV3x6BZxyL2Kkoih4ewcq8hcbGtwew==}
+ engines: {node: '>=18'}
+
+ detective-postcss@7.0.1:
+ resolution: {integrity: sha512-bEOVpHU9picRZux5XnwGsmCN4+8oZo7vSW0O0/Enq/TO5R2pIAP2279NsszpJR7ocnQt4WXU0+nnh/0JuK4KHQ==}
+ engines: {node: ^14.0.0 || >=16.0.0}
+ peerDependencies:
+ postcss: ^8.4.47
+
+ detective-sass@6.0.1:
+ resolution: {integrity: sha512-jSGPO8QDy7K7pztUmGC6aiHkexBQT4GIH+mBAL9ZyBmnUIOFbkfZnO8wPRRJFP/QP83irObgsZHCoDHZ173tRw==}
+ engines: {node: '>=18'}
+
+ detective-scss@5.0.1:
+ resolution: {integrity: sha512-MAyPYRgS6DCiS6n6AoSBJXLGVOydsr9huwXORUlJ37K3YLyiN0vYHpzs3AdJOgHobBfispokoqrEon9rbmKacg==}
+ engines: {node: '>=18'}
+
+ detective-stylus@5.0.1:
+ resolution: {integrity: sha512-Dgn0bUqdGbE3oZJ+WCKf8Dmu7VWLcmRJGc6RCzBgG31DLIyai9WAoEhYRgIHpt/BCRMrnXLbGWGPQuBUrnF0TA==}
+ engines: {node: '>=18'}
+
+ detective-typescript@14.0.0:
+ resolution: {integrity: sha512-pgN43/80MmWVSEi5LUuiVvO/0a9ss5V7fwVfrJ4QzAQRd3cwqU1SfWGXJFcNKUqoD5cS+uIovhw5t/0rSeC5Mw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ typescript: ^5.4.4
+
+ detective-vue2@2.2.0:
+ resolution: {integrity: sha512-sVg/t6O2z1zna8a/UIV6xL5KUa2cMTQbdTIIvqNM0NIPswp52fe43Nwmbahzj3ww4D844u/vC2PYfiGLvD3zFA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ typescript: ^5.4.4
+
+ dettle@1.0.5:
+ resolution: {integrity: sha512-ZVyjhAJ7sCe1PNXEGveObOH9AC8QvMga3HJIghHawtG7mE4K5pW9nz/vDGAr/U7a3LWgdOzEE7ac9MURnyfaTA==}
+
+ devlop@1.1.0:
+ resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
+
+ diff@4.0.2:
+ resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
+ engines: {node: '>=0.3.1'}
+
+ dir-glob@3.0.1:
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
+ engines: {node: '>=8'}
+
+ dns-packet@5.6.1:
+ resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==}
+ engines: {node: '>=6'}
+
+ docusaurus-plugin-matomo@0.0.8:
+ resolution: {integrity: sha512-YSaDdjxI7uN1FuNLSGrQy4BmDEXwwyL6vac7GfmS7wFBLck/Ias5jHqENPBHXe36m2cYzyesGPQL1EsS9vanwA==}
+ engines: {node: '>=12.13.0'}
+ peerDependencies:
+ '@docusaurus/core': ^2.0.0-alpha.56 || ^3.0.0
+
+ dom-converter@0.2.0:
+ resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==}
+
+ dom-serializer@1.4.1:
+ resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==}
+
+ dom-serializer@2.0.0:
+ resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
+
+ domelementtype@2.3.0:
+ resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
+
+ domhandler@4.3.1:
+ resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
+ engines: {node: '>= 4'}
+
+ domhandler@5.0.3:
+ resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
+ engines: {node: '>= 4'}
+
+ dompurify@3.2.7:
+ resolution: {integrity: sha512-WhL/YuveyGXJaerVlMYGWhvQswa7myDG17P7Vu65EWC05o8vfeNbvNf4d/BOvH99+ZW+LlQsc1GDKMa1vNK6dw==}
+
+ domutils@2.8.0:
+ resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
+
+ domutils@3.2.2:
+ resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==}
+
+ dot-case@3.0.4:
+ resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
+
+ dot-prop@6.0.1:
+ resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==}
+ engines: {node: '>=10'}
+
+ dot-prop@9.0.0:
+ resolution: {integrity: sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ==}
+ engines: {node: '>=18'}
+
+ dotenv@16.6.1:
+ resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==}
+ engines: {node: '>=12'}
+
+ dotenv@17.2.3:
+ resolution: {integrity: sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==}
+ engines: {node: '>=12'}
+
+ dunder-proto@1.0.1:
+ resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
+ engines: {node: '>= 0.4'}
+
+ duplexer@0.1.2:
+ resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
+
+ eastasianwidth@0.2.0:
+ resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+
+ ecdsa-sig-formatter@1.0.11:
+ resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==}
+
+ ee-first@1.1.1:
+ resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
+
+ electron-to-chromium@1.5.233:
+ resolution: {integrity: sha512-iUdTQSf7EFXsDdQsp8MwJz5SVk4APEFqXU/S47OtQ0YLqacSwPXdZ5vRlMX3neb07Cy2vgioNuRnWUXFwuslkg==}
+
+ email-addresses@5.0.0:
+ resolution: {integrity: sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==}
+
+ emoji-regex@10.6.0:
+ resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==}
+
+ emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+
+ emoji-regex@9.2.2:
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+
+ emojilib@2.4.0:
+ resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==}
+
+ emojis-list@3.0.0:
+ resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==}
+ engines: {node: '>= 4'}
+
+ emoticon@4.1.0:
+ resolution: {integrity: sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==}
+
+ empathic@2.0.0:
+ resolution: {integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==}
+ engines: {node: '>=14'}
+
+ enabled@2.0.0:
+ resolution: {integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==}
+
+ encodeurl@1.0.2:
+ resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
+ engines: {node: '>= 0.8'}
+
+ encodeurl@2.0.0:
+ resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==}
+ engines: {node: '>= 0.8'}
+
+ encoding-sniffer@0.2.1:
+ resolution: {integrity: sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==}
+
+ end-of-stream@1.4.5:
+ resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==}
+
+ enhanced-resolve@5.18.3:
+ resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==}
+ engines: {node: '>=10.13.0'}
+
+ enquirer@2.4.1:
+ resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==}
+ engines: {node: '>=8.6'}
+
+ entities@2.2.0:
+ resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
+
+ entities@4.5.0:
+ resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
+ engines: {node: '>=0.12'}
+
+ entities@6.0.1:
+ resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==}
+ engines: {node: '>=0.12'}
+
+ env-paths@3.0.0:
+ resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ envinfo@7.15.0:
+ resolution: {integrity: sha512-chR+t7exF6y59kelhXw5I3849nTy7KIRO+ePdLMhCD+JRP/JvmkenDWP7QSFGlsHX+kxGxdDutOPrmj5j1HR6g==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ environment@1.1.0:
+ resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==}
+ engines: {node: '>=18'}
+
+ error-ex@1.3.4:
+ resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==}
+
+ error-stack-parser@2.1.4:
+ resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==}
+
+ es-define-property@1.0.1:
+ resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
+ engines: {node: '>= 0.4'}
+
+ es-errors@1.3.0:
+ resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
+ engines: {node: '>= 0.4'}
+
+ es-module-lexer@1.7.0:
+ resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==}
+
+ es-object-atoms@1.1.1:
+ resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
+ engines: {node: '>= 0.4'}
+
+ esast-util-from-estree@2.0.0:
+ resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==}
+
+ esast-util-from-js@2.0.1:
+ resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==}
+
+ esbuild@0.25.11:
+ resolution: {integrity: sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ escalade@3.2.0:
+ resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
+ engines: {node: '>=6'}
+
+ escape-goat@4.0.0:
+ resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==}
+ engines: {node: '>=12'}
+
+ escape-html@1.0.3:
+ resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
+
+ escape-string-regexp@1.0.5:
+ resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
+ engines: {node: '>=0.8.0'}
+
+ escape-string-regexp@4.0.0:
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
+ engines: {node: '>=10'}
+
+ escape-string-regexp@5.0.0:
+ resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
+ engines: {node: '>=12'}
+
+ escodegen@2.1.0:
+ resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
+ engines: {node: '>=6.0'}
+ hasBin: true
+
+ eslint-scope@5.1.1:
+ resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
+ engines: {node: '>=8.0.0'}
+
+ eslint-visitor-keys@4.2.1:
+ resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ esprima@4.0.1:
+ resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ esrecurse@4.3.0:
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
+ engines: {node: '>=4.0'}
+
+ estraverse@4.3.0:
+ resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
+ engines: {node: '>=4.0'}
+
+ estraverse@5.3.0:
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
+ engines: {node: '>=4.0'}
+
+ estree-util-attach-comments@3.0.0:
+ resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==}
+
+ estree-util-build-jsx@3.0.1:
+ resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==}
+
+ estree-util-is-identifier-name@3.0.0:
+ resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==}
+
+ estree-util-scope@1.0.0:
+ resolution: {integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==}
+
+ estree-util-to-js@2.0.0:
+ resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==}
+
+ estree-util-value-to-estree@3.4.0:
+ resolution: {integrity: sha512-Zlp+gxis+gCfK12d3Srl2PdX2ybsEA8ZYy6vQGVQTNNYLEGRQQ56XB64bjemN8kxIKXP1nC9ip4Z+ILy9LGzvQ==}
+
+ estree-util-visit@2.0.0:
+ resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==}
+
+ estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+
+ estree-walker@3.0.3:
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+
+ esutils@2.0.3:
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
+ engines: {node: '>=0.10.0'}
+
+ eta@2.2.0:
+ resolution: {integrity: sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==}
+ engines: {node: '>=6.0.0'}
+
+ etag@1.8.1:
+ resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
+ engines: {node: '>= 0.6'}
+
+ eval@0.1.8:
+ resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==}
+ engines: {node: '>= 0.8'}
+
+ event-target-shim@5.0.1:
+ resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
+ engines: {node: '>=6'}
+
+ eventemitter3@4.0.7:
+ resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
+
+ events-universal@1.0.1:
+ resolution: {integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==}
+
+ events@3.3.0:
+ resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
+ engines: {node: '>=0.8.x'}
+
+ eventsource-parser@3.0.6:
+ resolution: {integrity: sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==}
+ engines: {node: '>=18.0.0'}
+
+ execa@5.1.1:
+ resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
+ engines: {node: '>=10'}
+
+ execa@8.0.1:
+ resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
+ engines: {node: '>=16.17'}
+
+ express-logging@1.1.1:
+ resolution: {integrity: sha512-1KboYwxxCG5kwkJHR5LjFDTD1Mgl8n4PIMcCuhhd/1OqaxlC68P3QKbvvAbZVUtVgtlxEdTgSUwf6yxwzRCuuA==}
+ engines: {node: '>= 0.10.26'}
+
+ express@4.21.2:
+ resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==}
+ engines: {node: '>= 0.10.0'}
+
+ exsolve@1.0.7:
+ resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==}
+
+ ext-list@2.2.2:
+ resolution: {integrity: sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==}
+ engines: {node: '>=0.10.0'}
+
+ ext-name@5.0.0:
+ resolution: {integrity: sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==}
+ engines: {node: '>=4'}
+
+ extend-shallow@2.0.1:
+ resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==}
+ engines: {node: '>=0.10.0'}
+
+ extend@3.0.2:
+ resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
+
+ extract-zip@2.0.1:
+ resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==}
+ engines: {node: '>= 10.17.0'}
+ hasBin: true
+
+ fast-content-type-parse@1.1.0:
+ resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==}
+
+ fast-content-type-parse@3.0.0:
+ resolution: {integrity: sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==}
+
+ fast-decode-uri-component@1.0.1:
+ resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==}
+
+ fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+
+ fast-equals@3.0.3:
+ resolution: {integrity: sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg==}
+
+ fast-fifo@1.3.2:
+ resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==}
+
+ fast-glob@3.3.3:
+ resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
+ engines: {node: '>=8.6.0'}
+
+ fast-json-stable-stringify@2.1.0:
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
... 14457 lines suppressed ...
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@fesod.apache.org
For additional commands, e-mail: commits-help@fesod.apache.org