From 0d6030a7bda76dce443b38375df762c966575217 Mon Sep 17 00:00:00 2001 From: Benjamin Date: Sun, 1 Mar 2026 19:44:16 +1000 Subject: [PATCH 1/2] feat: add disc26-29 fixtures (MS IGLOO series) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Batch-add 4 disc fixtures from MS IGLOO: - disc26 (D1): 3 episodes, 15 specials — individual OVA playlists + commentary + extras - disc27 (D2): 3 episodes, 15 specials — individual OVA playlists + commentary + extras - disc28 (D3): 3 episodes, 13 specials — MS IGLOO 2, creditless + extras - disc29 (SD): 1 episode (44min OVA), 3 digital archives 453 tests passing across 29 disc fixtures. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- tests/conftest.py | 48 ++++++++++++++++++++ tests/fixtures/disc26/CLIPINF/00000.clpi | Bin 0 -> 292 bytes tests/fixtures/disc26/CLIPINF/00001.clpi | Bin 0 -> 1000 bytes tests/fixtures/disc26/CLIPINF/00002.clpi | Bin 0 -> 424 bytes tests/fixtures/disc26/CLIPINF/00003.clpi | Bin 0 -> 496 bytes tests/fixtures/disc26/CLIPINF/00004.clpi | Bin 0 -> 292 bytes tests/fixtures/disc26/CLIPINF/00005.clpi | Bin 0 -> 13516 bytes tests/fixtures/disc26/CLIPINF/00006.clpi | Bin 0 -> 13252 bytes tests/fixtures/disc26/CLIPINF/00007.clpi | Bin 0 -> 13480 bytes tests/fixtures/disc26/CLIPINF/00008.clpi | Bin 0 -> 556 bytes tests/fixtures/disc26/CLIPINF/00009.clpi | Bin 0 -> 292 bytes tests/fixtures/disc26/CLIPINF/00010.clpi | Bin 0 -> 2688 bytes tests/fixtures/disc26/CLIPINF/00011.clpi | Bin 0 -> 3520 bytes tests/fixtures/disc26/CLIPINF/00012.clpi | Bin 0 -> 2856 bytes tests/fixtures/disc26/CLIPINF/00013.clpi | Bin 0 -> 628 bytes tests/fixtures/disc26/CLIPINF/00014.clpi | Bin 0 -> 636 bytes tests/fixtures/disc26/CLIPINF/00015.clpi | Bin 0 -> 628 bytes tests/fixtures/disc26/CLIPINF/00016.clpi | Bin 0 -> 1056 bytes tests/fixtures/disc26/CLIPINF/00017.clpi | Bin 0 -> 1044 bytes tests/fixtures/disc26/CLIPINF/00018.clpi | Bin 0 -> 1068 bytes tests/fixtures/disc26/CLIPINF/00019.clpi | Bin 0 -> 1068 bytes tests/fixtures/disc26/CLIPINF/00020.clpi | Bin 0 -> 1440 bytes tests/fixtures/disc26/CLIPINF/00021.clpi | Bin 0 -> 1388 bytes tests/fixtures/disc26/META/DL/bdmt_eng.xml | 6 +++ tests/fixtures/disc26/MovieObject.bdmv | Bin 0 -> 3422 bytes tests/fixtures/disc26/PLAYLIST/00000.mpls | Bin 0 -> 11768 bytes tests/fixtures/disc26/PLAYLIST/00001.mpls | Bin 0 -> 280 bytes tests/fixtures/disc26/PLAYLIST/00002.mpls | Bin 0 -> 392 bytes tests/fixtures/disc26/PLAYLIST/00003.mpls | Bin 0 -> 392 bytes tests/fixtures/disc26/PLAYLIST/00004.mpls | Bin 0 -> 586 bytes tests/fixtures/disc26/PLAYLIST/00005.mpls | Bin 0 -> 240 bytes tests/fixtures/disc26/PLAYLIST/00006.mpls | Bin 0 -> 256 bytes tests/fixtures/disc26/PLAYLIST/00007.mpls | Bin 0 -> 256 bytes tests/fixtures/disc26/PLAYLIST/00008.mpls | Bin 0 -> 256 bytes tests/fixtures/disc26/PLAYLIST/00009.mpls | Bin 0 -> 256 bytes tests/fixtures/disc26/PLAYLIST/00010.mpls | Bin 0 -> 256 bytes tests/fixtures/disc26/PLAYLIST/00011.mpls | Bin 0 -> 256 bytes tests/fixtures/disc26/PLAYLIST/00012.mpls | Bin 0 -> 256 bytes tests/fixtures/disc26/PLAYLIST/00013.mpls | Bin 0 -> 256 bytes tests/fixtures/disc26/PLAYLIST/00014.mpls | Bin 0 -> 256 bytes tests/fixtures/disc26/PLAYLIST/00015.mpls | Bin 0 -> 256 bytes tests/fixtures/disc26/PLAYLIST/00016.mpls | Bin 0 -> 256 bytes tests/fixtures/disc26/ics_menu.bin | Bin 0 -> 8627 bytes tests/fixtures/disc26/index.bdmv | Bin 0 -> 300 bytes tests/fixtures/disc27/CLIPINF/00000.clpi | Bin 0 -> 292 bytes tests/fixtures/disc27/CLIPINF/00001.clpi | Bin 0 -> 1008 bytes tests/fixtures/disc27/CLIPINF/00002.clpi | Bin 0 -> 424 bytes tests/fixtures/disc27/CLIPINF/00003.clpi | Bin 0 -> 496 bytes tests/fixtures/disc27/CLIPINF/00004.clpi | Bin 0 -> 292 bytes tests/fixtures/disc27/CLIPINF/00005.clpi | Bin 0 -> 13688 bytes tests/fixtures/disc27/CLIPINF/00006.clpi | Bin 0 -> 14572 bytes tests/fixtures/disc27/CLIPINF/00007.clpi | Bin 0 -> 13852 bytes tests/fixtures/disc27/CLIPINF/00008.clpi | Bin 0 -> 556 bytes tests/fixtures/disc27/CLIPINF/00009.clpi | Bin 0 -> 292 bytes tests/fixtures/disc27/CLIPINF/00010.clpi | Bin 0 -> 2432 bytes tests/fixtures/disc27/CLIPINF/00011.clpi | Bin 0 -> 3504 bytes tests/fixtures/disc27/CLIPINF/00012.clpi | Bin 0 -> 3020 bytes tests/fixtures/disc27/CLIPINF/00013.clpi | Bin 0 -> 1200 bytes tests/fixtures/disc27/CLIPINF/00014.clpi | Bin 0 -> 1260 bytes tests/fixtures/disc27/CLIPINF/00015.clpi | Bin 0 -> 1216 bytes tests/fixtures/disc27/CLIPINF/00016.clpi | Bin 0 -> 652 bytes tests/fixtures/disc27/CLIPINF/00017.clpi | Bin 0 -> 636 bytes tests/fixtures/disc27/CLIPINF/00018.clpi | Bin 0 -> 640 bytes tests/fixtures/disc27/CLIPINF/00019.clpi | Bin 0 -> 1068 bytes tests/fixtures/disc27/CLIPINF/00020.clpi | Bin 0 -> 1084 bytes tests/fixtures/disc27/CLIPINF/00021.clpi | Bin 0 -> 1068 bytes tests/fixtures/disc27/META/DL/bdmt_eng.xml | 6 +++ tests/fixtures/disc27/MovieObject.bdmv | Bin 0 -> 3494 bytes tests/fixtures/disc27/PLAYLIST/00000.mpls | Bin 0 -> 11768 bytes tests/fixtures/disc27/PLAYLIST/00001.mpls | Bin 0 -> 280 bytes tests/fixtures/disc27/PLAYLIST/00002.mpls | Bin 0 -> 392 bytes tests/fixtures/disc27/PLAYLIST/00003.mpls | Bin 0 -> 392 bytes tests/fixtures/disc27/PLAYLIST/00004.mpls | Bin 0 -> 586 bytes tests/fixtures/disc27/PLAYLIST/00005.mpls | Bin 0 -> 256 bytes tests/fixtures/disc27/PLAYLIST/00006.mpls | Bin 0 -> 256 bytes tests/fixtures/disc27/PLAYLIST/00007.mpls | Bin 0 -> 256 bytes tests/fixtures/disc27/PLAYLIST/00008.mpls | Bin 0 -> 256 bytes tests/fixtures/disc27/PLAYLIST/00009.mpls | Bin 0 -> 256 bytes tests/fixtures/disc27/PLAYLIST/00010.mpls | Bin 0 -> 256 bytes tests/fixtures/disc27/PLAYLIST/00011.mpls | Bin 0 -> 256 bytes tests/fixtures/disc27/PLAYLIST/00012.mpls | Bin 0 -> 256 bytes tests/fixtures/disc27/PLAYLIST/00013.mpls | Bin 0 -> 256 bytes tests/fixtures/disc27/PLAYLIST/00014.mpls | Bin 0 -> 256 bytes tests/fixtures/disc27/PLAYLIST/00015.mpls | Bin 0 -> 256 bytes tests/fixtures/disc27/PLAYLIST/00016.mpls | Bin 0 -> 256 bytes tests/fixtures/disc27/ics_menu.bin | Bin 0 -> 8627 bytes tests/fixtures/disc27/index.bdmv | Bin 0 -> 300 bytes tests/fixtures/disc28/CLIPINF/00000.clpi | Bin 0 -> 292 bytes tests/fixtures/disc28/CLIPINF/00001.clpi | Bin 0 -> 492 bytes tests/fixtures/disc28/CLIPINF/00002.clpi | Bin 0 -> 424 bytes tests/fixtures/disc28/CLIPINF/00003.clpi | Bin 0 -> 496 bytes tests/fixtures/disc28/CLIPINF/00004.clpi | Bin 0 -> 292 bytes tests/fixtures/disc28/CLIPINF/00005.clpi | Bin 0 -> 13868 bytes tests/fixtures/disc28/CLIPINF/00006.clpi | Bin 0 -> 15504 bytes tests/fixtures/disc28/CLIPINF/00007.clpi | Bin 0 -> 14356 bytes tests/fixtures/disc28/CLIPINF/00008.clpi | Bin 0 -> 556 bytes tests/fixtures/disc28/CLIPINF/00009.clpi | Bin 0 -> 292 bytes tests/fixtures/disc28/CLIPINF/00010.clpi | Bin 0 -> 1188 bytes tests/fixtures/disc28/CLIPINF/00011.clpi | Bin 0 -> 1204 bytes tests/fixtures/disc28/CLIPINF/00012.clpi | Bin 0 -> 1248 bytes tests/fixtures/disc28/CLIPINF/00013.clpi | Bin 0 -> 1132 bytes tests/fixtures/disc28/CLIPINF/00014.clpi | Bin 0 -> 1404 bytes tests/fixtures/disc28/CLIPINF/00015.clpi | Bin 0 -> 1468 bytes tests/fixtures/disc28/CLIPINF/00016.clpi | Bin 0 -> 1412 bytes tests/fixtures/disc28/CLIPINF/00017.clpi | Bin 0 -> 1148 bytes tests/fixtures/disc28/CLIPINF/00018.clpi | Bin 0 -> 1512 bytes tests/fixtures/disc28/CLIPINF/00019.clpi | Bin 0 -> 1568 bytes tests/fixtures/disc28/META/DL/bdmt_eng.xml | 6 +++ tests/fixtures/disc28/MovieObject.bdmv | Bin 0 -> 3290 bytes tests/fixtures/disc28/PLAYLIST/00000.mpls | Bin 0 -> 322 bytes tests/fixtures/disc28/PLAYLIST/00001.mpls | Bin 0 -> 280 bytes tests/fixtures/disc28/PLAYLIST/00002.mpls | Bin 0 -> 420 bytes tests/fixtures/disc28/PLAYLIST/00003.mpls | Bin 0 -> 420 bytes tests/fixtures/disc28/PLAYLIST/00004.mpls | Bin 0 -> 614 bytes tests/fixtures/disc28/PLAYLIST/00005.mpls | Bin 0 -> 256 bytes tests/fixtures/disc28/PLAYLIST/00006.mpls | Bin 0 -> 256 bytes tests/fixtures/disc28/PLAYLIST/00007.mpls | Bin 0 -> 256 bytes tests/fixtures/disc28/PLAYLIST/00008.mpls | Bin 0 -> 256 bytes tests/fixtures/disc28/PLAYLIST/00009.mpls | Bin 0 -> 256 bytes tests/fixtures/disc28/PLAYLIST/00010.mpls | Bin 0 -> 256 bytes tests/fixtures/disc28/PLAYLIST/00011.mpls | Bin 0 -> 256 bytes tests/fixtures/disc28/PLAYLIST/00012.mpls | Bin 0 -> 256 bytes tests/fixtures/disc28/PLAYLIST/00013.mpls | Bin 0 -> 256 bytes tests/fixtures/disc28/PLAYLIST/00014.mpls | Bin 0 -> 256 bytes tests/fixtures/disc28/ics_menu.bin | Bin 0 -> 12021 bytes tests/fixtures/disc28/index.bdmv | Bin 0 -> 276 bytes tests/fixtures/disc29/CLIPINF/00000.clpi | Bin 0 -> 496 bytes tests/fixtures/disc29/CLIPINF/00001.clpi | Bin 0 -> 556 bytes tests/fixtures/disc29/CLIPINF/00002.clpi | Bin 0 -> 480 bytes tests/fixtures/disc29/CLIPINF/00003.clpi | Bin 0 -> 292 bytes tests/fixtures/disc29/CLIPINF/00004.clpi | Bin 0 -> 292 bytes tests/fixtures/disc29/CLIPINF/00005.clpi | Bin 0 -> 21380 bytes tests/fixtures/disc29/CLIPINF/00006.clpi | Bin 0 -> 292 bytes tests/fixtures/disc29/CLIPINF/00007.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00008.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00009.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00010.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00011.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00012.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00013.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00014.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00015.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00016.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00017.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00018.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00019.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00020.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00021.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00022.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00023.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00024.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00025.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00026.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00027.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00028.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00029.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00030.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00031.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00032.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00033.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00034.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00035.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00036.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00037.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00038.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00039.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00040.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00041.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00042.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00043.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00044.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00045.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00046.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00047.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00048.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00049.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00050.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00051.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00052.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00053.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00054.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00055.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00056.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00057.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00058.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00059.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00060.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00061.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00062.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00063.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00064.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00065.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00066.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00067.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00068.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00069.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00070.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00071.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00072.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00073.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00074.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00075.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00076.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00077.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00078.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00079.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00080.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00081.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00082.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00083.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00084.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00085.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00086.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00087.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00088.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00089.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00090.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00091.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00092.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00093.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00094.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00095.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00096.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00097.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00098.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00099.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00100.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00101.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00102.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00103.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00104.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00105.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00106.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00107.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00108.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00109.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00110.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00111.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00112.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00113.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00114.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00115.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00116.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00117.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00118.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/CLIPINF/00119.clpi | Bin 0 -> 324 bytes tests/fixtures/disc29/META/DL/bdmt_eng.xml | 6 +++ tests/fixtures/disc29/MovieObject.bdmv | Bin 0 -> 1958 bytes tests/fixtures/disc29/PLAYLIST/00000.mpls | Bin 0 -> 280 bytes tests/fixtures/disc29/PLAYLIST/00001.mpls | Bin 0 -> 306 bytes tests/fixtures/disc29/PLAYLIST/00002.mpls | Bin 0 -> 404 bytes tests/fixtures/disc29/PLAYLIST/00003.mpls | Bin 0 -> 3666 bytes tests/fixtures/disc29/PLAYLIST/00004.mpls | Bin 0 -> 3570 bytes tests/fixtures/disc29/PLAYLIST/00005.mpls | Bin 0 -> 3954 bytes tests/fixtures/disc29/ics_menu.bin | Bin 0 -> 3877 bytes tests/fixtures/disc29/index.bdmv | Bin 0 -> 156 bytes tests/test_disc26_scan.py | 49 +++++++++++++++++++++ tests/test_disc27_scan.py | 49 +++++++++++++++++++++ tests/test_disc28_scan.py | 49 +++++++++++++++++++++ tests/test_disc29_scan.py | 35 +++++++++++++++ tests/test_disc_matrix.py | 24 ++++++++++ 261 files changed, 278 insertions(+) create mode 100644 tests/fixtures/disc26/CLIPINF/00000.clpi create mode 100644 tests/fixtures/disc26/CLIPINF/00001.clpi create mode 100644 tests/fixtures/disc26/CLIPINF/00002.clpi create mode 100644 tests/fixtures/disc26/CLIPINF/00003.clpi create mode 100644 tests/fixtures/disc26/CLIPINF/00004.clpi create mode 100644 tests/fixtures/disc26/CLIPINF/00005.clpi create mode 100644 tests/fixtures/disc26/CLIPINF/00006.clpi create mode 100644 tests/fixtures/disc26/CLIPINF/00007.clpi create mode 100644 tests/fixtures/disc26/CLIPINF/00008.clpi create mode 100644 tests/fixtures/disc26/CLIPINF/00009.clpi create mode 100644 tests/fixtures/disc26/CLIPINF/00010.clpi create mode 100644 tests/fixtures/disc26/CLIPINF/00011.clpi create mode 100644 tests/fixtures/disc26/CLIPINF/00012.clpi create mode 100644 tests/fixtures/disc26/CLIPINF/00013.clpi create mode 100644 tests/fixtures/disc26/CLIPINF/00014.clpi create mode 100644 tests/fixtures/disc26/CLIPINF/00015.clpi create mode 100644 tests/fixtures/disc26/CLIPINF/00016.clpi create mode 100644 tests/fixtures/disc26/CLIPINF/00017.clpi create mode 100644 tests/fixtures/disc26/CLIPINF/00018.clpi create mode 100644 tests/fixtures/disc26/CLIPINF/00019.clpi create mode 100644 tests/fixtures/disc26/CLIPINF/00020.clpi create mode 100644 tests/fixtures/disc26/CLIPINF/00021.clpi create mode 100644 tests/fixtures/disc26/META/DL/bdmt_eng.xml create mode 100644 tests/fixtures/disc26/MovieObject.bdmv create mode 100644 tests/fixtures/disc26/PLAYLIST/00000.mpls create mode 100644 tests/fixtures/disc26/PLAYLIST/00001.mpls create mode 100644 tests/fixtures/disc26/PLAYLIST/00002.mpls create mode 100644 tests/fixtures/disc26/PLAYLIST/00003.mpls create mode 100644 tests/fixtures/disc26/PLAYLIST/00004.mpls create mode 100644 tests/fixtures/disc26/PLAYLIST/00005.mpls create mode 100644 tests/fixtures/disc26/PLAYLIST/00006.mpls create mode 100644 tests/fixtures/disc26/PLAYLIST/00007.mpls create mode 100644 tests/fixtures/disc26/PLAYLIST/00008.mpls create mode 100644 tests/fixtures/disc26/PLAYLIST/00009.mpls create mode 100644 tests/fixtures/disc26/PLAYLIST/00010.mpls create mode 100644 tests/fixtures/disc26/PLAYLIST/00011.mpls create mode 100644 tests/fixtures/disc26/PLAYLIST/00012.mpls create mode 100644 tests/fixtures/disc26/PLAYLIST/00013.mpls create mode 100644 tests/fixtures/disc26/PLAYLIST/00014.mpls create mode 100644 tests/fixtures/disc26/PLAYLIST/00015.mpls create mode 100644 tests/fixtures/disc26/PLAYLIST/00016.mpls create mode 100644 tests/fixtures/disc26/ics_menu.bin create mode 100644 tests/fixtures/disc26/index.bdmv create mode 100644 tests/fixtures/disc27/CLIPINF/00000.clpi create mode 100644 tests/fixtures/disc27/CLIPINF/00001.clpi create mode 100644 tests/fixtures/disc27/CLIPINF/00002.clpi create mode 100644 tests/fixtures/disc27/CLIPINF/00003.clpi create mode 100644 tests/fixtures/disc27/CLIPINF/00004.clpi create mode 100644 tests/fixtures/disc27/CLIPINF/00005.clpi create mode 100644 tests/fixtures/disc27/CLIPINF/00006.clpi create mode 100644 tests/fixtures/disc27/CLIPINF/00007.clpi create mode 100644 tests/fixtures/disc27/CLIPINF/00008.clpi create mode 100644 tests/fixtures/disc27/CLIPINF/00009.clpi create mode 100644 tests/fixtures/disc27/CLIPINF/00010.clpi create mode 100644 tests/fixtures/disc27/CLIPINF/00011.clpi create mode 100644 tests/fixtures/disc27/CLIPINF/00012.clpi create mode 100644 tests/fixtures/disc27/CLIPINF/00013.clpi create mode 100644 tests/fixtures/disc27/CLIPINF/00014.clpi create mode 100644 tests/fixtures/disc27/CLIPINF/00015.clpi create mode 100644 tests/fixtures/disc27/CLIPINF/00016.clpi create mode 100644 tests/fixtures/disc27/CLIPINF/00017.clpi create mode 100644 tests/fixtures/disc27/CLIPINF/00018.clpi create mode 100644 tests/fixtures/disc27/CLIPINF/00019.clpi create mode 100644 tests/fixtures/disc27/CLIPINF/00020.clpi create mode 100644 tests/fixtures/disc27/CLIPINF/00021.clpi create mode 100644 tests/fixtures/disc27/META/DL/bdmt_eng.xml create mode 100644 tests/fixtures/disc27/MovieObject.bdmv create mode 100644 tests/fixtures/disc27/PLAYLIST/00000.mpls create mode 100644 tests/fixtures/disc27/PLAYLIST/00001.mpls create mode 100644 tests/fixtures/disc27/PLAYLIST/00002.mpls create mode 100644 tests/fixtures/disc27/PLAYLIST/00003.mpls create mode 100644 tests/fixtures/disc27/PLAYLIST/00004.mpls create mode 100644 tests/fixtures/disc27/PLAYLIST/00005.mpls create mode 100644 tests/fixtures/disc27/PLAYLIST/00006.mpls create mode 100644 tests/fixtures/disc27/PLAYLIST/00007.mpls create mode 100644 tests/fixtures/disc27/PLAYLIST/00008.mpls create mode 100644 tests/fixtures/disc27/PLAYLIST/00009.mpls create mode 100644 tests/fixtures/disc27/PLAYLIST/00010.mpls create mode 100644 tests/fixtures/disc27/PLAYLIST/00011.mpls create mode 100644 tests/fixtures/disc27/PLAYLIST/00012.mpls create mode 100644 tests/fixtures/disc27/PLAYLIST/00013.mpls create mode 100644 tests/fixtures/disc27/PLAYLIST/00014.mpls create mode 100644 tests/fixtures/disc27/PLAYLIST/00015.mpls create mode 100644 tests/fixtures/disc27/PLAYLIST/00016.mpls create mode 100644 tests/fixtures/disc27/ics_menu.bin create mode 100644 tests/fixtures/disc27/index.bdmv create mode 100644 tests/fixtures/disc28/CLIPINF/00000.clpi create mode 100644 tests/fixtures/disc28/CLIPINF/00001.clpi create mode 100644 tests/fixtures/disc28/CLIPINF/00002.clpi create mode 100644 tests/fixtures/disc28/CLIPINF/00003.clpi create mode 100644 tests/fixtures/disc28/CLIPINF/00004.clpi create mode 100644 tests/fixtures/disc28/CLIPINF/00005.clpi create mode 100644 tests/fixtures/disc28/CLIPINF/00006.clpi create mode 100644 tests/fixtures/disc28/CLIPINF/00007.clpi create mode 100644 tests/fixtures/disc28/CLIPINF/00008.clpi create mode 100644 tests/fixtures/disc28/CLIPINF/00009.clpi create mode 100644 tests/fixtures/disc28/CLIPINF/00010.clpi create mode 100644 tests/fixtures/disc28/CLIPINF/00011.clpi create mode 100644 tests/fixtures/disc28/CLIPINF/00012.clpi create mode 100644 tests/fixtures/disc28/CLIPINF/00013.clpi create mode 100644 tests/fixtures/disc28/CLIPINF/00014.clpi create mode 100644 tests/fixtures/disc28/CLIPINF/00015.clpi create mode 100644 tests/fixtures/disc28/CLIPINF/00016.clpi create mode 100644 tests/fixtures/disc28/CLIPINF/00017.clpi create mode 100644 tests/fixtures/disc28/CLIPINF/00018.clpi create mode 100644 tests/fixtures/disc28/CLIPINF/00019.clpi create mode 100644 tests/fixtures/disc28/META/DL/bdmt_eng.xml create mode 100644 tests/fixtures/disc28/MovieObject.bdmv create mode 100644 tests/fixtures/disc28/PLAYLIST/00000.mpls create mode 100644 tests/fixtures/disc28/PLAYLIST/00001.mpls create mode 100644 tests/fixtures/disc28/PLAYLIST/00002.mpls create mode 100644 tests/fixtures/disc28/PLAYLIST/00003.mpls create mode 100644 tests/fixtures/disc28/PLAYLIST/00004.mpls create mode 100644 tests/fixtures/disc28/PLAYLIST/00005.mpls create mode 100644 tests/fixtures/disc28/PLAYLIST/00006.mpls create mode 100644 tests/fixtures/disc28/PLAYLIST/00007.mpls create mode 100644 tests/fixtures/disc28/PLAYLIST/00008.mpls create mode 100644 tests/fixtures/disc28/PLAYLIST/00009.mpls create mode 100644 tests/fixtures/disc28/PLAYLIST/00010.mpls create mode 100644 tests/fixtures/disc28/PLAYLIST/00011.mpls create mode 100644 tests/fixtures/disc28/PLAYLIST/00012.mpls create mode 100644 tests/fixtures/disc28/PLAYLIST/00013.mpls create mode 100644 tests/fixtures/disc28/PLAYLIST/00014.mpls create mode 100644 tests/fixtures/disc28/ics_menu.bin create mode 100644 tests/fixtures/disc28/index.bdmv create mode 100644 tests/fixtures/disc29/CLIPINF/00000.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00001.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00002.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00003.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00004.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00005.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00006.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00007.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00008.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00009.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00010.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00011.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00012.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00013.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00014.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00015.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00016.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00017.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00018.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00019.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00020.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00021.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00022.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00023.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00024.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00025.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00026.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00027.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00028.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00029.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00030.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00031.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00032.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00033.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00034.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00035.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00036.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00037.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00038.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00039.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00040.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00041.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00042.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00043.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00044.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00045.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00046.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00047.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00048.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00049.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00050.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00051.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00052.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00053.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00054.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00055.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00056.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00057.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00058.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00059.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00060.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00061.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00062.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00063.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00064.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00065.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00066.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00067.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00068.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00069.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00070.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00071.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00072.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00073.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00074.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00075.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00076.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00077.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00078.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00079.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00080.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00081.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00082.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00083.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00084.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00085.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00086.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00087.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00088.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00089.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00090.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00091.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00092.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00093.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00094.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00095.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00096.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00097.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00098.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00099.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00100.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00101.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00102.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00103.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00104.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00105.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00106.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00107.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00108.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00109.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00110.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00111.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00112.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00113.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00114.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00115.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00116.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00117.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00118.clpi create mode 100644 tests/fixtures/disc29/CLIPINF/00119.clpi create mode 100644 tests/fixtures/disc29/META/DL/bdmt_eng.xml create mode 100644 tests/fixtures/disc29/MovieObject.bdmv create mode 100644 tests/fixtures/disc29/PLAYLIST/00000.mpls create mode 100644 tests/fixtures/disc29/PLAYLIST/00001.mpls create mode 100644 tests/fixtures/disc29/PLAYLIST/00002.mpls create mode 100644 tests/fixtures/disc29/PLAYLIST/00003.mpls create mode 100644 tests/fixtures/disc29/PLAYLIST/00004.mpls create mode 100644 tests/fixtures/disc29/PLAYLIST/00005.mpls create mode 100644 tests/fixtures/disc29/ics_menu.bin create mode 100644 tests/fixtures/disc29/index.bdmv create mode 100644 tests/test_disc26_scan.py create mode 100644 tests/test_disc27_scan.py create mode 100644 tests/test_disc28_scan.py create mode 100644 tests/test_disc29_scan.py diff --git a/tests/conftest.py b/tests/conftest.py index 49b1e06..39fea66 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -340,6 +340,54 @@ def disc25_analysis(disc25_path): return _analyze_fixture(disc25_path) +@pytest.fixture(scope="session") +def disc26_path() -> Path: + """Return path to bundled disc26 fixture.""" + return _fixture_path("disc26") + + +@pytest.fixture(scope="session") +def disc26_analysis(disc26_path): + """Run and cache full analysis for the bundled disc26 fixture.""" + return _analyze_fixture(disc26_path) + + +@pytest.fixture(scope="session") +def disc27_path() -> Path: + """Return path to bundled disc27 fixture.""" + return _fixture_path("disc27") + + +@pytest.fixture(scope="session") +def disc27_analysis(disc27_path): + """Run and cache full analysis for the bundled disc27 fixture.""" + return _analyze_fixture(disc27_path) + + +@pytest.fixture(scope="session") +def disc28_path() -> Path: + """Return path to bundled disc28 fixture.""" + return _fixture_path("disc28") + + +@pytest.fixture(scope="session") +def disc28_analysis(disc28_path): + """Run and cache full analysis for the bundled disc28 fixture.""" + return _analyze_fixture(disc28_path) + + +@pytest.fixture(scope="session") +def disc29_path() -> Path: + """Return path to bundled disc29 fixture.""" + return _fixture_path("disc29") + + +@pytest.fixture(scope="session") +def disc29_analysis(disc29_path): + """Run and cache full analysis for the bundled disc29 fixture.""" + return _analyze_fixture(disc29_path) + + @pytest.fixture def cli_runner() -> Callable[..., subprocess.CompletedProcess[str]]: """Return helper to invoke `python -m bdpl.cli` consistently in tests.""" diff --git a/tests/fixtures/disc26/CLIPINF/00000.clpi b/tests/fixtures/disc26/CLIPINF/00000.clpi new file mode 100644 index 0000000000000000000000000000000000000000..6b0e65681d84134450183959e6b9d62b5725bb7b GIT binary patch literal 292 zcmeZp@eMODGB99ZV7LRs-xwGeWq?=#$VLYnfa0uR!RX!w1_pKqbOm(h%QbiaosZ92 pF$PAEG$Vrmgr5E90OK5{xj-Q$m<%I>2!rUvtb#lS10;ZKC;*GS5Lf^J literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc26/CLIPINF/00001.clpi b/tests/fixtures/disc26/CLIPINF/00001.clpi new file mode 100644 index 0000000000000000000000000000000000000000..0134763ef8529840647ce16c50a6113b5405af52 GIT binary patch literal 1000 zcmeZp@eMODGB99ZV0gp8z{m!~R~Q(Wp8)yj-~dpL5h%#W5Z&9rz%nBNT>;(sat$6p z=i|1PkufYd#Q+EleT_nbLF&YSt_K1}1_1~?`_BQ!qgFaVp;Is!4h8{1QE3-oh=6p$ z07#c0gJ^?cRzV(23`B#)8L^8CF^En8D#tKKh*5MxYF;{~IFsmvs*HS0ab_IiEZD^v z7?^l~zF`y)WME-1VMqbGkq?M-fH)0^Sr`}`(is@o1Q?haG8h<2rZccIWHKO1q>`)M;Rm<3K>`$+SPwBuxOlN6R@1e7iCo>rC{x*``Jdqa+}Q?*ACl#f!=nL zV)^V-GOid{luS3|X^1hr*P~#xY5HU1mc?64BGy-!YVEc){db(f?9!zp=1cB%T2#F9 zvGn>TWF^md)#@Yf66>RqSvE6Ob#1c^KG@mYY_k{isI-3?VrQ^DfyuBt`=U{N`7~q0 z<|q@^etDDYvmTqSUbf7vc2l-_;68l|)l&=>->)9FJpHiUYVKPf>%yP>HZCleZN&s; z*uIj9w%enjXg|UDgF%x0W2hPjK&-Cj+!)8b(n^=`I>1=k~RA?_mTO9 zl}jxaZOybSJE&*napt47%#E$q@19iI9QxpCJM9m@T_*b_dt2eD2K@5T29LGn47Zv+ zHtKX*ZXD~EWuhNtZOWYb-}GwX5wn%G?dH{;-WL8-1uT^pT(@RQ$V4g9m_tw2_?G2ElXb4kO&bC;%|c>z Y&DAnKoBt}=YH_Zi-Eu*XH!#i_07-xCn*aa+ literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc26/CLIPINF/00002.clpi b/tests/fixtures/disc26/CLIPINF/00002.clpi new file mode 100644 index 0000000000000000000000000000000000000000..850fc2783aaafcd2cea5db0f38c466bad025a0d4 GIT binary patch literal 424 zcmeZp@eMODGB99ZV7LRs-xwGeO@Md_kc|#D0L2->g3-MV42)Xn^7QA+HFyA>kI!B) z2C$1683e#Ix3gshw@<@kpcX5b3=@NZps2J9Fa!*c0LV~52GQoktb#lwVNf`MKn_qh zqktd-3xfayACM2iDhv!v7l1Si14GkA1_p=Q42*{^F)&QO%)sn)nSoLKu3HfUi}*dB zt)6xcx4q^CnRx$8?)Qx=`R2E;t-?WW`enzOl_pMicI|bsIV0&h=Wek%$Ghti+~RkE HW-g3-MV3><3@pevv|U#`Ie=zM(E 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 literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc26/CLIPINF/00006.clpi b/tests/fixtures/disc26/CLIPINF/00006.clpi new file mode 100644 index 0000000000000000000000000000000000000000..1f61d66ad68a4d150e9d0e3a170bacd6064f278e GIT binary patch literal 13252 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 literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc26/CLIPINF/00008.clpi b/tests/fixtures/disc26/CLIPINF/00008.clpi new file mode 100644 index 0000000000000000000000000000000000000000..2ac20c07b84249d2f951e75c46a7520a7903631b GIT binary patch literal 556 zcmeZp@eMODGB99ZV7LRs-xwGek1#MWX#m;iU;|K&5iA(p+rYqh09~H`e7Ob>p!4zB zE5-nJF(ZQjnC8xvQQ$7)o(R-(3MRwBARs6z?E(w|10(=4RFFZmIWems4@nplP7H#K zq78;v#Dy3{Cjf;p%n@P~osgQBjw#M0I-x2fA5)wehd2v%aiEhDfWBcA5M*Fs;9=ke z^7(*R1{jaGfiw#PqZ2T0cNj7-HQi-k)DD-jU|{iH6ur`yso2dgsmt8|&_Y8;r5%P& jP3L`_A3bw$b^2@Nwpb*|gIPP=Gug?@>+q6)Kyw%XX0t}~ literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc26/CLIPINF/00009.clpi b/tests/fixtures/disc26/CLIPINF/00009.clpi new file mode 100644 index 0000000000000000000000000000000000000000..0fc2e8f388dce06d2cbc492c1b5a29a8eea07af9 GIT binary patch literal 292 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 literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc26/CLIPINF/00011.clpi b/tests/fixtures/disc26/CLIPINF/00011.clpi new file mode 100644 index 0000000000000000000000000000000000000000..e81da94880735c371a4725781269f80c203607e6 GIT binary patch literal 3520 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 literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc26/CLIPINF/00012.clpi b/tests/fixtures/disc26/CLIPINF/00012.clpi new file mode 100644 index 0000000000000000000000000000000000000000..80cd7e7add567c70ddc1e70e4d5d9c1ef48da223 GIT binary patch literal 2856 zcmchZX;4&G7Jv`%Fbblywt(z3y#n3+dV8kZ+7fDOnhn>34nAe*4LL{acz6cGkR zjYgvxjSDV7G(ib2FfX{G#xX_>V4~4TK*K}>sG!qH)l{WYQ}c69)vfPr_uO;uk5e~< z3XezSC<*{Q<~0mpVFa+{n)Sa*vpHt*hckKeT3GSVw7(|&-);A`A?Eh~*Rc-pN5>Xm z{|D_KSB_$T-8?*uH1|LzBvblY6j z!kz_)#VL#J=F}+wR`~!3Vb&3_ph>VOs|HJi1WQpCSWz0V+9n1oMgs^r1lE)mCa?~} z1V#rFksz2z>tWKdM=%M|gAMB~*iZ(r9q9ra+5nT2*Mlu%fGN_SU^3zlQ|fEM&P;nt zZ?I!#0n6D5rqHusnlAxUsQ{QxJpy|q0N6>N0t*R*8CQFNMFoO`FbAeF6gWk90vn;g znYSF+bPzcAHo*)tU5z+6Ai>~fzJmi34DOCoz>%2^9+g|biJA?b1{utxLx5v@5?ts| z;1XBCjS2-mUkGk=81M^=!JP>MA*UETkU1bMs0B}I4)|~|@MMhO(=!>o%=C+41BVU= zasD#!M#4ejod{ec0;Ib(0hf*dG_DbNOeDxf$3Q?uf->93)gM=nL0?l#T`e zfR91S#DV{gZjd2y5D+c|866LStXm+b;(>CR3<_!<1XY)Vf|&=w+9XgR2@w1V8*n5M zW)})TZDxo^Fc3%*gj~K3q?uuI0g!Yug#FwPS|k~awvRzer+{(Ede9>&5P?>Lo}Ld8 zH}k-sPKC&KX1rqt1S9DX zf8+?vrqUrHH3Mcd8IUlbhEOU4lF0iI%49;)Xgh?Nnc_79bLa&y-?<5lW~M6bAe_zu zlkprxn3?8_LL`+9>3mn1i)2FvSqV`{4rI0@KopY$3#_>i%`Akh>8~Ni%xr-XVwqgX ziMRl9bS^9;Dj=TDgWOCd%%k!k&wVo_FpFSO$5}{37D2wtC?wJOP&nZ=q|gOWjQT(- zQUE1Z1&~S=LP^XjNJ9!?NkBWKQAMz%It|j9A}BMyg$$$^%9=bO)6C^I){sdrhUEuk zE;fL;Y9|(JKXbjJyRu6l`SEF`^qs=sB`vF#r{DBY=tWt|;@mG(o?Aw-DBEN_Cb&pg zwM|UyeWoX`lS5jlzNSNm7wa?qQw&=hrb_P}lE`dWhvnQw8x^r%sFfdBA6K=;ZNvIc z+)z6qK}6X6{b9WYyrqB(gz`LKPicDlnkUC@#iz3Fm`p;r16dZE5ncK30W!ZvW9QnSyb%D42! zc4xZd*Uv_%-#I&xva;Qp^qU;*7GFZwx#6Dv<&zYYM?I3w+gBz3V0@F}bke8Fr)PMW z3p)#+Q&gv3eYJ-;Cd?uGD#o=_9>{gG$T|AOJMSCzj|k9P(VcRnX-J{6$CWwxCe@Bh zL)azWa(uL^hVbcaB9j#@n$7jq+OtD-y5~mR;C_&gMj?c(!gN!9vhBR$q2m-4yOhSL zujTkMKY{vC#uH7L@$aAmzS!TU$S zUH*&>gZ#*y_4u0SZ`IAjRnhk~HFKstEz<@XYIIAtdh0fSoUT9n(9Q6iFP!CGSR63- zY_+0dW~cJxqAt~=^UrWLr&vf8)Dn4T4v-%?^=Z0`dD`(ymU;;XGo+Sxp?~X{EbAb$ zj7!F}lSPZ=G7N{waSMIkU4v6XKnyT}f}zHTFHx_i9wA-L6eC!>bN? zVO*nP-{;%8U)ycPtV*`xitDZF1)^g_LzNZT)%Qj-qI<3r?QYX2zVf;7(BB$o?$hg^qNdP+DO`O@fyK~MS< zw%4iSHJm4HE7%Tq`euYYNOB1455wONRXcWM)jGW>6gYdAeW(fjl;!)1x#9ZSBiP-? zr^6#fVKQ_@uJa$hd_6!U`7SWA{t$OlcWY3aTo8P_`i2_$xu3uTvz>F6M!4);eOL2f zt)H0Ho#}SL_OWD$GT3vLtheu4S0@|(wNW85>6D3wFRC^TMqzDeB|f;JP=wsfbH;|h za>)Tp*PW9-7pL2&Na|M)NIEvPO8@oCZ=PQ7#=XpQ)2qDfIH&nx4X5wLDlSV@rkb^x zg_RDj#Q#2TwYvSdl6XEcr16O3_(h%Q)>XWSiug?YZREq14Knu78hKD?ulKSK{keyF z&-1Q1W?*9(FV&JGM+nn<*<^aOzb12Ug?3y2dL5IRp&veGi}DB5vP4y_eB(N|>0f?* zkv(v~h!@&h!e2?=7c}n97xs*{6Z5@TWL=3+bN+IJcF1c);`#n=Y4l|ky3V;t_IcSI z`Qw{eobkK)TtB59FSYzze(kLlf)1X)dY18=sC1R1&;H}LeZLtj5F@^*1Y0;J%|7ge z?&Q15F0UVyzv+FX^dT#GDGgQpnpdrY^RcUhzqBMcd%fs#i5ffTT4~J{%WbU14}-YU zX{Tp+22FqMweeq@1$n|ejK7g z9Nn-$@7(u|LFHkCMrJByYfd}Lnl6RN``kAx?Mus5{#UGn8V7r@@5DUE{vs1Gwc{+Q zcNx_bFZoTo@5TY~P8YW1G94p%wawruobcK+-tm>!hA=Vbbj>-%&p!sKT(ozv@OAs} z)%RM}Cr}@vud>wV%GrL+8|!yEapDC1{H7s8tyKYfE@qWXxp-WTwOA;!M^#jAFiW+l zj)(1e!r<2e+SR{Sr;*%?{Tkg=Ok1?@aQI&4qJGU=%y7c^*7N%&PY%oaj(1?k-@gHcDyF0W literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc26/CLIPINF/00013.clpi b/tests/fixtures/disc26/CLIPINF/00013.clpi new file mode 100644 index 0000000000000000000000000000000000000000..65e11356ab6ca5b6d6a53328b0eb05348a3978c4 GIT binary patch literal 628 zcmeZp@eMODGB99ZV7LRs-xwGeeHa*+3V>{MumLE?2o{X)ZD8Pae1NWi?tHlh51{k$ zSu4f>b}=J^0GJl2(|aK>-^OFmSLaGjN5*GH@JGVc-sr zWZ-mBVc_As&cM~8%D`(rStf>oMYfN1r|urMyLRu~>kZ^4HXG_(&Q*%HlrZjJ$gFaJ z!$$Q(mXo>C6)%fm#|+EXmCv-ch~3rtWiZ=DXZm8>m@lhs8=2hgHm5ALe|$+;QOKs- zNN0|saXe4F@=SGZmD3G<&g(953H7dhJ7e4q@^^_p)h&}0H=hg)2L=GR3~Va^ literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc26/CLIPINF/00014.clpi b/tests/fixtures/disc26/CLIPINF/00014.clpi new file mode 100644 index 0000000000000000000000000000000000000000..5a957706d8e2b8897936a44e6a3ad1e55a9410ec GIT binary patch literal 636 zcmeZp@eMODGB99ZV7LRs-xwGeeHa*+Du8TsumLE?2o{X)ZD8Q_aX?oaj&%ouP#lUO+Lv#WIi`W6yooXN0?pi3gr&tE{J$%;<%Ty04FqMr!v=%i`dU&rfXv2L~ZCcUX!dGwE|gex>#$AH(mhzp>XRfp5L{MumLE?2o{X)ZD8Q7JAkf$?tHlh51{k$ zSu4f>b}=J^0GJk7o_IoFpFk{7OAt(knL$8MRN4g?0tQF`WT+s6Xmes#K^~GYD4ZAs z8ATfmv4{i1M*(Omqktd-3xffJHc%-a5T`IOuxJ8l76yhEEd~a*y9`V$S`18FlNp#? zv>BL^yBL^Tv>8|!Pcg8#=rFLFtYlz0qQk((J&A$MMVEnt?;!*G5nTo@#g_~mE_w`H zw_Y%C0%;z{!wg(3`V72YoN|X4SmeL3?o?1>yK5NY-eS};fk}DN`OPLrO`n;5UD#u; z#x>bOBe~0B#Uv%oTYpwtbEm1=*q-mQIl*|!_E$WEz1FFN2C*h94SVNvEA8W+r2MYK zNtNUB6*Wtzx#rpZ=H|__L@YM(J+ypMwbokXrH_rPTbWL5z-`<9-9>hr6kpn(spm0x wcI$0#Jk`B8rMxpgO4pW@1H*v<08}e;E&u=k literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc26/CLIPINF/00016.clpi b/tests/fixtures/disc26/CLIPINF/00016.clpi new file mode 100644 index 0000000000000000000000000000000000000000..9a9e83b3ce3f760af7d419e8e483e19ec481655a GIT binary patch literal 1056 zcmeZp@eMODGB99ZV7LRs-xwGeeHa*6WPogRumLE?2o{X)ZD3G7`T$)4-T8729zf^g zvsR1&>|#a+0Wi(~cF7k3-QtBnEkQ6DW(EO4QE3-o2pAv%kfDMMqRoj}1$juqpm1Uk zWE5>M#3IhXz;p&^Dx-iP0}De9Ljh1J9}xdxU|{|Yq*)jknSpHYR}4&t|1vOIu4G_o z{>Q+?C(Xdd{EvZ!HJ^da`9A|o>0<`==KlOVP}xM z!^R-e!pk0E2W3H-qv<7HJP)LaJijDZ7gQhTI)>SpgpJSAupqdxi4)rU@_DXd`mr(pxd6 zFG}LZQt=Y0mMbNvMt+w%Ua?gA`?LmG&CLOFkr#91yWcSg?BbIae4`g)EHhz^i9dsv zX`r)&nR4Gj^AOg2jh52Kn)8m%x4NihW5YOkj;-JPp>Wb{O985HjX} z9c^Obv)?prU$$Ad;x_fA^`9-SK6bYJ<+f5=WHG;vEBj?z_c%4X%JX6N^GtaR&Mm)h z_?4GkSvC8*iub`!rYYhZ%xZGytFODDuW?x?K#R3^uD15e={iof8nz|9Kkb$>BWnVDF+E%30)H?Y?c9xI$90IKH8fe zaM;{5Pt*N4nay7Lhnj&~)Ir09ZL^K4g(nzK%@i_OduXZZF(GfW2hp=EgpOrfI%~vP z#n#WV?tS2IvrJdR_CQm(->s|D{XgrTa^!71<)nUXp0k5ifJsEtA=9o)*UfetD5$?} R%ajz}$Rg#uyBC;d836yi{cr#P literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc26/CLIPINF/00017.clpi b/tests/fixtures/disc26/CLIPINF/00017.clpi new file mode 100644 index 0000000000000000000000000000000000000000..f45340757e717435ba5eab5c22e10850b5492a24 GIT binary patch literal 1044 zcmeZp@eMODGB99ZV7LRs-xwGeeHa*61b}RGumLE?2o{X)ZD3GNeSofj?tHlh51{k$ zSu4f>b}=J^0GQ@~yX1?2Zt+5(mLQl6GlPJjsI&_(1PqV>$WTEB(dNXgf;=Q)P&hFN zGKw}BVi9LxU^)Oal~F*DfrX)jp%AE)4~X9|FfjiH(ku*&%zqddyo4E;4*z9fG-YOB zY5vE+#5$LO&G|nAOR6ygd-Hz=HVYpH4i*LmcJ9Rt97h-!ICQufIFB$gaPEH2z{SGI zz$L4~z}>>cz>|A|f#(Pl1D|$11Fs7+1K*Pv20kDy;P!`spM`}%u=yGTe+vtPP(Uez zz!6pk5tU;MLM^NeVll1^LPyvb#E!Et2m@(}2nz<07Ip^7;@J$MEbI(Y-2DtMz%BvMV8C8q{w zNgXd-DgC{_Nmg@BkX+=cT>0*2{{(ii&J}#4GSOJ3<%)^l=ZB_&W^HE5jl0c5zc15h zNj27-x2e3-CH zpsze>n}PdRA;W|~2BWHV>c&%9nN8Nlb*mmb}=J^0GQ@~yX1?2?u4&EEkQ6DW(EO4QE3-o2pAv%kfDMMqRoj}1$juqpm1Uk zWE5>M#3IhXz;pv>Dx-iP0}Dd~Lm^NpA27^V7#Ns;1KBJLjLd%+7@XJ`m=6DCV6^3B zU}^rxz$EO)z{dQKfkkQ}1Do@I2A1A_26iCL#=pyx5f%o)b^!){ z7ZwH~zk>_{EvyV8AsP%qEUXM-!Q~7>Eo=;8f6^I*UDy~Tl(sR5xUe%w9#muyX<=uO zl2T$2V_|2Iv6o{IbKzi+S+bZx97xNFbudVUXhYuSsQrc#6tUbf@$M<-1*<@V}^Mi_( z0a8j@JmEFgHiz%)gez{c?X2IgxAu{N{xN$wgKtX~E6K8?8Jj00nFMZ2GHnp+P}`K& zZ2st&ro~^?-B#i?64vf_(`|ChbA4M{-`Q<@qGkWwfyt3^TDz0+$Ggrx?wT$sv%Z*4 e`yFO>JmiG>&keTm@rcMx{?G+$)xgv1I{<%m8cR-#q_bRCj-IY@#A$txhW|;W|ksFK)IkXFQ$f~^D(5n8dOmjvJedw8GwSP zLAytx2r;0KG=UOOV+unV(m-3>1QoA=j+a2qYoV`*Lmkt?fI%>%4ylvPV0azU#6!@M zdZb6{q2={35>e=424su}p(hPs<>z6DrGnjHL|P~fY;=Tf2g$_6JzA(g5R>R~q@5YBWnTe_FfUbg)zH>G@Y;?&al{ z(&}B=p^5PiI=o+Ve|A2$?)xVtx3?&4d)Rr+o<8TYqonG3-nW-q+0V&9rgLStsl4k( z)qaNK7IXxWn7}qnYZ@EqWnnx;xCD)w|!lPFMjq>J`%

`9Lu{lu6!HIZ>LGDwX^M}+^2mq`Bt2><{9 literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc26/CLIPINF/00020.clpi b/tests/fixtures/disc26/CLIPINF/00020.clpi new file mode 100644 index 0000000000000000000000000000000000000000..4f93f5cdbc24a96835e7d4ff86b7dc005895f636 GIT binary patch literal 1440 zcmchXdrZ?;6vw}9f6CMHYw52o^zrNaK?}5%@-DCaM5%zv!1qKFUn7o)aa)Yaa4Wb> zfiXp4GcZKv8i9%UV$2Yi&Kc_?iVG}LKojO;8gx-7L+5^)EHP%;pF7FT=bZ07_uP|{ zn>&lin{RX2YyhsZ>oLH|1*Ys}{nzafyT^GcE~%-66#TQp11X?n3_AhaEB2zO0Mth%rR&OGkzdRS0uEJa{}&w~a@ndJ zQUC%zbg-#>c4j+RJ(TqcaENKZkzsIIasz9@_3^>&DF%-vK^z0&2?OCDz!a8KEi*Bd zAras#L;yh|Fu5IpgaAR!T?k|Z2yBZ45f5PU)eVNy537z*K?OAzLvAmUYk^ob!>7emO1AvHBY=#xO&+J|tKk&YpV zJW|L^E>MgVa#9GfCjyFE86->ulnxqFPbBCO7o@&Os1o&vWMfU%7$SW#Xck?7oRC4s zSp~UA4xN7-3YLZ<5tNJq#wwOR1xz!XP!UR)?|7kNl!&sIK<%Mnx!Vr4kA^k#B(#hQ z(Xuk=SjH^xhn`U*wqY;yJ~eFfMqwm0us4muOlV=h<%QX!g(H+glurjoP6L$-LR>MW zH@;))wS?it3zGOphLbb-OH<0xY(GdvdqjcsJ=Ys!{L&Qqt3$2v6|#J zBsXp_*~#tBw5nb4Wn(P~t?p-umzulWTwcg*$C{bBD^7os*PuC(|6^rL+M~KWn|^%I zKEG(fQQh-&dN0`;ce}hOUN&G!a61|kH}Bb()baZc_sCpHZrGvot_;zpv~{IlrmyMQ zWors9wEN349FteJ##xiPol9E^sNE-48_xV@PMF9INV0S;NnXsWNZGM`IQ6@J+BGgz z&!JnM+UBZ@)ukIZYCgZPKzm;Cv+h~>T0^YA!nn-TWNb{?X*%25XP)E^S)x}Sw7zx0 z?W%PQDZj3dr_T*0lg~{q;j|56t^Nm#&O{3J3)i2e?(fewYW@-#+f0v5Kh?_2yyogC z=lwQ|&_P?7*6Y#la$8~!tU4S!cqT}t7;&ld6ZM*kFPb&G+vaM|JXY%_7RDGXef5Te zx4Vs3v&Ky9yD?{bC!^lsFtTk6)?1HzYZSLQt74@q)GD`sT)oM5P}5m6q`mggr{@=m z3~9Z5NxAZnw6#hUF>o_Q#+~7`#6>R0Y>7kIsKi->mBqNSa24Ic|*eJ*`F L`822D#b5I`e;;2{Rg#Z1X5c0C)|5sZHUQWyb z`I4lIcaChm+Q>dx`cGsINWM6ZVmDxY#ab&~Z7a2P%~ry>zX@DUbs9CK&^2y+7nMgXqPk8nx|?mZj0gbSjOtvuIwDK<6W4? zlC=0h5_0gFDv*>M0&^4iv>YPK7^^8DYR-dzr6gShAr%KHrxPL~4zi44hzTX+ZS@dS zN+`G?NN6RLF*GDhJe2E4A!V5$nShK=fT}PDav}k0*&Qe-6*P}(prBRImTf^Cqe5ay z9h8I`iCuogvovJhMm(*7F?n`pfGxKkM#czRyPOn(;1`5<2{z2zEj%G_a||x_ z6!3ad<~x0Z-r7@kJ+2%a@(=HARUTW9tK>}gMT zrLQP6I(ASAF9Cu4gL$sl}IJZWa}+d~)5hXJv}_8>Xu8k-5pQ-Mc?fGIOzLOU1V0i@oQA zzgfoeWX*YQ@9eVt4=Ybor*F+lKqCn`GkfA(N-FQn7JBnQ|hlGj(wP z4KwfYQ;TyYqps~6*Br7R(e}5=b20-V4dr+E#wKTf(zT;P)1Ty(6n(WiHNAZ# zZS~KenfGb4EZ^2_P)~RF*iD*v-P@aK$BrRe##fF>!(`Kp^vu8-+5M3R$)c%Brzd)= za-%vn{$#Q + + +TEST DISC 26 + + diff --git a/tests/fixtures/disc26/MovieObject.bdmv b/tests/fixtures/disc26/MovieObject.bdmv new file mode 100644 index 0000000000000000000000000000000000000000..2f19a1549bd57492447b57283a52e60ef3d94af1 GIT binary patch literal 3422 zcmeHJZBE-j5S`sPp(Lb9sY(m9Dj@L_8ifm3`DGy?=nZldmy`G?J{TXJc{`5BWK96o zQh#71^YXkqJ0EXn_v(6aIh)UBwDB3wF=Tg1w11P5<6ns|iu(o+4Bj&MgTdPd4-Fm} zykqd#;4cR68T{4YZwBuhd|>dQ!QT!3QRB&-!S@C~82ngcK}5%Y@NX*bCDB2a_CWB< z9ffbfZ~o0(KPNiPQlw3C+Pew7W8Ou0&%AH&DM>z=pFCzM$|A3=rX9}|YSveNoWuT# zA6Wi`KUR9f_HcstmB1uze{pC|H%){iNMC(g6JZWyI(R) z+MffD_=Wds_gHxKJIOf*Y7=_YF;f|%F~egWj~XaO-Z_Rsrve%~6(Og4ox*l*o(WeaKgdfrjrX4}lpzQ69-Kd|!F&*DS^MH0w6%F<5yH zAUS{Hr*HAoxA^JHxSzg^`{~QLpZo}*_8wWb(LYryGUiNOHET?g)->a?XC+T1 zD(ZVmlGpiqtzFzFJMb50bq98F&+Wi2?#vz7#r?YjyErF1u#5iMf!!%fwz}U7q$TfP L-HW2x>KpK1VuB>A literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc26/PLAYLIST/00000.mpls b/tests/fixtures/disc26/PLAYLIST/00000.mpls new file mode 100644 index 0000000000000000000000000000000000000000..4c9199e0ce500abcd743f4250543468009032dbd GIT binary patch literal 11768 zcmeI2y-ve06oroi9=f2mVuO*fmE4Y12L?teA%#~!AcmHisgDq5pd-(~*o8OYF_6M> zlZYRQh55Tu5?}k;lARo%d*i#fI4{#QB}p@B{O;#pa-bm1Ut@i0i?y%ui*Iw+Zj)uQ zm|m7v!sEv_yv;^#`;v_mis=50^g@5ol;Y8u3%$^)itEYk-O_q%+v&r$XRO?8`(f8! zT`jM(UbN#?_cyDo@BPyEf9SS8+*QPfJl^*iL}tJ{;42b1==L7=B6d?44Nk_Zz_Y_Q z#k(fLAx0z0Bt9TMh{Van$^5euI4HpZH~7v&Xz58wm%;J-MKPL%VUgN}0scG_iNOGT5x{8T)7eI^)@G&p~rP%-ecYvu_1!OP*aex6382K871Ot_DJ6l$8 z`!qbZ*^i`BkAZ;^q#Fu283hC(Ojc3GGH2^Wg2Owqy!UG0CVCriW5)9;U zhhKWZf5AEyqyP@)0TnW_g7kv{C!>HMgvBcD0%UM9Lb(jA&52nBc|bl?Eo*}zm@foT z&cHeW$OWnwg2_)v%}WRInV{xPsLIF(@tM*1EGT@SY7wvi>qL-wK%l|^(!t0e1M-Ur z*e?tWObm>({~TbP!!#GH7(|3IumM$pefj@CSQNzD`duBt;}!K-fyDdZm5<=@-QGDB M!Q;PRS`Xm?0I?D|4*&oF literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc26/PLAYLIST/00003.mpls b/tests/fixtures/disc26/PLAYLIST/00003.mpls new file mode 100644 index 0000000000000000000000000000000000000000..a0d062ee7bd166c5c1aeeb8d0680d65205d54242 GIT binary patch literal 392 zcmeYb@Ci0BGB99ZV6b9fVAKQBxBwpmBT$Nkk>3GGH2^Wg2Owqy!UG0CVCHKS5)9;U zhhKWZzq98ANC6zo11e-<1?dL^PDTMi2#ZzP1<2rJgmM{Jn-jAN@_>A(TGj?bFkc9w zoPl)$kPB2V1e2eTnwJjZGeOOpP?eDn;xnW1Sy1>u)goX4)`=kVfIx)-q=S(`2ILnL zuwNJ$m>3vm|2e=ohiNWYF^C9bU<0ZG`||&PuqcSPYw=11kEe3=9|Vv0cyKC$$9E{^ N2!hAIv+Wgx2LQ2eJ2n6S literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc26/PLAYLIST/00004.mpls b/tests/fixtures/disc26/PLAYLIST/00004.mpls new file mode 100644 index 0000000000000000000000000000000000000000..17edc51d0ffbf1a0651aae1f935285c5a7f9b12e GIT binary patch literal 586 zcmeYb@Ci0BGB99ZV6b9fVEh22aRELCMxYc6BfkTXY5-!!O+bPPD0;vE2+VzrLV|%D z?(j=5_zzzH50pcIc|g@ntRVehz{w~e2w|~Gy8s!Sj8HBEYja{&K^~9~Rm<972<8hx zlrykS0CIuqg<$d%QuES5d?u)Q6RI-uL40O3J_`yTs9FRpz&a6R9>fP0FdyW~C~%i? zPlV`zl7rm`3=Ap^AU`uQ$be$Q1nd`Z^vwQqfN>7fT)1z-7}!8D35uuxkXQoot_9ph d@OT#RI3jqwXSVJ{@c8lyvfw;MZeUnJcmU!>PwW5y literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc26/PLAYLIST/00005.mpls b/tests/fixtures/disc26/PLAYLIST/00005.mpls new file mode 100644 index 0000000000000000000000000000000000000000..0fcf9d056bc5d0881525457e94434ccc6bee7c84 GIT binary patch literal 240 zcmeYb@Ci0BGB99ZV6Xz>b3lv>@G&p~rC3<)9e`8=5Hm~wVn!fLFfcGMH1IVF2?lZm z_5{laPJ3DeQUC{bK!qTcP{7G3AP8ZyO1l6VoQzN|18aj}RzV&o69adq9i}@G&p~rC3<)9e`8=5Hl^}z>=P=C$D+UpAAVCJOtN#B7ivoFq*EMq? FJOJ}}9eV%( literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc26/PLAYLIST/00007.mpls b/tests/fixtures/disc26/PLAYLIST/00007.mpls new file mode 100644 index 0000000000000000000000000000000000000000..1806c1b3f7c6249a10beb3c2e9383f5f04f125f7 GIT binary patch literal 256 zcmeYb@Ci0BGB99ZV6Xz>dq9i}@G&p~rC3<)9e`8=5Hldq9i}@G&p~rC1p49e`8=5HlhxX+Ou1VNQUC{jK!r?T{a_(ZMgc*H9ILbokip3adq9i}@G&p~rC1p49e`8=5Hldq9i}@G&p~rC1p49e`8=5Hldq9i}@G&p~rC1p49e`8=5Hldq9i}@G&p~rC1p49e`8=5Hldq9i}@G&p~rC1p49e`8=5Hld zfk6bqp9tiFSSk$6K$4L`257f|CD?8T2A~zQ{~TbP!!#GH7(~c{1R21t`u`s+3gijs IEQ^Hj0ET-Y+yDRo literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc26/PLAYLIST/00014.mpls b/tests/fixtures/disc26/PLAYLIST/00014.mpls new file mode 100644 index 0000000000000000000000000000000000000000..b319c5ec2ba296e2b3e41d7f46dff0191eacf3a0 GIT binary patch literal 256 zcmeYb@Ci0BGB99ZV6Xz>dq9i}@G&p~rC1p49e`8=5Hldq9i}@G&p~rC1p49e`8=5Hl}pcS+K9AKQoG#9KGM96^z8Njak{~s(0;`KkP Ggzx~@&mZ&v literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc26/PLAYLIST/00016.mpls b/tests/fixtures/disc26/PLAYLIST/00016.mpls new file mode 100644 index 0000000000000000000000000000000000000000..12de8399ac6f6d29d374a6fd250e10b342365968 GIT binary patch literal 256 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 GO86HP10Spa literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc26/index.bdmv b/tests/fixtures/disc26/index.bdmv new file mode 100644 index 0000000000000000000000000000000000000000..392fde896b78d11315d4856c2ccbcea457d68960 GIT binary patch literal 300 zcmaLMI}(CW5Jb_7f*(Z1Ex3YLuAl=F6JplRYJAs#kgl3jGt=LBTFR#sV6L;5_g=Ym zYqk~K>oot@=v8x&2plB>twi7?5$GfWXNkZ?B5;)m^b&!aL|~8z+$91JiNI4LFiHeo F@&n}*2&n)7 literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc27/CLIPINF/00000.clpi b/tests/fixtures/disc27/CLIPINF/00000.clpi new file mode 100644 index 0000000000000000000000000000000000000000..6b0e65681d84134450183959e6b9d62b5725bb7b GIT binary patch literal 292 zcmeZp@eMODGB99ZV7LRs-xwGeWq?=#$VLYnfa0uR!RX!w1_pKqbOm(h%QbiaosZ92 pF$PAEG$Vrmgr5E90OK5{xj-Q$m<%I>2!rUvtb#lS10;ZKC;*GS5Lf^J literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc27/CLIPINF/00001.clpi b/tests/fixtures/disc27/CLIPINF/00001.clpi new file mode 100644 index 0000000000000000000000000000000000000000..9e025efb637665e9fe0f5a9609797d7a4dfbb2df GIT binary patch literal 1008 zcmeZp@eMODGB99ZV0gp8z{m!~R~Q(Wfou$L04T=@6lG+H?rmUT`I>;Cg5Cmh4IV(} z=N09s_e+CxdW9J_GaJ zE(Q^Yd z%ruIh>SJuU@Sh3mx{W5+cPE>!J|SXOd*!%!;KND_)pr&a-+#TdJjFiSYL1AXb%DZv z8yDS;wqjN(wy)ep?e+wpw4adBW{{L?ZfI8d+K8)dj?taT{>B>?Fq$;2*<>2FGu2Gv zn6lZQOV`XV+;6v7^v2S%?8h4`Pu98CvO@mW@8y|n4r}kXoo-QVm+7ivZyR{kfIqI& z;BmH<;nwoEMx8D5jbkSUnCQ>rH)URR(Ddr|60?;@RL!d|T(|JQ+hwWz%G&blxA#^j znAcd(5{R|QlNGde&^&A>VpeST!dcyZm;X(JzL;*qgiKE(lhWVD98GJDZ}rEUteYcj h+OXoVS;*E>bG1X7=D*I}v^aNrrsaYc-oUtL002Cu_nH6z literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc27/CLIPINF/00002.clpi b/tests/fixtures/disc27/CLIPINF/00002.clpi new file mode 100644 index 0000000000000000000000000000000000000000..850fc2783aaafcd2cea5db0f38c466bad025a0d4 GIT binary patch literal 424 zcmeZp@eMODGB99ZV7LRs-xwGeO@Md_kc|#D0L2->g3-MV42)Xn^7QA+HFyA>kI!B) z2C$1683e#Ix3gshw@<@kpcX5b3=@NZps2J9Fa!*c0LV~52GQoktb#lwVNf`MKn_qh zqktd-3xfayACM2iDhv!v7l1Si14GkA1_p=Q42*{^F)&QO%)sn)nSoLKu3HfUi}*dB zt)6xcx4q^CnRx$8?)Qx=`R2E;t-?WW`enzOl_pMicI|bsIV0&h=Wek%$Ghti+~RkE HW-g3-MV3><3@pevv|U#`Ie=zM(E ziZOs)%*Y@Brn!CUTDYTKrvtTE!DN^i1O!E;U4S8AfCNB>3NnZ`CuSAoAqj)R2?VwP zbu$VGGO#enFh~LUd_Zi&z`%4FNV7079=gK7#1zE9>~w{JMer8`^P#H@EbHGeumEW` z=|c>xP1hLMOZPIcFNH6hk-@%6UTh3OR`U_d!l4)ew<^q^K}Zd?_PM{U^}z>=P=C$3Ms*47#TzuL?>nyNPOKu`hcAR+={M-)`Vf&wA|dqJ!yprQz3K@kg0 zgku-67o^x577!6p5#PCY=FQx>_r3S$%S`4=ercOzcazy{{CtC=xO^@b0MMx$2LXVW z0T89>rvLkJO1BLDXK>2qY-GQ|rT@Od|Mz*AJ++3K$~pd{~>M(Z1Q#C|FIuS zXp=uHWzPSMBR2Uf5*Pf>IQoBy>;0eO00@rj&IX!W06oJ#!xUW-&2*`J0|4?!H?0Ri z&SLRG2&aQlEziKH z;&fo>^9&gJPX$If9l+?>Wnk3O0Y-Zt0meQZz+}ubV4TwlOcEe4_2~p=Zu5a@OBXQP z?h3{rUBFzQ1IDy;1M|KQz+9)LS0S*-c@C^>{DGy5V1q3J*2oKBOWqD_ zd|m>(FD<|(=OwWBssOevuYjX@GO+h~1)Px)V4w3EIHwN)hnCmCRT2sueck}qw>7{? zCqaA$IOn_t!~@O11$hhH1EYZ}@(y_98UxpycYwr71#T_x0L9(~5RmtPGOrO3ecl5a zTMLLe9{?@W0Jyh&01R<2@W}ZHnA~DO^7#l@Y#t!{^Z@qW3_xz_0iM2nfQozqT*FU* zmh&0#F24hG=j&E#T(# z0ZIE5z-{RRQqLH`&-n)A_LG3nrynStzXLJy9jN^afW+rJ@FFY%l9mDB^(YHSb^0(f zfUM;Qz`_QA+~)`IMeKkgXAq3t)eMx#AQ(6PJy7NR1mk_C0kzLh;O8C&G&w`Szvdp$ zvptM^^9uxus)0|=FA$8>0Sx&Kg0lyJug`A~8s-3eTmFDBBOw@@^9O`GkifW{ zVGt1=4#p$HAX3i{`1$+=6YubWU(R0;W!nh?boVCO-W^QH838dQeGrKJ12GpigCL!; z5^oTs1t3m!6$Ik|#83PPLNExX&Xa-=Ed&XU5g-gjz_d0S5QZUOI(at;*P>vi<^YJq zP%t}$1tM`hFuV2~n5Z+6MFdf(K1l3Fz$BeXq55Ew)&R_l`wOCR12A8-08G}70?Fr$ zKnywxq*xY%DYzk6$Xo>CP(zR^djaAwBaoW1AH?HEAkB>hredQ(+F(9NKu3e6y5c_# zH3myNHDH?77%Vqv1=F=AAYE7uX5c1Zg+V8nsWk;Fj|72Pm?_8z)q>f$8OXB91&Np$ z$mZ?^iTD_hoi_lI&@mtfTM3ddbC6S-4d&tIAa|lSn2%b3Jd-(KzSaV)v1kLyT1&8Y zK`ThXEy22=YOp|S1=g3wfrXeA*kINI7HO@)ChA787_$aj##)2LxDD7+^b@4%%paW$ zmY}vEzkv&uVz!_lG8Zh>+JWs>ZeSU12X+vnz;dlU*jbK(bkrW~LQaDfxC7YZ@CIaH zj$p5@2Fya8K#|%Rtiqf?iN#EijXHz6&zOG1bJFFaKw2JSc|!V3NZ_;#R;Hd&tb4mO8}KbHCT@m!7&R4*nkniahIK7 zBjyfHEZ+t;YTdy}nHAWKd4Q_HH()dF0Zxg=fUOt_RFhJ`Hk1Tv42r-uj0|e#90LV7 z8Jsh20NYUtICt?4*rD@+XENBKrGi=;eXtX!f;wX!*rla``gljM8>4{+ava!$(?R1; z8rY+ygNu~;U@t}omsqR7UYr3gEfs62N|p z1+LOX-~i4B*G_tagD4wZ*Ok*ls3*ATycLw89MBrN3LL>Xpv|Bfl%rhGcG@3QU|ew5 zc`P`J^1waoN#LlK2kx78fMX~hJeYF@9K-qGq4iO40u_Kqy*=OrE&z{%d7w%+|I~Co zsKSKcX}mW$g$uzmBNUv{iomnk#-JJ%flkILP^}e%F1@GV3@!%UdKjp|CE$6|K5!P5 zfEUC}a1N7#mj_M3Ijt1DA{2lNxD34EZ3K0w47`i%0CkugygT+7)Z=pSLCydTr~-WW zS_&F<_NYuiqgDw%$#~!*t^}VQR)Z#71-=xV1D8-0_^OBm&6pbWjhX_qI{QT%fEL$) z{vF=nvQ`5IXoKJi<^=|B6TwxTgGvgxhIxaZi6-Eh)*B3wn!t6f5BRmQ5Zu6hz;FN8 z;1-I3VUj6m#eKoZ#3Im!`a)pR0ow4f5R^HAJ30}kSa25`2T?i>?xEwLp7A|!9~%$# z_Zxxx_;_f5+JT3t9~|{!4S0z8K|@Xfc%=1*qoYrQC#XL(F**XC-~rI2{yTW8)6B>P zv||(C7_)QW89D))bAmw!76>hlRe}y}Ahbkhf-WowTK&!fU3d_*mM4PeXfU+tSPY(H z!O+$>54^yGq5UW}c%cn}_K9WS6&3;=73ts=9ts^xyuoX2D0Ger25+=s&?Pw#yv4(y ztJh)hP8$y0Zq$JHXgDOW+rS4r0=gRl(1S%llD;+Q!6P9l!3KQNMncM@a_||S2&oiD z@CBO)X`@equUHhM&(MOe+9=2{zXJ>pd*$Hr_S($j@o3HVD%k3qbYD&Bo3XmDR8>oSm>f%0B0O?g|6rV zIMccWx@i}}+0z;z5nTuqnMz2+7s150>CjzgQe+bro#CVnUJJi43m=w zAsJf?Q#^Vh1y6$uS_>gXn+6wB7egAh1g3KSLArJcOr!B216>N!RuLc*TMCy(X&?(- z2ABSDglwJ5{r*6!&bn|I~|aRuYg&e zf1v!$2+e>wsXw6@%YeBKO;Cbn!aPS;D8(}2niv43+AO%%xdF=X zEV#~VKa}IE;QF)9P_A7CH&~LP63d30#1T-XT@ANPw1paUHOzNlKnek zYv5kH+t3eR3yT;RU;wrjmUv{q0DK)R$;yTkwCmu3;7k~Zt%nCjR>B~BJuGFaVKBM@ zmcDoiLv$WSPs31jBP@%ngrWFGc*Nm748u3U@>~`SM>oL=u^L8To8i%a?_mVK8CFhR z2`8dk;Bntn7=>?vCnGChly)mTSzZPw={#ls5k}+r@HG81oQ&neYQbq3gKdLnN_A?t z!5T#vj71CJ*}rFCELH%|adKdsc00TftPiK6+hLt`Bb=(;0qgEZ!UUZS-W%aGd?##- zX@S$xo$#VApU%K`!KTGrI77P&UUDjgv(VkJ`H>x*h3$qdyfQck-2*Q(kHAE{5MK33 zhjX=s@Va3DOv3iU>y2G-p3a+O6wb%?!CT^Zn2hd&t>YSD3R(nj=K`357r{3EW4I74 zhIa$Uz(rUwyl<5V7iml2{cB@ks?LX|``}`HKYUmo57Tr$HYu?!%5Vl|PgUj%P@R@BfOvg)Mr`Kn=5-Ww>u5EB7eh7AFq{B?~5Pacy31;Gl;fwC? zFiYnv)9r8-UIt&6yo1?j8GM77z}4C#@a@Mzn1ddH?+EW8j+es^ZZBXSRt|e2!eAa= z0ejBhhHG?w23~M2b`*Yb&V%dFqwuTvDO`_M!rpvmxE`;BeZe_!gZ3Ew*4Y3zqQ_vr z_cyo+KL!Uzao{HHaX65?5pKbc!@=-!xD`DC2hT5p`Pd0KL>q$J(39|&WjNfXJqdqv zw!!Ua75sC62e;!@aCmYX+=-roBVZZajh;e)&rG-*JB@&nX>bpI8bLflVIf+LAkTO5 z{wa7At3zx99bl!l4zZV(z++fFVt*Qi$8|a)m*5Gs0dX?h1W#xi5NDe~cv9PlxGZRg zRXSa>1@M&iBH|YF8=l54A_Q|jtkyOm#85YQMyGp-3p|TnLOcp9;aU6=LXuX)bJ}Kv zJm3V+qs<6Km(Oc;(wG`pi?txMB{r~5+k!Am>|s5wMHoYSVFRW`SeEx-BYqiSA2yU6@=^h05)S+5WaC4Y{su5{1hJ4qE`_i#RzJ#Ylsm44KL%@ z5V0@QTAhOwS;WhjQB6m%K*R?khMUx8NKyM;S^WE?!ehX1M zRKiyD7UIR62wSmM#A{(ayp6XaKDH=q!)_x!pQ_;B(SUrKEdxH!BaEfQ}jL(JdDG3 zouLvp*sgtmghf`tXV?QI+^iXPXdfaG&+}m?`Vfg^EQej%M@W>$3_iymA<;pP;dA^k z5}lU~UuYjAF-}qNCH4e~>G}y@>5N4R;cN6M5=%9JZ?x@5Jg*17!`hJqsxN$pKSL7m zXYjrD88SUG41T~mkQrmb;77CrnMr#Hd(ci~R;~@~(RL!UrRngKwhNh4aRYwFx{yTq zMfe5pMw0aHVK3T^%vVi@z1VYP{;methd)PBxK;2Q_5xYp=mPuE7sx`I6n;lvB8w&@ z!|&RcNNQ9p9MHZ(7B}a^ALuJ2&8-d&;;)gVqa)xD_6Awb(1X9UZ;%zDTKF4%i>%mM z1OH%ek&Ivr{?WceGX7qL!}vQS%d8dt#or^VvSz>$^gWUto(BJ6ACT1tE#N=x2PDVj z0Rpj)NUo$7L9`!{HH2>niuNFDG8+*+tOr@=sVjrpPsqA%7ers@2H%f}0sa};=ywMh zg?&agMX(V=>m#GluSmW#12NWqMGC}9#02d{3Rc}iOz~c1hr@Nm zRNIH_zSq?D0XQME?Wgp#6!I%zlbEVM9pC&;73BfS%h@113Sw zcnhIgzMpt5xx(^Ysfo2obAyfYEzNd;!8*JB!oiRcF66B;}zp^BW3#A4pl`s zUEOxELGzCx;PHyn`O^m61qJ?7g)QaNML!Uc9XY5&a%TQ{zt_($%dNeSD11*~N(Ypr z@{gX&PM>#6z4p>s&AKtq2(uHQg}lI-c(r6KKj-x>!BI^+seO~VD5Ux#CChET-JbXd zw8-tQvfSQU`T59B#rq1G;@|1ZY!iKsCqMS1=i?171cSa0MA`V=?uvp>9uq&0BjtJ( zlF#j?+rInr!`{KhpY9*(F55T%d_XHGV-81!usv6Vd&bukaq@r42+i0c-uFWv1-iB- zpe`=p0r6k?8P#zf zC(L3=&nIrCj5%a4@j^zVv(pD;SzYGxLd62bnJsUXw_jdSy^(~fN47h9*}tvf2^9PI z6E>w_vz~Vgv&3gadp1>yPrb~hzUE1&f21qu%mdAgxS=b|w7_WAkqSrl6a8w}Z&7>9 zb!}Eehx0~!KUS&-EpwAFx;sv^F$$&BUuIH2+q=-6=QT2dFWWQcy126nS5VluuD5vp zW@`zoOao%<{Yw5aHq|3JH&3|s=5x_GaWCb+Jho6ggMjA@4RK4>XH2f4mnW35xeKkLD zJt@hhYSp0Y^Zn<{EiS*a@ctZXnQC>@s#G*+{c!SETfLR9?ZhP_``JxF4tri)a=ZZ^ zI{k4U@51ys>l!zM?zR~(GH)s^wCKHf-HLcuVTIjm7KZhm5QVQ=Lz&+(LdpMdlX_MV zLz^}8Iem9S1HJa@LPigxmKiy2h?THsDtpb35cXTEYK_hEWP+l73UR(?jC)bKw@2Hh z5@F}>VWCHE3U)`D1SE9swsp;n&|Y;+;xw# zc#B<5@XONl1dr}Chzyt+V)52F<9zn|NYZ{8NXx6b6W$Qaa5@mDp^k-seo# z+)Af;(RVfTru2sLH;jKTXgIXo_lxlY>t7C*woKAfyD5Tw_M3gC$s7U<0{qWw6f4}r zn5}+im2LZ*R3m>{G`z{XxYKIx@d~W__$_Ha1b1(Ei%|MWv0$-k{H(Tb(jB5|*~yLV z@`nS9mHL5HmE^FcdNxw0*)vt*Ws*I>Q@_yi7loV*FM_?hw>+i5C-T}BEZKFNaP9m}qS|}U z#UDue<9nuB_&ZXWAg^$YP&{4sQZ@RSsp^MIsfM~-#huhPEPEl%PuVZK)Mh6CPOngUw!F+y1;1@x1@pn=YupqYuQf)_8E|z3x+euG#YW!boOea`XhAMpxT2*PWXH?zU zz8dolb$<$bah(LBPdO?S#G) z$AXBX)6@|&)@bmC2yTr{F7M6aN0{xMkG|unTgIlZZV}~eG83PDMUlMY?v>f*4aohv zH!9L4i?B=!4`C1^kz*g|j4G zqMf_V#r0qANP5Ov%bbgT$^(CWRIG|zudF(iuX-^$Sz|t3!1Zb1@)kQUb1zG(5=`59 z%6Hqqu&5<6SKME-PfE6OlTA$dDPMb?tvE-FQhvy^R@*SqvW4ByPx-t7L`PYFVD)U<%%}4DlOFNPmVDfs6LNjlv()(hQYN5qUb?IzB z&i#vHdHQCie9@ebf;qQbvCIyE@FaFe)LoG(v9R!!&|U6ICubVUHa_TdlSMC9*h$Q9dPy-GeL698C4+N@!%Q&dvGNlN*)0v1Jbgam zZcAK75z68nc~36g5*U!&Xe*^*PK9Js$g72kJT?LW>}v$BxSdEG=I3_EXix1GI^ z-+g$a;6?8((mr-4dH=ddvDK+tlCeLlrJkXy=7nyj@=)SzszL258qs8=+NefbOnk~sK4%O;QJ6wd-e{{<{brmBo*AOnWE`5ttn)9#f3yp3|bwJsCH-|s5tM3k!vtGa`i{Wum<5!vDO z^w?vbxb-i8F7>LQFegBG>v^8&x11qi?I@SVel3-44SpwYIuSTw`_~)F7L|!=VErcz zsrwywl8ooQcFzgE&8JHv_XyG@*=MMHjy`vn$9oIdn~y9@{n*uNfCSQDU~Gjew8$tYNfr2 zCUW9cBSk2wNtu&5QC0nPz515%var%9KVIr*3CJ(D*_yDGjlwW-{lV%6bkk2JY=Be-YjIPZOK27ht&O2J{{ zd%}ma31WjQG;zV8qvVSBPU(;RMgbJmP7xKmm^pp+H)TP+uj-0zmiou?)m-X}H9Q)p zfFHfJTCm~kQDJ>Ztmw;;lT?@CThid@)3U5ndGgc7k&2fyRVu6Vc4{A^Bbu~?i`>KY z-+50=ntj$vYq9fXbA%s^TqyQQJre%0m(p2g=VUuGXUeM{crv>=!O9`rpZ)ueR%7Fw zq`5bxlKbgcC2{J5fA0C{Opi6VUnP$=?vjoAo#iN&CpslY;4Jq! zQ&f>Rj6Cxwd7Sf0z7pPdEauz$<_Y}HQw7zpvxINQqGFqqy%P6PY-wa-8EvRE$dPvY z8Z)LpQn@kYc~E0pL-1!sx|eH-H}~BA@u2H^(*VR_B z4jQbH&5bq7;B87;$iLXK!o&GZs5MhO-iDZdlM>c?OOiu?(%glWvYOWK^7nLoC$?V` zOHrUwE-7_T9f3r4gYgy5#|e`)EeEm*{lBC69zn^1iN~NYSMML0;T1rM*?LEkHhi8| z78pi9bL6c&=&?$X!SGO?%xzY6zo^%Y(LCXL@1qlL-8hTtqnwF<4iTmYt>qP*Udq4XI$1C_ z!g`^aDcmOq?lMgWtjLNAw!_w>}gfpM}DY}s=6-|~tTXBE#L+Nz9Mr`0Nah9>#7KcPe%z-!z5OaNX@5b}Iv zq8Y^@;_W}zOD;z|rVSkOrw_IVIMMY?ohO?ST{haYJ*$FuXkJ!#^308w@O_dO2~r;f z2(sD-gr~i?ie4UnCb6`dPxD#YEKBQ<%F7gk%qM#Y>{0!>YU%h`PGYGCVee29@m9n$ z_rE2PLiSJwIX3$+D0vTHY~N|8v$Q^5aVe6rBwPN|V;tK`PHO^`rx% zH0wv2xfiB2@Om1L3!H46gh9!hM47Gm;*(6JqV9ON zM(@<_kcw9Y+zy``eBM(~A50#U@osj>r+f4&3Uuu~JMQgJ zU2~^-{#<#JOK&aYMN=2^H*6pa>R$dLeHrT@YFgl*@LP$PAElw>rrx9099=AZ_rp=PigiGK zdc#S@%TN1NmVSTKK8NEqX(NZYWf8^1CntXi3`V~bN~a+r-_up%WqRi& zNBnzaPfJhHhpX>1jr8?doaiFcf6GpPyO9jQNgS8wL?e+otm>H88ylSi(Q z3mlp#mzVsdUTsRC{d9DtPn3=@)=qa|o-ZLPKmK~FwvPcJ0rkhYE1es7C$jeQyIz$F z&Aj%D)P-8{!V!PT!RR#UgR{&AmKCb`)qade6G!l4cB%v$ zzRVXk`btG#%Dzk7{t=|X6K!SLRTlEoh785)slQcL4KLNc4h&7&@<-ewchB&iQ0oOo z_;jJ{6-kt&>JabUYawa<9wGf3_E*lS%wfdU{bX*j*u=Ux?<(u&f*tJPohvk~+uylU z9k%hd&Li`wdxV0?{SCr(K~hm&MV|QKuPCX0s7fZOOp(tv<}0$NK2+{KH>^4{8dtxa zoy4`d6vP{6cbmU76?jy%mJ5$LrieOH=SWQNK9VXK7i3YHYh?M`C&*hq)-u2QELM?s zTd8hb%U2J1WN;Z-*}Rypdj4j`B0*!}Qekg@k=QjjQxaOXNt!*fl71#SmGQc6bf8U7 zkMhdjD)sW^`WX?+~j6m$&)|2S1pJslG*$$w$sg*Z+GjtDCw~ z-cvtU>0;-mY@T4p{&wW4=l8FN2qfQBVr21ce#&>TVEy>5q}l_U$)En&N*p6Aq{8wt z*&L88-#yh$apR(ya>)Lpnvt5SiFq)WyM+Fkw>2Zly{X+z&?h)eCT!Uz4*w7&!F>~G zXG>4ZR=%!g99M)fJGZM1tQ*ylE+;u_R`e3i-H#-GWUlmZSa*Rm;Z-Af zh4)6v@uHj5&Jhp#n3xuZ=KKlfLaX`A7S0w{f6gLL@bCy{jK>Os#bPee`%ad-k5i#X z;-br>y{&-UL=sWHWyjHM9@){y@yZyH8BWZo%fDHZQB<{_lBBL*ViNM{x~sP{^N3I2 zR;nQDOM|d#{1eg3gU*yczi&txKIyX9vR#a{pGM5`NG|KiQCw|k7@(2PFy_h|yLidw zfM1-nQ*i!%r0@e7C3`AD#qqm3sQF(%NVkjQ>Dq!N@*gh@S!UxJgVcv_s27=fY7S1D z#Wl_aM9$}N?tc8o9@94ulQMdik$0+NDA)ECQNIj~qw58ZVTddDGvoBuu$DysVwcyg z^}K17$Qe#)C%Ru7OS}fl+&_hs3SEvRio8tskt+pfc!?v2<;tu`<$So|hbCC;Kll9$`O}`gxHmNvBlx%<+6m6pAt|El_g-zQDi zpom*)vPED^Ek!Z#ACc8XN(_Ja0mavj5ZOTNPQ{zj#Pk#Eq1 zw8_CM-xY-%j|lVXJb&9eyZ<`>Oe9J0y23_e4ZOs@@qZ*s8`RQr=R8?^<|~C!r;$=F zeyU0;=v5besn^`b4sf;k&b%Le^97{f9AVUnal%(!e2R@CO)@rjsdQOqgY1a+H^%gR zKbZwz@32lN&Z{_cz0|7X_L_uI9Bx7KM&7v#mi$`VdxHAuw@Hu68pNY?-85ak#!wmI z<8_H}hJq7U?|0+g`@nUw3@3UoY~e4u|I?$C zvyF5=$Bd%ay=5H#i?d{wpS5)70iNvIFMIjmf>8Z0^RXtbn9JP) zmhti@&EXdu+ThVLtRNXV43iaU*C_MuG}&4FK1}`XGn39JnZ}6yB~)yloTzA=o2z`; zqE%aZgmR=gvj~aLh{S!8Mt)QNH^G7{g~9_aN#tFL)s(u+)zqAS*3#nGDu>&(@s4vk zyP3OWD%SNq%h*Hx>FRBSYno##eFt6M2r9BLf;x^%V@6o!+c{jk!?HctlIwcOO3zj0C#0# zF)_1|?7qP!#Hwy~t@Y=8zS#NmXi3Pd+q6~MQ2Nwi$WZc6F;fZ&tQB1o*qLrGJrAv! z#d-8mU-PMNH_uE#<-7C#WGp1 z^60+9s;9^$b=xGIGf?Npqnd5vi>8HnOuqV%w83VOd~%+x_<94M`p2b}&Ro#WkeyF< zn)^edDEu|Rs?HV!-8{42_36t*O^Cs1?y8vIywi`9_&3e@9&g4+l7=&x6x)h)D);$h z>eAk1T5+fwJ!nfmW7e%l3fUhA76@@+)onIrUw`4{d5d<4b31DTfmm2cwCgT)mrJWX z5_X&=t$9u&?-z>1_jWUAaKMSq*VV}ZQ8ySVCB^bJht4oh7-cg%?Ek7vmq)5q52>6K zriQR)i4CDL+k<%d!9QOA3m_n4$-;@ptjKFj>?!BMuTwwNO_tst+AI4K_E_OkYsCt- zyvNR(m&ZQ2^0>PDYZm8=51Ht4;Djafv6CRwEnSev4i)anKPbBS!GxkWa*isQ9Z#Ec z=?Q(0>jOr^@?A{+PBv@$uN&;0q3b-alrQG=7?<%JQ+T|9RUP~l4Jm>XPRoQ{i`RAN*AeK-9D*4Yqmr4er5{Ku1V!?Z@ya) zu)tU-tp6nn(XSP+N~n>XuH7en;ZP~JToKP0zD!|p>@wN@i!`3;ce**1%!!2K3+st@ zTlaXN9u6eIIw#Vt>PqskElSByPoSRMRx0iOR4upgt(Uj2DPbACt!3K^4|>|Kj^Xeh z+#~3_{39|KN4m#7$n@C6xIn62Gej=Bx0JHh;}ms$(hS<}mZ!3*JqB`$_>g>W^akdo znii$kGXi@GQ>5w&i_(~u-{PvFhL;kvi+`Z{ng^jfjl>ZjAWzFTp=|rcrM3iE()!Dq z7-T47PK@hk&8TW-2Yo;9nKdYwKmA2OD^Q@p}Gyw*+>#ykxZ zZB%R(pWf#s!8?0sH5xPeo4s2cFMoaF)MfuvH75PFr_23pPGHbuf?-}ZQGQ9_K5z7B zkK(Dd!rOIoMDLuUB(|9!XntKk>FK`T8OL^0oI1KUxR@Y?u1b?iH=6Y#^JuDp#RlmQ z%h<6GJ+@@@`Cfc`bnLfT*CoWZ6lplGN0zf;znpSmtzxpt3g!C5Nvis5jp`n%FV`7= z#tVF<;;&L=393r&3t#?@7n?_hNqnl#N*9j_la(#VmOr|asWhNHREgIbs1rNZYYMrS zxwmp{xG%Q~_*O4|3w)&M!n7S!(cw=$;wKYwrK2it&}F~s7`lE0ioL5wD{nqlsQ#+{ zY1pNZ8?SHATRtP6UvZ;W&_OW~8D|fQRo#yzx;_Tdl3filpKGS_#qP<9GTcG=sB@*- zfLrBxZl=BF-KA+f2S*paf9glUO5HnZB~2>o%)%rlkDg1yd$&sSCM3(w9@ITThPEkf zqheKl)tl7m#+c^V?DyP`=6t@1Tb)3;%vqRn_s>|jQA@-j@!KS;Yqm*GjgFALn!HJ2 zdBQ_E);LYIB=wuRyzO}KulJj{G=`pc%*y-x4Ubm~8o9l~C+mj9qh5wdq@r4B;?^43 z-k0m;w`8jne|H(F*x%dL@xhp8%aLaDn!i_hZv(~%?9P1_jx%c&EuV{sD_R>R9n@r* zan=lm>X#pLes~(QXgZbES~H9NPj3c?6Xr*lcF=;jZ3rRWGZWsD`SwEw8JB3;Q)`0cd_oJutK|>B>z@8B2cZaxne~bIRFM}R8 zBiN+j6NVIHK%pvPPSBF857LXw^%-poikKs9BsNbd@tn5tzUQCwV+agq1~E3((tXp- zJdY;Q9*-N0M$(@R%PGuP^Xy{9O4_DX_vjaEf*D`CluDvifGR95CKx|;ETr1uy4M@r z$H%(A9~(dApK#fY&aoA2+PJ6t6n>+Jt^5@;5(1KMc1AAQOCqr**G2U@G$1j$4Dm44L@C#JYMcFiww9+TDRqS;jF zx~S03?ckwr+z0Jde6)X^K&bygIMX3Ww2O5{d{uKsG87Rfqs@LQk6AHMv0?LVWy3*# V)#n*>H&s)=nQu~0PgmDee={B~zM(V*jRpXCt(d<9 z0Gj~djVPA?`*caM4gO~^Vs{$Sd@b$2@9_V9-8{`hQT+ecW%a>-mKXxf|5RIJ#f1Fec=wVUuNh|+L_&@3iXhFR+`u`!W4fOIA;s0?S zZK#(YyK>q8j3avaTb8f-pK;v(C9d>;jsw8OEA9qrY5}F04Kv;;iZ~kpolF3b=Za+| z05UoOP_qO`#tQ(MnLr770T9irKuPuzAZd?*vO*=K1gIcgK-q37P-*M}Dw0<~wXqwh zc36QKNH>@v83QwA-C&l>W-v436_{1A7R*wp9 zB7MN%jTg|B^#Mb*n?Nt49~f3P0t2KU7;CKr2C{d+IBhvF%yh_40ajl+Og&jJ=1!+@+} z3h=TKKylgy2*?Pq4($e($SAP+H4j+IMuF}8Z@?;J6xi#w0ISCLz&_Un5EVMi`3XoF zW5AKU9*|{YfadG~D6(-t&-(}{jpKl!G6-yB9{|g|71%a@034lcV26AJoRt&6UiK02 z9I}9Y<0ruDe+H-u1rese5%~;+VUfVG@iP#4M*})C0mPRc1G;PiNYt$Xqj3T_%~=PS z$Ru!zI}KPFUw{lR2b_$r041se9`X&K{mFor@eQ~bX95B89k})z0fFp0a1)yXVa9jh zp%Mp#jX!|LlE*-d`~Y5Ri-0)eC-AD%0+Pm`z$f4!kjkcjui75qgiHZHqYB`ROauR| z1;Dv+8U#od0a@cO5Ln&^P~;Z~Qtk#W8NWgB^m^dZ_#4a(yb9cq-yqZ|0=UWkfY3Ep zfqUa05a!7O9)+8^K&m8N@lg1|g_2h&S^Dp{NR2k=+F5VJaXY!U%++svvQ*GYFHbf|cqV5RRJx zR%MYuxO@gkGD!go(3xO$-#A!+%>-*?2f-r6`Z~Qdun3z4)+LUDNck+V!CwRx0 zv#UXr!cDrnK$Kh^Y@V?eL}Th;3w|wFf@y%{$Uh(krvXwd0zfP_8*H_>2A1JwgEU4l zScc94X_=W|IW`Am;8j5!P7`EwZwB!SGXoT5murEn$d6zJrUkb9>;wszHpt$h3=(nL zAcuVjRBO<=XcJ;t-ZYPlZR)2Ra1D9m@f0M=sqpdh3g ztV8udVMH!ij~alYCwIVl%m5TqV!%e6At=%B2b(ZMus=i!Hpz{^{+j1tv%-UTBG`f% zgM$+fK(gEz9A0t_q{vM`X<9T$#Z15vT0ht-Hw8yW!ofDw6ddz<2+}Z9a6-=mq{+>| ziAYzFfti6*(j<@}HwULu%Rna19F*auAX9Du&PYc<7G?p?h6RD`7#^HE@egF<@Sr?K z59Hto;QY-{kb@FHg<3DziL(S3L>oXZW(h8F$skv51uhk_!ET%txDvbf;>41TopEe0vs9CW6p4ejMzTTZ4K^9wh3aV4uPUhj(B<&KBGe>wx`oThJIP0|#+-Kz?Zn zIEdMSrm$9UNNx}A(bYjIN(C(e>EH-P1rMx3z)_q7c+j2?jwyVE4uNBGN6Svpc{kIUTg??*(Nj9dww7gEEW(I^rk6SsVj&8cM-gj0rkx zkArgxUs^o`sKW8VK-XMQt#AlTgBqLw3`g7r zHF5zMnYSI(;)G!I#y(Js3Bh~!P2f6C1jbnt;07uJAHhv<0~3Rfi>JX&xfpzQXaaSp z1biM11-BGVhU$TOoD_UXFb4IQ6nr&30dC8kz_%@hpaFFP-?c-*9n2a0=&1*Hy9_9?0DwuJk*2h`K=~eh+wrxkKfDdf<`V9jb(ngU6^loFOX!k1-E8 zzDN`$0pEr{I;` z9~%BtJTsg>G}d1T-r@qF@oz`aqtH}W3VP8%XhsYIeYikq&i@1YaY4``VFwy$@?3@h(c@CLNFo^ zg*Jp7Fsjg&=K|i#=RvzuMqms#585lIgK;bjQa_f0ad{YY@aO~|abb{V=nX!i^C4~B zG4KhS4;d_d@EI2l84sht1R4%mn&Ds)7XjJIHega70XZtw;EQ|#t3f7YqGnt%1teQs@_016AZpVL&Jqs-nwaz~2lw1GfwYi3i|J z+;SLv?i8GfEr)a2YH*f34u*^_glf1r80wY=)zLT@Hd7O-WAQL7rU`1u<6*e&88{nV z0mI+b!#N5Ugcw3iTmoF^(GE4`32>3GKGc#Y!pP=osEsDV#SRCcE^Z}^R?K?XDi}jp z1P#zta4FFQ8emCqX*v%Y%9G%7N)|LiSHtDEPeNmCHH=>_g(kQ)a7D-vG?A}?2~qaY zRK6A__LoC5+*-KOXCXAl*1;r`JrIwsgKNB6ARb!}*VL#(f_yz(XH^L;(G76j-Nn!f z+WB%_<)=ElpAjBSEj@Fvh2w;85rHb5I}Gu-O*1=`5B zz^w<@LOa|Rm=?MK+F{8sU1Jd1qscIXLWWc<1!B3spaU)iW(w{=M=TX?hc%Fn+X{0G zFF*#i74B5O1ev&PaOa`xkcDo8yR7AqB~OF9`lBFQ;U29{$idQKp4D>5MblwEs~+;u z3|Me98}j5CuyDaPD8ON`XlfP|pcpI;*ad}h43@|s6yY*qNpuVpW0`QjkuQ|svf%zZ zlTfPgpbZsD<=f#QNe^_ww!_1y26V= z2RubBg6_DT@KpaB=%KJIun>A+x$q1!4|<}x@T`&r^g?&RbF+q_x59E$2z{{K@O+Rq z^i^0vISKvbdtl{iHRzA-ffv-&VIVFKUi{bx1JOKqNtObGczY=cE<#ISgJl$4jN1qAeDr~f(S5Mddj*V=?}ts| zakvDxAKsf;1D9Y2;JwnfFh*gEY6Of$55oI`Yj7#B0VbeFVEerFdcgC2+7QdPJPcLKiVyTbMI6Ywp55^lgw z!XEGgZbVPQUiGAzQ<(*cmwDKLXQmXW)DO7)(RY!uO}sV7mM)9QWD_Gq7{;gDMST=sEaNQx9gM zk6whor>r*~*#lI9iKnvIpUD>>8qZNYUoy*AQ)U z0z8Skj%df{!c*9FMAxwZoz$`uN9uED#w2Z%7~5WFjY zfQUd4Y(^g<;v4O-8GDFGG-t#6=p#frWee|Pj}Ry4i|`@ZipZ>^VXHzH78SP2A0sXY z-oQ58W5jLQ5!i;dA#R_q!zc1K#KZA8e2RO5cwDZ4?dTK4%e4x&%by}%!}{_pp1n@#=ig#qpy&q z2F-97dyOpJxE+q-UL(s1&TtfagDh{ah3^%{bHBkc+*>4matw|uOfXD_A8NmrW@?K4_V{p1t)QR$hsK`a1!lD*2TKP zFIYdaf$spn;@%+}Cd%PAg`12h@SA)9*-Q%s!S;Z^4U- zEPNLHhmIoKIYtOT-y_-Ct_Z}vM{?8vf?#9FjxQbvA|FF`I(|o#&@p6}@oq#38%K7n zlp`v*abypRil|^8kUjO65LJcw2C2vl>?2Yz;}0@ZVWIOqWES=bDT--8)Nr4WV#R2U z2JSPm_hTEPfqq6xjFOQ#xCvzc95JGaO&|wtNQkC<5;>Srk7(m2k;Ah!5pC=Xa`>(Z zqNDH#&l}OjeMOFZIgIEjJhs3F(UX5ej&Eim`sg?01l0pEz`i3V?^z%Q^6$tg>kPyQ z{ehHuTt$rKKajJ5`G^VbCvvu&kC-YfHDEOEb)D~1J#74{pccF#qKxIaksP!>W`c-26LkmP@ntLLsEWQEuG zHxUZ<54komAF)<=gO-EXxB%p4CvCD)=z0-Nbz6n7Zv>zi5 zE;!`QM<>J~6NfZ<6eBbjC8UYUMHouT$lVHCgqf*=+(T|6Y!_AJ-o76QS7`>)Y%yr= z29zu|DA(bY)GYB=_)iE|6Qi_;PT1+H-M{A8vD|LzyG9kx#m^;!L-MO2XC@0{|G~f)Wh-YMMw#GPvS!E+175J+-|AOtKDg~ z-zIO_bx2-OmCg|zxSFVA#OhD@^bRY+CCQj&|D{jFnN~R@{vKEIif>7jgD#t`A62Zi znK0aJXSG#qA3S`Lni;Uwp}JD;_)5)~ptdB&Qe0=tB&!@DhPmC-%h}ee_jt!)^6TR? zo?=XoFAWP6tgbQ>9-FN%YG1*WAWwEm*{pn8?4eZpzMnT47sC9Qy-!!MwK%C9bYDDo z4eaEdTGYYss526(>eq?5>mP~Zp6E#S+xl2MI9{naeSOeUcZ{whG%3+t!K>FR4IR~Q z-5N>xccInB@r{@5Vzrxg`Mf{&jdM3rCs*h=5_iPm=Th`ghJcXNS1cvc>ZAXaRB9MV?`) zH~gx@!01<@p$A@Ww8g{DxO`Qa$?JkPGxe)_)C~DO^XmQ|7K6y7mH|;++uh}*&c@i~ zy63Wj^}0@-GEkFG84CN8jiUY$jSG!41urc^eP(Rf?JHb_Maj(1_nW6$23!(LM}X8GuZ%=LA>lIyolZIORjY_U^) zotAT#+Fi!02xFo~nGs3+<0)rlz(MYjOAC2V)%FNrRDzIMuPur;st^|^>*E=i5QyH0+-!P^J%<0B6^%*H{;Oi`^<+A>R7+6q#XNAY1~DRw)67r_4#*lg9H=( z10qXtg*fQIE=lI3r?keiPZQm6MQd$ay7nn@tWHPj4?UIk5`C^kA|)uLQMM08 zSYLN~%^y8-RcP|@gz$=)r>K9!Zi()TTB$3|LQ^q*t97W*S-Z6~$7=N{HgWCuYWDsJ zBXY~lNbWClzKz{xXWNCh41~MXIiiD$=ZiDjFPPVwrdtgA^l9$PB5AESI?gbW+cUjP zQdlWl&$25<+t}Y!UEMXp1Gy_olzF9n1l{S$7UvvA=wa=UV!Uc%rkb`H7%da5QX=u&pXd40Lx%XzSlg zI<6Qxsm@qS=f*r`#K}d>{rI)42Pr-5vn`qAS6a0^wa7nw@l9_*f<=Jv2)09HelbuS zs5K}_kNY64YWYQbWO0rDdqXVK;l(~yB%_yIu-~72=RJoq$tdPqW@ZZJ_E-wDxG^HF z7>X}i@9nn+uj+qlTY*zY_hy+YPmFSl_q)V>E_B@=pv-x2E|mLA3E@*CKYEUqrU{L{ z1p9dT?DXAo_KsgA=#%_2b9ZvwqD+tKjAi6=aZIOGm8>~H1{)gh8{1C z9|&e_-0dxRS?9BYrR!Uo=i%2n?&JU0o9XOO*(8fn`GgikC%DM#HC-o-XSowM&i9zx zsp6Toa4PSBB zuV?d4Ke@y2q{MiuY~AU@dt>Z#S3_I;Bgsojxt;11rr+9$q@X#I9SbJE1N9n+Es)=BB^Jyfd-A_xr0bkGf2B zd-q1_#K$ELzokidhtx9qqLxw10ylphtyLvN^p23d1~28DDm=jL7_a54N=F3TLjqyk z4aOV3CZQ>C0Yp)+}NZid=O)Oz_1 z>>Yy7JK{u^efr{HzFd-(-zcr=J4hQ6Z6K7aA7|Wana`Xe2eNIFD>)GzXSh4LWb3*j zw$1ohvz>+XxyZk;Rh&K{mRt(nEA78hN!L-MGF+Df=K4D+#Dhj;_JdVK&hPuJJSruU zADQ`9kk@}s*dS~WsRUmUb1waH2>9pWh&iX=tFoWb2VaECblxv#y7)A*)?Ke*pCM*) zUS#L;W)4jAd9GoC_#?5xgfBBhr5+jLwsHr_UtA}R7Ji(*_>w-ONHd)&Pc&tHYn|p0 zDS6z`j7pE~ujhMSr>h7?^A3ni#)m}X4)6TTvqGePy_U3eu@3$6u?viM|5{kup)%so zzH#>JE;?tuK|gon+S%6UE-m4A{TLO_3TqV!Zp{`a8Z3~Mu5*;OJ;|m0rK>Y&m=|+# zXBDf+0cFc~N;uy>#Pf&&>HN?tRFJJbDZCz^D;jNnCNZ`Ok$P=gO-pIdr<zGJ5u` zWz8AuVLPEi?9W>+a`8{hc)_$^d@MImP&2kxIN&N2{VhH(arpUK8Wp~lR&Z&G-Z;C1 zF}WfFZLg5BaUg-iUSP!Wj=RB)t=8f0XxhWOroWf}enpDVxM^7AYiTG>&DkNj*uPzx zW*$zv5Y*elWn6k<@Ez@$YqO>D$p=jK?{%!D^AEF2stG(Ra}9+a+GkvqEw$f zSAqEU?7xzUq$@N+UjRLbKa-JBz_Y3zI!`Pj?50k_PRN(lSOv={4>yjKSlpSq9&? zu-!uSIGe79a?fc(k5>uC0yX(zp~&=vC}9iNCllK)u72@cGECk@GuTq-?Afj%o2?zH z=rb3wk{+0`PZEnc&oU=?%02a-ECJ%RbXS?+ZyirWH)$0|rCUpidhpU1n?YL1hI0D7 z2eFJPvMGL9`79g4AGjBLGg+4 zos#G1FipAiyVI|+a)v#>2VIbB;j(8?*Y&njCTHSw1ds4fj~^61E-*flE%f@cSCksk zFRrYzlEi&8^4}vXpw*wYr%!+wCLyAT6=BQ=b^Z{aj~kLoiAb1Sfp; zirkRvo%b|B)Iik`f6lrowS4X3?=sd!+sI!=Ka(><*44GcWd_5;RZ!UP7C-igTN;>Z z-C8za^lvC%z#m^BjF0*v+S9t5T0<;yc$J9Z)voU&h-O`7BqY~cZGT$Esuie`MoX5E zpS_KujPnX@RPyU>em|4h8Cc!2YmVG$e_-!iYTi?VL$!0SwCR3>R#6oz zbqh6~vdfpc=|4GCZ}9$cy!H4`4*wHBO7Q2vXS>zi4^6lIyGvEqUuZs?UFDDv8tizu z@*uwOw$)7TmADe|W?ZgZPKGo) z|08PJlqvrDus}*7$!PO3R?>I$I5DmXZ!_QTC9{n`J>vNKJmaPwozJVBD)xLE5h3_l zZX>dpDHBJ;T$kk54NB`ws%hivhZ*LNzcT%8xvcc;%k0a2eVl&rRuAp{jeM8yF9qv^ z_6pBjbQE=}7D{F;zT(JhfV35a9QvUx4EpV?^^8wF5iC5croFN$07RE#~iEU9McJI2JR(~2KP5%w7mSQ?3atxR(KnN`S zvn72;$g63++~dgwyk}je0>rt(HeuNdVWE6TBsZ%SKTU3v;vW5^G3>?(F{$Z{;{pA9Q&qBMECzgtieP&Ug`idQKSu-8yonZ0$zCEsT=cPDd}eEQBU_G;lZ)u`M2&if3ecNSX+|A80bOAT0%G@JMW6-lE-rcLM z>7NKt$oAh8zdIP;pDPLN^^<0^@@Us{e>pez8q2;5?zmVNAg*EK8SJEKEza?IKe^A& z5%>tK5wPZpg)yg=i%O>Z#LW?tlBs$T&D!t+J$#)tW9L&6^Ol_s>%)!;*Ljs{oEY^> zTt8Q3kF-PA`Io*{3Eufwi*!zA*&lBU6F;$*J0jaDG)8|E?VXV!LobHLbgezh+Mw0R zE?d>adD&9Wn`yP2FWm4&u%fG4c$if$dbIn3`0tR1)KRvR7Iie6UhrG-$<%^v%*pE+ zY?9VfPDnxqH@hX7XE8O4?-#I3kalK7X!xR8$WQaL7*zLr5JL39i~zMf6L z(qYGVM?1sP%kyHp4qs-E82NIISIzhEx--d7HLdchjQ{D~b1&R?whh(KDa*@0X(+(y zq@;&_diMv$^Px>HDyRmVb8stX`L`q71Az%1n-6Z}pZn12)h+4snRSxkD~1F~;-Ufn zqu1M=9_!3ufW(a`?ZIr9CFC`(MQI;h<;7&qm*H0)M6nxxZgHV!?;S&-j(L&@-DD+R z-%%@3Rn5Id-l7(rb z^%Qk7jv^)AiPxMnYnb31^pQT8l4L1=9APzL3Uz^1G|4d9hfKccPnoZrZ@4x{+h~3E zOQVa0akf2O{`Q)bllEuBO2sK9^CT5R&eEIGNZRSuYJ`U`473~6)U_X}t62SwqLUo% zqT~=00{M*NFr_A+Z{78=&t^!LVrO{bsJ-Yt!E6a*j(HLK(c-ROo94Iq74+xPMoi`A zR2GN#g%ptLL{7VXm0M*VYnT;rz@|3iob7PqHeujUj(uA2pt!88!H?0N=O0V+a@xCh z9{u8nlZ;;PmoAzY#$8cEI%ip?1NXqVCa=Xy!=razo0s;@Lqb&FOtgM2)%SGku%y$D zOjFsWN#}LHV#En#%tIxcSr5PP*uVXPIgPs#xUZj|;D{dixhGQA zdK}H`@ND}QCj`MCeQ1|2iI>b7k`%2aOYh#lNc&2;$RMY#XNEqwvDF)+EMo2v$R%w({3Y@s@f*(NwqsNaL+#0a)6qf{#JZ(XM&{X z{R+G$Us16aE9qf3&sgqI-^93UrqBGgF^NriGD23uPg2ZR4s**7hVb5i9|DbeJB8BA z5_>20x#FadNOOGJFUO#_Dzqp!BEBj*k^b&NiRGW)Ml5?p-@2&ARPTESW?%#E8_u`> z%A1h53#=~23rYWs?CNa4+F#kfnmX`<>5yu5!|`P7TzqqbGQD1hYFVAAZ#B>oPy9l7 zPkOVdjr`+L2IVK&+Ipq`2>;0O^R`c>21GFIl<4%)r{Wjm&5kPkF+A^d8vb?XD?<8A z6-L#G=9Oty8?O5I^m?Io|u?;M>4lX=9q1D zpH`dxn%0*4itzNIoveKZ*+t1)mFN{Q!QOI3k5j2;$9?8WO%x+SN#+DOklF{G7~_R+PypEF#FgDtPsC|QkZiAg4FmXMwAEu`pb zY8p%mI;^)ws@Pm=aIj67{BAdo8ELvBH`nZV-BYvC=0ppl_XBuirPIznNp7-~{&(ob zps%c+<}k7*?>WWkaG3R)seLxCJX>4GHKBs^1NnAU{gxuL-!WpJc)COQqiDy#*~{?Q z205Xs<%aAfDW3Uv)oWHswKu6*yO}(-Y!Ag`t%kKtn;JhHzsWXWA;}~yond;VRNw67 z%S?&SfRl7vG=X-pJ)PFvTSNaYNn=`{QMLO0#ek$2`HG`)>M}(0Zn0o zHX`rLDW_Z-1iUJ{n>H`@c-VFg1lu){YVE(KR)`(;wn`R{;G_i%8BJbDpnv(D!w~3q zGvil}u@1M9*sa!WoPWE_xoa<|^G+#e@;g>|2)y=FgZt>kTNd54Dm za?UPhy*m4g{bj0=LX3FAn|q^!pRMyrP`i4)-QD&;`|sp52lA$B$FR?F__gBYv`U|c z^k-+inYceYSl08R*_^YgoMmcw?t#b)y!)5K45ymfZEZev2vr1a!ldPfq7(P8i=Wx2 zNtJg9XzXDMeW}Y)M#=FH%=_>RYbvUgV|VKf1LH5_zsNS+i2z!2E3k*Jl9bZ3}t9zj(<& z&^wbM(u{g+%1RnBizyg&C~0=I0B^3+NHC8+FA-y8ziB|P1u$Gj8h3F_9J{#eqjPyN zxMO@gv(q-4Xx6tvxHQF zGw1A|8%NnwvCuldFM;<-qu6$4c#@rC*<#Tmoom#D#7hpQr_NjW4R4fwA-QQ;B^@F> zJF?75`Ma(a83Yl-BG!}q%I=XZ-;Gn;o$DyKqPf-|ZnWE)YtFXqM$PSKozSI<;Yo)? ze=mosg@Mv}#a8$oQ?`Vi&KE7~${tyjy>}vJS?H4HFBxPH=Eacz^)y+lTSxOnMN9dM zkIfMjAgbP}E}wlWi{4TVYJWPA#;#eASyac)g=GYl18*#OuT!kz?A3{f(!1CX6`!>K zUUr0M|M|L6q)n%Bo{P-nPW(ChiKE^QR{fV9gB*`LWnQiz)XZ*R4EvxggM)Y3o*%0? zn_R2728l48#Ho95OOM-3y@MGm%Hd6n(jm$7yyC}E9-|dbT zTqWtz$RgU)x+n(FBUv#LKeM7+P1t+wu5s?>zM}NJ(YCJVxY;yp=h}YmX|nr5okcZD z>!Uhmw@RX3&2h|U|DiSRttVXTU(6VDnoXQ@bQj49_>p5m#whsRyR0pHeQZLc&uuB& zJB0J!ezsr3doDgv*e&UJpC|p`l0~pM`jg@R@fI^JB$KtLayR?7>Ii2drj@dzXoL0j z2|t_n{snf%W#{dEmGr4=7xp@wtZ#7aFlZ(yZQM@KOxCh=dbWZYLCGL4+*0Mb;;uR8 zFu|GoC^eDyx4l;2=)e?4?Nk>P4E0ePx!)v{1-EF#$uW9J@K5@gReKm+w~bgc43pV{ zbuvzT>tSxG4}bWDZeD`MlQF_4f4+)wK~E&i^MTTs840xFSU38;dk%~r zBwd!xwkz!UJ;9uvd>+uFTYneXI)_W$d@H+qs%|X7ZfzS^TxhPJ)xqC+u1{M)uRm-QwT< zbEH(e3pDp^SN!R+M}+6^7c!#NfK}3hYpj%tT2jfMf8@*F9+WeOH(7Um@vtd({4Vf| z2X<*UY(AvsuZhBKFJ+CS-%DaB@3~$_<*& zwa%=+WK*N{*mgK!x!uzntIU8wsyPGmaOgbAcl`Y~Mbl!&A9`TyK1=s0W-q4zJH3%=Bq zFZ>pE%<F@gECl5)Ot^UO@fRGdD`=B_I{++>QgbBiXouG^dUf%{iru}>)U z|GY$$ChMXaE`R6X(WUH|>~KKy{MNmMH!tF>)Y(x)Nzr=J$_Y*K@gR4~(~31Vi1HDe z4c3V5*-b@uYO;>AT78pUHv@T=@^yk+@2SU zB0uYhZ2!Z0vAZ+$_w83VXg*a^xolwerTdn6vcw5h=7P9ij62Df?!8Pz^Qi=R4iZ@-??|@&D^>7z4zzanan5qP1|fTn`Czq8W1gRBW_}^Ff|2^-sB-B*=|F6Tkfd5%y2<-l+*70P5?L%dk zX_MCfdx<5mvv>9kG}QqAe@Xvir}n@ZpO}`F@xO%sM?C?1=)6Sm{}6Wo&gG`?|FItj z=v+P}W9t7IN1V&&Ps{v2+y!c7O?N^-qBP;tpWj^aMEY-vWE&DR5jm57-wx1x_<8fkRU_a8a89C!`y=S=j-n zf@i?3Aq6-$Jp&$+BftfD4m@glfU8L_D*|vsUI6bY8NjXJ1@N&J0}tdS@NLur5B*C( z@R|=in_dB8?-SsKyaJ?&Wx!ki3Q#=xz`NizpkyosK25IyO|%X8>fZob=Y2ph$q=jq zMC2`C@;HFl^cJu*ae&m+1K3;k0CGVO@YD4GO4B>Qb>;$EK`-F_Y6G;UUce{q1q}Ur zz<&?}SjYz;IF=7sO&@^JPY?W%k3ej-A8?UAAPrpsc=|pdCtL!&rcXfLb{z0cDj^>T z3O)msH4cRO&p>VU9*7FQ0F7ZR5bM7HZI~I5=)VHp%H=?cdwke5X*IwKet}qGE5Mq5gV>U05LECRj2d?t1nd8RQODXq zh{-rjI0)7M1@URiKp65DB&1CQ;m9CJd@%up>j%LYOFoD|{(&TFAc!pZ2gaMt1yLvf z<4+1eGzP!~$xaZ1LNK8v3yi=am?ThvSPTJ^lPbVS6agvWE?^Xjf+=%Sz$hFAsY9$l z9A*ZlxpP5+$ut-T5^!^nmI6Vd(Hx}PG=MSq5Rm>$0>)xPK!!ygNWv^YCh<8KXEIB5 z0F1{h!L0qazI)T-t1~A8Dxm7fnV{`^<9LIyXxHDMG+zN7y zE@0jETVNjM0@jZn0C~78*l?*8SA8CYR*FFP5mF#3Xhk`_>8vJNc(D{%tYA6^8CQ35z%-wRgZ zL~w8*609;3LA~K5C`F0jkmGJpijlyfoc&-mP69{tb3hqN21n5xP-Y~9V`LvtZlr+Y z;q_n*P5~!kXke|83Qq2P3f5s%@Lxg!SdY`dY1%rl5vPMQr}lx3MmjjFZ~+x49W;7$ zfC`KO8W(Q>n@wKu0iY6Pf(y6*fh{JRq+h`nBMTTu7Jw>@1unU8z*d|ME_Z9eRwElU z%VvWbqaV2HT?4k6Y<0f`wxb--I`%5qVdQ|eu#I3R#szJiVz3M6g6oN0U^mJG9mpcE z$K(xHf3O$hgPY;KU?0i{w}RY29VP&`n@4~;TmbH{Zh`}t5Zq0u0|!msv%U=KQ4zS; zQ41POK0qBogHa4R12y0fCI(%^5O5fmfJff@O?4yzPt3XCC@uw0UdMoACc6_d!EsCm zo=rXqjvHm*x!*Hz5|x9O^zGn3Ob%XqxPVir0=(W=2TtP(@HY4YID;uc&#;%^EUE1HLHupb680FXbbE z5!Zr#w?E(#rUL_tFmM^wfo~)CfM(Pme4qUdG~@o@hpr4+p2*y-{c03Tmd0KEC4TK1z6Lerf5WS)T9e5BlbFTq6 z(O_u)Lk4bQ!EneZHMnicTRPtax3LgtnWX`Dj3Lk}aUQsfg+i+j*5IDWVFDc7N5kN- z8cXm13xmV0xu6pZhqn50pv$D4sl9$^G(h{k$G{`h03ARBc#KCt$A|sku`vQVImCgd zSOj!2j|5MRk2Jej{AuU1! zKH#GuU7imQ&H(jfTwCr$L`_G-Sb4@EMPTe(qDiS2PZCeM-PrEFN;_z5)Gs zJmf2!!2p^7`AsjtH!J}PIW+JcO@t!375HvUgktBl;3ql;N~&zZPkaoNj_3ow@Uc*K z)f@aWj)ijSbnpjDg37pH@E1>lYU*Mzh>nBm9R~2vq}H(s{4}nZ`iUhRhEIVp8VwwdPJyvQn&EIP z6~;~~hIVKw9EFgf9X=I~YQF*PO~$z;LI->rjQjKfI+{$7E{0CV=`bJxxxs-2%PP znQ*d?3VIo5!W1bF`d}GwO06^W!82g0l?^0dnQ$7?4oPSxOdDnoNq81aTc2*a)>$xJ zTLLNgESUbK22xFCh#o;2o((glQIL*h!z|B#kb%#Jv+_?tCOR8t`yYiYJO|Fc7Y*5H z4$P4ZgMRoNIOoxK=x3Y*=h}!N*W^62M#w|w!g;ROAs?R$=Ue(f0hSBrH#~(xJQwB% z?Svw19?b8#55@RAxX9NNO3*yG=t>Winq0zmfHHJGTpF+n%8c`2fyxUiumuqRA%qHi z0bEAB0aa)|EVNNWwJ{$S@sC0cx)2tv`UkbxLRjqd7V6MNaFr7a`kO4VD~A5Y#jvE( z7wYjPaJAoj7>F%_<-8~uh%bfZm2EJ{}4#uIya4)+A z#-pp?zA#%DkFSDt&Xq91SOWLo^oEIO2|OTbhGXy&SZ}=-jxm^Tix#z+p z<7#-Ql>*0^Jfa=}$Kz%2Xq+QV#>(Ka;ni>gRt}FBuYwbd{6X0yL61FQ1aJI1$UdKo<$G8P{{3nKU&@J$WeKeeFtb(^Bhv7V| z3f|Eu;5>XQyt5@A=9#?b+6Cuh)$qQAEgQcf!}cI#`J9f^UB7VIjT?z8ztND~!9~JGY6j2;B|eCC^*I@hMw^ujeT6{nJp(%pvumkX?c`96Q@|WZ-+<+Z~zmt042IE2a$L7l_Zq_t-5Ic>yeO(OeO?o&Tf(`f?#52nR9zxF` zUL-9%jGslkoA1EG#fnP%cz7D_+<26L@k_K;L*N{NpLUefA+dAg;S=L6WEAx|e2U*jMvw1;-RNy3&bE*1wY_3 z{0@@fguoZ*T_jO=2fi@gMaIM$;Y;H^WNc$0e1+aak{pi1*Z6&8-1pb;wedb;`lf>(GVC3vkm?*nWNqUf1=NjIivXSm&v(m1N?T z;BV|XGEbQb|6nhWylvCqAN&O}ADssWv6o1``ZEI1m&hWXB?7Ql$f9Li5ommcED_KU z1bvMxSw}@s>@`y0Q-YwzH%LKCIAV^zL6#X35Od>OWce5uWC;EiDRgr~Ebty=ML`N; ziS{5xNukJ4>>W~URf<@n?~oED6S2m6k&+D&$S{+u%`PA|=zFA$C_-$E?~!s+C^Fpm z0a>%b4Y9>OAZth4BX-zFWIdUJ*c(408*M!h2ec2_m@q>6e2aYer%TNk<`ZrB&3+S-7)8NVXc4 z14xZ}1>%E#LuxMNBRiCpKchav+7+Cmx?hnKImBk1R-XTbH|?Q{u!ZJEyq2_lFQ zdU4dcEb5|97ifpWXVZGer8CSMZ!mqRG*;B=4pvdElzqncw4aTR&C%3Ixf$l?c`4(c z6E+sL3Yv{qg+Cn<#mwxBL1Vkl1Q&<*g`7Rz9{Pci74Ey?g&_(sBbLnE9C@g#)Mq(8 z-}kt-jPPc0hd@y~Uq6limRwmdiqg7k9re%47CMI)CQn{EPf_+dUwLeXrRrsCp2n5l z$qiXqs>^$oN!Y74BX+IsBK1FgC8kPmO5)eO3@)^?ll_<6B!AnGqVz=4*oLGFehX`H z&cRm&+$WMFe59sF;Pp3HC>!UFMIXr$PqQLO3MOroR-Kp1PCDetJEmkPdQQw&A=YBG z*93}2d@NfV4WIIs#w7DL#nls98nwh9Uh~Ngv$s+LAJ|dnsB&p#r5jw&pZmr*+51HC zdSV&t(&5*t??aq8^a*|3#Ea{AMV@@Z>5QescUKmY%?UXa*^+qb)a!d`6{2nQt9ZEl zSLc1Dqj-iVXRTD7e7!+aAXulZDx~oWA0-l2@;JmZTUU^J2OOQeG;!jWQ!}MbpH|X& zfg|O~TlO$!Z0}|+e`{o&(Dksd@43i2Tjv7lf_2V@ z)k>Fz2U}bZ-umkH^jDk5aME5+{~)nf)^x7l>)b3Kw~g(-p(pOz&3_PMU-vWK;j#N; zCmY2RXI)~pOXj=_t~Hw~+-@Gr_kcHWmgY{JA>B`}uHKib>2UmPdhz(jE8Vw}&}g-v z_%SMlOxUnlwEl9kxWTqDsAc4=;1}DGkl$Zlg*k<;2!NbN@h0qRaLj$bwu*Ae`;j2z`8S1Ux`*lxV z=$$@)47d77obLMX!vbg+D-_i7M3ehD;gW|knx$`2qAGRcb*)v``G3B93OS?9Majp4#H+2pNG{A!Nk3iNBPY}P zbJlKCE7CpYyE$`9}S zGff*WJFT0wWj}w%iwOc3OTI94vQRYdY?!!);23yO{E7OexK9Q<(-;UfP(A_UE6S^$ zv6}jCtKLKgYTS2i)P|bP)y+?(^Yc#%h_fxS+N;I$qkr^IC$f_&NY0h+WYxz?aay>G zb9sF>&FjWtS+q}xeDRzVW@$^Ra`+G{wpJ%mXVuF&i=Ae1M+9bZpXOBX?w$!IJa^|3 zGb931?b@;Wx{U?cqmNUAY}DLfUCFnQ%$I4h6EIHxIt41-PKT<(To$Q5L_XK}?mnQ6 zvT4vQ$-T|%-{(La{!2oVjQAyr+?_#LWRXX$A5$*9+K?n0eud6p5}z{`sE05Q*7~t7 z_jR$Ks19)K%7k2pSIIogkVBZW{}yql*%Z>fNh#!C&8}1q>o9HPqDwOTF?J0`n+I)t&qJj13R)sq$; zS76b7L6n@_%ha?>t7&;wZS;LnOWitlk9Ggodf(&9(=Y5hXb@*e%)ZFF75k#Pe!Ta$ zneZ<_(>_$6p|QoP>#2b^?PH~I&O@2#afEylN3K|3>c_hDF+o+zexyFPT%_r{|0LRn z_rO1<)DW=bYoY#VOceIw;I1Git7vK9gi6`m(~+Tj9LI-srvEVvz49wU$=s?*Td^W? z^~Q_Z#=!#J=cvU3>+QFMsvk+B^w9(2s=A$$4&<`rvwfwEoZcZHd8t*g%$Kh`wrG~> z^@}YUSLJ{cSTt_{*}(QX>MMR(=YSw7nSP#~no>mv%fvHaUF0~;92gP!8aA@*Gd zL;aQHufs@;*t6l8Db`k7(KChySxsuSN?Z8#9#JPY=}o#PFhkkw?Y|3+#JEX1ZjG_}pD8 zHnf9gtyR$7i%v7b1|pgB4JTQ3HNV-9eqG_%#DC}Nj(z84IPNCY=IkflxV41zolmCF zOG(tkp7pdM{T%w~ZK;f2G>7FqaUVOfX`^2@*@sgye}G$Xc`vW>Up(Prc)j4welcms zI}Z6)42?2(*<|Y8C;MDFrDb$>WIkiu&Zo@MzjIiP2?gwrCm@IDSjHVO^Ck~(T}e1X zTSsI>4J9QUb8|@fZ@lBiyS0?&zlW(mg^?i^)8(PEQ~MI9DO|!Uj#?P5dG@PcEE^r= z+(XCZVWwTkSq32Z_ zs|VCOdzWbLV)2@12B@>B91{KTo{I3ryM`DOP$(?e^nhIc{Q+f#;UMMnq=z(On@Fm- zmr0-Ieo0eK zIg&hM&kgaGKaV7BiCxmyM<+5|kwx-SZ>6HFu!VL0ZVNlX)!#2`LIfwNYP;s`80~Xr9Ajwn2qu?xli3_gP~O?$?itto z(W|icg7+!Mi#|P~iFTd|b@qm(J4p*08XOOH*-@TYU#1NYDx&+ZyvxYysFnZu8l&VT z7qOEMcdE-#N6m$awc0OjZG3W|Mlkxw8{slyh^TI*pZL-1?qHjc?hxHko6rpJ{fexm zdCKkWUsShwf7F76NY3QlrBQ3mxw=bv-~9Vu$LOh}`b6<3Tt&b8^Cf->nbM?FcVx*< zFXg()N5eADB!<`eJu}?ccpwr5#ZjWPzr4r}6+fT8U9fSvOnCKAo#t~1Y?@mL>cW_o_ww$ht$YqRFSM2qxYP&!a zbpP~#H1e@p=Hz@+9+;(J#@-3IXQtlrkujd zxlgg%tRF`lJxM~`nzxp8v8h{B3;ALv-g#-u9n|<)u*^GJIWrqCd<#o%9}GRqE%C|>}u2z<04&WSRrxf{u9K1 z{~nNn^n(AWrIz?zGM~)EM~V}##Y>7g zH0fzvDSQ9KUg0gbQq+w75Z-Y@tp?6(HT=vZO32CXDD4 zm)DgB8O=+jU(?>msaL%fqo~uBg-hF2Cti$G_o#fe?wjZ74E;s?`EkL51Bd1cAKPY$ zZKscr=vs26S=7a}mj++C)eeI~14pnXCfTspoua5uI5u(K&Z^-JYkp5Kjn@#T1gJdGqYIJ{id>$=lJ-IKL3dmF(lI`f1;i{ zIM0*7-F=rhp{GZ8A{9NOA z#?6CM7Il?-zOI<}X-G4XFsYand%TZy`YxZ;{NNG!r@WcUTz8!o{V|f3kC5s0NjkS% z?Khauz%!La!V^D5qmL%WEm4!h+Rj~_ca}Hm_&!3$rw{zK{|br5X-7$yudWw;lP;#D z#Z9MHRd~`eZn33*ek^Bj((W*m4`#4dll<8i((C*_wc2vY0oA;bn||6Y|NDX%C%sDi zG~Pl)IJj9n(yAh8#?+b8t( zY1eWBbXK9l%o!!3ZI}Lvi*2_^PS5C;zQ0;7xA0LZWb>!8rawB!E|K!Q)N{3*i~|we z>cQ_{ClT-gKgwy=nnfpCNO^b_IFW(-1*UW`63%J^H5?btNZ9hcGbXTb$etq zhdt{Jcifc#pEJ*xzVFN$38t|y!Ct(Xw{=1(0Li4~8q~Dv{9cym8Q%?Q5 ztyHR%+*F z1t-|)t#)pD60hpk8$!Dii}-IOAoI3TC=(wBQp@d%U7B>^u3x4*Gbxq6tWm9tRfYdf z`<>Kga(d?9cdv%*hx&AFHDT3dhQ4uTdr8ucEC#aNpM0$R8k*x1y zyMhq&Q5kb=t_ruEr#?EZQS++lw$6zn=Lav?BbeLiE8Hhb6LnT?mRJw0mMX)Qvh=DU zZdH9!cQ)#xSZFU&9>m$~r}w6*uR?+5$JB$`W5=y{ZyaCqM~E&8maYsF9)0RaelB8& zn=+~;UvB-CZW?w?){>GW|9NFHbHP_PWrAO~L62Wl$6OoE!M!hWkEYI!e)XEq{}OOn zNZRH?=D!?AnJhUXS+IOSdhpE=S+jaJb5;!U^nl(b|$(;-+`wB?Dn2WYm4v z4tf& zA*j=7f{c^jg*8K?L^tEkP;TF>roQ*MBCQ%xN^d(VXS_jr6_+DDSy#&bv0DaYerDzb zjyTDi8+F(@>h;4`g1gcX5LVQnU(l0+)nTN-N864B4;!or(IrNQX8tD*tF?~~zmYXN z0=aTFQbb)4880PiSFAvFryl(0|5kEX?@`e$3jaeEFHDRL{JdS{*ZkpI+ZAsIhg>cVzw+!}g^?e8$?~ zNw`S1_US(PW&Z}nz}9#b{a>FtEv_Z~Dgo&nuJl5xzQ6{=$B7{d0lj zsb(16zNSSk`>kh2jW8;w?S7&v__0a7XH+2&eg5>ZVfX@2WI}C94*0>{B1?xfl6FQ>1kp zU8M^@$lxz9PZc=wo(Y2rzF>16ZW8a7yp_adL`n+}pOBqG8s$AnJ>i}w$Ew2Z?x^$A zN;C(ISE8Q!%<;FKr3eUUej=EB@2GG+Qy{vuQZD}13#9a*Y*}LM2KmZA62<8R7v;M% zWomDyWtzzJBihB+#_8%=A^h&b??Ss5J4Bd1NIZL6f@IgP!@+Y^e`R|&WXT`&S}UzX z$ST$Lo$8stR%)tZ_1f!uaNR%jh(M5RF7(_zQWRm~CC(q`E2%$W>VNrlnSL~GjQrZZ z+lp5|M<@rQBK?Nd4b`YWW7^D!x4fDi75tk6N+E~@B4J~p=-%%?5{u|asp62BJ`K&4 zSB_buXgwkKIB6B_`G(M{v03qeEBKhf4g0anH$yankTv1CAZl|3X*w-ev}M5}@wE>B zpg+vP5Wm&t^6_7^%-lGZ;%-h7tM9@i74ue$-xx-Xckx_;HhAX--ozoF?AByh3mnUK zkQATn$w@&(%Ic~Y&bxo_aOrgNa~sM&>oyRr@Ssl1S3WDd&uE*C^YDSUc}9%%!#bH-UbC zu$}QKxLDy3W6cUYRj$mwqGRu(B}W|1f5y4i@>9$F`hzEpHxQ<6k`XK3?jq5B5y$xW zXOxwjzKYjX2_%<>bV~cP%jC4j19IV;9>wGla^;5O9;$lBUtXuv-*6_Z5o*f^gLuXf z)`XQsZUN*gC8StaDS3EUEX8aWN&LX{cpWOfLswN0qQkKt#Lte4r4EkPGJV#5dCv8tie2n^O3}zn z)#M%f)f@iqioBGVsr`1kpHFw83le8_30JnA6`kh9i{Gulq+ZXhWRa?W^2M7@DH=ZB z^Qcr6uv_O{_xtp=kh6h0hRcc4@LWrm@_HX!B2?P#v~Qj1Mf!B{D}_u$D2v0=gK`&r zliFTdMrV+}F(PuOF|(U}S#zvNtO1G9&$cLm6YzF`J4TwQ%U)j2FX@~rDC7H+*5D_| z#`iT&UqUWZ`_~J<0`k@>XFt5dp2phaSGg$OuY1D*t=;WUI*h%YcQAS* z;Z*Gaar4V_q}@^J$$V%C5ad^1ID9 z~%knnn%fi$ckmbA0?FZr(N9?YBlL6UfRF)f=crLE`K)0?w?Gv3`; z#QebVX8SH^WXlSk`b~XI4WOg(S0vu5vu5bZ<3 zBEEIO52EJwG>3F2#Ic&7b-K<9r&{_+q{_Levb0+U`BvQ>MSK0p@NK`H47Xy9k;wk1 zQ4)*4(NiXR`fqA13}|*ZuKzJ{av$6k>j-M01wTrp&msmRdzWM`MgWl``)#X+M7q&kz{LMlBd3zN2v(0rCx1VNBix3 zl)=t(VUBx%C`)`ARE;xEt3S3zMiB*fqepD!^YOs|!I5!n;miM=$XPF!i?@YuaO#=d z?_#qlgSO@PDp{-RUfD;=NrlfQZ)MES_o}4{wuUQN)#{&Du4x&94bg--_xLe)wh3^$ zLU?rH8_}!B*%Bx97HRN?6xrP0t@IBb9`4?w_#V+|WcG-8bJR=QhiHzd4cg~*hxyJf z1A?G=V}!Z)qeQ!vsp1El#!D^xKgv`=LGl^frYWk>dCImak5z*gxf&kPS37YIO^f66 zbXy<)AhfAJ6JM`RA-g?0C*pp}r%W7ugu3Q%G0pM*Kf0c0$;er@m8otz$4dXROI4$6 zQ+ME}wD7L2jxV6`C#|Cj9NISvG4?dkoW)+^T`dcO?)j9249R{FDsKr7o9ll#b`s}__LQmFI##b;^F zT}AZo!cr!4gBvTcpT#a7ZSQybauVl*#F^*4cNrmyOd&4Xm`6JFV;}jM|6;1+l0Q=H zV!SNJ)4dz6?!^7Z%MK5_KRMa-**I(d zGF&pO4YXhOf81E)x9&;OaULZh>pdG2JG?$-4)q}{-QpXw=8s*$_Nn$qj=Xnxc|qpn z)QVAqKg^WoI;&;-7!C4H^$MkRjH^mD*;zevZnp!4zB zE5-nJF(ZQjnC8xvQQ$7)o(R-(3MRwBARs6z?E(w|10(=4RFFZmIWems4@nplP7H#K zq78;v#Dy3{Cjf;p%n@P~osgQBjw#M0I-x2fA5)wehd2v%aiEhDfWBcA5M*Fs;9=ke z^7(*R1{jaGfiw#PqZ2T0cNj7-HQi-k)DD-jU|{iH6ur`yso2dgsmt8|&_Y8;r5%P& jP3L`_A3bw$b^2@Nwpb*|gIPP=Gug?@>+q6)Kyw%XX0t}~ literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc27/CLIPINF/00009.clpi b/tests/fixtures/disc27/CLIPINF/00009.clpi new file mode 100644 index 0000000000000000000000000000000000000000..0fc2e8f388dce06d2cbc492c1b5a29a8eea07af9 GIT binary patch literal 292 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 literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc27/CLIPINF/00012.clpi b/tests/fixtures/disc27/CLIPINF/00012.clpi new file mode 100644 index 0000000000000000000000000000000000000000..7c4fcdad1bdbf0170611149d37e38a440e58db5a GIT binary patch literal 3020 zcmchZX;72r7ROKIg$imU5D2mc0!c^$$(wx-kQYMO!lLXTD2sw%Fo?88r4V;TD;32J z>V_g}t5RxF@M1u$YZVtP2#U*9TNes0SfpuZ?o6k1=YG6r=9%Al&iSA7oH?JKP%JW@ z!{u-QpwE2X0N^43rgWSAf7&f0wg9~Qf0OxP^XHx<=l%sk2!oP+8+!GLR|2+<1Q)=#tvn2q6 zJB@2KOYr~}WdMl8>?44~q<}Nn0L~8n*za>-w4yO zAh3Pk4z_06CEo@Dq6YhU%Ya~11ChQT?2H&Vtf7KEf`Ox~28dWNI9dG!jz|d1IM)b{ z#t?8;b%PV40hibV;AGT*t6MJ2FouHLmIQD{Lcv{E3NDxy$V45unzZ1>Yz8+Z47^q* zfIAij-WoNy8^gi7ZU{U~;XqC41~L`_G<*hlA`w6*egrQh5_}E!!OIv444NxYOi{pm z-2mQ56tJ`i_+UElw|E9rlMXme{Xj#afm2ihbSxUUj8UMQVu0K42)<_Wv3_7+vA}dv zK9T@Rbw3EO1PHKi0f8wI0xlRpXl9VO2SivB1PynC7)b(b@@0@9$q>AFJ4lSl5W?Ys z)RY362`0#p6bMb41#&DE!bm-!Fr`9-`fE@kX%Mj^8&qaSS#JWBDIIhaF$5UXAzC~M z0*$jFrrrQS$ZUv>J_c$m1L9hCg4&n?GpAQWFqR4NtZ@i2WkRC-AZU;|khm=aLd{H` zHVZ;cb0Nib47A3%kjgVb7?uTT%cxfNz2^C9O@49qg+L2m94#2fQq9(5fgnDSwM{wO43`H+Xt zg(Tww$S3ZG6r=$1+dqL6tN<3^iy_ri2n9C}LmE;Dg|2K!H!XyP4HTGdrk==!45J?O z=N(`URs@Tp++eP$2#V1MkcBOR;ua=k8y7(dn+Q3G0ZQ5@L9WpNr5TT49#RaYEkDD2 z(_;9HGYRZ)V=f-)g_X;;rY@l!EtifX`w*vFDU2cTvAn^ea-H@u@SWq@8f!H z+{~MK_c?zBvrf=b86v5m zjG$%Ked=#Ke6T^jU5K6bvL-0wa%gemeeJ&X_^?|&S0b#QvLdZcSP^CO;^h6Zkq7^V0D(tOm`Qhoob}7C+d9L3QHL;emunTBwtj- zlqLID-fUwZXEu``u1xSE4kYk2!pGiAzPjym=+{faI~q0Jrf$er`gW925V?%GYu^#p z)sGJqA5*&7oD=%yBGa)4zA8qizi#jf&>|Fl{iyez_f|ePVunPPhpg#*i)WIYv~Q&~-&Zp) z;44_~vz92C?I+pEPW|NdMJ4Fz^GCg2dXV@YpVNI}u75%;XN=O0SBS(9`W+b#f(~Zz zhF9_>|3>`|VEz7gw&al~KTbkrvIejGy=?Bcr>0QatYrLGVR<3seJL6ZE>=@Z=7`U1 zdg1%BFI?u1E@ocIo1p+xrII%7L)68<2f7bw^gzGLuAty9XLSkIPu#RG!r|;UG{@l| z7Sg@C2I#R@F-gV!FQg~m5yKzZ=0%cx9iucM_U!3twPaPZ9!<&jAailxoj%A@uzs(S_FsO<#xzB>AC1O+34ZL3UBL8%J}>N)yhuboT7-)r^|uoa<70N zCY~fHt1cHdy{3u=BH5DZ^#*C++Y*^R`j~vr{*{XBV`ECxX+ot+YvW|M>bw37>Own_#Z!h_JfambUyJiC)7RmvpaOCw0bvs}-C1!rotf=A(Jk+Da|$;%z_r7-K7gwOlMq zyE`Kv^zbBnVH(B%#VE-&lletSBR(oJ3GJvQezA>&wuu>R@_ z+E27g^ym4bQn$9HvIu;xd|6$m;^^He%I;^^RPQE&Q6_OWH^twbw?X?ob|$+&_+{nS zBI`X{#gg_8Mc}{I% za;d*ZQGAtJZ_x%fpOhN|)N(eFR8`aI)Yd-9x8v!U^A_22=5p;MR&DEQza78l`(Mg< z#MajyB(qw6_Dt>F>{a!KU901o7$uLeT2Z?24-r?Dy4l5pUH6Ia)QG QaO`M$P8w;R|L4E-4`C4Uh5!Hn literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc27/CLIPINF/00013.clpi b/tests/fixtures/disc27/CLIPINF/00013.clpi new file mode 100644 index 0000000000000000000000000000000000000000..6b624a831fbefe6b872a8161b8542439cc35ab47 GIT binary patch literal 1200 zcmcgreN5DK82=pnc#*gJ-TV9d`yFtH9LJps1m5wY95`8sl4;o>SOm*uT;f8!+-b^y z0Pp;El zY*}fs0GOeC0ifjr#K%uTx$LQ`j(63jcFj4k*sK~ zB?sPar&>1tlL-aM;E0@*0+vT?X($7nea}?Zy!Z&cq!So4PJPn9@IdHO)KnVD0D&eP zq)Ou`&D4~hLMkRebBaLI1rb7s5R&CWC?Q5@wFjYIF$h&Hh=2s)5l0d3lpr#v8R1?j zB9HkH5s)Iv?nk6khG^D#te`N)-H9kdj@Ydvq5^Wn*-8*YC_r+W5$jceDb7P|KnbR& z0(3$NwsHh?uL|si0gz4=xPl8{IMv{_dBF&%!QapW7NLPqT?DpM1F>Ql?0^>Hz6o#% zEu_{Qa05EX9B06zP#*FCe6Jpgq*(|EJ(ToW2nhpJ4OI|&4N%j45Cx3TMz=uXG(s<@ zLE<$*zwbU|&UhG-T~H7SFzn4>89}hOgbk&viaC{CS;kE5m{i)QbwS6&`mojJt5Nye zvs~_`6BFs<%<4i;!a0kp+LQUpSa;Tks@k1~ax z=KQ{N|WXiJw19PEP;Mx})*Al-3{HYyrDJb)n^XhmLjL zxVf=Ubl?_DL-%gS&$~Mlh25liJ;vmFwvvhyBP$d)z74AQwi5NaR+r}0#n-eSmGX60 zzeqR4aGDL3mO*1j`xeo;yLaOs7E2S&L+_Zki}U17o(jd-wL{E1PpH_M*WXj$`y^MZ zSB~gP+DLub!hqq()3=OgM+K(Kf(r?edu9^t*LKNrY#O}Y~~i!$+P<=7#?1mvUg_{D>$`7 zH9I|};aYRF*+)#g+S@Ltsg8e%D*`smoCce%5a~|x70 literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc27/CLIPINF/00014.clpi b/tests/fixtures/disc27/CLIPINF/00014.clpi new file mode 100644 index 0000000000000000000000000000000000000000..87ab0222a25928d1f1dc825a37cbe42f52fe60d0 GIT binary patch literal 1260 zcmcgrdrVt(6h5W5qjU(pl+sfAxTU4Gw9v=x6H4E_%ZN{)03Qh=l7lSJLlv} zPJyeWLZwlu0N^I!zXOom0LX7d{IK;9InsTy@@NCd+ovBc_}}0Bh5};!{~DVF_cta1 z{XWva=z1KDm!uG1%KpiafsQg$T!aFu2W-133e3j6FTCt|fZo;#P!h92{VzNKIY4wJ z(NRF49o{2K;|R^ngr1p1i~zWl0F-`+LR1h{J_uxDDnju9Ij9C?q7D!OcUW0K@oFHt zashTA8lZ~&5beSt=E^8UdvTztm_QBU5KHQX7(@%P)vG{rX(3Lx0<@qG;%3KSr&kAb zstsaYdO)SM@Cc%Zgc1S7AqHSHJ0Q+$fJ7$=;)6y=N>c#pH3A#w0~#~|yIu$k!~`6H z4;bDo;Dm*cNFbLQ2Bs?;xQA)LLd?J?R{%Sh1DL%BI9>|~m)d|6v_PuP4P3+mV%c%v zx~w2R-3mMcC4yVPM{MvYYZmxH8%RYhfFX8}b^8Ew*&&_02|}*}(jx;Payda>9%1DH z!ahLhPd>p?7Jc@vUp}`k%}CC(Sqjg{tOwUGVjq_e+FMTk>=>Aib}nXbPoQ_a&;W;<< zv!h;PyiH4_ezVSr8&@}qp$)Z(-%PsPaDy|JxWc(rUDWz|r*b`wP`lNU~wXrrz zbbh!=JW35Smva+XsZUF#Wrt}pZ+A`lrElJr&uzA3uu21&{?ioQO|C#|B=ee6 z)e<~3R;>L~_PJi}wHYesa*cj_k7+RQYr5sjR=MY|Yl==&ZN|5+>{F6I>A~=&HsP~6 zx2Cmu62H6>(5{z<^s>H2!yegjW6SAQ)4;|DS&LPB&Ag%8IlBb6EQj8>tK2_w1Ut)` z6@K-qDs}5>pI9MkNz3$H%nkV8*H478{EfoW!i;WTRuy@(_}D&;Vz{@Mw>-Zpz}C9y zWsw22F=jmB0^@bY4+05ur`(d1ZKz_sl-thkD32t6UE}0L4#acSN51DS`b~V^sTa5J F_HPYpQTqS@ literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc27/CLIPINF/00015.clpi b/tests/fixtures/disc27/CLIPINF/00015.clpi new file mode 100644 index 0000000000000000000000000000000000000000..f440a70b07d476f20eaa240bf19d5bf394ca69fb GIT binary patch literal 1216 zcmchWYfM{Z7{~vmhXNh2(?Uz3m(wehmez9Z4az8og06rp0bK|m22_L*0T)6tU0|cQ ztq#{Y!GUx*z$`?Vj49DM$i!xWh2R9-2*Ig|Gto>&wq-FU7!M>S%VPZKlf3yo?{j;f z{FAqcF0L@8nM?rInezl-xdGxD<3DQ?Opdh^tnBW9zTm@W3;y@JtfPoo|G%CUVrOF( z$Q_dPIq#8E{u!oa-#-~PNS;7UGYXiVvhATf2s#fmG{5##cv~m%Sb~n!e~AO^MrJCD zjAq%4o(YUkfJKYJGAa;4h!IjT0yZH5dp!U)Edk-E0^yZ_W4M7(LJH0~ zHaHB!^Y?-ilp%tOK^Q}>ViMtA3cFGl5kXUkv^c<}<%k-yg6owdI;<9vv;yS*SwsaD z;JcVD2qpNVPV8nFThoQzK@|k$r$N#x2)Pm9dDV#9Tn8_xhN%1)Vh9ZqYyrg58c0Gt zhz%w}GQS1^Ls^LnLT?hNmXnAhk{~yEAfmNU44s9@tA#Rr8Sz0a)ae!^5Xn&ceGoHD zr1%hfbx3^J1PMc}hlZ5aBe~xRX;2ScAq9#^fiB>KJZONPtmYpE5i=J0h1wStm3i&J zO4j}PcP*4rVJ-E4ZEJsAZ=a|b$^P;B2aXu&Vs3utvZ-}FkUHY1O1s_X&IrTHnbw*| zS@jD8=6=Hs^Nb_XvT=@WlW+Ce%W4<056-R_`t$c17ltoB=bpPNZ>M4upR^P!+a`>v z(R-!pRmEf$xA~~qwop}cFm=%y7%0#cuj%b?S{&|6J#Q7?{q<%k&po;)Z_JwadRVP< zXx}^OqUMVkFMKD>e8cih*0{gk{QZ+EYxMqEo8!}$>@87C_Cfh@_P5?a2kV#I+%y;V zRF69IdW40_@gt<_hs`UR=$fv?jL*&_Rffp4ZXuBOV`)!m8Yz>W5B11y zHR$D-U*n}~zf{)vE~|Qe?^Op&T$a3C(lq7R#T0pG~)M%3f9GcXxjtpEE=8 z9UI+jll);*YFXhOXXjvV{*}M#=$}2bD|UX#T&UMr+WMWzqmP$#tA&(=+X$)cuu|4| z!cPtKj*}SyAMcg%e17lr`!RD1ld*rSZwYk|ZpT$ZFX|?%|#a+0Wi(~_RkFgmesjHEkQ6DW(EO4QE3-o2pAv%kfDMMqRoj}1$juqpm1Uk zWE5>M#3Bw19}A$Vi~@oTEDRi*=`Mf$%lGx|AL9J=;P8_FQ@! z`0m|5BVUI9#U#8j&9A-8~ z*|j#yX8yFj@o$FS=U7$+<+CddJ@gut_{s{E9qv9iDRih;RqVQ|7W^<;-9YD}MpEx` z$;k{IQb!edwC{UQ(fQsNZ72A|*x$)f+9B=KPRE(LwMHjvYMg(cEOOP7+UpjR^-*kE WgRA(7t_$MddIBZYrbPq8hXDZF2#2Hq literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc27/CLIPINF/00017.clpi b/tests/fixtures/disc27/CLIPINF/00017.clpi new file mode 100644 index 0000000000000000000000000000000000000000..d5fc08282db7e796c222c07e7b4997431d419da5 GIT binary patch literal 636 zcmeZp@eMODGB99ZV7LRs-xwGeeHa*+Du8TsumLE?2o{X)ZD8Qhe1NWi?tHlh51{k$ zSu4f>b}=J^0GJkVNSYxKE~pFC5(JZBW)Kh*m39G!fB_N!87jyi+MJkGkcT7;3MU3Z zM$raCEaJfM(EystC?Lqd!l1*T4^+wr#4!vEECN89g@K7hkbyDx2?JA$AOn+gA_EJH z5Cco_Y6jL8AqF5n$ z_l<$;h$sUOuZO@91{T3@tUHZV*zOwJ1#uy1rf@5GwW3R%k5b9K55~(~zp0#F)2=FeSX9kS z?!DTMpdR%XTc&DCD<9SJ?(EmDeebWmishrut+Z=;JeM}f1-)t1Z#DR1uyu~F;W>^T zqkkoqCMwqpRE>2cP4_3Bbo;pTpNHbPZ=S(Ve|R|#a+0Wi(~_RkFgmesjHEkQ6DW(EO4QE3-o2pAv%kfDMMqRoj}1$juqpm1Uk zWE5>M#3Bw1A042ni~@oTEDQz=dO)RoK%BzB!2BCXvoJ6+|6yR*?8m_5{D*-_E0uwn z`7Z;rpELvW;lB(l8Wjwz%>Nize_mx^b^gb|W>C+-4&-wri!-o0|7YMhJAr`%NOM`d zW#D9CVBnU~WZ-sTWZ-@xD*c0jMOKS-r|u^cc7LVWiVh*0{S3p--Z5%7H&EU=Usgr* zOs1-vR;roDgn0F&cd8oge$pOKGkh)Y9y?;qqfudF*MD5+(a~>q!fNmJUHdc)N`GEe zWH6{VGMX%`)Uw4!dAqc?%JZsVGs!1fZu)OtsV5|hOXQuMpgEaI-s))57weao18kWr z-ulVRV3BwFGe@9UMpJRA?RlrG@s=U%^~XZZ=ktYS?&lYqe)hlk$s1kb-*0hCsy`70 Hh6w`zk-d4h literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc27/CLIPINF/00019.clpi b/tests/fixtures/disc27/CLIPINF/00019.clpi new file mode 100644 index 0000000000000000000000000000000000000000..421bdc799bbd1ebc437a1b1f015edf2da003405a GIT binary patch literal 1068 zcmeZp@eMODGB99ZV7LRs-xwGeeHa*6G=OY$umLE?2o{X)ZD3Hmj4n@qzFdO`(E0f6 z6=MLqn2|vMObdwX?+^%=-U-wa1e0NA5D*lVb^(Tf0TKWiD##$(oS0RRha?ONCk8=A z(FQ{-;tUK-H-M%x3J5Z=Ff=d}0+sRs!;A$Oo~%GNkZxgPV30LuU~*w+VB%6_U~XY& zU{Q==U}524VELuNz;c9xflV%if%OO{1N%-z1~wK>1`eUK4D2pk44k{<8Q5F67`RkA z7&uwD7%)r&c&A_L1k%8NVhk@_36axmVJ zM3_NAXf=Z*iwJ|lu0{r_Bccq7wS01M3@q{!Sa%8>kTo~_6tdE&XzoeprLuoiuBL2P zWACt6H$OH{BZEuPaz;|A)v1eR*6)2D+A40-unSO((QoPwGT8J>!|-XGsj=w(c_w;t zA*Km6VP+FVr_Y-8JX(Kq~_zFmRVMfD6mmSZE*E;ow+^&e7hP2?XFb{6?~c|ypW$=}p3rH-#XC;fBROquJ4^5i(rl!MYe020y!h5!Hn literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc27/CLIPINF/00020.clpi b/tests/fixtures/disc27/CLIPINF/00020.clpi new file mode 100644 index 0000000000000000000000000000000000000000..0d364e90a6d8725f0fb44669cffc884cb36b4f61 GIT binary patch literal 1084 zcmeZp@eMODGB99ZV7LRs-xwGeeHa*6EP!luumLE?2o{X)ZD3GBmmUDVT!RPD`S>gr zV*tCDkwE}V3uI2M5Lnq*3DgnBqRt@CUCAH;q!lFQGe{iKU{FZ? z!XR}-lR?pejX|bGi$U?l1z{})7Lh2{J)%9b+-7@1YR&ED&a=pu*{iuQ>9^L!wniQ1 zBd2tYIArWn5_s&VoU1d~?b%}ZcGGlY8QBvme(f%%bzk+&Hin-wf4JkS#V_#^E3J}O z)-e}teR{omZTGML*~~a3dd-z8`7CU%a$1IK z7kK42BzSk;++wrHxY%}2%X7PHS1s+|tJ)ZHRumd3pL%O-BR1b8BxSA1gt9-X^R}s} zotNLM!Pt9M)9|l|R#L8~_N1Geb*7r~$R1C%)!RGsi~Spp-wJ1<-4s78xoND-++q@3 z*RR_8)LdYn%-^kSQ=VAop3u-~GYrsO&^lf3!lPpf%x(gTnv4D^`3Nsp zDv&Q$UXZ4&{Gz;0RpPvn=~cGfYCrR;)o-p}rSbgVN6mFM^Q?|dS*LBYpVuawy+cW>g_D7U?HU8S3l{_Dn#&CAEnEy- zV(AQ=EL;pc`aTStF5C<}jS&o7E!+%zB3~G|U3eJywmf9u0n!5L<_x?nybOXxYZ!Qs z@G=Nlm^1LR@G*#p>M{tl@G*!baWM!S;b#!rHiGV;Sh}swoc0#aZy&M z&KOv~clWVX+@N9?Abmr>sr8V-rq7!UpN8!;7TvCDq9@vEnoullHsSns_rsoI9-r3= zda1Bovkpm0(rMfOTX#F>C%u=!+6IzqE*sj3r5lBn6&e>@sxax+IOn>wmeFkQHFfiA z`aTvP8Y8T@E+ts2D!s9>Ei?2DKjCRtAo9h&E7`&RNa-PkOIsc)G0SBsn|A+IN&WUn zby~W)+Of;a)XNoQG*%X^(Y$%!tLDcOoYqPf<~j`BXLZ%CMB9ZMi`jRs3scx3s;l^_ zxK>%}s+WqR=~mUkX*bOl|8!K}mBgiSW!oezc9BMH^Qwh1uGfF*#_>k$wS-0KZ<*(* zptX0Q!l8FJ6^}Z+Qu?~sMn(Exx~fkopPSqSC-XqDxf+>SoR+hXPS#w0=A70w2{j## zy#2ad2l?!*wRYO)PAV{%`*DfkIj<#7|Car5G2}~fO)NNzWryi#0%NeQW7qg zrMjm?9+J)w8ED*lvYAec^Xe?%2<0GCtW17U& f&FYdz&s>%I{_w4g`a3q6>tCYeIRC8$re6jC!X5!T literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc27/META/DL/bdmt_eng.xml b/tests/fixtures/disc27/META/DL/bdmt_eng.xml new file mode 100644 index 0000000..07cbebd --- /dev/null +++ b/tests/fixtures/disc27/META/DL/bdmt_eng.xml @@ -0,0 +1,6 @@ + + + +TEST DISC 27 + + diff --git a/tests/fixtures/disc27/MovieObject.bdmv b/tests/fixtures/disc27/MovieObject.bdmv new file mode 100644 index 0000000000000000000000000000000000000000..b285a3721a03b25c3c7a8248fa38128a474e737b GIT binary patch literal 3494 zcmeHJ+fLg+5S`sP0g{FUP%lsr7m3G~sQiG%lU1oI{eyf*pIpAgpW+YWHgk5IjLDi5 zq?LHUNXzlb?09zO?Ck#fef4wpV>Y9;&-gD)cIQO<*EuzZ27fj9(BPvbp4=LIXYjqj4@)eF==2}{O=X-D9Ts^H z1P|^c{1)Qlcjo#f(Rq<0ZIaX8b>JQIF2Z}}eT&aY^2z+D2CKdB?oUmwU zs>fgvIe_H+Nu0hTPTvuyuj6t0Iv%I5<8k`u<6NV&m337_-y(W~mUW+5JsnFr*63+l zY|cs<32T0(oeXN ziL)a59?{3HR3xI06XDnBVUnCXm4l4kLpJF(A#zYswObW*0oxm^I7?Nzv!n4{Nf<_55Lk!V|hS-#o5%(gFRb$ zDp3{B!%O|*UYa0Yob3tx;=Y`~FYew6{Nf&;z%S0#1b)$v6ZoBqX06{j?|0qfqS@v* F;77lDD$D=? literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc27/PLAYLIST/00000.mpls b/tests/fixtures/disc27/PLAYLIST/00000.mpls new file mode 100644 index 0000000000000000000000000000000000000000..4c9199e0ce500abcd743f4250543468009032dbd GIT binary patch literal 11768 zcmeI2y-ve06oroi9=f2mVuO*fmE4Y12L?teA%#~!AcmHisgDq5pd-(~*o8OYF_6M> zlZYRQh55Tu5?}k;lARo%d*i#fI4{#QB}p@B{O;#pa-bm1Ut@i0i?y%ui*Iw+Zj)uQ zm|m7v!sEv_yv;^#`;v_mis=50^g@5ol;Y8u3%$^)itEYk-O_q%+v&r$XRO?8`(f8! zT`jM(UbN#?_cyDo@BPyEf9SS8+*QPfJl^*iL}tJ{;42b1==L7=B6d?44Nk_Zz_Y_Q z#k(fLAx0z0Bt9TMh{Van$^5euI4HpZH~7v&Xz58wm%;J-MKPL%VUgN}0scG_iNOGT5x{8T)7eI^)@G&p~rP%-ecYvu_1!OP*aex6382K871Ot_DJ6l$8 z`!qbZ*^i`BkAZ;^q#Fu283hC(Ojc3GGH2^Wg2Owqy!UG0CVCriW5)9;U zhbt@aUq3AfQUC|@fC`ydLHfaflTiRF&noQ#6yaoqDQ9g?%qqwO@}X*38w|mGA*fE) z2|zATy%0=(LTX+*h|dI3z&fESBOk7fT(Dvg5yrp3GGH2^Wg2Owqy!UG0CVCHKS5)9;U zhbt=xNPF>s6u`keph6~AkbW@WWE2pDuvn#CfDBGXD3^h?IWems56FkAWo3odFdcN6V$v3RT=ppJ~JAh1%(e(Edmx`od_}y2vitAIv5#bKz=a+ z`-OpliGgwUp973@nC5~NgNQH&HlQl7FaQ4si-LGpb9@jyUbiF;1dmVGARWQu7m!?! L;0Z{(=s|b@@yIb} literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc27/PLAYLIST/00004.mpls b/tests/fixtures/disc27/PLAYLIST/00004.mpls new file mode 100644 index 0000000000000000000000000000000000000000..bd609b0188873ad6e6b5d36e7e14162269688d9e GIT binary patch literal 586 zcmeYb@Ci0BGB99ZV6b9fVEh22aRELCMxYc6BfkTXY5-!!O+bPPD0;vE2+VzrLV|%D z?r>!V{!8AOKsf}M2UN|(3epb-oQwj35EiSn3y{Id2<0-cHYa8kV7?GU zIRoniAQz}!2qr%vH7^~+XM&nHp(-OE#Ain1v!L*Sszty8tP?@zL405V^FgkR0(Tkr zM2HS3IoN%`z@Wka@-riY3@A2Czi5r^QY{@c2%dq9i}@G&p~rC3<)9e`8=5HlmE;4clDS!h%ph70Fey|WHqktepj#b(P$lzpzav4|~46_RIfP9c$Kmg@4F))Zg z_!EKBAeIUPGmvCtkOA6lU^}z>=P=C$D+UpAAVCJOtN#B7ivoFq3p?~7 FJOB#^9g6?} literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc27/PLAYLIST/00006.mpls b/tests/fixtures/disc27/PLAYLIST/00006.mpls new file mode 100644 index 0000000000000000000000000000000000000000..8f907da15f1485f22f5d5935dfeaa0edcd397116 GIT binary patch literal 256 zcmeYb@Ci0BGB99ZV6Xz>dq9i}@G&p~rC3<)9e`8=5Hldq9i}@G&p~rC3<)9e`8=5HlRct>zONC6!90TnWV^@D{t83hC(a;(xWKn5oxl*_={V3<{q2jqk70s<(XiGe`` z!k-9~2C-Ban1LiCgACAa152>o3=BXkX8$?BIEQI2STTr@0|_#KUG@JzSQN+;yq&lU G!UF(+IU$+= literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc27/PLAYLIST/00008.mpls b/tests/fixtures/disc27/PLAYLIST/00008.mpls new file mode 100644 index 0000000000000000000000000000000000000000..ef207ddb3023ae1d7ad9a12487b43821b7116c25 GIT binary patch literal 256 zcmeYb@Ci0BGB99ZV6Xz>dq9i}@G&p~rC1p49e`8=5Hldq9i}@G&p~rC1p49e`8=5Hl| z7(^iai9jxhrNY1rBpDfGfOZ>Lg6(Et09rBo&jH3cOmo4CL4+JgkOAzf|Np_FAYNFa H1%w9x&q^Hb literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc27/PLAYLIST/00010.mpls b/tests/fixtures/disc27/PLAYLIST/00010.mpls new file mode 100644 index 0000000000000000000000000000000000000000..029fcc5875076fafedd63a10b9aed19c9d979c67 GIT binary patch literal 256 zcmeYb@Ci0BGB99ZV6Xz>dq9i}@G&p~rC1p49e`8=5Hl<{9 literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc27/PLAYLIST/00011.mpls b/tests/fixtures/disc27/PLAYLIST/00011.mpls new file mode 100644 index 0000000000000000000000000000000000000000..0a7f5f5f273447b0b22ae1c5801eba77cad24371 GIT binary patch literal 256 zcmeYb@Ci0BGB99ZV6Xz>dq9i}@G&p~rC1p49e`8=5Hldq9i}@G&p~rC1p49e`8=5Hlrt%>^q45pp0w2C%FC{|AeLcq=Zp GKzIPM%pZIJ literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc27/PLAYLIST/00013.mpls b/tests/fixtures/disc27/PLAYLIST/00013.mpls new file mode 100644 index 0000000000000000000000000000000000000000..0673eda5e90716b09b765ccc58dc58f7f7e643fa GIT binary patch literal 256 zcmeYb@Ci0BGB99ZV6Xz>dq9i}@G&p~rC1p49e`8=5Hldq9i}@G&p~rC1p49e`8=5Hldq9i}@G&p~rC1p49e`8=5Hldq9i}@G&p~rC1p49e`8=5HlX zy?P6sA+X5bZY5uF`NEid+2!+N@+FtgjmZ~XJ{XfPxV%3mpLcn0Og`uG?wEYway>)s zf8XVCOx|;O7?XEhjxl-1<8}c&s`$j}IN-V7*9@?w&{am)S>$QQ_1A|y_qE%U z&Q<A9>p>r)17qgyHE+E+@qPu39 zc`m0?)(TW&4tBR_9U$K#Is`>TqN6=DK|y3JWbs#8M14!`K9MjW60?79WMN@Jhbpw_ z{el+K)#p5sus|dRXmMnrVDQd#g{9JcGW^5*prk4io$~4Gr9v;DM~mKi_^0_yzh_!x zulfOfTJ&R#=0BfdriFP`!s|<5%JWtDcj;;l>JpatSj$Ah3USx)bMcRcpJ-@jq2)z&4R^nn*Z9xJS3{#UrbK_vpB8;OF=5 zQAxS|@H_g_p-&NKiG&>@;T%ysvLwArjB1bS7#WGWcmF;{C5`vP-|0)2K6UUmBC%OM zz|Xf6#UoqyLwZ!lXse3dzM|F&t$)lCc zc~r`9KR!Wk`c{S)aDl$OlSp_MQ9QB&eTzM+V{}s9m6B(S{y=YXAwP%*>C3x`golWe zRb%dYBe%#`^4<)2e~Mgns;&`+AywR}?Le?zTm4dUT^_Q;zOhz#1Dy=UQi%aaE&U z!$l(D{Y1hCh%%j6&S5TEQ(~)q)LYUVK1j5!Yr`%|6?I|ZLqw}GA2FY`ZdzAUXZtYG zY8@{sYUIL4h*o7GVj*k&#-=b$Vh}Po9vRa*QB>5Jg^v^Mg_a|hv({ragJ}-?1kq}pEGp{l!Y7GV zWhG)IYyIBFIE`|9M5}eGsAxP8K1H-DtC2&25+?r5raMh|pC($Z?V_R%FFZ=LDn|m2 zm{!=e(NN>zV??WUG~j5y*3ia5jf9^eTCHON$2kAmFsE^mkV2!?X7PFe2c;oyuu?Qy z5)&4?&V}Nw;M`_BH$`r|+sLaKs^Zk(6>1YpC66xOROMFkj?3#_p?h^*ZvC;+@44JM zQ_a~f-^kbR>yL4*%YBn>EkN?(k1>f~U%nM?KF{;o&k|kh36(#QJw%(wX>2L^v|c3n zv|c3nv|c26J|-E@;(2w?e6Xnprvpysyo)w@YWmdCX4IL0Gt{!Zq$X3r_L5bW0A~Zv zN=y4kO^(86iS}AM0Xx*PJ>w2CCdPPs;QSQD8_A;VVRKF({j0wtzp=qdxuW za_+lA-K#{x6GZT>`9M$OyDfBXhd11!hp!R|Un3H}P816pqkR*M?j^VA^4Y#YBwQmB zo+OHe4cntJ>{@(^9?jFQ0iGffzDXo}izpU370PIFJKk`MxtU(sPzv9XbuYQafGu#A zS2ieOK6salf22oC^lJg%CKA3wBz%`BUgZIIA>?*;JO0Hj7H4{8O&^QF`WC&)77OfK zv%JcK*HZ8X)j39wa)WvrPt%|85eeTX%9^XZ0+#ucGjVs+iLT@NSgNlCZ!_G*tHlV< z5N$!M^2LB%i<=7d58(#UYK=yd_=*oEYxn`tYUMVPsb4LGkV2!?KFO%1uxQmz1Rd>l zb4$qt;4OtY!k0c(%QkF`GFu@`fXU6F~1* z;UdM_r2@|p2|pwfendo{os~Y(%P!N2lR@w0@SMJ*b-<5_gr5)zKP77Gl8D*biGlb2 zE$w6-@iQXfc_QKGL|+yrh*Yuqvb{15gBRl6ejQJg=+*oot@=v8x&2plB>twi7?5$GfWXNkZ?B5;)m^b&!aL|~8z+$91JiNI4LFiHeo F@&n}*2&n)7 literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc28/CLIPINF/00000.clpi b/tests/fixtures/disc28/CLIPINF/00000.clpi new file mode 100644 index 0000000000000000000000000000000000000000..d3508d60399e1ffe9b0d47e3710a4018ad206154 GIT binary patch literal 292 zcmeZp@eMODGB99ZV7LRs-xwGeWq?=#$VLYnfa0uR!RX!w1_llVbOm(h%QbiaosZ92 pF$PAEG$Vrmgr5E90OK4M5ulI~Ooov`gh6y-RzV(v0TMtq6aZGh53&FN literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc28/CLIPINF/00001.clpi b/tests/fixtures/disc28/CLIPINF/00001.clpi new file mode 100644 index 0000000000000000000000000000000000000000..f2000df78ae573778b20ed0ccd219fb795b0224e GIT binary patch literal 492 zcmeZp@eMODGB99ZV7LRs-xwGej{xxtAR8TQ0E#n$1*3Z#7#O$@pevv|U#`Ie=zM(E ziZOs)%*Y@Bp=bX&z&Iyl7f{P7m<$JlfS{;!A}|CDkO0U~K?czV!>oclBwod8shVU7@^=!Dd~bWCw3(Fs)<`IzF&IK)}7ivyjc0Q3!`fFJ`45Q2Ql2gE!; OoCd@!>OX*@KmY*gF)~U3 literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc28/CLIPINF/00002.clpi b/tests/fixtures/disc28/CLIPINF/00002.clpi new file mode 100644 index 0000000000000000000000000000000000000000..3a291806c679f5939ccd871bc1f1f9d79b029762 GIT binary patch literal 424 zcmeZp@eMODGB99ZV7LRs-xwGeO@Md_kc|#D0L2->g3-MV42&WQ=nCl0muv6MoB3T~f<$3QJsFc~HW0YOpeL|_OQAOVn}f()X~iCG1CNW!3S0)ZT$ zZbkt?1{MYZ20kDkgjEh>U=e@7 zv)0qWIM-`|%LgBZFn8aC^m%>+&$- literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc28/CLIPINF/00003.clpi b/tests/fixtures/disc28/CLIPINF/00003.clpi new file mode 100644 index 0000000000000000000000000000000000000000..6116922d7e6e5b54d7b233d90ad8ef470c49bf1e GIT binary patch literal 496 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 literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc28/CLIPINF/00007.clpi b/tests/fixtures/disc28/CLIPINF/00007.clpi new file mode 100644 index 0000000000000000000000000000000000000000..f10e96f9d3119c10061fff59046189d863d0c0ae GIT binary patch literal 14356 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 literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc28/CLIPINF/00009.clpi b/tests/fixtures/disc28/CLIPINF/00009.clpi new file mode 100644 index 0000000000000000000000000000000000000000..31500ba0e1cb8b8b07121c363ad3470308b3f73d GIT binary patch literal 292 zcmeZp@eMODGB99ZV7LRs-xwGeWq?=#$VLYnfa0uR!RX!wAe{ha4^}z>=dg$Xg_K}2j0_?Sq7$42DNWMdS! zm{=&xndv|YTNPz+kNpzeiai80H5?j$$QxzBm- zxhLn|qf;5Jk{pQyz&N!Q0Ga_{bW{G*)=$M~>tv;?3E8jKJT3U&_o+=fs{H@DHVNw$ z)4*QG_~DTyc3i2QI#T>kgbp?*G1)8L&M`V;h8pTMCdHc9`52k2%h zD~-(o1IKZUlEzUz6HW z%Sa+tA>^IJMk0jN;_cu&Lr7;zA)r4-`sHaPQ@AOkkx!bEB`iw{3qxDtAmfSFH>m9I{g@WcI zC4r)zK3?&4Y$NWQ+tl2TS(+DT+*(_nSl8_CE;#4EroWjxLk3Tz8#nkTwl=OROb2bD z{Lb_Hh)Vq~za*5S3qjGCvW^`Ff z{d>E!hL_8q^(IuhgAX8d)+OE`Hy*yno#XU<#@Bh^xy=kekW;9kGJ|wYskG^95A-h2_ee`RB zGnS>2$z1A+)@Du9)Tdfc?vT#c9xQk;b(Q4p8Z^A@E;d&G;i^8m<86DNJ6!&=Ut2Vv wTVWBnPnG1|omOjK`bM*_^^mCjC;yIK>QCIzR|{q>3(0!xUEzV6!)x>QH_8T9Jpcdz literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc28/CLIPINF/00011.clpi b/tests/fixtures/disc28/CLIPINF/00011.clpi new file mode 100644 index 0000000000000000000000000000000000000000..1cc618be387cf50d543b7cbf681897082ff24bb5 GIT binary patch literal 1204 zcmcgreN0l7}Gh5JC=}3e$_9BFcL@3{f5PuXxhrM`=!7#1{p_CY##R6~$F~WJX2qPreVp~NREdf{4 zhHyd(a!Q17N(!FPf-STR{2)F^zYIcU7Dzf8!UiuMr=lTB5`s_25y_hapOzzvoecpU z12MH9LVpY-$uo$cVweuB%X!JX7Ru?Wyul|LlH0&F`7&Xtk`(k6J~# z%u?O4KHILvWqZ4UbOd_)%D%q8R{m@L8K>;zgezxVQR%afnK}mpx-O15>r?j|>f0mL z+k?1^satEcRLNLRZUdR|Oph-t@AGkv@%!j_C+EO)q3UXSkxgZ;da?M6GswLmGA02aojvQ(ihz0ljZ6==DH0ivBz{X)1ivxiUwD9Qqo)#F9w-c; zjV|^5TTgP0jwul2I*2$u2*)}+_7uaz;Re}y7NpV*O4$#pX#hinSI%_RIW0$(Quf13?lih_VQ3$Bv^!BRVTGzM^`*hzU}cV7f{HhUtl zPy#;Xg`nlr;H$h4EbqoHiiuE50Rozt5K69MH^qW*G5~=zMlkLmh+-qMx(z|iY>32% z5$yCv)MgbzC~t_Zbg#-A62X0hI(;BHL_(ubKb+UXl?Wr&nki?YReT^r$-b6lcEL`my>`*LBTzu`V5}^=ww$4-9>d zvfuDh&xWygd6&td(VLeBj2WDDPEMlbT5jRRguDjUx%_jb9qO^++Jav=GetY>m#itD zS#2f$Ul%vkbd?NF43T6teIH1rHd^E z>8gr`jAyQlC_1=}%G&Zo)f=BzBs(QnQ+}#-$uJr4L{zL-n!cqn?fT_3{R-obF~G2F zdh)`(vI;-HeXZ4P+3$|NlJk}LaPET^W`6KOl|?CMYMy<4Tzhh}N_W}H%$k00RPSch z8zc7zmFhn1G(RV}|5TmmTWQ}RGGTOTZ{pqP=_K;yo}{o-qRh;tchvS&m!|zxt@iyD nQa7VLp0znJZHRKW$7xL!^5)8)L(kXEgmI7ba+8ipwr=$=?8;F% literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc28/CLIPINF/00013.clpi b/tests/fixtures/disc28/CLIPINF/00013.clpi new file mode 100644 index 0000000000000000000000000000000000000000..b04da12e3aad4ca84a1f18ef0581cdc3e25ba24c GIT binary patch literal 1132 zcmeZp@eMODGB99ZV7LRs-xwGeeHa*6GJtG!umLE?2o{X)ZD5cKLzkyNU#`Ie=zM(k ziZOs)%*Y@BrUk_HcL;>t+zZqa1e0NA5D*lVP6UR40TKWiD##$(Y?xJ$ha?ONCk8=A z(FSbd3=GT?KvNk71Q}Qu8WM{l%7aj(#MJE_|fiw>zCj*}gF9UC(J_A1sF9V;Q3xfa)9|Qlg zr3?Zsd<+7iZ45#{zL3gE1|b)I2BFqT48kq^3?f4A3?eQ93?dJFKJPUorjLZo_J#)2%H|;PMxp7TN^v`EgvG3d$ zC1hnpB^}k?SuyG*TP;lbY2AIW-=<9Byv;u2CAK@d_xs(uP#gdZqd?8(lZK6ptc{lc zuW&x)C*|^CQLLFL&qT9ay$9x#D`X;e?pKezduMSp6U+1%jeuXaKBu+piuLU5XZolc z?2TzQe4P8j$-1J@Iezl*kk$i?p{rlK3_HhL7XC$lvBe+%TUJV&cYC`F`S|4Ku=q|q z^UQCX>N5X3Ez2EL7M*bPdSBvH=(XB;>Y{HhyBIlL?+&HG!)BV*$#cPC**M9a z@phQ|E0vR;0%D}fU%e1<{Q5^Ug-KAX mi?>aDo%msiD~kUmf9Y6C%UP7mxVZGm1i4O(+ z00a)hS7a%T)C?v0Br-;Tf+PcITfiTYfFC{zh*tuLNDcu+3LqnsFawNWzENCldo1j5j{K%aFP7=#=c z^+$k-$breEK{%>_@DVD66AFmPr2-380&9yHSY9QtXu;m>kju z$!G>7YtQhu01|UFpfn|F=7U&+=rnz$wuNDLY+zQbZq3=;v`kLC?#ALZU0K%VM~mM7 zgO^u}kD8;1(}{kMc-p54Cv+-fXPRuskZnL=T;OW?hc*WG&`&&yS2A zEx>rplFAr$`7vAh#wvSL|9!_d>hs2d`XiY$eFo=dCN0Oa>66^$&P1D?Al}E zj!?~pTe__b!%a7zT-|KB)g`iCc_#vwIrrHX zxPP#J{4&j2pz3uV(CUtZ^l9Y7nzsK^5zX)+>Vw#!4yi&iQQdy zJFBCuCEFM9t4YMBbHX-LG?xw)X$OY)<3Z*c{7!40?Z(T3l=FB>de7&F1QXAqWRuGW z=L)Y(M3{L@`67O?qN>u9<-U3^`)fs2o~PkLe)sUtmN9u9FMR)JF{)#3{?fBCvD-S9 z(vSD}7}tO4WRCy-<=h98m;yrDlw$506`n*>uh*W@G+OdGx12vkKQAbmx+8xB9np>z literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc28/CLIPINF/00015.clpi b/tests/fixtures/disc28/CLIPINF/00015.clpi new file mode 100644 index 0000000000000000000000000000000000000000..216f1cb0cbbf5b679b70ebb6a8bb8cf2a2c340cd GIT binary patch literal 1468 zcmcgsYfO`86h19qp)kd^*g|hmwA@PRy|ksJ_VNL>V2ezFj?xO7T8D9X0R`t&K*gEi z4Kqx&iAd2FQH@pxUr=4hIQzvuI?bBq5G0T4LBqz^#pL5=GPM#mf zg3id5$RrW~xQY930E8?6(lI=K+YaG5!fUeNvo#=GFz4-p|NR}g#)7Z^Ut<~YdSe1m zUL$3HQ6DvM^aB1R=buafP^ffv5w3vb4SUs;3iN8}hoy_&pkL_(R04g?zwrQw2k%Ot zPyvBMZ~`w4#Wni?=M(T40jLoGs1E`WO$0)i4-iBM1SbIyObA3?I|L$0fRJh-2up&% zpxZ!3L=fmX1tEwSg2pQ#1Qi3BRR-^15(r*j1`|*TgoyDeh!iHoGJ%4~V4}zk6if!8 z!S{iN$YIj(5ul-Rpcq>rtVRwrrXMCF3ZN~g03B7pWWiNnAWEP!njsuh0z*;*5lAvH zwsZp%#|ZKmun-k6r8Hn+DqyKqz{b?TK0FQ_L=7B9I&d)!MB4cfg=&CDZ-6K)1$b>< z;Nduhyb7W*Eld^V!IT;;@SzX*hz|JmHz1})2eEn&#G-<2$%~3WEu#(As|Eyka*DwLd*a{VkRVEMi43=MD_p@2)Gx~6y{@|iBhwEPWY0&QnHS-M;pcMO;<*aX5XVsauN)!MLy#X zro8 zLASGuJ*SMdw?3D3m|XHpwPeM!mhfcmp|5iXygTzAU+Z>+k5{~>W0e&Yr^Gwg=YOIb zT=;UvlQZ+|Z2lvIaebL&r1z}UF9vyNolT*5m>H8K3y8U3-4y$@Zcw%N{H}=Ou}tP| zQ70SGBy$Ajqg&YEZZS+&s@DJ#zgH~ZF(Mje-^KxZZ`VeiQE#- z%Dk=X==oj4M;t@O)&gj5amEncg_+JJu8)qFyX%>L`(g2J!tfqgG}48;V^M#s_S_ zPp2EWhsTX3M!HE?SZ}JYJn`Taa;?vykDX%}2MfNP47j^g3Y(r)J4P({F1{0mpX4WnkN8Okj?Y=WR z&8zps?%I4U?u(HF@%{S#gyF`^f~HGn**&UWPIHlui!IKI^shZY3Ej3dTG8{D$uTv- zyt;0Me0TF=^i;rH<=v8jjF1klTH+1S#{##EACK1g}dECiDM|P)c)yHCY>t3Uz z|Dsj;aKtVT`{kTMP0Um}!=wyL^qla8iR}^FlnwCWx7HTF79+M81zhYHyr$;>(vJZmy9BNT9gw@bV1b?hn)=`cpof9Ji(*h1}NbP zD6RrWYQoBcq?~R z`O@UKCqq+e^c;2PiD=Up7Dc$cD@hL+PBj~4mn<8qT6J}IcdhDCUkJF7_H@NB_3Ko( z9vP!y`97oPw#eMZlM}0ZXO$@v+3lfAMr|UwVl6{i_=6<3w7_h(-Lu%R;JFK*KEokCmOz9r|k1FGw#?Z;ap56(7;z;vdno zn5Vo_WC{4ayM*hw6(0BnI-WFxvvc@KNinSLgE5c46~%F6Rr2zL`|6{ul+cTGJv}CT zhOs85nz=`JTl>AfEPk{pG2)I}jPhLKv&ef5A4#LT7pd}CQ_HMt4@Nz&EtLr`*UHW> zxg#56B?w)!9)|=TQ-*B(d?>U|5WT!+lS&c#@poYvzda8xPY6ud-O}w@I4$Pvo*U<$ zz_xf@mefZ1FWX@-)*XmhGvgJ!*Y7LgDa93Ur>4wQW;poz;SED+eRcQKCwezn7Eg|4 z$g!YEbJWO+t%e9ybFN#|!1|Hs2jwmNtJRf)KkA;)gycIWI@;*Pog&7;FS8lfFW}6- KhT32JCw~J_W067t literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc28/CLIPINF/00017.clpi b/tests/fixtures/disc28/CLIPINF/00017.clpi new file mode 100644 index 0000000000000000000000000000000000000000..760fcd6206e92a8b4013fb8a4b9da1d42f3f1ee0 GIT binary patch literal 1148 zcmeZp@eMODGB99ZV7LRs-xwGeeHa*6Du8TsumLE?2o{X)ZD5dnjV@1rzFdO`(E0f6 z6=MLqn2|vMObaA!Um>tGxfZA;2qweKARs6zod^s810(=4RFFZm*)Xdh4@nplP7H#K zq7B%@85o!~fTl7E2r{rRG%&ORmGS|@j0G5;5YsYQx`QSAc*GmvI7 ztzuwhk!E1#=V4$yBF(_!7|FoyBE!J)*nxoqNVB=0V&G(vWngRfVBk6;$G~p!h=JQh zj)8+=Dg)0Ec?Qmxa~OD8KXWtC@}D`t1t+(C^GO% zoMjMnQDhJhQD6{iQDP9>aFaopMTtR3XBUGAkS`)z!60%(nL(t|jzNq?nL&&(j6v*( z3WK z^^Orw&pR&W*%Nd;Fg*C}a*j|Tb`>|Xq95);N5eccCC+;K7gTwb-m36s6H)MfpZCj*V?&42xTnG}ZpXvt0_Ojk6ptm(@F^E=h3i{6Fdaa@%_Z~OwU`hX)Te*<5w zdJ``gW;$0%#=88twW`eo6johLY*GdZl`w0P_I@ F0|46fCvE@$ literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc28/CLIPINF/00018.clpi b/tests/fixtures/disc28/CLIPINF/00018.clpi new file mode 100644 index 0000000000000000000000000000000000000000..c089a063c7065ed6404823db03721b13df671f61 GIT binary patch literal 1512 zcmcgsYfO`86h6QwwxqyUdZR73B4BSoFQS4dlwK&ccS{Rx1(`U3Iowo0-AG{laAxxg zIz=3WfKeF^R5mbS+HIY%F$gB=(3Ay50q5pW7_zzPK24Swv+U;hZ?(M$GxC>dxjamibyFVW9+0fd+(5%5720QEBP^(euI*8+$~1-|@R@JCdDkn_MF%LHU#92R;q!Jpaz z1WXMJjfWusQ3HXXhX6$u5cnD(;TWJw1rnx#fDo6ky;;C+vn$%m|Ef z7cdbcgeDyT7G?rga07%PCJ58$AxvS0usVQn%nT8N9T1^d1Cfqth(y*v6iWnA3JY)= z`+-+<=5nEGSMGTfRPVWaBLQv|bhxbABI1 zJ$!^(df!W{@ViBCpm-TyMoL2`c`ZCnypW%n{GQ+q(7<{>t>9 z__Z16o;dlE2Tclxu{^1|t7K^_Id9o_n{Ddpf$`)HRFrbfN?P%ITbh&c*==14wIgp` zIT&``&yM=UcvyVpNQC6^nWszGmqslEgIBU2PEOmX1bt2lUz58o>n}T2WKJ1+_pjBn z*VQ^^N~=DtQL^fmm!CGJO68DF%t)jQhZhO7&P9WTgE2FwLy}siy!0L!iSc9BM@(M} zlf})eXX}fr9bIp_og;%A){1`Z%CqV2I8!7rN=V@Q8eG&hPBdZ2;ZXS27t<9Lxb>?2wUvK%q@Fbu?#wm>zpKsPkZaldq z|Iqto^u1108*OJlfPzWQ~R zD0NeH-Ae3gSi)x70U~rG(;t`<&?=P zPwK@D=T1p3(soMklocigbgf^S@J+`u%MUwj6L-DNyJ~TW+OPD3t=8paW4D%*hrfT4NEX zfK^c@;)nw;n+}H#1t(FlE-IG=H)V+1L@*E>AZomA(|wvOG0U=_JIR~poabELljlud zHI}LupaKB^+{Vun0741?k%9aFw6F0T;SFi5HAC1Bcm7%MzsG)NHNO6TUF!jFHYNc1 z4U*3t14;mOAKs$-J7W)I3XQ%DS3vNVy&g&d+Gb&KS?OE!Yn^~Xpqc-T2SEDpsRS|w z5V!yXc&Q7nnFZ&=a32AJ4ex(-1MDpVu*)=ny-f&qr%C|95fMy+g9QbL3^foj6o^C@ zaI}PjV`&FCA>rVZp@VrA5jf59fn*WGyxtKY*~BnEv>6s4VsIuG!2&D-oXfhv#S#H7 z${BFQB;e}(5XguG$n$pq1zQZ1lojBHqgxss+%1vdUS9=NBoe4%6L=s}pp9362POp% z`AhJ$Nx_TN23|-McvV(|Hx>mxqz>@5$-t){1v(-FhU_HJZPDP%90Gp9N6qeU|ZsVGiC%15(j}<4G@UO zL5xlaw8cXZAB7;B0)nMZz{M26B~gHD!GJ670X~)h+$Ir(VoKmU=|O;~AVgRN0-Fj# ziD4kLsUgg2_SOT!r3&+T&hMl#(A{KT!&k$8>wC+YpHF6yn_k_ZTqG0RCVcKvNt{V6 zGkA68$Dio*&5t9qY?%i2)TxprS9eLWcujqdaWE%$gJ3eRwXWTC<$+p0o1tbcDCD65 z$6~^ri7p~EXd|`<~z;oZIsG+uK>}XdF(;m|WLn=uTL7m$>l4uTXPCC5PE4lBHZ^~Rc zFK=FZi-}Jz((1~((kljsbO(erODTr6mg7>r;)1=W8r27>SCdc52?VfVU zZo@0}vihpT>hX7_bz+nBvCbORQ@4$8KF>*cGGeEp2OUg{+q68bq(LiRJ6;j@sr)5s z*wLj}Kh`a3iQSk`UeT}IGcce!%W6~KsjN;yM&^=6gXB4mD>HL>9e?I&Ngbw&(iClD zKbn4#cT_iFd7yA_`Vy0j-%H4mom85u@2d_EZdLa)hZ5)3)+KumG^WVVf}HwHZEEM0 zgE7ClbjM87h6VQJ!>r(IB+A5e-@+NTLctANm!T=>7ONY=BiQ%0NRs2uOWF + + +TEST DISC 28 + + diff --git a/tests/fixtures/disc28/MovieObject.bdmv b/tests/fixtures/disc28/MovieObject.bdmv new file mode 100644 index 0000000000000000000000000000000000000000..2d0f5c83c8a1d3ac76e6df4c39c57b09c2fcb06e GIT binary patch literal 3290 zcmeHJZBD{K5S=as{6;Z;YXlO1szfi)@T)N~>J2zb^&~xkXXwHFnt40GG%O${O*C;y zmbb6l>CEig*}Z=l-1TqzeOlNyUNNOTBszLbDB@8pjN-b%4TGBouNb^)@S4Hv25%U= zY4D!G`vxBvd}#2I!N&%l7<_8**#x)V41PEG!{E;e7DUv2#^09oL!yH;se#}w>iB27 zLOk-A|LPghMVcUOlGB><5%W=icg(vIpOEB}`POHeIEGl8xNK+4*JtpJGLPkzuBrTH z#{TrU8#kErBh`TnqNjqQjDIrFcm=YD{!jXx=r)j-Yk8)z$@`^zr3riz-l^R#<53>t zjN?|D(3;NKmO1J-Jg{*pMou|~aUL}u*wOX$-kTT(FJc){t?IX+WgDlihuGJ=6v&I= zozGVR%Z9Hh5Ahg2RvyVPd|i3$#WcazGv6((M`P?cfaDyXpUihN{B$$?bVb-tSA_j^ zMc7X_-_Hd)n~EzZx(w)PN5T&1>0Ef#M4W~7gnixPhujeJ5B21W!nB@*AL$AD`vZEy z8qf9fcj#%#&z$HgppUjJZa^O$;TPzmC393C_};SmP>thVtvzD0R6n)$$ee$zR8xCG zS{a>%afaG}a)Wcq*Ir%?ZdNzob&sni@RD8Ed~(Ld+0X5wo>pKN2gx_=${kJ5I7Zww z55oI1uAB#ZwqkxB&cm{Haks3%U!3g~*u|Z<0=u|BS6~-+@e1tXT(x#t6u2uv9KI`! Nhpa2zQ{eSo;4cf88Q}l` literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc28/PLAYLIST/00000.mpls b/tests/fixtures/disc28/PLAYLIST/00000.mpls new file mode 100644 index 0000000000000000000000000000000000000000..708c2172a39a706f1ca4e68b1303b28673325c08 GIT binary patch literal 322 zcmeYb@Ci0BGB99ZV6b9fVAKQBxBwpmBLjoY4%Yt;Kot!jRUd$u5eN?$0D+;eQAjX| zJNwT8#yKIoKnlQs2}sTZDr8~>>W2VMMgc(xi&Z)i$lzpzav4|~46_RIfPAQ07+(mg zlXU`68mL|fCO;uHFCD}O*#ZQt6RI-uL40O3J_`yTs9FRpz&a6R9uTN7fOIf2$bkG} d0QL(50~6FYED*&YbpjwS0u=&%`Tsvi008gsC`JGP literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc28/PLAYLIST/00001.mpls b/tests/fixtures/disc28/PLAYLIST/00001.mpls new file mode 100644 index 0000000000000000000000000000000000000000..4da37897c731ca286e6ae80b632a507fc9770b31 GIT binary patch literal 280 zcmeYb@Ci0BGB99ZV6Xz>7eI^)@G&p~rP%-ecYvu_1!OP*aex6382K871Ot_DJ6l$8 z`!qbZ*^i`BkAZ;^q#Fu283hC(OjhYcAcK<;%4J|}PRuIEgP3RxGtsB6g*)1HI!rg1 iCe=g+1|0@wkPkra`~M$o1|tI_H_&V(Uewe@5FP;L|0C}J literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc28/PLAYLIST/00002.mpls b/tests/fixtures/disc28/PLAYLIST/00002.mpls new file mode 100644 index 0000000000000000000000000000000000000000..36eb1901085f46523b1ac051ad146619b9270582 GIT binary patch literal 420 zcmeYb@Ci0BGB99ZV6b9fVAKQBxBwpmBT$Nkk>3GGH2^Wg2Owqy!UG0CVCriW5)9;U zJ6l%pZ)&RpDS(4{K!r@KApKy#$tWNQVX;al0vVi)P%Z;&b7EFO9*_@J%i3TF<_kfT zGq6qoa)IiFVDb}E^U^_lCa8H6sxtCHd}cI03kn~oS_CY>IuT?Z5U4PKbTBf=fc#3GGH2^Wg2Owqy!UG0CVCHKS5)9;U zJ6l!=xEzcEDS(4{K!r@KApKy#$tWNQVX;al0vVi)P%Z;&b7EFO9*_@J%i3TF<_kfT zGq6qoa)IiFVDb}E^U^_lCa8H6sxtCHd}cI03kn~oS_CY>IuT?Z5U4PKbTBf=fc#lgs%3331oMR; z${AQE0J%W*LNNIWsd?!jJ`>cu2~`>SAU-o1p9O^vR4oD)V4Vmu58?w0m=AJg6u8T{ zCqi^U$-(Xe1_l)dke?YDWI(ZD0`?0ydS?GQz&M8m;$4tuiWoRRF$s#N|Np_h1M#*o q$su?=JGcW8Jl^IvlMp<<>^^Y>kDvFUI})!*EE3LRdq9i}@G&p~rC1p49e`8=5Hldq9i}@G&p~rC1p49e`8=5Hldq9i}@G&p~rC1p49e`8=5Hlf}Iz3}9FN{|^!X@dV5} HG$1?xQ>-2J literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc28/PLAYLIST/00008.mpls b/tests/fixtures/disc28/PLAYLIST/00008.mpls new file mode 100644 index 0000000000000000000000000000000000000000..9b11c915e99326feb2b1132e88d1d7581cd56b27 GIT binary patch literal 256 zcmeYb@Ci0BGB99ZV6Xz>dq9i}@G&p~rC3<)9e`8=5HlZyk#O literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc28/PLAYLIST/00009.mpls b/tests/fixtures/disc28/PLAYLIST/00009.mpls new file mode 100644 index 0000000000000000000000000000000000000000..e775bb27701cd3142904475900e15ddc7bf75e3d GIT binary patch literal 256 zcmeYb@Ci0BGB99ZV6Xz>dq9i}@G&p~rC3<)9e`8=5HltDKoo=2$$dq9i}@G&p~rC3<)9e`8=5Hl1M)$30Rd|Rn9sz( zAOhh}1WJQgDh$j(l953MXt#kS*lq>}pcS+K9AKQo0#OW7CkGN_0K4k{e~#rW$ literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc28/PLAYLIST/00011.mpls b/tests/fixtures/disc28/PLAYLIST/00011.mpls new file mode 100644 index 0000000000000000000000000000000000000000..ddbb948c8c40007cbb6612d651b208a13d1b397d GIT binary patch literal 256 zcmeYb@Ci0BGB99ZV6Xz>dq9i}@G&p~rC3<)9e`8=5HltDKoo=2$$dq9i}@G&p~rC3<)9e`8=5HliO literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc28/PLAYLIST/00013.mpls b/tests/fixtures/disc28/PLAYLIST/00013.mpls new file mode 100644 index 0000000000000000000000000000000000000000..b29373726551bb9d784d7f2e54d855cec8150467 GIT binary patch literal 256 zcmeYb@Ci0BGB99ZV6Xz>dq9i}@G&p~rC3<)9e`8=5HltDKoo=2$$dq9i}@G&p~rC3<)9e`8=5HlDQUC{jK!r?T{a_(ZMgc*H9IJF9kip3a4##g1fyF=jD%x5Lps&D{}P zxcJI}n=f1-<{#h)j^;!JL2%{7iQ>Jis-CKEdaRk&Kw#Y8)3jRInbrAa<;%?aM!jMC zt|ef&g+`U(LK`V+#i{3P(AZ2R@5OBbYuQ_{M4!RxO!f94<9LTd;N_|q=r zb4lKB$Y+zh*O1R7dAA`SBzdPH?-a+MigmJ%)^xBCY89=cP@==1d|%SxI^8VK_a*;*X{${sF59wR+ETPGyZkj# zPuuMfYzd#Xv@i3s@wTFtqZ0SOeVo?Lw%MaaP(%be+Cg<=@Vp;c{Dl@?pHjO^1oVi2 zK9Mb!htO(Np+)B@T1Z!~10rCC2$&_Zg>3@bbcJc!e%Srf{GcyIg6b{rt_(Li4jo!_ zmfgS1XZpRXMf9rc(4|G!dvE^p9(J`buX1?P7MSv&2>%9MjX|9w{Q~BRfCb{Z;pgUE zo;vnwCzWUfE6O( z7?Fc4&TvoSw)mIv+v{#iw20dhlT)cA=u+@<)dAvG#3WQI3CD?AtLMIz~B-H{IXp zOPfBma1#-5jtF=ckv+0~pU|T+M#l^9cJ5lF30j+emA-V0DmUY1`toifV1vjWDNk?! z9+fd-CXaSD=252Mrhky$bd84Rah|@shX{Btkv%ek9+BBPULK;N~~MdV$9jmmAbUnbm@K%*@vn0FJp$)~ZEfe6)NOttE#g7WCHT)&}FG zM!JMMh=30e0UsoCW3wDW-&@mQE4(+gj6Oa@)UD;HElL%2N#RbSRvCB4&`q)F*6qSiW=Rn)76j}o=YtjBEBdea6i4O<^0YOUj0 zMQvC3I8m$2dCZxXU*vcbaX0R6Xr0I^YMjC+h_Rf>cGOiM6Ghj z;gD&$4IAAwzTHRET8AAD$F+twu4!cZ3{h(xaX7;H)P^mMbA%KstvZXB9XQAg@d%ls z(T~_+aW2(1)ghN^mDQ~=a+_-^c`@S@HPV$6MIrY|eoV|QY zI!9T9ll*90zpKBjb|!f`z*{jeLaK_<`v~*t6q$YfpsMlI| zSf`eq(bf^MV{En?i{55$n3jrpboMIKT|sg991(Dl2>3kV(xEf1kjL6Tx+ju_$NfaW z7l?o_64}CnHac|PnJjds{t^-JWg_4!M7FRz$cIjr^gq+14*hC#&bmb12Z(?NiP6Rn zrIE(A_Gu2198k>SAv{FguMz=YBT5U7QFiE5-8e$+9@psN>qNk1BH&@7wBVRyhfcJ% z{2Kj<7FTeEy5ArIzDbl8edN}E*}uy5=V;T%w}^mm69L~LN{a!~38?i4|LbHiz;}s& z?-2ptCrXPM44ieX_PJ!C6Vp{9;2IHFP#&o)W-;e-GkAj@#b)p*9;NONh=3mw`8$;2 z4)gpIvt(mb^&i7yjWk?vsigBnt8y;DQ>&NkULn{{JSU^>XiGmn$ z#oEUimzyrTZvs=HvF@z1j%u`1Hx+i$E)5|@yEuX@F*};4)zk`%c4`B{kBRDjBL(D0 zy!b4Htv=DNbG!Q$-|CqP@B|U?6C&WJL@P~{qFpb&*NMQNwOSV|RX$~MrE6N0D>?j( z2>3Y>@FcO@O0HTdoen$a-JkR=T*>1XM8GeJfTxHuzh*nH0t!=8lI-1+8fK*zUo+=s| z$OJ1Il~$ss6^cwxD-@O1Ha*`M(bI}Ur8Sz;-A0B} RywoTH(okXCQ2n-T|heY5h5f~)`FNwe;5qQfF244s8 literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00000.clpi b/tests/fixtures/disc29/CLIPINF/00000.clpi new file mode 100644 index 0000000000000000000000000000000000000000..12b474d060874d75f5ca569517e3af940982c368 GIT binary patch literal 496 zcmeZp@eMODGB99ZV7LRs-xwGeO@R0fkc|#D0L2->g3-MV44fw(pevv|U#`Ie=zM(E ziZOs)%*Y@BriB`+1%xIiJ_Ks9g2^y32ndQwCjvvj011E$6=V=?Fw82*LlOps69{Yp z>Sh!WWME;CV2}aw`G6Q0ZY&FcGz$Y`%R&Yw#WxI0M;0+KzZ7C%W?96*;vx&giy7E> zPBO3_S;D}f_f6m%1B*~t^giJ&+YW~s3)~5toc%cb^RbtaL5gppHr0HO5xV|Aw%C|8 z?s6YbfbmPAz)3E$PM_whikSRfFFG}RmAUZ7rxpb~CoM0eU$izjblqm6>>b;W6%XwL fFTXR`p!dy4p!1J$!BZBKiw+!O!m~wzZesudS|n6F literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00001.clpi b/tests/fixtures/disc29/CLIPINF/00001.clpi new file mode 100644 index 0000000000000000000000000000000000000000..a90358d2247518fb78cd19071239d5e119c66bdf GIT binary patch literal 556 zcmeZp@eMODGB99ZV7LRs-xwGeO&A!MG=OY$umLE?2o{X)ZD8Q(bU;@?cfMSM2hjQW ztQBJbyO@zd089%_j^zx8JGmGF)+0(V_^E&z`*RX zjDbZ{kAa0{IRk6?8wQq^Se|`;#9Al3+NS5Ywe4H8GxolVtqs;N&NaN?=PmSN-Zl}BUmI1A shAvQ7-LONVg?pdmwX|c>W(Uv8OqaPO$69eiKK1flfn|D6fc|0t0RFvX^#A|> literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00002.clpi b/tests/fixtures/disc29/CLIPINF/00002.clpi new file mode 100644 index 0000000000000000000000000000000000000000..e411d8fde7fff1963368f9dd481294373343a928 GIT binary patch literal 480 zcmeZp@eMODGB99ZV7LRs-xwGe*8nkyjSe;d#TmhZ(Y*}}3=%**z(B6S1L%Bwju2x2 zyO@zd07B3HbAWNqnyo-Bn_x2R3<83p(uu$jFhBwzLj@T`8w|4w@{oi<;lv=sAUXjk zjGi}KNC?Lqd!ob161myDpu?P^S0Wk{$ UgF`w{h+q8&1B)k+28uBN0H8K65C8xG literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00003.clpi b/tests/fixtures/disc29/CLIPINF/00003.clpi new file mode 100644 index 0000000000000000000000000000000000000000..f0c7d580d3044636efb32e3a186706f593e0bf6b GIT binary patch literal 292 zcmeZp@eMODGB99ZV7LRs-xwGeWq?=#$VLYnfa0uR!RX!w1_sUqbOm(h%QbiaosZ92 pF$PAEG$Vrmgr5E90OK4M5ulI~Ooov`gh6y-RzV(v0TMtq6abOx5Ay&3 literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00004.clpi b/tests/fixtures/disc29/CLIPINF/00004.clpi new file mode 100644 index 0000000000000000000000000000000000000000..1898dda0e09d8ff478cb1cdba8c67e65beb7ee77 GIT binary patch literal 292 zcmeZp@eMODGB99ZV7LRs-xwGeWq?=#$VLYnfa0uR!RX!w1_o9IbOm(h%QbiaosZ92 pF$PAEG$Vrmgr5E90OK4M5ulI~Ooov`gh6y-RzV(v0TMtq6aZ8L53c|K literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00005.clpi b/tests/fixtures/disc29/CLIPINF/00005.clpi new file mode 100644 index 0000000000000000000000000000000000000000..50041ef65ec46a2a9645bc67bd45531c34b5562a GIT binary patch literal 21380 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 literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00006.clpi b/tests/fixtures/disc29/CLIPINF/00006.clpi new file mode 100644 index 0000000000000000000000000000000000000000..6d63c6867a82dc5ec8c54c23b49ad0b87158c1c7 GIT binary patch literal 292 zcmeZp@eMODGB99ZV7LRs-xwGeWq?=#$VLYnfa0uR!RX!wAgusq4^}z>=dg$Xg_K}2j0_?Sq7$kI!B) z21bxHBZB~hp8e+l;~W+dppX(w1}G;eDxC-n0RtoeHB??C@P%@3;_cq05wzrsEScQkbwmVK_>74F%J-@ N0WpjD51=Rz003;J5ZM3# literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00009.clpi b/tests/fixtures/disc29/CLIPINF/00009.clpi new file mode 100644 index 0000000000000000000000000000000000000000..d49899f3c42acbf3ffcc67fed67771badbe93b18 GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=Av>&=t^~FW2A!bUr?7 z#TXbt(u@oO5PJ5X1B`Q6M1Vp{Fd3knpr~{rFa!*c0Mt+gpejZIK?W8e1ew4G#5_Qp N2E;7tKY*e@003$d5XS%j literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00010.clpi b/tests/fixtures/disc29/CLIPINF/00010.clpi new file mode 100644 index 0000000000000000000000000000000000000000..902cb8e9bc27eee8c0c82f2b727892951210f2e2 GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=FIe=nCl0muv6??C@P%@3;_cq05wzrsEScQkbwmVK_>74F%J-@ N0WpjD51=Rz002sS5V!yU literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00016.clpi b/tests/fixtures/disc29/CLIPINF/00016.clpi new file mode 100644 index 0000000000000000000000000000000000000000..3310360ac040752886d1617d9e4c0a80c2a11b08 GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=FId=nCl0muv6&=t^~FW2A!bUr?7 z#TXbt(u@oO5PJ5X1B`Q6M1Vp{Fd3knpr~{rFa!*c0Mt+gpejZIK?W8e1ew4G#5_Qp N2E;7tKY*e@003$d5XS%j literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00018.clpi b/tests/fixtures/disc29/CLIPINF/00018.clpi new file mode 100644 index 0000000000000000000000000000000000000000..ef74f30dab14e5f0a9e510d5ce1a04fa2dfc2615 GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=GT<&=t^~FW2A!bUr?7 z#TXbt(u@oO5PJ5X1B`Q6M1Vp{Fd3knpr~{rFa!*c0Mt+gpejZIK?W8e1ew4G#5_Qp N2E;7tKY*e@004?85as{? literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00019.clpi b/tests/fixtures/disc29/CLIPINF/00019.clpi new file mode 100644 index 0000000000000000000000000000000000000000..111ade7f9a319524d5f567f5bfd3a7dc22708adf GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=C}O^7QA+HFyA>kI!B) z21bxHBZB~hp8e+l;~W+dppX(w1}G;eDxC-n0RtoeHBkI!B) z21bxHBZB~hp8e+l;~W+dppX(w1}G;eDxC-n0RtoeHB&=t^~FW2A!bUr?7 z#TXbt(u@oO5PJ5X1B`Q6M1Vp{Fd3knpr~{rFa!*c0Mt+gpejZIK?W8e1ew4G#5_Qp N2E;7tKY*e@003$d5XS%j literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00024.clpi b/tests/fixtures/disc29/CLIPINF/00024.clpi new file mode 100644 index 0000000000000000000000000000000000000000..111ade7f9a319524d5f567f5bfd3a7dc22708adf GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=C}O^7QA+HFyA>kI!B) z21bxHBZB~hp8e+l;~W+dppX(w1}G;eDxC-n0RtoeHB??C@P%@3;_cq05wzrsEScQkbwmVK_>74F%J-@ N0WpjD51=Rz002sS5V!yU literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00028.clpi b/tests/fixtures/disc29/CLIPINF/00028.clpi new file mode 100644 index 0000000000000000000000000000000000000000..111ade7f9a319524d5f567f5bfd3a7dc22708adf GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=C}O^7QA+HFyA>kI!B) z21bxHBZB~hp8e+l;~W+dppX(w1}G;eDxC-n0RtoeHB??C@P%@3;_cq05wzrsEScQkbwmVK_>74F%J-@ N0WpjD51=Rz002sS5V!yU literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00036.clpi b/tests/fixtures/disc29/CLIPINF/00036.clpi new file mode 100644 index 0000000000000000000000000000000000000000..3310360ac040752886d1617d9e4c0a80c2a11b08 GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=FId=nCl0muv6kI!B) z21bxHBZB~hp8e+l;~W+dppX(w1}G;eDxC-n0RtoeHBkI!B) z21bxHBZB~hp8e+l;~W+dppX(w1}G;eDxC-n0RtoeHBSpePUk0HjS22mk;8 literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00041.clpi b/tests/fixtures/disc29/CLIPINF/00041.clpi new file mode 100644 index 0000000000000000000000000000000000000000..97c72c19f9dbb69e1b5663c98eb435c4f31ab0ff GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=FIX&=t^~FW2A!bUr?7 z#TXbt(u@oO5PJ5X1B`Q6M1Vp{Fd3knpr~{rFa!*c0Mt+gpejZIK?W8e1ew4G#5_Qp N2E;7pKY*e@003*85ZC|! literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00042.clpi b/tests/fixtures/disc29/CLIPINF/00042.clpi new file mode 100644 index 0000000000000000000000000000000000000000..cbfb31827d7e1a2cb8df72c84a3cd86490ec7556 GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=C`w&=t^~FW2A!bUr?7 z#TXbt(u@oO5PJ5X1B`Q6M1Vp{Fd3knpr~{rFa!*c0Mt+gpejZIK?W8e1ew4G#5_Qp N2E;7pKY*e@002vd5V-&V literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00043.clpi b/tests/fixtures/disc29/CLIPINF/00043.clpi new file mode 100644 index 0000000000000000000000000000000000000000..26b0c36ca2e03e56db7e9eb7f31ad88736208208 GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=Av^=nCl0muv6-~at$6p=i_sM z7y~0nnvp>OLeKtlfN>6s2vA4~CIgfc6qQZ{hJXPQfEua*RK+MD$iM=GAQSk2mOLeKtlfN>6s2vA4~CIgfc6qQZ{hJXPQfEua*RK+MD$iM=GAQSk2mkI!B) z21bxHBZB~hp8e+l;~W+dppX(w1}G;eDxC-n0RtoeHB-~at$6p=i_sM z7y~0nnvp>OLeKtlfN>6s2vA4~CIgfc6qQZ{hJXPQfEua*RK+MD$iM=GAQSk2mkI!B) z21bxHBZB~hp8e+l;~W+dppX(w1}G;eDxC-n0RtoeHBSpePUk0HjS22mk;8 literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00053.clpi b/tests/fixtures/disc29/CLIPINF/00053.clpi new file mode 100644 index 0000000000000000000000000000000000000000..d49899f3c42acbf3ffcc67fed67771badbe93b18 GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=Av>&=t^~FW2A!bUr?7 z#TXbt(u@oO5PJ5X1B`Q6M1Vp{Fd3knpr~{rFa!*c0Mt+gpejZIK?W8e1ew4G#5_Qp N2E;7tKY*e@003$d5XS%j literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00054.clpi b/tests/fixtures/disc29/CLIPINF/00054.clpi new file mode 100644 index 0000000000000000000000000000000000000000..902cb8e9bc27eee8c0c82f2b727892951210f2e2 GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=FIe=nCl0muv6kI!B) z21bxHBZB~hp8e+l;~W+dppX(w1}G;eDxC-n0RtoeHB??C@P%@3;_cq05wzrsEScQkbwmVK_>74F%J-@ N0WpjD51=Rz003;J5ZM3# literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00060.clpi b/tests/fixtures/disc29/CLIPINF/00060.clpi new file mode 100644 index 0000000000000000000000000000000000000000..26b0c36ca2e03e56db7e9eb7f31ad88736208208 GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=Av^=nCl0muv6-~at$6p=i_sM z7y~0nnvp>OLeKtlfN>6s2vA4~CIgfc6qQZ{hJXPQfEua*RK+MD$iM=GAQSk2m&=t^~FW2A!bUr?7 z#TXbt(u@oO5PJ5X1B`Q6M1Vp{Fd3knpr~{rFa!*c0Mt+gpejZIK?W8e1ew4G#5_Qp N2E;7tKY*e@003$d5XS%j literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00067.clpi b/tests/fixtures/disc29/CLIPINF/00067.clpi new file mode 100644 index 0000000000000000000000000000000000000000..d1301412caa6bb4e2bc2c9c15ef69d06b5c918db GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=FIb!0dq}??C@P%@3;_cq05wzrsEScQkbwmVK_>74F%J-@ N0WpjD51=Rz002sS5V!yU literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00068.clpi b/tests/fixtures/disc29/CLIPINF/00068.clpi new file mode 100644 index 0000000000000000000000000000000000000000..5ef4805ab7cbedc93ca85924456cd2b5c248e07e GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=GT(VD>-~at$6p=i_sM z7y~0nnvp>OLeKtlfN>6s2vA4~CIgfc6qQZ{hJXPQfEua*RK+MD$iM=GAQSk2m??C@P%@3;_cq05wzrsEScQkbwmVK_>74F%J-@ N0WpjD51=Rz002sS5V!yU literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00073.clpi b/tests/fixtures/disc29/CLIPINF/00073.clpi new file mode 100644 index 0000000000000000000000000000000000000000..3310360ac040752886d1617d9e4c0a80c2a11b08 GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=FId=nCl0muv6??C@P%@3;_cq05wzrsEScQkbwmVK_>74F%J-@ N0WpjD51=Rz003;J5ZM3# literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00080.clpi b/tests/fixtures/disc29/CLIPINF/00080.clpi new file mode 100644 index 0000000000000000000000000000000000000000..807ab6d27b10f8907977d8755d3e2928f614d336 GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=Av}&=t^~FW2A!bUr?7 z#TXbt(u@oO5PJ5X1B`Q6M1Vp{Fd3knpr~{rFa!*c0Mt+gpejZIK?W8e1ew4G#5_Qp N2E;7tKY*e@004_J5a$2@ literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00081.clpi b/tests/fixtures/disc29/CLIPINF/00081.clpi new file mode 100644 index 0000000000000000000000000000000000000000..6b033b30da9c397c6b41be93cf2f3bbc8c8a502f GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=FIa=nCl0muv6??C@P%@3;_cq05wzrsEScQkbwmVK_>74F%J-@ N0WpjD51=Rz003;J5ZM3# literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00086.clpi b/tests/fixtures/disc29/CLIPINF/00086.clpi new file mode 100644 index 0000000000000000000000000000000000000000..1514c97747a7a7024d2be9c0c46360e5856ac226 GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=Av@=nCl0muv6??C@P%@3;_cq05wzrsEScQkbwmVK_>74F%J-@ N0WpjD51=Rz002sS5V!yU literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00088.clpi b/tests/fixtures/disc29/CLIPINF/00088.clpi new file mode 100644 index 0000000000000000000000000000000000000000..97c72c19f9dbb69e1b5663c98eb435c4f31ab0ff GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=FIX&=t^~FW2A!bUr?7 z#TXbt(u@oO5PJ5X1B`Q6M1Vp{Fd3knpr~{rFa!*c0Mt+gpejZIK?W8e1ew4G#5_Qp N2E;7pKY*e@003*85ZC|! literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00089.clpi b/tests/fixtures/disc29/CLIPINF/00089.clpi new file mode 100644 index 0000000000000000000000000000000000000000..6b033b30da9c397c6b41be93cf2f3bbc8c8a502f GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=FIa=nCl0muv6kI!B) z21bxHBZB~hp8e+l;~W+dppX(w1}G;eDxC-n0RtoeHBSpePUk0HjS22mk;8 literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00092.clpi b/tests/fixtures/disc29/CLIPINF/00092.clpi new file mode 100644 index 0000000000000000000000000000000000000000..26b0c36ca2e03e56db7e9eb7f31ad88736208208 GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=Av^=nCl0muv6kI!B) z21bxHBZB~hp8e+l;~W+dppX(w1}G;eDxC-n0RtoeHBkI!B) z21bxHBZB~hp8e+l;~W+dppX(w1}G;eDxC-n0RtoeHBSpePUk0HjS22mk;8 literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00099.clpi b/tests/fixtures/disc29/CLIPINF/00099.clpi new file mode 100644 index 0000000000000000000000000000000000000000..902cb8e9bc27eee8c0c82f2b727892951210f2e2 GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=FIe=nCl0muv6kI!B) z21bxHBZB~hp8e+l;~W+dppX(w1}G;eDxC-n0RtoeHBSNFV?JqeBn} literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00106.clpi b/tests/fixtures/disc29/CLIPINF/00106.clpi new file mode 100644 index 0000000000000000000000000000000000000000..e2bd391e41e6c012d86443254c393f9ffd9328c4 GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=C`v=nCl0muv6kI!B) z21bxHBZB~hp8e+l;~W+dppX(w1}G;eDxC-n0RtoeHBSpePUk0HjS22mk;8 literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00108.clpi b/tests/fixtures/disc29/CLIPINF/00108.clpi new file mode 100644 index 0000000000000000000000000000000000000000..b1c44154e4ace062aeb14dbd331e279234f349ac GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=FL3^7QA+HFyA>kI!B) z21bxHBZB~hp8e+l;~W+dppX(w1}G;eDxC-n0RtoeHBSpePUk0HjS22mk;8 literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00109.clpi b/tests/fixtures/disc29/CLIPINF/00109.clpi new file mode 100644 index 0000000000000000000000000000000000000000..d20821de920a1fb1ecc7e42de758c8630d04a246 GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=HfF=nCl0muv6??C@P%@3;_cq05wzrsEScQkbwmVK_>74F%J-@ N0WpjD51=Rz002sS5V!yU literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00114.clpi b/tests/fixtures/disc29/CLIPINF/00114.clpi new file mode 100644 index 0000000000000000000000000000000000000000..6b033b30da9c397c6b41be93cf2f3bbc8c8a502f GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=FIa=nCl0muv6kI!B) z21bxHBZB~hp8e+l;~W+dppX(w1}G;eDxC-n0RtoeHBSpePUk0HjS22mk;8 literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/CLIPINF/00119.clpi b/tests/fixtures/disc29/CLIPINF/00119.clpi new file mode 100644 index 0000000000000000000000000000000000000000..26b0c36ca2e03e56db7e9eb7f31ad88736208208 GIT binary patch literal 324 zcmeZp@eMODGB99ZV7LRs-xwGeWq{ZL$VLYnfa1(xL76!g3=Av^=nCl0muv6 + + +TEST DISC 29 + + diff --git a/tests/fixtures/disc29/MovieObject.bdmv b/tests/fixtures/disc29/MovieObject.bdmv new file mode 100644 index 0000000000000000000000000000000000000000..148164cf541b0b39839885cf4ca405e52ebbbdac GIT binary patch literal 1958 zcmeHG%TB{E5FF>x6fOt}khqmf+&DxCagI1uNT}@}^gDWT|D>PNKLhW2mkdQ!%8f%D zDVdCC*Sll;WBK;pKDR9fN3&JQWCN6|4#5NF(Gl>l>+uG7U37&LVV38vg`oIgSo0ay zAj2i;Cxjcq(}X?GCGj_eZwcQCULO!*dIVc-XSg70V9{w=66<|E3V&*>k}l0P5hzk$ z7a3oDT94Y7c_kX}MfgCx#7Z9F3*vo0gfEG&NM8|O6JMXxyXn{D9z$5^L2 z7eI^)@G&r=Nv#6%nSeOJ00exELV|%xgc_;^geE6GwAugn zzXMEz9s>g-l5S2$0YQiqt8^le!N~~aGO#unW)T z2&$KLLTX+*hz~Lq2v{dnW#ohS%xHWT6h2V32v~r1BFH=-P+|NlV(VBV6;h6o;SoYz|fkI&-VOazbLu#*Rg_hCssf+sln Ol_i2F6jgo!!UF(Ej5_WB literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/PLAYLIST/00003.mpls b/tests/fixtures/disc29/PLAYLIST/00003.mpls new file mode 100644 index 0000000000000000000000000000000000000000..cf3540c7859f120c220725aa0a69fbcf4882574b GIT binary patch literal 3666 zcmb`~%SyvQ6vpwBw6TfC+G@SFUR$@4oEfhOx^iWqP+!2U3-MK4>!Y~v!GwB}k;;d- z`$D1f3&~mK4>RM*{j|`c5Rog9{LcRWyV??oTz@1tw?9whsV$D}?xe8me5?;sL-h9b z8ND}q^D(ilPNaI-e&NcZPB*NQ{-Z52dnUY)ygt1=OPF{;pLofhSQhk&C4HjOCp!8> zPoH>7pLj-}NN=X3H&fD^QF=231sl-`Wen^Af*N^i!|n{o7J9K9Jw zZ^qG^ar9;!y%|Su#?ilU&;P>dU3+>np5Bb7HX|~UhHcOz8B}}x@MVg`e|GtCTAu{! z`?FcSx3{A}brzT_1~ouUPy$*2wLmE-11*AVpQLUCi5QgD7X`{wyZMFWk{=1fA?3qy!^a3mt>J7McA>N8>y$)9{yeL;9)RROi zAL8x{g`OuQvk1H}!_m#y7v77=g-HGp|NpyM;zTar(yQyAC-T>LIEr^i-uuB|Slo^y z-1FDFduev3W0H6}mh$EJtFO$pJM}5;-Ni!|pQ&F+pY9(Yq@Eb)6O}&E=o8QA6VKTb zgQrhCp-(L66HnCFUsGlAYrpf?lf%>;TgN^eH#%_zMYr8lGWW|ZEH(wk9wGfHnp z>CG6u8KXC2^k$6SjM1AhdNW3E#^}u$y&0o6Q*PspxK2Ci$Bo?AUsNRdvy;2eYHzRZ zPbSqS9vAm=bDt^!H9$>J3Yr1Ug62ROXdaY<7C?)j7HA3726aHopcPOTvpgqt&=m2#1t8b3r*Ny-H literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/PLAYLIST/00005.mpls b/tests/fixtures/disc29/PLAYLIST/00005.mpls new file mode 100644 index 0000000000000000000000000000000000000000..cc29046d6b04bb764c27c3091f8601aebbeed429 GIT binary patch literal 3954 zcmb`~%TB^z5C!0Ap=uQn6tAFo!OP0b)Ei?+^Z_Ix!547r!uTq#^-)~-U`G6D3FgGO zI}Hi{*R*Ffr^yV4_an_zMdU`L+7JK#T{VeB`X9;d-SmmdcQ~AeyF*p&=^%R;1w?OO zpV51{Ig5$I=}aashhK4}QN2-|lGbB5q~V$3h2-_=yjcAGfM_n-X!c${xEVF8+KKr_Xl5~vJHKy#pZ&;lq0ErOOn6;Ksa11*E< wpay6Kv7A(BCLLzj#743W!B5A%BpTv+?)W_9>&Kj00n=|M+6S~ zCsO5Kgb!u&ckk|wR|TrV-QPo~*x=7)a-Zam@{q|xlKTaDk>om7tz%=Vk;Wt9%H$@( z9lYhoxsFc3LEshlcI=D!dg`GK5;Yx_IHz#OZBy#06%0aF3id9Ed}18S!N(rYsjZ_I z=n#S~Ay^^m9yVnJ4oV`+H||;*o&PQnS@+P1azuwhd;INQm>=||wTIcTiP^N$OT;m+i64`v56ws#81K(eIhOj`GTaypCXhL0(6BbwOUH=#NyM z+A%?6s4Dlwy(aO7rPl%+l3|>ZlrD}Dg5!kXGa~m+*O?NxwBi$4IdOUR9W>)?9b={G+6q1= z1YZz>FNvdbt;e+-y?e)eTPGFfz^22dY4I|mrwhduqN%mzu%%iTsimh6#g9ZoYpG6&1SSDD6m~6k!z~_7 zE1=)dLZ(|?21;x3RJa!s8 aBvx;3irYkkSae)G5Gwt8b5raP4XyV&c3)Wl literal 0 HcmV?d00001 diff --git a/tests/fixtures/disc29/index.bdmv b/tests/fixtures/disc29/index.bdmv new file mode 100644 index 0000000000000000000000000000000000000000..5796e0167e2cfe5c52c5ee16a46b995b530b858a GIT binary patch literal 156 zcmebDbBQo8GB99ZVDJNCd_W1GBwWtR0nTJ#0I`9X5iG<4;sF5@h;RTA3=GU5!U04u PFtC6K2N1!)zzQM&%}xY^ literal 0 HcmV?d00001 diff --git a/tests/test_disc26_scan.py b/tests/test_disc26_scan.py new file mode 100644 index 0000000..c7c844d --- /dev/null +++ b/tests/test_disc26_scan.py @@ -0,0 +1,49 @@ +"""Integration tests for the disc26 fixture — 3-episode OVA disc with commentary + extras.""" + +from __future__ import annotations + +import pytest + +from bdpl.model import DiscAnalysis + +pytestmark = pytest.mark.integration + + +class TestDisc26Episodes: + def test_episode_count(self, disc26_analysis: DiscAnalysis) -> None: + assert len(disc26_analysis.episodes) == 3 + + def test_episodes_are_ordered(self, disc26_analysis: DiscAnalysis) -> None: + assert [ep.episode for ep in disc26_analysis.episodes] == list(range(1, 4)) + + def test_episode_playlists(self, disc26_analysis: DiscAnalysis) -> None: + assert [ep.playlist for ep in disc26_analysis.episodes] == [ + "00002.mpls", + "00003.mpls", + "00004.mpls", + ] + + def test_episode_durations(self, disc26_analysis: DiscAnalysis) -> None: + for ep in disc26_analysis.episodes: + dur_min = ep.duration_ms / 60000 + assert 25 < dur_min < 30, f"ep{ep.episode} duration {dur_min:.1f}min out of range" + + +class TestDisc26Specials: + def test_special_count(self, disc26_analysis: DiscAnalysis) -> None: + assert len(disc26_analysis.special_features) == 15 + + def test_has_commentary(self, disc26_analysis: DiscAnalysis) -> None: + commentary = [sf for sf in disc26_analysis.special_features if sf.category == "commentary"] + assert len(commentary) == 2 + + def test_has_creditless_ed(self, disc26_analysis: DiscAnalysis) -> None: + creditless = [ + sf for sf in disc26_analysis.special_features if sf.category == "creditless_ed" + ] + assert len(creditless) == 4 + + +class TestDisc26Metadata: + def test_disc_title(self, disc26_analysis: DiscAnalysis) -> None: + assert disc26_analysis.disc_title == "TEST DISC 26" diff --git a/tests/test_disc27_scan.py b/tests/test_disc27_scan.py new file mode 100644 index 0000000..71d7f51 --- /dev/null +++ b/tests/test_disc27_scan.py @@ -0,0 +1,49 @@ +"""Integration tests for the disc27 fixture — 3-episode OVA disc with commentary + extras.""" + +from __future__ import annotations + +import pytest + +from bdpl.model import DiscAnalysis + +pytestmark = pytest.mark.integration + + +class TestDisc27Episodes: + def test_episode_count(self, disc27_analysis: DiscAnalysis) -> None: + assert len(disc27_analysis.episodes) == 3 + + def test_episodes_are_ordered(self, disc27_analysis: DiscAnalysis) -> None: + assert [ep.episode for ep in disc27_analysis.episodes] == list(range(1, 4)) + + def test_episode_playlists(self, disc27_analysis: DiscAnalysis) -> None: + assert [ep.playlist for ep in disc27_analysis.episodes] == [ + "00002.mpls", + "00003.mpls", + "00004.mpls", + ] + + def test_episode_durations(self, disc27_analysis: DiscAnalysis) -> None: + for ep in disc27_analysis.episodes: + dur_min = ep.duration_ms / 60000 + assert 26 < dur_min < 31, f"ep{ep.episode} duration {dur_min:.1f}min out of range" + + +class TestDisc27Specials: + def test_special_count(self, disc27_analysis: DiscAnalysis) -> None: + assert len(disc27_analysis.special_features) == 15 + + def test_has_commentary(self, disc27_analysis: DiscAnalysis) -> None: + commentary = [sf for sf in disc27_analysis.special_features if sf.category == "commentary"] + assert len(commentary) == 2 + + def test_has_creditless_ed(self, disc27_analysis: DiscAnalysis) -> None: + creditless = [ + sf for sf in disc27_analysis.special_features if sf.category == "creditless_ed" + ] + assert len(creditless) == 6 + + +class TestDisc27Metadata: + def test_disc_title(self, disc27_analysis: DiscAnalysis) -> None: + assert disc27_analysis.disc_title == "TEST DISC 27" diff --git a/tests/test_disc28_scan.py b/tests/test_disc28_scan.py new file mode 100644 index 0000000..98e23a4 --- /dev/null +++ b/tests/test_disc28_scan.py @@ -0,0 +1,49 @@ +"""Integration tests for the disc28 fixture — 3-episode OVA disc with creditless + extras.""" + +from __future__ import annotations + +import pytest + +from bdpl.model import DiscAnalysis + +pytestmark = pytest.mark.integration + + +class TestDisc28Episodes: + def test_episode_count(self, disc28_analysis: DiscAnalysis) -> None: + assert len(disc28_analysis.episodes) == 3 + + def test_episodes_are_ordered(self, disc28_analysis: DiscAnalysis) -> None: + assert [ep.episode for ep in disc28_analysis.episodes] == list(range(1, 4)) + + def test_episode_playlists(self, disc28_analysis: DiscAnalysis) -> None: + assert [ep.playlist for ep in disc28_analysis.episodes] == [ + "00002.mpls", + "00003.mpls", + "00004.mpls", + ] + + def test_episode_durations(self, disc28_analysis: DiscAnalysis) -> None: + for ep in disc28_analysis.episodes: + dur_min = ep.duration_ms / 60000 + assert 25 < dur_min < 33, f"ep{ep.episode} duration {dur_min:.1f}min out of range" + + +class TestDisc28Specials: + def test_special_count(self, disc28_analysis: DiscAnalysis) -> None: + assert len(disc28_analysis.special_features) == 13 + + def test_has_commentary(self, disc28_analysis: DiscAnalysis) -> None: + commentary = [sf for sf in disc28_analysis.special_features if sf.category == "commentary"] + assert len(commentary) == 2 + + def test_has_creditless_ed(self, disc28_analysis: DiscAnalysis) -> None: + creditless = [ + sf for sf in disc28_analysis.special_features if sf.category == "creditless_ed" + ] + assert len(creditless) == 7 + + +class TestDisc28Metadata: + def test_disc_title(self, disc28_analysis: DiscAnalysis) -> None: + assert disc28_analysis.disc_title == "TEST DISC 28" diff --git a/tests/test_disc29_scan.py b/tests/test_disc29_scan.py new file mode 100644 index 0000000..b604577 --- /dev/null +++ b/tests/test_disc29_scan.py @@ -0,0 +1,35 @@ +"""Integration tests for the disc29 fixture — special disc with OVA + digital archives.""" + +from __future__ import annotations + +import pytest + +from bdpl.model import DiscAnalysis + +pytestmark = pytest.mark.integration + + +class TestDisc29Episodes: + def test_episode_count(self, disc29_analysis: DiscAnalysis) -> None: + assert len(disc29_analysis.episodes) == 1 + + def test_episode_playlist(self, disc29_analysis: DiscAnalysis) -> None: + assert disc29_analysis.episodes[0].playlist == "00002.mpls" + + def test_episode_duration(self, disc29_analysis: DiscAnalysis) -> None: + dur_min = disc29_analysis.episodes[0].duration_ms / 60000 + assert 43 < dur_min < 45, f"OVA duration {dur_min:.1f}min, expected ~44min" + + +class TestDisc29Specials: + def test_special_feature_count(self, disc29_analysis: DiscAnalysis) -> None: + assert len(disc29_analysis.special_features) == 3 + + def test_all_digital_archives(self, disc29_analysis: DiscAnalysis) -> None: + for sf in disc29_analysis.special_features: + assert sf.category == "digital_archive" + + +class TestDisc29Metadata: + def test_disc_title(self, disc29_analysis: DiscAnalysis) -> None: + assert disc29_analysis.disc_title == "TEST DISC 29" diff --git a/tests/test_disc_matrix.py b/tests/test_disc_matrix.py index 3606d2d..e9c560b 100644 --- a/tests/test_disc_matrix.py +++ b/tests/test_disc_matrix.py @@ -36,6 +36,10 @@ ("disc23_analysis", 5, ["00002.mpls"] * 5), ("disc24_analysis", 3, ["00002.mpls"] * 3), ("disc25_analysis", 1, ["00002.mpls"]), + ("disc26_analysis", 3, ["00002.mpls", "00003.mpls", "00004.mpls"]), + ("disc27_analysis", 3, ["00002.mpls", "00003.mpls", "00004.mpls"]), + ("disc28_analysis", 3, ["00002.mpls", "00003.mpls", "00004.mpls"]), + ("disc29_analysis", 1, ["00002.mpls"]), ], ) def test_disc_episode_expectation_matrix( @@ -77,6 +81,10 @@ def test_disc_episode_expectation_matrix( ("disc23_analysis", 0, 0), # chapter-split disc with no extras ("disc24_analysis", 8, 8), # 1 extra + 3 commentary + 4 creditless ED ("disc25_analysis", 1, 1), # 1 digital archive + ("disc26_analysis", 15, 15), # 2 commentary + 4 creditless_ed + 9 extra + ("disc27_analysis", 15, 15), # 2 commentary + 6 creditless_ed + 7 extra + ("disc28_analysis", 13, 13), # 2 commentary + 7 creditless_ed + 4 extra + ("disc29_analysis", 3, 3), # 3 digital archives ], ) def test_disc_special_visibility_expectation_matrix( @@ -122,6 +130,10 @@ def test_disc_special_visibility_expectation_matrix( "disc23_analysis", "disc24_analysis", "disc25_analysis", + "disc26_analysis", + "disc27_analysis", + "disc28_analysis", + "disc29_analysis", ], ) def test_disc_episode_segment_boundaries_matrix( @@ -171,6 +183,10 @@ def test_disc_episode_segment_boundaries_matrix( "disc23_analysis", "disc24_analysis", "disc25_analysis", + "disc26_analysis", + "disc27_analysis", + "disc28_analysis", + "disc29_analysis", ], ) def test_disc_special_boundary_semantics_matrix( @@ -227,6 +243,10 @@ def test_disc_special_boundary_semantics_matrix( ("disc23_analysis", 0), ("disc24_analysis", 0), ("disc25_analysis", 0), + ("disc26_analysis", 0), + ("disc27_analysis", 0), + ("disc28_analysis", 0), + ("disc29_analysis", 0), ], ) def test_disc_special_chapter_split_expectation_matrix( @@ -266,6 +286,10 @@ def test_disc_special_chapter_split_expectation_matrix( ("disc23_analysis", "TEST DISC 23"), ("disc24_analysis", "TEST DISC 24"), ("disc25_analysis", "TEST DISC 25"), + ("disc26_analysis", "TEST DISC 26"), + ("disc27_analysis", "TEST DISC 27"), + ("disc28_analysis", "TEST DISC 28"), + ("disc29_analysis", "TEST DISC 29"), ], ) def test_disc_title_extraction_matrix( From 6d0e58cce54da3089e5647115533eca81d8df297 Mon Sep 17 00:00:00 2001 From: Benjamin Date: Sun, 1 Mar 2026 20:12:55 +1000 Subject: [PATCH 2/2] fix: eliminate false commentary and bumper special detection MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two structural fixes to _detect_special_features(): 1. All-episodes-page detection: extend chapter_selection_jt to include JumpTitle values from IG pages where ALL button targets resolve to episode playlists. Previously only single-JT pages were recognized, causing buttons on multi-episode selection pages (disc8, disc26-28) to be falsely flagged as commentary. 2. Navigation playlist filtering: enhance _nav_playlists_from_hints() to follow one level of JumpTitle indirection from first_playback MO. Disc intros (e.g. 00001.mpls on disc26-28) played via first_playback → JumpTitle → MO → PlayPl chain are now correctly identified as navigation playlists and excluded from title-hint supplementation. Also adds obj_jump_titles to MO hints for JumpTitle chain resolution. Affected disc counts: - disc8: 3 → 1 specials (removed 2 false commentary) - disc26: 15 → 12 specials (removed 2 false commentary + 1 bumper) - disc27: 15 → 12 specials (removed 2 false commentary + 1 bumper) - disc28: 13 → 10 specials (removed 2 false commentary + 1 bumper) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- bdpl/analyze/__init__.py | 46 +++++++++++++++++++++++++++++++++++---- tests/test_disc26_scan.py | 6 ++--- tests/test_disc27_scan.py | 6 ++--- tests/test_disc28_scan.py | 6 ++--- tests/test_disc8_scan.py | 27 ++++++++--------------- tests/test_disc_matrix.py | 8 +++---- 6 files changed, 64 insertions(+), 35 deletions(-) diff --git a/bdpl/analyze/__init__.py b/bdpl/analyze/__init__.py index b90bcc0..dabdd34 100644 --- a/bdpl/analyze/__init__.py +++ b/bdpl/analyze/__init__.py @@ -85,6 +85,7 @@ def _parse_disc_hints(bdmv_path: Path, clips: dict[str, ClipInfo] | None = None) # Build title → playlist mapping via index titles → movie objects obj_playlists: dict[int, list[int]] = {} obj_play_marks: dict[int, list[tuple[int, int]]] = {} + obj_jump_titles: dict[int, list[int]] = {} for obj in mo.objects: if obj.referenced_playlists: obj_playlists[obj.object_id] = obj.referenced_playlists @@ -96,10 +97,14 @@ def _parse_disc_hints(bdmv_path: Path, clips: dict[str, ClipInfo] | None = None) ] if marks: obj_play_marks[obj.object_id] = marks + jts = obj.referenced_titles + if jts: + obj_jump_titles[obj.object_id] = jts hints["movie_objects"] = { "count": len(mo.objects), "obj_playlists": obj_playlists, "obj_play_marks": obj_play_marks, + "obj_jump_titles": obj_jump_titles, } except Exception: log.debug("Failed to parse MovieObject.bdmv", exc_info=True) @@ -289,6 +294,16 @@ def _detect_special_features( # All buttons on this page target the same title — this is # either the main-play page or a chapter-selection page. chapter_selection_jt.update(jts) + continue + # A page where every button targets an episode playlist is an + # episode-selection page (e.g. per-episode CHAPTER menu). + all_episode = all( + title_to_mpls.get(jt_val - 1) in ep_playlists + for jt_val in jts + if title_to_mpls.get(jt_val - 1) is not None + ) + if all_episode: + chapter_selection_jt.update(jts) # --- Walk IG hints and build features ----------------------------------- seen: set[tuple[str, int | None]] = set() @@ -373,9 +388,12 @@ def _detect_special_features( # Supplement with title-hint specials not already covered by IG buttons. title_hint_entries = _title_hint_non_episode_entries(hints, classifications, episodes) existing_keys = {(feature.playlist, feature.chapter_start) for feature in features} + nav_playlists = _nav_playlists_from_hints(hints) for mpls, chapter_starts in title_hint_entries: if mpls in variant_mpls: continue + if mpls in nav_playlists: + continue pl = pl_by_name.get(mpls) if pl is None: continue @@ -477,15 +495,35 @@ def _nav_playlists_from_hints(hints: dict) -> set[str]: These are navigation playlists (disc intro, menu background) and should not be treated as special features. + + Follows one level of JumpTitle indirection: if the first_playback MO + jumps to a title whose MO plays a playlist, that playlist is included. """ index_hints = hints.get("index", {}) - obj_pl = hints.get("movie_objects", {}).get("obj_playlists", {}) + mo_hints = hints.get("movie_objects", {}) + obj_pl = mo_hints.get("obj_playlists", {}) + obj_jt = mo_hints.get("obj_jump_titles", {}) nav: set[str] = set() + + # Build title → movie_object map for JumpTitle resolution. + title_to_obj: dict[int, int] = { + entry["title"]: entry["movie_object"] for entry in index_hints.get("titles", []) + } + for key in ("first_playback_obj", "top_menu_obj"): obj_id = index_hints.get(key) - if obj_id is not None: - for pl_num in obj_pl.get(obj_id, []): - nav.add(f"{pl_num:05d}.mpls") + if obj_id is None: + continue + # Direct PlayPl commands. + for pl_num in obj_pl.get(obj_id, []): + nav.add(f"{pl_num:05d}.mpls") + # Follow JumpTitle → title → MO → PlayPl (one level). + for jt_num in obj_jt.get(obj_id, []): + title_idx = jt_num - 1 # JumpTitle operand is 1-based + target_obj = title_to_obj.get(title_idx) + if target_obj is not None: + for pl_num in obj_pl.get(target_obj, []): + nav.add(f"{pl_num:05d}.mpls") return nav diff --git a/tests/test_disc26_scan.py b/tests/test_disc26_scan.py index c7c844d..b51fcbe 100644 --- a/tests/test_disc26_scan.py +++ b/tests/test_disc26_scan.py @@ -31,11 +31,11 @@ def test_episode_durations(self, disc26_analysis: DiscAnalysis) -> None: class TestDisc26Specials: def test_special_count(self, disc26_analysis: DiscAnalysis) -> None: - assert len(disc26_analysis.special_features) == 15 + assert len(disc26_analysis.special_features) == 12 - def test_has_commentary(self, disc26_analysis: DiscAnalysis) -> None: + def test_no_commentary(self, disc26_analysis: DiscAnalysis) -> None: commentary = [sf for sf in disc26_analysis.special_features if sf.category == "commentary"] - assert len(commentary) == 2 + assert len(commentary) == 0 def test_has_creditless_ed(self, disc26_analysis: DiscAnalysis) -> None: creditless = [ diff --git a/tests/test_disc27_scan.py b/tests/test_disc27_scan.py index 71d7f51..7ec0db4 100644 --- a/tests/test_disc27_scan.py +++ b/tests/test_disc27_scan.py @@ -31,11 +31,11 @@ def test_episode_durations(self, disc27_analysis: DiscAnalysis) -> None: class TestDisc27Specials: def test_special_count(self, disc27_analysis: DiscAnalysis) -> None: - assert len(disc27_analysis.special_features) == 15 + assert len(disc27_analysis.special_features) == 12 - def test_has_commentary(self, disc27_analysis: DiscAnalysis) -> None: + def test_no_commentary(self, disc27_analysis: DiscAnalysis) -> None: commentary = [sf for sf in disc27_analysis.special_features if sf.category == "commentary"] - assert len(commentary) == 2 + assert len(commentary) == 0 def test_has_creditless_ed(self, disc27_analysis: DiscAnalysis) -> None: creditless = [ diff --git a/tests/test_disc28_scan.py b/tests/test_disc28_scan.py index 98e23a4..eae2719 100644 --- a/tests/test_disc28_scan.py +++ b/tests/test_disc28_scan.py @@ -31,11 +31,11 @@ def test_episode_durations(self, disc28_analysis: DiscAnalysis) -> None: class TestDisc28Specials: def test_special_count(self, disc28_analysis: DiscAnalysis) -> None: - assert len(disc28_analysis.special_features) == 13 + assert len(disc28_analysis.special_features) == 10 - def test_has_commentary(self, disc28_analysis: DiscAnalysis) -> None: + def test_no_commentary(self, disc28_analysis: DiscAnalysis) -> None: commentary = [sf for sf in disc28_analysis.special_features if sf.category == "commentary"] - assert len(commentary) == 2 + assert len(commentary) == 0 def test_has_creditless_ed(self, disc28_analysis: DiscAnalysis) -> None: creditless = [ diff --git a/tests/test_disc8_scan.py b/tests/test_disc8_scan.py index 6d0b3c3..cede59e 100644 --- a/tests/test_disc8_scan.py +++ b/tests/test_disc8_scan.py @@ -5,10 +5,12 @@ - Episode 1 (00003.mpls, clip 00006): ~54 min, 4 scenes - Episode 2 (00004.mpls, clips 00007+00010): ~60 min, 4 scenes -Three specials are detected via IG menu analysis: -- 2 commentary tracks (JumpTitle to episode playlists from special feature pages) +One special is detected via IG menu analysis: - 1 lyrics credit ending (00005.mpls, ~5.2 min; 00006.mpls is a stream variant with different audio and is automatically excluded) + +The IG episode-selection page (page 4) targets both episode playlists; +these are correctly identified as navigation buttons, not commentary. """ import pytest @@ -46,27 +48,16 @@ def test_episode_durations_reasonable(self, disc8_analysis: DiscAnalysis) -> Non class TestDisc8Specials: def test_special_count(self, disc8_analysis: DiscAnalysis) -> None: - """Disc8 should have 3 specials (2 commentary + 1 lyrics ending).""" - assert len(disc8_analysis.special_features) == 3 - - def test_commentaries_detected(self, disc8_analysis: DiscAnalysis) -> None: - """Two commentary specials should reference the episode playlists.""" - commentaries = [sf for sf in disc8_analysis.special_features if sf.category == "commentary"] - assert len(commentaries) == 2 - assert {c.playlist for c in commentaries} == {"00003.mpls", "00004.mpls"} + """Disc8 should have 1 special (lyrics ending).""" + assert len(disc8_analysis.special_features) == 1 def test_lyrics_ending_detected(self, disc8_analysis: DiscAnalysis) -> None: - """One non-commentary special (lyrics credit ending) on 00005.mpls.""" - non_commentary = [ - sf for sf in disc8_analysis.special_features if sf.category != "commentary" - ] - assert len(non_commentary) == 1 - assert non_commentary[0].playlist == "00005.mpls" + """One special (lyrics credit ending) on 00005.mpls.""" + assert disc8_analysis.special_features[0].playlist == "00005.mpls" def test_specials_are_short(self, disc8_analysis: DiscAnalysis) -> None: """The lyrics ending special should be ~4–6 min.""" - lyrics = [sf for sf in disc8_analysis.special_features if sf.category != "commentary"] - for sf in lyrics: + for sf in disc8_analysis.special_features: dur_min = sf.duration_ms / 60_000 assert 4 < dur_min < 7, f"Special {sf.playlist} duration {dur_min:.1f}min out of range" diff --git a/tests/test_disc_matrix.py b/tests/test_disc_matrix.py index e9c560b..eac5a0f 100644 --- a/tests/test_disc_matrix.py +++ b/tests/test_disc_matrix.py @@ -64,7 +64,7 @@ def test_disc_episode_expectation_matrix( ("disc5_analysis", 14, 11), # 14 IG-derived, 11 visible content buttons ("disc6_analysis", 3, 3), # 3 title-hint specials ("disc7_analysis", 2, 2), # 2 title-hint specials (stream variants) - ("disc8_analysis", 3, 3), # 2 commentaries + 1 lyrics ending + ("disc8_analysis", 1, 1), # 1 lyrics ending ("disc9_analysis", 1, 1), # alt-audio variant detected as special ("disc10_analysis", 3, 3), # 3 commentaries (play_all-only episodes) ("disc11_analysis", 1, 1), # 1 short extra @@ -81,9 +81,9 @@ def test_disc_episode_expectation_matrix( ("disc23_analysis", 0, 0), # chapter-split disc with no extras ("disc24_analysis", 8, 8), # 1 extra + 3 commentary + 4 creditless ED ("disc25_analysis", 1, 1), # 1 digital archive - ("disc26_analysis", 15, 15), # 2 commentary + 4 creditless_ed + 9 extra - ("disc27_analysis", 15, 15), # 2 commentary + 6 creditless_ed + 7 extra - ("disc28_analysis", 13, 13), # 2 commentary + 7 creditless_ed + 4 extra + ("disc26_analysis", 12, 12), # 4 creditless_ed + 8 extra + ("disc27_analysis", 12, 12), # 6 creditless_ed + 6 extra + ("disc28_analysis", 10, 10), # 7 creditless_ed + 3 extra ("disc29_analysis", 3, 3), # 3 digital archives ], )