From 3b9c16ba7c472795a90c44d72d06cd54240369e8 Mon Sep 17 00:00:00 2001 From: Andrey Epifancev Date: Mon, 5 Oct 2026 15:03:18 +0400 Subject: [PATCH] =?UTF-8?q?osv/synthetic:=20=D1=81=D0=B8=D0=BD=D1=82=D0=B5?= =?UTF-8?q?=D1=82=D0=B8=D1=87=D0=B5=D1=81=D0=BA=D0=B8=D0=B5=20=D0=9E=D0=A1?= =?UTF-8?q?=D0=92=20=D0=B8=20xlsb=20(=D0=A1=D1=80=D0=B5=D0=B7=202a),=20REA?= =?UTF-8?q?DME?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Файлы s01…s13: по одному сценарию спеки osv-parsing на файл (шапка варианта 2, иерархия по отступам и по кодам счетов, Вал./Кол., текстовые числа, два листа ОСВ и посторонний, без «начала» и свёрнутое сальдо, колонка КПП, названия субсчетов, испорченная сумма, повтор заголовка, лист ББ + лист ОСВ, xlsb). Генератор — tabular-parser, api/tests/synthetic/generate.py. s13 собран минимальным писателем BIFF12, не Excel (см. README). Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2 --- README.md | 2 +- osv/synthetic/.gitkeep | 0 osv/synthetic/README.md | 50 ++++++++++++++++++ osv/synthetic/s01_variant2_header.xlsx | Bin 0 -> 5813 bytes osv/synthetic/s02_no_outline_indent.xlsx | Bin 0 -> 5845 bytes osv/synthetic/s03_no_outline_no_indent.xlsx | Bin 0 -> 5818 bytes osv/synthetic/s04_currency_quantity_rows.xlsx | Bin 0 -> 5741 bytes osv/synthetic/s05_text_numbers.xlsx | Bin 0 -> 5789 bytes .../s06_two_osv_and_other_sheet.xlsx | Bin 0 -> 7666 bytes .../s07_no_opening_collapsed_closing.xlsx | Bin 0 -> 5589 bytes osv/synthetic/s08_extra_kpp_column.xlsx | Bin 0 -> 5839 bytes osv/synthetic/s09_subaccount_names.xlsx | Bin 0 -> 5824 bytes osv/synthetic/s10_broken_sum.xlsx | Bin 0 -> 5807 bytes osv/synthetic/s11_header_repeat.xlsx | Bin 0 -> 5898 bytes osv/synthetic/s12_statement_and_osv.xlsx | Bin 0 -> 6591 bytes osv/synthetic/s13_no_outline_indent.xlsb | Bin 0 -> 2304 bytes 16 files changed, 51 insertions(+), 1 deletion(-) delete mode 100644 osv/synthetic/.gitkeep create mode 100644 osv/synthetic/README.md create mode 100644 osv/synthetic/s01_variant2_header.xlsx create mode 100644 osv/synthetic/s02_no_outline_indent.xlsx create mode 100644 osv/synthetic/s03_no_outline_no_indent.xlsx create mode 100644 osv/synthetic/s04_currency_quantity_rows.xlsx create mode 100644 osv/synthetic/s05_text_numbers.xlsx create mode 100644 osv/synthetic/s06_two_osv_and_other_sheet.xlsx create mode 100644 osv/synthetic/s07_no_opening_collapsed_closing.xlsx create mode 100644 osv/synthetic/s08_extra_kpp_column.xlsx create mode 100644 osv/synthetic/s09_subaccount_names.xlsx create mode 100644 osv/synthetic/s10_broken_sum.xlsx create mode 100644 osv/synthetic/s11_header_repeat.xlsx create mode 100644 osv/synthetic/s12_statement_and_osv.xlsx create mode 100644 osv/synthetic/s13_no_outline_indent.xlsb diff --git a/README.md b/README.md index 90ce1c7..2f6eadb 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ ``` osv/{rb,schastl}/<ГГГГ-Qn | ГГГГ-FY>/ ОСВ по счетам, исходные имена файлов (разложены по шапке, не по имени) -osv/synthetic/ синтетика для форматов, которых нет в реальных данных (заполняется в Срезе 2) +osv/synthetic/ синтетика s01–s13 для форматов, которых нет в реальных данных (Срез 2a); генератор и описание — osv/synthetic/README.md statements/{rb,schastl}/ ББ/ОФР в PDF (машиночитаемые и сканы) statements-xlsx/ ББ/ОФР в Excel — запросить у аналитиков (пока пусто) ocr/ пары «вход → выход» ИС Сканирование: aep_N.pdf + aep_N.json diff --git a/osv/synthetic/.gitkeep b/osv/synthetic/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/osv/synthetic/README.md b/osv/synthetic/README.md new file mode 100644 index 0000000..efef4b4 --- /dev/null +++ b/osv/synthetic/README.md @@ -0,0 +1,50 @@ +# osv/synthetic — синтетические ОСВ + +Синтетика для форматов шапки, иерархии и колонок, которых нет в реальных файлах `osv/{rb,schastl}/`. Данных реальных +организаций здесь нет: организация «ООО "Тестовая организация"», контрагенты «ООО Альфа», «ООО Бета» и т. п., ИНН +вымышленные. Файлы — **вход** парсера ОСВ (`tabular-parser`), а не эталон: ожидания по каждому файлу выведены из спеки +(`openspec/changes/slice-2a-osv-parser/specs/osv-parsing/spec.md`) и лежат в тесте +`tabular-parser/api/tests/synthetic/test_synthetic_files.py`. + +Суммы согласованы арифметически (сальдо на конец = начало + обороты, родитель = сумма детей по колонкам), поэтому все +файлы, кроме `s10`, сходятся по контрольным суммам §1.4 и дают статус `done`. + +## Генерация + +Файлы собирает детерминированный генератор (openpyxl + минимальный писатель BIFF12 для xlsb); повторный запуск даёт +те же байты (метки времени книги и zip зафиксированы): + +``` +cd tabular-parser/api +.venv/bin/python -m tests.synthetic.generate ../../fixtures/osv/synthetic +``` + +Правка набора — в `tabular-parser/api/tests/synthetic/generate.py`, затем перегенерация и коммит файлов здесь. + +## Набор + +| Файл | Что проверяет | Ожидание | +|---|---|---| +| `s01_variant2_header.xlsx` | шапка варианта 2: «Период: …», «Детализация по субсчетам, субконто: Контрагенты, Договоры», заголовок «Субконто»; данные «Сумма» | `header_variant=2`, `group_schema=[ACCOUNT, COUNTERPARTY, CONTRACT]`, `Q1`/2026, `data_type=SUM`, `hierarchy=outline` | +| `s02_no_outline_indent.xlsx` | уровни только отступами ячеек (без outline level); `Валюта БУ, НУ: руб.`; период «2 квартал 2025 г.» | `hierarchy=indent`, дерево 0/1/2 | +| `s03_no_outline_no_indent.xlsx` | ни outline, ни отступов: уровни по кодам счетов и жирности; период «I кв. 2025 г.» (римский квартал) | `hierarchy=account_pattern`, дерево как у `s02` | +| `s04_currency_quantity_rows.xlsx` | под контрагентом строки «USD», «Кол.» (и «Вал.» у другого) | `data_type` `CURRENCY`/`QUANTITY`, в проверку суммы детей не входят, `done` | +| `s05_text_numbers.xlsx` | суммы текстом: «1 234 567,89», «(1 234,00)», «—»; неразрывные и узкие пробелы, прочерки «–», «-»; период «полугодие 2025 г.» | `1234567.89`, `-1234.00`, `null` | +| `s06_two_osv_and_other_sheet.xlsx` | листы «ОСВ 60», «Справка», «ОСВ 62» | два документа в порядке листов, предупреждение о пропуске «Справка» | +| `s07_no_opening_collapsed_closing.xlsx` | нет группы «Сальдо на начало»; сальдо на конец — одна колонка со знаком; период «9 месяцев 2025 г.» | `opening_* = null`, отрицательное сальдо — в `closing_credit`, предупреждение о свёрнутом сальдо | +| `s08_extra_kpp_column.xlsx` | колонка «КПП» между «ИНН» и суммами; период «с 01.01.2025 по 31.03.2025» | `extra["КПП"]` у контрагентов, суммы не сдвинуты | +| `s09_subaccount_names.xlsx` | «60.01, Расчеты с поставщиками и подрядчиками», буквенный субсчёт «60.АВ, …» | `ACCOUNT`, `account_code_raw` без названия, `row_value` — исходный текст | +| `s10_broken_sum.xlsx` | у «ООО Бета» `closing_debit` увеличен на 1 | `needs_check`, нарушение тождества — строка контрагента, суммы родителя — строка «60.01» | +| `s11_header_repeat.xlsx` | заголовок таблицы повторяется внутри данных (печать по страницам); период «12 месяцев 2025 г.» | строки заголовка пропущены, дерево и суммы не нарушены | +| `s12_statement_and_osv.xlsx` | лист ББ («Бухгалтерский баланс», 0710001) и лист «ОСВ 60»; данные «НУ», период «январь - сентябрь 2025 г.» | один документ, предупреждение «skipped: statement» | +| `s13_no_outline_indent.xlsb` | та же ведомость, что `s02`, в формате xlsb; отступ — ведущими пробелами текста | результат равен `s02` кроме предупреждения «xlsb: outline level недоступен» | + +## О файле xlsb + +`s13_no_outline_indent.xlsb` собран **не Excel и не LibreOffice** (их на машине разработки нет), а минимальным +писателем BIFF12 `tabular-parser/api/tests/synthetic/xlsb_writer.py`: он пишет только то, что читает `pyxlsb` +(workbook, таблица общих строк, лист; без стилей и объединений). Файл читается `pyxlsb` и парсером, но совместимость с +Excel не проверялась и этот файл не доказывает чтение xlsb, сохранённого Excel (другая раскладка записей, стили, +`BrtCellSt` и т. д.). Когда появится возможность — заменить `s13` настоящим: открыть `s02_no_outline_indent.xlsx` в +Excel или LibreOffice, «Сохранить как» → Книга Excel двоичная (`.xlsb`), имя `s13_no_outline_indent.xlsb`; в xlsb нет +outline level и форматирования ячеек, отступ нужно продублировать ведущими пробелами в колонке текста до сохранения. diff --git a/osv/synthetic/s01_variant2_header.xlsx b/osv/synthetic/s01_variant2_header.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..585b1d08fbc0e07de77d92eab4b12ab9009192ea GIT binary patch literal 5813 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 literal 0 HcmV?d00001 diff --git a/osv/synthetic/s03_no_outline_no_indent.xlsx b/osv/synthetic/s03_no_outline_no_indent.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..2525119cd385908a79f3f58ae7fe1ec541477c7d GIT binary patch literal 5818 zcmZ`-bzGDE`W^@fj2s|c5(3g8-6ai*bTgzwKuSq*v{F*iqm&rk-60G{Nh6ZNL~2S1 zXTJWeR=dC}h5LgP0t)d|=U}U(_lkYkk@=}06?890^ z<<1nZiv3e~ih^&ogdTg(nvt+X)g8vtMLK+vtpGNe7%~m<)VtVMF%L&59%gS2yI+8@ zJ8m{p>i*%vyUn?RbM&j@V*&uA|8&9D-P7)u4}}Tx&OQ7DFR#=GrK^$@h}lQ2X(h|~ zjjU}&txMw^_oz%+MmutL3wMSCXt!od1vVJ$nb1pmS23hFhr!!&c@|f6Idj#Bz3LoqX5`l=oQyGk8@JFb;M(88E zz6uKk_wJ?80`9Sg<1x;31DryMcto7uP8_0#AO_J{w!enB5ICtn$f>(a*7;8NHxzz$yHG#@GwY zbzM6Rz^%=qC7#TZ{drQbjGS9=|C6b7vrHBe8~`Bm4gf%gX3Ecn&)dPy)$aFI;1^d& z6H~8wG4h~&*tnlP$`#muFSNdv%*)Ydp*B4nsm=J3)F{ryADj>#+@X4pWF&VflOgj56O}>iiFCX_KY(LP6 z=&6Y6FCF*Zb!5Nuv%#D=+*8-gjxIyoU=}s1~+3c^h7m` zxo;8n^CY!ps6Z$nD^Oz0IXT#|6r&i~@)n+S;kCV)ElMEG1v&kx~ z$~l8P&FiFMb!voyWU{zfkTfS_sK5r7S3O0PRe~t=3_lmPk8NE!&2@4~H2K>ZVb+K5`x3*$18 zBpIv0z0riHV>1avq=^=y=>Lwz#FKU~K*ZEDkoixHuzqG+^r&@hhmAb`*%$!n1|(7yhdn^JZs}c%nv)@|qE ziTaz_4OkOLqm=3T4lK`Gh8un=Ww}*53KUXo@YMKHpWI%@E~b85^}$1%VT3@^UMi8k z-Zz(CT0#^4| zj}sH;TU~mU(0!>C`hm#9eCDrtkTiIYVub%Q%QX8p{kp>Bt}bP)+$s%Ljk5>bIyV@nFSYCK2jbn1X=L`L z!^?J6U61JDk4z6M+nuCqDYW62#^r-K1f<%xfS~)f$&^Lv`A5_b+qdqj^*$2oP!_5O zrBbzi-W+(M{jd?_Q%{U3*wiBaF2GK}zUXj;hX9Y;G}0Kfre%(t-g=u^5pdh*EY-Km z>hPz>kSg(p!>HgO#~oK(s9oY#{RJN&;+VO3%;x`${c2*0d845cdiyJrle~rrB#lg>8lJi z5ngWt8oQOtu8d|FP6b!QJr*REZ&+-SaVr)Cbp=L8hme-qv^T?aPT4XgYo8s2GQGW+ zStvj)tr9$+Dm5tt-zAmRxcQth5yv*x^jO&PHMvcBQB`^Wya0iJh|v*2-ea+q2;~eK zq3M`1@i=^U`DwWg*@Y=W2Na<&T>`d+KzjW>=(;w()Z*nnVP$vkt53+74vaq=$gFv_ z{w@}}&4K^`s^1O7*WJ_E%fZgh+l%k7+h1KI%V^1M;U0Mqg@Pe%rEzcyn7TexWEUjK zpj)u*Q~pttTfbULEoz~qcCI;we0Lssn`)fG)Us3U7PkZ0cZw3xdFBnHd_^uJ64p;} z-?7sl2a!?_oN4-ACz1AZ27qur7nH{$yb=1-VE*pB)Tw+thMo`F;fpr z2Mz*##Yq>Dc>mwA-3Z4oaV<_)|z0<1<>=nGxskhSc~ zyg`wZs$~2j70t&&$BI(g7Y?yDt&;}rh_``?w(JClS+9%L-oTt`Q=Qf$PtLl>m$A7jk$dx*8qG_fGcMiP=ZlW->n4OEqG0O|)C1ULG?X)XN4OD6 zI83$n!2L$YQu2b^%o68&pQA zJHF%Wh1P!o1Tl{Zrd1I<9(<9--{FPpt-NXZ7|zr=u*Y^<9QjOr%=kMa zBeIo!f5Lu4KuNp0XYWoCLe*%(-vmo+u`@{T}g; zP(6vmC@0*rN%J&3I^V)q8tHH7H+J+;?BD86W$z=T+c4evxHvsAznC2CIac2f*6r|q z$h=0qF73*Q*SMV8A_iG{es}&x)6hQ2j#BkgS_*I|d!R61IAp1%Z+A&#d2?y)WS`{q z$}A#X-5tvZ2S`7k;bH12)^>rCY<6^{=|nZrbFdIB0Pc@&3YZhwev$Bdmwt=*%M+#% z0i|56?AJj_Iyt`3bSXxQ%r&Br$8};NT9jXGlTRbpId2e*6qHsQY<%J;>Y)-{=X~*{ z-iKw1J)%+>;lXR>%0>i>Gj^~wSm|Fk47dc#;=?=7AD{;p@18Q#dY0#vTH2yoC8pF+ zQG?l<@p6Lqw4zUUk0MRMoE4AF14Q}2{#h%<3VPsrrf6H!r;{Z1rfm`n&2*h@O*0HP zOJWjBc(ra@;FgkfC+47v%PvEl@XUR~-@3km-|VU`IFh>4vI<@~lcH64iLCApbD3Ku z;gvQ&epGK4t~TjOf%x3BomexrsVykK=4tU!&3^c>zGTtc5m`65uwr!L!#QM@E~1nw zJGKiHYN{|NvW|X`>XjGeIh%mrA2Y$x>#%qmr!8w|hy7W+9ZK6aPen29TO8=29>m*S z`B*Gm?B&@sl|^zsWTvogQ@}qWceORQkDbSI=$$Tky7VZimX~HvrCA>L*WuIpX1X1z zD8@sT1iT|Fk!H;QSN~T-xl*L z-#OKnScLg)0%-_@m3T&Q(?{>OfvIgvFwL@-QNmA3v#zK^yt>HvV6M}d7~h{y!Z2HJ zOw?xF7zoY`4j7bl6t*7u_zEG6Z|oJ`#{7yCu<4u6VeaD)zG0X<7W`*{q^hMe1f%zm zPJ94>@OOdq^7ePJ^ZGSgFBvSnddpAplVY8iLqk`uM1dii{M`f7^4jxpLo!X9AxftY zTsyO~wvwTHkB#cSJd_Vj7nkumG6D;Itg+Hj?RW7^R3M}fH(3Z)pR^7JClWDw!;=*y zTv_Y1MIyYn386>;D<@*QM=?Qtm}1Utio+K{G-UC5*kC=Bb;oDYQ6$}fm1@z1%lJ@1 zS=oup&(_aKlZ|rA%F=(t0_Y0bt+u8ZYIXcUaSN>XQXk4U^yc1j28939oKiR40j#Th zRbg>+i(o-Zr`%2jnF+eTe0D45@Tkf6l%7D^zVtP?{~I4=(L|BmCJhG*<)jabk$tH3 zk5Aj!rO*6C=1q9yoy4Ubloi=2O~^C%rODRtd=6E8$yTS>tTozegG6)JVz#TJZ9K>* zaQS^HGvOB%mt*d5%i5n(&0)#2!LR14ReL0Y4$t1b1$8dkU-bvl+|4*a7C9R_V+xrh z?DL=7Y(lAdK(dO1NR=?WBviy64FoPp4VPZy9PG z8m1+er4dB}`yY*Hmz6`Eh~g;8?le{&9LCO$k6Ge|S7S!X0rIQHg>?;9^QtZfnrHmX zF_eVNRw8D^oa1UR_j&ctY2#j2s{1mtrP^gvV$Ux(x96zDp(;66BgB-1u!v}Y`9B@E zC~>T;U6#`cy;CU%aCrQ!l_nA?C5TB7imS88N>C5?@G>WU_FPeOz=u0|K( z_){5Ku(G|2Vv%n}AC69#;`3FNJ-Ck(3N&MUl3_C0OYH?mg|;@eekqfobf#8>f1N5eNJQLM~-Xo*-)PPG}B8|8M4({Pd-I89&wBKcH_EpXSWbZwb2^*gY zwP5r_^UnBDfWU)m!fZ=iH=D4oaDiPRR>$7IP4VVcI!X;0D zk9Y+W8X@;Y!A~?Gg&C&;LRlYu8JhlQd| zI30_=^pg}^IFfG&W>cDPjSAX4k3Hs4mFml5S8*Eb`)d2WDR`knR+Z5r=TX}oR3$Xr zCp^f?ep(dO`94?W#&lLh6aTj%_23!Z+dId5&pkeod8?ZTAeR>t%Yr`8^Gcp#{>iq` z?&s!mG|T5`#%X@D{X4S$$@yPVR+k`6^a3rtz(5-Ss*Fdd{^{gfh(b6m+QHcyzr_+$ zMRzxEJ2!7jeSZ%-FY{kvRh|S#hZRA;W#N~nPC{ZHa=W~-clSDh;l1Y2%^VwdZ}-;= z)#|xbgl{yU{iyF=7i^^swpbq|?4=F-70DT2%1wtP89{KfS)Sh423-|pMLwwWytx+C z^qhpt4^s#GgyuA$F4W{Jj~$%e9g5dJOlI_p3yPx!b1cW5VLR{{WwcQ_Z%&)=RaljZEp|Ni!cm>Sh(+bbo!y6`ypj4l8&o%VnoDW>6u1&`f+i9E_a16TbX} z@XSC==LbuH&o`{T$`6c3zBzY(n$q|a=l$G&HUle6>enHR{3H#NMehw5nB+J9x6X); zn!i3FXomm4>UbS}UE=$V1pq=Ydj5(2x8QdjeqHza8;(Rj{=cYT*9~0Xd;Vh}lou_d zq7D4lE$F(H>%+l+tYGM%X9cvCzek1Z(CdZ#Z|E|*-2J1hUk6?+SrN8aapk>Jal32PL*l3v&0Kh|kWzZ%4@vlGv{0m8E BA*cWV literal 0 HcmV?d00001 diff --git a/osv/synthetic/s04_currency_quantity_rows.xlsx b/osv/synthetic/s04_currency_quantity_rows.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..8b0c3bca8fd344ad9c31187a55a0049d6d624dd7 GIT binary patch literal 5741 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

h%a+tH&rC5bJ!;o$aZveZK+#e7|c zr@@w^vhulxI=P)o>KnZgwugfAF{6xcFP4D?)ed%gAD<`0ale|jb0ZOWS1`$@ur43a z1hNcNoy&~T884_AR(JK?vzMjFwWfFo%C({x<$C^{LV#->LU9|R!}v6=9G{GGk zhx~n(X^*FPxm4Tu>IqCk-}VzEx@6pJI_E;8LLV~OqSCZdI?&%c?&PT3jnt#xaQwO% zDp|)+y}SEkfI*^cSs(>W%DuUcFU>I_`e2R zw6nfU+sOJn8*o2w#A%xMu&pC$%zz49mD;5ulEK4bi4bja%94gs0~xZ z!g|7ir@DjH;+Vktv?U2+=M<)d#jOsL`m07Sp5 z9Nfjj9s>W>AkXX1hRpJjTv4tN=f@-@)v@o>)Xwj_El!!)W_wuJ3?l!w4l^WOMT;AB6DA=X%&;-ua*DsU-ZNFI;{MIwq^;P#8R0=4ztZr8{1Nuq4-4hw7SDfndF|aOh8;hbw_c}OI*FBfNDU| zF_kqEbkulv@l=1p;tu6pd*%m5HC#$EoXJdEpN1oH3_gAlp9CWJ-WUrEqcm!r>BEje za?I06F$f+uV3OsQ6or@$EBbh*4o0z59y|bl$xa6CJ)6I^TI=y`teO1Rjxf`Gw%(%( zOcFmil{Cd5(`h{1UM6Oe-lHGPUPsb>gA2%=^C_nz+CPJ@R&_h11r>C+Q2|JRx|=ye z?BTpTzvk3vO-FQoLOBE(#7wK81D(Hkx=b;Mpe}eLE3qTWqT~29e7c3nnpE>TEsYyN zEcC&Z4nCV>-^JHq{8?YP1W;keX`bekX>d!aa(3hA@vRKA?x(J5s-c4*ld)}M}sQv=)N(EtE$ zl%vGIv+P$d@eB&J`;}+mk@DbnJ`!aF*%^RUSv$CJD*!*=AD}bN?HsKxShyR!qfRj2 zDqM%#Z4LF`)z0q-m~j6YmUf+f5U^9oWXQ&Act^AXX`L{ulT=@U#yyW$ZGKtIUc`1W z$)j6n2YRXj$!mpqCPCWAUq^>o8owzam)?~HO&LbMw*wdyG32n(@ZVufk)CFi{uY!$ zD2pY0m%u;#!UWf$LM0IE-s+TbM=g4kwNSnjfgX=QR9%3GsHKx;Ku%J8Tx@UW2S!kf zK%CF2N7)%G0TpFjr$tXn=+kvSVZ&}G;9-s^61#cMjed;s9=7Cr!l}6W+XDj6UWFas zRh8<@U{|s2>HKE#9qBXMEUU_Bny&YeI0=kAxe=wk1FdLGF$^gr1a++L|KL9u*+Vw~nT+rK00pPc^{Wz|vA zx89)C5(L>AfI5FX13j0gn35{!^%<$3Qh8C^E^RA7jlQ1m$xvMLcS|c?p^%r7I#ZHl zN7n4UknSA@K(-_urSjww1$+2O)-sb90eDNk8rOzyp_TDYMNfp54)?8V=9%0rVVM%| zcVY*`e6NZb^A#;Q@2wfF8n@Y>inJO=-;K<LpjlV&8)7|@9;~uqFM{gehDjS zeGf$n#6TWbu*!*xBp{Wsum)(W!o5HO+(n%?F5c%}-%YdVKBvNg4 z+yS5Tb2X;VMymZ*QD~1sWRJ1JCUQQx%V!9p>1uaPfy3xzk)H&wacSOCBmt^J?q ze`|C%;WwqKzu~*6&;J+U>ZXC4Tb2J9@Z&)#pC|+Wb>ni=%FR~bKUUBvP@MtF%HNH_ zP3X-+{x>uVRqp;#)^7rD7RJAUo+yR(|Ni{nW%4HYW}g2I-bC%$P~iWO^*8O@Or^i= e43Gf;|0S`sHL+02A^?DgI%QBL{m!pI0{jc=TLi}d literal 0 HcmV?d00001 diff --git a/osv/synthetic/s05_text_numbers.xlsx b/osv/synthetic/s05_text_numbers.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..0feeef48ee17410425f3c73d19ebb4cb31216dcf GIT binary patch literal 5789 zcmZ`-bzBtt`d%6qkXTAmTDqlM8VN~hg_UlkTU=?E6p*D$x?4Jy?(UE{gdm~xU5~$e z&pG_=o%wuc=8t*anfLj;^?fu{P*8~g001Up(HhD3K2uCUJPjchK4MuonrpZ?I=OPa zbaLYKw6}XU@(jC!8wY*0^|^apayWI)gQw!*Y0V>?Z{F3i*oRzxJ3y6m@bZFFWO0Vk zG1Vr?9dmBl^YQlLN=?&WN(}U8hG%a2l=3VEMOKjG<HK@9vc0;uUc+cuYetDMU-S^8JEok}fBmPSTH-N#{Hlo_0{Z+s6})(~qti9_0zikT9uG#U|oj zF+OpHq@x$II}q{IvfL4Vk_ydW!2eHo@KZ&8T z?_LedDQxcud7T_`zS@C=#((!To8wxTZmQ#2Ue)7eAdu#Mm|u3(2Fz78sWGqybPD

AU-iQ96l{=Ty` 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 ULWu+bun?yNqNFSR3M9b403*B}y8r+H literal 0 HcmV?d00001 diff --git a/osv/synthetic/s06_two_osv_and_other_sheet.xlsx b/osv/synthetic/s06_two_osv_and_other_sheet.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..faf21e4251e4319f850feec0f31b1a34a0a6417a GIT binary patch literal 7666 zcmZ{J1yqz<+xF1iDc#-ONGs(i9Rf;sN=ixz(j7y04c*Pq9g-qlO2;7m<2mbl&ny3V zXRW=TnYEtlntktm?>m7?aPas5008-MQ0vS0tGq~f{5JYHupftsy)n?q-ocskor431 zyRD7NxC&Y~7dql<#~as%lrV}sOj+@;jMj0E4?*?Jwt?422k?@19v%avIUJv980wSd zPB=Dgd3pLVp3l-=OAHTXhh=YiRd6r+f2ktD%A=%!>&da5^9$le7aCb_sN9?3kT?G@ zo+#~BE%KV7XI-05q>7QU^cxu}_KqjLL^z(3a1txRL%7;7fm+7)ko~O*LI+Ya5%3QY zinkZ?ZXTD83JU<>{I>|k_D-h1Wyp__vhLwR4|-4>5U+}p#$p(KM=Dy*rTxxW@Lg$y zKzvdNfR_^P&*G z&k=aS-5hF*)+gX!UyJ8#>AF;#5_q6W8HA%9VdG&E6X@HaAb>rbh;b0B(wrs+&$f3n zCa18oE97x@$nkzRI5hs$-DrVxX||<-^ZTk64;_va*Rw+KaVKiNvO%4$C7?&hdk_z| z=UYHHvXVRg@T~r-9tkJy?2p=|Wz9fKn`~kQ6C-Z}HjC#I>aTU}4XJ9kD0zPo468?& z=EC4vpJYG+bx5$`vysu>`OyNOG+IZZp^X_J5VceXG^q4~{8_LNIt=_v3MmteFClNAp z>5t=3XiPpm&-l?5>Q7ZMb4ty`%D3a=n;Bo6Xj_({+TPGt3U;(}#ho=YbMf+Ya+w3{ z&6_wvbuTe^@FbBz!O2!YGT1y6?!@fiU$uQ@IIDQx4eiJSD-ofWrS_@fTG`q!7XyD` z%ag39J8wHr+T0-J%TGczTEFEcX%oOC5wGx-@U!*Kx+ip=l&6c4&0oAvpMHKE&q;T!7!ze#LtE&=FuKc2(j^Zj{Saa?CFXgLaFx!FN)|&( z4r@+YBTpS@*>X$)ri)B1@5W)3mU#b6fW)be(7)cXIM7HJw{Oy2b*dKUR;P?VPQqwl ze>CR9*lY|YPOO38Y%g*YFcHMgz!leQShK5oHS8LY+tH1-nas z1#}Aga(IvDA2pqeXHPW<(t4YBO^54!m$%b{+*EKc&hc?D8EZL>4)m*o~c4z3sI0>P;|?6ic@O8zxcbd9&+L&q!-lwA`&dX!=HX;Z;4+ze?_yFIlF#e}&n za1&FbnBL|dINL>nZTw2iaHn<@jaR0@N$E#@e0v>(km7mOh=VG{FuJI@SS)$HTNXM0 z4fL(+CT%{KT9Qm7iF7-hZ8PYbh)_myOcUz#n`rx$;q3Y zuGf{hM`DTO{h_Bh)Q8!@$>TjTAs$|a$>s@tKt6n1n=(2!`39rLxf3@0RTCrjETm81 z*RZE=G>o|Q`rufjb3Q76k=u3HNzymmn2g<6Dlo0H12ellv!!_>+-;eRXI?t=-L$Gp zgM3^=@3gYrO1zdpb^KnZd>|7YN0kr__l0phQGsI4*)z5F9oCl+4WSM>-g?|5;?|Ar zen(ZcMqJl=ELfhV7U5z~Q*QHu(-n4f6gIt39o%)5w+CN$($XtDXLNyoaWis zEm!uSJxg)Lvm)%UB=Q~3U>lE3CeNqKJ1oo(r}TY$Gx*gNeY$9^*NHz>+U@L89&~vX z{o_ojZoUaCj-(RON6J`4<1c#We1=i@@5>9S%KH|%(LMaM&(O2YgjPc2Qb~BfhL;IP zpxR4)eZD2RG=pIQ#o!~0K``J>sTauIR7Dm0c7KFX*$s(YI|%Q9`O|^8oRi_5!UF(i zxBvk0-wwph-pSh8!qn8one(s5UtR>Hy==E6fbT;ftwma?6L0b|agA8JhQYNJRxZqL zE^HJcO+OqL-`Jv*THf}es$!WV4CZas1;S~KQCDgs_<7qTCUZX_`J1i)Dgobi=du1M zh0QA6I3bT%Oq9WiX(qCK)h8iqN2&=3sqpEUSeI;lCLp;Z`Vz|f@l((xENY)#u}Mfsp?jl^G-f2FfWsv zQsU!5j0SG-2m$cQXIn#0)--VoT6e?G0XSYdRjVcmSwZ+@)0o50$49kvZ$tj6ULZ zcv^iCdX;4=!hl5p^WdHJ?K4-7wXT5iF|C{#*JxFPzKxjI%@fEI;5q?&K?%u&g^+ zCW&FJm`^yyf#|XiTbehkn734TX#zRsb*Qly!h_9Wn`yVmt*ZVIgtkDaZ~(*fTG)rw z(Dnk#3G*#(*;l7Mw~QQf3ad_-Uoica@a6rk-gTu@_!>x!fbg6(Am3~9r9+h}dVG9l z@b4VYH1e-V#}3Wq1Ho%(vMZBVDz#U?3=lZ&$A;B}?`yO(14mL9&8kk2O~ke-SCQlw z1{e#dcgJ1VwAUMRUGx>JZi@!uss%rTBOat;5B3P$y$oKy#-8X555X>_xf{E!RtX9< zKL%7nV*-DA*M&D!rX87hWeHqi(14ig?b-s^CQQb6gJvq78{C&$`j#5?TECO8f4Qmb%sq3{sThvK`PHg@IZg# zU?F33SK@#|JObv!g6TcR0&TVfN-+l_(p)8V!VsHU9J2;ua(yqM1t%-Lk$xn%J(C9F zSMravGr@iiCM+l%Vy*ZJ@q@aFmX6-lO(nyr_uZ=bw+efM?uM2J>I4%?FKB{mZz4 zkT=xB#JN?iohi|#z~xqElUK6ea@5+S8Mg=|ruRNL9w=(OSqM<9FrH&q%ZR%8@o^s+ zaJ0SN0-MF5RMX5eDr>rrYHD-A?l|<5kf~wfgF-5%>y=APnVK+XtP6`OT;Vz&SN;!C z(+m3IIu0r^SLJ8JkYVKTtz(`%)?jY@kOEq=&#`Pot;e*}Z|Ix!suG4g?GiUTPQ#Ah z#B8%zXXQ$u&zhN8WsAag$8I&P!VcpuYp^htOcwzQ9m7S+;Eh7^e-Hx~S|U=!F!rV= znO-Mt0e3WIwVn^em1#xbXq>XBztL>8-}8buJw#x2)R|O%mCsVVuS585U$?;0>kX(i zf5XYcd&uJ?X)7mC;OhnF!wITnqX~*QZz)p~d|=KdE>}sc5};U-BPObB6L)z)iKFd2 zT#{xG(^oAf$EQ^kR!xaDf)FetVo>w*L<>;~&)UHGtw_}xzgKTydnmBg*JG7Yw2MiO zdLh`Nal1Pq8vlqlOqDR|iZrZTXm~wTFa$yw9SCFOBN|!b5h9n|p=Df?+I{CieSIy(#1hQu7^2uK(El9)zZwRq_(@(340Dcd;bJe-UHaau-C;T#c_}3#H8zjd!FgNUixop_o@- zskj*eHzYTSrrX8f2x0gPMIloVPMI(+S=j{mVQY!eCQd1H$56lQZ(G%|?pQfNHatn3 zl(sF8;pN3%haiCE+o)VpnF?hNn2^QHYF`PvDQ9iorSkn+nxSr(BfTd2E;&GoEq4>p zVN44;4=98ondDA!@}>(*ayclD7sA)S@>P%TwJoAhO(5JO!H7^xOnBwg{0x!9zx}{D z=Ox+8*HnA;{$uRv?{|B61UHP?smB4?#?GdP2jAF6vCf9sVsxmz%rv1RKIcuOCKU(Y ze0VN_t`zSuM#-?T){s<6RJ}9`+X_^ZCU!`)k4DO`EEAzMO?BbE%;G&#v^|2(?>MZm z@8ls`H9Q>$>)f8_eo)u^w&kK_@7G4{X{3^A1S4jaL|kAIH7QUj!=arZn`F6&IsMRb zyv{e&9^`Q=bQcylPzXk&$2{liJG;aE9G`0y{DiS(5fF$S1e*2bIhh@FA-d#`!AoR@ z>=8d-Qze?HZbdQ8k~Wb+KPK z4GT6AGRg!8XY^EgeSkn~_pb=(h>*(utnpF(>$of7ott*&$esQOW|T}>+AqwWKfI)7 z)aBzNf0mG3$j`gw@bmP+jG({R6~%8}14i^wyIyw>UaHGXmy{ee`cGMfRw2DBm13B2 zhP$PborGM1j-$NhX{QTvShe7m4jp8B{T8jhfT(>!_r{3HvPwA|uPdTH4ba1&o@5o@ z=FBy?C^aI-DR5-S7YnRU?&F>Yy47E+$Zh0QhIqvr3mw;lEX|(@;lH@@_Ae>ZZZdE7 zMp(f?0eH8l1};Io_Mv-4#bvBTQAlHu+$EF6-ta8k&*JNH>!d1p#&~63aiO@rYZ#Dr zQo4?@=~A1b&$(I44n@;efhJ+n5*QAxT?BAZq{noUdDLH8R;Bdz@gAsx?s~`8KmB@^ zRs*&nq@)#yx?EsRt5R|uyZ6r~+82}1Bw<02I4p&(Qo1La^u>-u$AOT)31h#lzFPhT zKyL2`&#$n42k$GpaCV}?_kyu+y0(!QIi=QXeqn21KnSSGtL(e2DOUkV&r;t}yEbc5 zP3ed6nbNHEDfo#X;q2_gE}A2!ieV+SswwPa+ywY2Mp3)sQud9@HMf6C4hb|)V)7Lvn z8V?mtm;g~Fc%B`)O6AmggXd9?L3rjvgbrbs@NPZYFTw0=S6i6`| z1B-P8*#vkA%`OV$1g*2pwX0*gecFXGeS5v;htpZB+uE(lEIsYcHC;c*l?SQkpTUdSlMtic$mvn(i9Ycw0g5o-?^IJFp?|wt;e=1G3n>X zIm3f#gf2816olG2GHtg>P=GZl$}swxZjqPuqBNt(mr(A}qpdp2s~_ z;>I|biIv{6S(JA;x7XElsFrxq0;g5>U?fr@K1EWRd{(h+?rkn??McI&!fsYWqo%y; zQZw~wk!6lil-Hs`)!Z`HRqrX!I#qm`#gm6buxR!)B;KDvquqN5;n_eg9&bAxYGA_Uz6^9p((|&vF8g{9IKr?ZgSHf zG8X|;9=!E8PJ=`|Oa+P;MvfO~@uzZ+?gIUnT)3|~b`Bt=j+sa+(U|w+T|)OJ9;}gF zlJ)lR`c_EvZd;s_f%2vxpF*5?LE#@#FBs2v$z`V+^%IcyeviQvTKI!M`o7qZ4$a2=rZoXDby?W~n)6{`8w_!+^s zo}4Vo7sv#-NV7RszAa~Xa9rF1zR4KwLvhA%dKtv8=T9MHc<|6@AyX7Yz$^`>7{1VJ zI@p<<*KlQGh0ejKYt|Al3G{&$FS^bN5f+OA>>Lb^>4(m$;j#Un%V)@h8qA|04^dHL z51sv@_C6CI9$RVJzn*hEBmL7kH7NWH>wHu?!bb%}dwd!?nc6sWa{Qh_u}XHZ-0082 zxTc26#SmETviVAxP_)L+JGm*47-PseG-AG!$^u8}AtQqwjK!DbO6I(jZ_~#G(O=Ny zF9%dxGaF?%=4i91)x*O#?_d{AONDk

=^rtsxnGggBLo7d6F0L6ku+SO~QYx47$ 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 literal 0 HcmV?d00001 diff --git a/osv/synthetic/s08_extra_kpp_column.xlsx b/osv/synthetic/s08_extra_kpp_column.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..7cc778d4bd697de64596fc51a65c0eeeb5ffe43f GIT binary patch literal 5839 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

BHm00v^w8_D-SQ%piUjUpC4VwpRbsXIG3 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 JZGQz4;9q+6A@%?O literal 0 HcmV?d00001 diff --git a/osv/synthetic/s10_broken_sum.xlsx b/osv/synthetic/s10_broken_sum.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..76605bbfb715d27ae4383bf91e7fc1d4489187d9 GIT binary patch literal 5807 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 literal 0 HcmV?d00001 diff --git a/osv/synthetic/s11_header_repeat.xlsx b/osv/synthetic/s11_header_repeat.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..db3dc2cf48a15f8208184bf2e6abcdd48a30b53c GIT binary patch literal 5898 zcmZ`-bzD^4)*ia0LqfWwyIVp^QjkU%hi+*kL_|uun;Ag5Tj`J*x*HS_hGvwKJHCGR zzOQ`up7Yy#pFhsC&ROgCthLvEwA4^gNdN!E19D6t8BbEnT9X zvK4eIxypE>kmUUApdMhPj-Ae|Op`-KL*2*aT#_FKf#Y!|0xqPH60PS7V7v9W^;AD>i4iAV{CI9D$KH;HpfJg3C6KCik9*(`WZW45~ddBlU7XGb7ieHt3M=m$W@NxsDqb zzL<4cRQQuwGB@Yo71;cu^PiDQGs$EmKnDOaSpfiIM5MeOcsy)?j=+D~jEvnE zL`hy9R*rdt;Ep(b!odx7#O}79i*;$CFiqMwgoe=$KGt!ef$hq|1VhPquy~D@3`tbZ z-K$YWK2!uhT1yhQ7Btm1ekH!$d2i08#$ZP)qSBA_(3|P z7Y!^xA~uj?X%4SDxp3&cURaR^LU+Y!_=BBzsSN1?N1cndG>yX7^}2dG>_9S4?fb_k zRDwc22PC4kJcbucl4A1XNr-0|j(YmTdtf;#$DS<<>rI6{c$dsZUTJgBmx#3fi|iyFz|h5WW_SW6*^K@2Wg_J~P3y9p$&ulK z*gL|XeZ8nNwiEZ01(n>gV$tpaM0&>6wfrmP8Y0%Z;wMaEXQ1r$T9laS1HtFYA@sdV zl{e=pt)IaHzF7g{qxOk`wxvi#u+|J{!nOO(R!&jEtcLukOB*NF@fD-7t!H^$awxM2YNiLw*p?1zq8hS@|VCdHfq zu9huA(fY@D{KPVtSz)PmTGYs3EWYHtupf1OWrSn zQPCiSsA`qyLv34+9#k^Lq?dOQa>z?Rzb{PbR!A+Oalf#v0O_1d2ouWy@1J?dqPZ zCe41SY-VecG~U{+%=3`ugkDIRZ`Y0B2q-kVseNlm{8Y~(s(MyE?4tQ#2v-6m8Bf#T zl}jUZ1vmBFVubMOrYJN~%6~#}Y{^;@7tKzMYsQ|`iFNM2*zNVE+z^{bZ4O8^aNM37 zAHUk})UGNxluV}S4?oGLKgbJ9g?1~v_3<-L1ts-q36eNElreECHCi;y9&?hcSzB=B zV!W=@Mn2Kex8O7GL*aPR)AKcAHkVMY(T0X8Y;qWkB*Q- ztP81wQZI2np5QjKla7{4iv=ojz7Eqgn_wm)iKxOwqbGOUJUmRW^NO0iBKSH)Zw#aB?wz7lgPfM0b6L_`D;mOlT~Qu*Y9Ia8v}?>Lw)<9cQh z3}0Tu^`9y=f>?79%BW%Z)5fD)MH!z7n!hJ`US3#T-nYPq>l0*niktUBboH%bI;FsL zWSLkrwzJ%{>=&8EDLflEo*;D`ni*eOgK)u?Cbs0#&qKVbuAZ26SY$iWpBo5}8+4$7 z1^~>E0ss`hHxMspH+y#*Akf2|=db0jT?Asd?6fFM@`_a6fU4@*Z4FQqeWuL*S|C?t z9A;FVW>{?P6HnCWWn24_oISl^QIR*7qv4b6D>6<);_sxzA`A3i=JGWjmcFHX_vqDj z=6hQ9Yz5&y?Q6FC7Mc0|mb~gSiE`;N-%8TY&_&PURRy~gcIIO?#?;n@R2NS+#qJt22`;OvUJo zA=9zjO-RvEDt|+9^AY*VXOL-gT|rfB zjHVPF+6UK*-Fu>##T>aO-BYFf?^U@Xp&|$EmdJp1E}qUk?W2#YPcZCNHRJ-?U@-LE z7lJDtlXCOJmOR)*aPnyPDzu#yr+B6HDN5wGKY4Etr9NpZjNm<+tNb`+FT7zB^?U*E zUv~O3dLc)t(27rHn{cfe7%TsiiF|%?|9)DmfLlBbJ^yF;XE8DQ*{%3%JPqh) zpeI;xiey9ExE`aO07N#NiYBntshPHlh1$ZBz*Ad9u%-YHxfXiwr^G$CN17X?1xJp1 zZymCB0m}WsDIpsZ#>NPy!qiHH6IQj-fdJL~F;!z}9Xz=}aU53Uey$IjU6e!jPT%O9u^dfbpvHS>R(39)>O^D)wFuv0 z3q1p`7MqKIAULL;;SZ1|arwyM<%(N-@l+7QEy0|A;)C@!VbuX-jmtPQY&_%AUi(VQ z%37ng1MK4;K3w}1HL&UNP~!M*TjVACZ-wQyfW^%^9tPZgfJ*N=AJ;vrZ{pq`QibvD z-052F!ewc)-+vk|8fqO^&&KD$+5b7|u+r-%x>gg*DIjX3IQd5BzM>riBm&SaybFLS zLPXV*ETfnq5p+Z2$?`8nLm746xv$&dxO%4zE2e$DNPs5+?N1^OROjD!WgS;cwHQr% zbk{i)J-lAh&{WZ2vnDK+ z3T+R{PtNBy00$>)i_{%NTmot>!`{HmW`a@d56wM0fnQ%VZ2JJ@apSw`XiSWpu+xISU z%%OpABp)|284Q-_q;ue{tGY${C0J}OuMu!-Y+N!NGjxF^t{K21Z^xOL6$z~)-2mHf zNJ$Er&?wUVAL7{(ifACUSDj8IiDIdg2ggY2uVkcue&ghdsT+&tO`cAN=YnY_XGZh! zQI>Jc%|0<063X;g6;@jRK~iXZ){>-Dah%d_Il{&r^O#{T*~&X9xnv?lb>b?*>g1kW zdNY_k>;;z_i{9fGPYmJ;^)DFayP_UrN9(3!=;rL8;>++mE$M;$X)U`d>nx8zqmB?N35H9@xVj!(;QJ@_u#w_!b{ zt~nU1vG;yLJ4Jt5`*6f`$}~8mn%H45dwt;<4^;wYy(%J16cPI-r^0%+L-T0T<>r$_ z&T91n{)H)0d&xQ%71*yiXz$D}a5I`h&*$0sqv+_;3b=vzppR>ouDSY77_Eg{^+na`UWCCkN0$J29BQ11m#Rp~QGVuDI07Zg_CemTasr5Z&1AdtL>tXeP z(lc_KX3o<#wl(M#qc7d&@#3;Oc!hxxH-h&BND8|_o+H)s8 zqr|B2SWzGrI$(z3o+OE=HWTtxzBWpkWRZIq_PV_^QWA5hjY{Vk8QMZ|h?9%i5%b__ z4JtvftWvf@xY-;Q<{%wC!Qkl+`hZiZq0!am{mWU`Q>s77*QmS~(SaZx8G?W~h}GN; z=-|%7{cFyOS93zddfV&)$KIXsP2CK z_zXL4uf@F%=!H#kj`X9VJDpKg!D!w!NI>m&WC@Brm7Y~uwtrnDbW}KedQKOcudL|8 zc@_s&kMvBel+IrM1U`jWJ+Jd#-MKv-D<+Y;XwTw>yqlO+#A0!-xz3GaTB-tzI$eCzf!$Lf@ln<$ugi(0U^1MuMzKlu0K?J;5N1lg`?Q%-b4*eP z;d!_+XhLi_q0v{Sn2t3{Z_yrZ&6@NyBFEVX7Q5o;bMwbFg$avTyQ+mj(o>QX2YYjA zIXn211GjvtE|_r0Nt1i61~MZpzXl5#^}8~jKt!6++n2m(CP^QnOC;gWCby7{@IUvD zI%89o?9F3QvK#0W{hEOob#1PDxAY5zyF$|C zuilFu?j{8KLS){W zF2M|%g`mn!<@9T3dmA`^QYs@%K9maK;4I2-@x@rd*~tUw=69PLYv=f?$BJytZUdctk4#+Tv)|Q*)1Psy>;3QzN{k9~ z;2{2}(r=qzi@a-tG&DpBYQcT!NV1a)k5N;N!UFf92W4_8kN1)a9>-cO_Aeb8=%OVW?*HhJ9D|cIg|5!n)Msx-UD}Ofz zccFI+`QK1(gbMtRvVIqMw=n(Nq~od4c) z4)@-fXYW1pJhRs9_xskHTTK}O5gz~mpui4lL%E)p3Q4d}L$CuIc9=VwsR13GTsYr2 zIdOQ{+r1oliQd75fxObH@xCrCoTA|A3$gI*<`E9Jpju}8z?;K;LDbAUiId#m5^&K#-rNh6Wk zKTIgy`d)AgyLB{p008IjCYU(_Eq>cj7$;>5<-!PhQ0f({N|4547tK+YtGNY-F`39owwhLUyYQ+srI(7gDAopO(>yNlW2?LX_CPY`e*DYE3{gb3 z-P>VV`RyG+&(i~rw>!b1i6}i2mZjc;fetXC++kP$o%5#Kx?~PVtI2@A7eHv$x$tJeMb{2$R;K46~Ta3 zltn%qo{khlLn!3r+OF$vZb{r?WLKD+$KQdARF~@Guw(Its($FIR!3)>jitnE+n%v; z1;2nkpG2fa#f$t20u&xh5#cP|;rAadI`?xT`{!Kw>`7MEk39ry2gW0u$Pic5o3cBy z&g@zXq);LG)}!XL7jqSHMPH&cUrk*4EdR`~%0!DYcr{_`zBmyb)?Gg8f!T8WDg;^) z)(skU{b|j>cwb>#uuEtqEw}#D3zwi~Q*wd|pzHL0dT<;e*_ippEs^9qdDEhl;gRlv zP#Dgy?k>b>>+xsFd~(37Sfrz5eI&0n}X! z;QRBGroIARuPh(oVcW!y)*!gz{ickOggcj=jhy0ynU~VTPR(qn$G5ZwZ$cOyMDT#Z zWR}t&MlLSm3h8-94zJOEs)|}tzD}+*8X4Khjs(&+EnevQT)dKZpq(jgtEQPrl%tc) z>1A)+z!9ub#N@$~K*zejRYCA5^6eY*Q9ZEz;mI_Xx zW56vH@_ng*_lvb~?pNl7le~>CO;Zk z94R@xC26%Bb)a?A5e1koI=#FDhgDkq?K1%qU=5*vt#fIhsXlJ^n1|{(1m{k#j6Xr# zw0CbP&TV))?kP^Z@pIU3ha+NfS}B4BmD2a~oOKcJvyGvO?K=Sj@9yh;gQs}y*rG4x zCyA6cuo#LZc6s=ol+>I>4dc9xZSJ^Q=%# z+upsEc=qxB&3C#$aJn8lEn%#(f3*}{{ar-=5lbiPj=2Fn>VVdS#q)67Y-v)5UCnc) zq?t`{15>@I!Nx8)*HxTtD^mwl{!yFQQo|sqbXGO!q)IV>Az~>SPhRW( znVkRj!sz`5Z6TLticCF;bPIxgW7dMOV0LO;1KNZ}tRwV#x66ZMP3SvfgHNiC{r2qG z*zI<^dS(8hXfkJ{@$2(N7BvoFX7^|IG#Wx3)~R@wp#CL` zs&;Mi5p9E$$`%_j2!ZOzFTL{K91I*)LUddOvqYjIrM%N;nl0O`ik;emt+KqexGBWV z>svj}s+#qXXOX6xlX8Gm@$By;xkoaYztRP|5V{!hv&@g{Ms-Lnb8R*-$%(k446V8%peZaReV= zUPR`XdV~J$1fzkOV7Odd=%Xy#r(jj%ae7?*@Jb9MY9iqJ;bDS}d*sXwo4$;-v|^3{J!pPSYp98&g~3!A>gABd&iF8IJShet5|ca4Pg|j=4sprw zs_&33d(fSxxaL_Fa+()jLNMOKW0NWHZTATe_rn3bZD|C*x~9(*fp{PLQ)S#u&lg-Q zu3&ta1nC!=v*Ji7Klwlzk8BocaK>j6ga5X?sH(hsjvK?%Pxllf_nqK!h-^9u?^HyY zP!yV@)Rg3=#QY?t)deOWSsaovcUrAL{)Q@==)$i<%*u|==+*s*R=9sAkn}MqL!)g*h5kF?>3@0;Mx}tk_>KSb_?`T)wpLX2MY8$(1h-28S<)o+k`?JtLC0 zZcC->aZW5Cr;P$gBueMdI@nf zxuVGFWm1`Kq1vU3F1@Pkp~-f`nAa6~+M!NW13ml3O(UD4T-HS&v zTWKa*?cP)&w-Z`NJun_6rrvcXD522}lIp2UWFV|+(Za`1VgC7*NkgS%<34=yDn*O> z`K9d*QKN6-Og{6^lN}?$Sg9V5x3O@f)@7JSDQTo{j_4m!KL!}2wjbVM zY+Wn*qG35GYQ+AOSbrK&}%^N35ves6*V(bwZO>1DXa^uylo@);frU?e1SU|j7~*EsH% z$v?&DB4qylh34u`O;;w z7pq&Tc&M9#A?tl}PEb3sgo;`trL6A>)Q7Blf?rmr;z{kNZ|dF1ld9fphpX~}-lA{_ zJ73Txpi~{}e4#x|?M=4*DPAB)tHD627R)2QatMymkSdu(Zq|X*%P}TqvNb6=pQ|G` zzZqv@4IRnN+i}p>NF{dAzU`$6FPz_Ubk5qj;2j6?yL|q_($CaO=a*1Bk!*)Gpt^vI zU??=vC(jzL79ckJs#=hxoZ1OLGQ#m;w}!;#O>c+qrloIjR;Om-sI`+kX(D$gYPZ&g zydL~IoUS?f3F*BI+Vv;HjggaWbJgKqMc>F?Q3<;3jX=Y=XV>V##_@W-WsoV1HFX0w zzyr1=&Y&(L??$_7+OiO0Bh9JzH80B1t6$-F4Uyh*9J-gdYLZMJgL+%dqd(u{seQ<9 zm5dH%qD`dyglFT1^4Z%DFu*EFmY^wMZWSEW>zN;1U9)1>C)hd=L)A+rIMhoI;l$=E zWz&I7NN*rq2a1EDsjb?+wrypyNBHF5$yNb?C!Uzp?oz!;I5!G97;qeEWFgn;5tluK zGlg4+sT*KsoEJ;+uS_ZlAfp%SxBSh`NSv>>t}fsD!1Is-Gd6$mPR%~KdUG-s)#_I` zoO;6u-(ys|u2i%sFWac~4fTWlJy!h3Pcf`V7hjWU7(Z9A=g7V!+|~J!;=uAkl(YI; zq3zs%q04)A2rEx4HscOHPL@U&4W7b9@u2m$m0<(0zF%0H*VA4j?i+)c# zNf_evg2kCb)Smt+XF>zZ#0g=ci<`TEr_8IuJNebVD@mLE#&n0&Nt?qnvi>X5Z5%9Q(;ALtsk z2{ImMspC3fIyekNtJ(@NSoz9NUxtX_BIyl#zL76tRtDC+V=X*4OxuvC4nNX}-{P_T zOe=vQpv2oSYV`C?_(`TqZW!)j5=$>=qD;NmGeQ`G_&KC-k2v;w(~w4X(b2Be>yijy zi8pIr4|S*FG`Q!8#gm^!k#*s6gEoN2T~66hpD%$IW{`KfZ2DGu@EdRGtmdS3pqtOQ z=dUMQUjqd;&N*)}(Ix6%pcN}&FP6o#DMVV%*tT~L;KDacA6 z8pKM?Y;234#g<)3L?Ggv+=XKsT`AFtiqv-JKxP^7G^)}AI(d!t&low5bS$RcVJw6Js&>Lg?&%3j#ZM7nqE)mSwgL5HPCS&W3s8Mir85HwVCez z#)fXYHe+4m=5@wOnvgKBWdZl_7k9?K9IVWyjgo?cncen=1I^^~CIp?b2UFn+v2hYm z>S@KIrH`eMtrrb*8vDCy8cmfQ*Xr?4b1XBABD_|0s+QLA_OHvwW=2J$;98TJvzvJu zR9P8h?PU!I6Jv{sO#*v|70mFqr=0RMOCAV_2IW%|T?*L>qiNSEUQu@wS7QsAlO@)$Q?_d{A*DUR@oS>=sy9sv(uhNZKf;4JNpi;mX|I zQ77GwqygdBIr2p)4MWC`8r%*0Err39`$qm|8J$rNoaL%HtZO5<)-S8Wlcr`B|q^?IXd zuLjouKxaf&4Q!{)Oe+_!r_7!aEI{)6&Wy1^HdaHP@N8bGEW_$Otjb~7;V*794?7I&`P2Gj1XzAB*4MR z_=vv$^eZB^zocBYOsMfJDoQ^UHFp2$6}8W)*ud~|!`{t|^C{^+#aAc)GrSEZIzpHL z(P38;poN_aC&%w|R=lzUJU50U7}vr?rL+^CyKJ^nCKSCsY&$=#GtR8@>>_Hmjmio~ z`5`--9gM~I`8}D-e4$-8SEu3k*Zk#xueQvl+0J>oEd0un?74igqvx~OY+I-Fz3fnj z={gmcJH<1!xSx$K5DRxS{ByXg3TQg5l8pX$XFp!$hoOZLw8``=aM|8nG5=A~;ORM4 zY@WQV6Wdu_fl9>tM6h`FVoSkkq1juA$MVj@>1YYQ*mY|bS7F%rj4UdHW92o{KMifM zJ_vS)0{|jnhGPBcWxvbfw~mgszx^yK&PWL=iQNOny#O$<>sRvmRFxp9SB+oV^H>KT z$j>g;&M|^K0AhYCnD{t%Z6bCK8xGPnG@)2;cpuX4hd#a&aVce>WoB%DW+`2#tpYR) ze^2~_?uqJoFq>q(Ap=2icaRNPKN}R$izf|;&0r^|&Z^Z`BE{?)9mK%DFTrNS^tp5x z4#Sc^Tob=wUQbBmwNyQYB0|{VhBg=jXX~b^EuO>usYZuGZr>jEZ_7e+SF{EDp)(trT7#jAC8QgDsYfic6?P;Ae5CODa-iz?T z+{-6gyj17-rs!UpGaVfD6C%)JldoLjtABad-dcTmAz&qI8@NRo_-^0Jf8rv6f$x96z(Yn1Z@VJZfD)#y}1TY;U4qdqnc*9{s7u zzwgu^+U$ydiS~<Mmp11jyU(=9PdP76>`9UGLgE0|yg-?6Wqi=gRq6=Y?WRb>Uf*@X!c1E(78V)wo~bR zhVY_jSP7$$k{~*Y(_5iWE7smM&vKu*NEj6Rlu*rhOK_cMvW7VqZFAT;qBB)eXBH4! z4W!F5iesSQiCk{#Lq<-I2*+3~z>d>Yc4}JUPHqv2Q9%qFOp?i_OY=TK&3)Az@S|=` zboDZJjv7x3%HuO=;v#;$Y-4_$Bex`N^>EX1338pgN`T`RWdp&oC>%UK!v7wV!xr_A zmmh4E|8r>m82xxc{U;Ux@PmW?9sRF)^<((svF%^*ec0dsmm%(Bg2!$9zX|*~U{3*H z1iyXYKbrW*ERXxGzgU`J)y02d`J?-K%<{M*`8NyPGAwk$SpKR{9z!4JlfR&buom!d z+2t|taeV#@C<}9s|G)EpMeE1l$ARN7@GeXrF!28fBae9=JLO+IQw0CjMb(s%V6%GI Qa}C%#5EixQiGF|kKbRbZW&i*H literal 0 HcmV?d00001 diff --git a/osv/synthetic/s13_no_outline_indent.xlsb b/osv/synthetic/s13_no_outline_indent.xlsb new file mode 100644 index 0000000000000000000000000000000000000000..7e3e2ba9ad57b729915f8a2c2f9ed0bf8af025c3 GIT binary patch literal 2304 zcmZ`)2{@E%8~(u( z3IJdNzgTH_diXeb_}H2TdN~oW;sJQ~G?JcvlOzLbC+E!uYm2@GPXx)wsGTuMm@4y9 ze{-y(6_*KVbf$?h7;aC6D9RPv)0xdFFspo5C$=}bhI}?dkgYc#-t@LfU&z!FRhUV+AKp`v6+9<#b{!7ufnt&^#?NU zGuLwwE-(6Zp_m;CV)%Ol|Z#@{;zAsMI?q%vi>3jD#IFGIaz%n+Vj+fNp zS@pK5dnJ%z?;Ep4qs*UAMN^;Cv^^8RsWQ1DK(oiz(b}tymu43u+FqxLu1#A zb_=I3B;!_th$r(>f**6AnMb;bhL-C*4S0ML`YW|IhB*B$kWw8;jRTAU?h-%P`Fnc1 zIe2=yi95J@d}msb)N`Xr5)r)~bh7ZvbWyYvD%Ykxf3PA5=rVWcZU@07<9t&@H2-A8ebb8ulYU`8FA)s>-6>SoWn^LD3J@ELf%aneT zUm0h_!q{?0LQv&~*g!wAuSmDrBdS?CePp9VdW1ir=od zdD@R7%FZ=o<%@3hSU`b6OyYEmP9$HVDIz#g^LBb=AkC>weAfHh?RT#T?HJdi#8lMd z{>~uUG>_XteidO~BrsbXBrgpv`X3_vOyBJ~ZqXT+*;Midpd_kxQZ#EJ@(||{Q3!X{ zI+-|F9Df`WS}{o_G`S!$83OzYjcyC~>;<(&Py)bFLxTDeTWBYAyI zhK)gGtyRaIkoI*NjetbC9lHX&|8mLW6rV(7ec4uq5xmT2z`#uA!?F;N4d~8a3Jm6n&+uk(XkA#v7?`025Cki5a%~37>_AsSKwKn zGe&9EUSMj1s--DQk z#cMrcHa8bJUrqs6b106-SjDorQ)=G|({t~$I1wdW|HMDLb8VuIj&9%hpgF-G9hYS0%VyL#G((7fKw>L>;nnlLJzHjSC=5>6mrgX~n z33HmU&PcbF)HxBB^H-L#XGG4HKA&YAs4?zJzH!+Y%6u_5pP^HFG>d1yb!t>NnBKw% zkIO=|aq3NN1f*0`yXF2)xrs|kF-q{Wn!Bp&o;FiA-};o5Sn1UEC&k}i)Ufs& zb8VGg2OmE6Ls{c1&G7Orj?zhG_py&{>WX0pIJU`PhEIAver^YJb_L%6VPS zY=1s82isfx;_xk|*|(rp6f)l81kIAc&S1w|=KT>=cEgJed`~MW#{2DR?(OJWFR*`T zKj+r?sI~@S*Rp7tVm+v;(sp64hhFN=^u~LI%BI5!YAj8+=q~7^5DI4KzYkgPs=q&X zz`OsyBbOY2e9HVt2Y@>eRS@E*nM0mP?%~IYXTX8~?~YE6LvDk|I6TnrI6s>rc`~`t r9VZ9)iN81>pVPInc033XyL7g0_j!yptCdrwE literal 0 HcmV?d00001