Commit fee1e87

Nick Faro committed on
Pattern looping, new icons
commit fee1e872b6eb0e3f53c95170196aa8a373453c3e parent 44d6246
3 changed files +380−318
Modifiedconstants.pas +1−0
@@ -27,6 +27,7 @@ const
27 SYM_ROW_BREAK = 'row_break'; 27 SYM_ROW_BREAK = 'row_break';
28 SYM_TICKS_PER_ROW = 'ticks_per_row'; 28 SYM_TICKS_PER_ROW = 'ticks_per_row';
29 SYM_ORDER_COUNT = 'order_cnt'; 29 SYM_ORDER_COUNT = 'order_cnt';
30 SYM_LOOP_ORDER = 'loop_order';
30 31
31 SYM_HALT_INSTR = 'instrument'; 32 SYM_HALT_INSTR = 'instrument';
32 SYM_HALT_PERIOD = 'channel_period'; 33 SYM_HALT_PERIOD = 'channel_period';
Modifiedtracker.lfm +368−309
@@ -1,7 +1,7 @@
1 object frmTracker: TfrmTracker 1 object frmTracker: TfrmTracker
2 Left = 1359 2 Left = 1848
3 Height = 857 3 Height = 857
4 Top = 195 4 Top = 233
5 Width = 1318 5 Width = 1318
6 AllowDropFiles = True 6 AllowDropFiles = True
7 Caption = 'hUGETracker' 7 Caption = 'hUGETracker'
@@ -62,10 +62,10 @@ object frmTracker: TfrmTracker
62 Height = 725 62 Height = 725
63 Top = 0 63 Top = 0
64 Width = 1120 64 Width = 1120
65 ActivePage = InstrumentTabSheet 65 ActivePage = CommentsTabSheet
66 Align = alClient 66 Align = alClient
67 ParentFont = False 67 ParentFont = False
68 TabIndex = 2 68 TabIndex = 4
69 TabOrder = 0 69 TabOrder = 0
70 object GeneralTabSheet: TTabSheet 70 object GeneralTabSheet: TTabSheet
71 Caption = 'General' 71 Caption = 'General'
@@ -1855,7 +1855,7 @@ object frmTracker: TfrmTracker
1855 ParentShowHint = False 1855 ParentShowHint = False
1856 end 1856 end
1857 object PanicToolButton: TToolButton 1857 object PanicToolButton: TToolButton
1858 Left = 551 1858 Left = 458
1859 Hint = 'Stops all sound output' 1859 Hint = 'Stops all sound output'
1860 Top = 0 1860 Top = 0
1861 AutoSize = True 1861 AutoSize = True
@@ -1866,17 +1866,17 @@ object frmTracker: TfrmTracker
1866 ShowHint = True 1866 ShowHint = True
1867 end 1867 end
1868 object ToolButton2: TToolButton 1868 object ToolButton2: TToolButton
1869 Left = 147 1869 Left = 110
1870 Top = 0 1870 Top = 0
1871 Action = PlayCursorAction 1871 Action = PlayCursorAction
1872 end 1872 end
1873 object ToolButton4: TToolButton 1873 object ToolButton4: TToolButton
1874 Left = 221 1874 Left = 136
1875 Top = 0 1875 Top = 0
1876 Action = StopAction 1876 Action = StopAction
1877 end 1877 end
1878 object ExportGBButton: TToolButton 1878 object ExportGBButton: TToolButton
1879 Left = 291 1879 Left = 198
1880 Hint = 'Export the song as a standalone ROM' 1880 Hint = 'Export the song as a standalone ROM'
1881 Top = 0 1881 Top = 0
1882 AutoSize = True 1882 AutoSize = True
@@ -1892,21 +1892,21 @@ object frmTracker: TfrmTracker
1892 Style = tbsDivider 1892 Style = tbsDivider
1893 end 1893 end
1894 object ToolButton6: TToolButton 1894 object ToolButton6: TToolButton
1895 Left = 286 1895 Left = 162
1896 Height = 22 1896 Height = 22
1897 Top = 0 1897 Top = 0
1898 Caption = 'ToolButton6' 1898 Caption = 'ToolButton6'
1899 Style = tbsDivider 1899 Style = tbsDivider
1900 end 1900 end
1901 object ToolButton7: TToolButton 1901 object ToolButton7: TToolButton
1902 Left = 1091 1902 Left = 998
1903 Height = 22 1903 Height = 22
1904 Top = 0 1904 Top = 0
1905 Caption = 'ToolButton7' 1905 Caption = 'ToolButton7'
1906 Style = tbsSeparator 1906 Style = tbsSeparator
1907 end 1907 end
1908 object OctaveSpinEdit: TSpinEdit 1908 object OctaveSpinEdit: TSpinEdit
1909 Left = 657 1909 Left = 564
1910 Height = 23 1910 Height = 23
1911 Hint = 'The octave offset for entering new notes' 1911 Hint = 'The octave offset for entering new notes'
1912 Top = 0 1912 Top = 0
@@ -1917,14 +1917,14 @@ object frmTracker: TfrmTracker
1917 TabOrder = 0 1917 TabOrder = 0
1918 end 1918 end
1919 object ToolButton9: TToolButton 1919 object ToolButton9: TToolButton
1920 Left = 606 1920 Left = 513
1921 Height = 22 1921 Height = 22
1922 Top = 0 1922 Top = 0
1923 Caption = 'ToolButton9' 1923 Caption = 'ToolButton9'
1924 Style = tbsSeparator 1924 Style = tbsSeparator
1925 end 1925 end
1926 object Label22: TLabel 1926 object Label22: TLabel
1927 Left = 614 1927 Left = 521
1928 Height = 22 1928 Height = 22
1929 Top = 0 1929 Top = 0
1930 Width = 43 1930 Width = 43
@@ -1935,7 +1935,7 @@ object frmTracker: TfrmTracker
1935 ParentFont = False 1935 ParentFont = False
1936 end 1936 end
1937 object Label23: TLabel 1937 object Label23: TLabel
1938 Left = 722 1938 Left = 629
1939 Height = 22 1939 Height = 22
1940 Top = 0 1940 Top = 0
1941 Width = 70 1941 Width = 70
@@ -1946,7 +1946,7 @@ object frmTracker: TfrmTracker
1946 ParentFont = False 1946 ParentFont = False
1947 end 1947 end
1948 object InstrumentComboBox: TComboBox 1948 object InstrumentComboBox: TComboBox
1949 Left = 792 1949 Left = 699
1950 Height = 23 1950 Height = 23
1951 Hint = 'The selected instrument for new notes' 1951 Hint = 'The selected instrument for new notes'
1952 Top = 0 1952 Top = 0
@@ -1964,7 +1964,7 @@ object frmTracker: TfrmTracker
1964 Text = '(no instrument)' 1964 Text = '(no instrument)'
1965 end 1965 end
1966 object Label24: TLabel 1966 object Label24: TLabel
1967 Left = 1006 1967 Left = 913
1968 Height = 22 1968 Height = 22
1969 Top = 0 1969 Top = 0
1970 Width = 35 1970 Width = 35
@@ -1975,7 +1975,7 @@ object frmTracker: TfrmTracker
1975 ParentFont = False 1975 ParentFont = False
1976 end 1976 end
1977 object StepSpinEdit: TSpinEdit 1977 object StepSpinEdit: TSpinEdit
1978 Left = 1041 1978 Left = 948
1979 Height = 23 1979 Height = 23
1980 Hint = 'How many rows to step down after entering a new note' 1980 Hint = 'How many rows to step down after entering a new note'
1981 Top = 0 1981 Top = 0
@@ -1991,7 +1991,7 @@ object frmTracker: TfrmTracker
1991 Action = PlayStartAction 1991 Action = PlayStartAction
1992 end 1992 end
1993 object ExportGBSButton: TToolButton 1993 object ExportGBSButton: TToolButton
1994 Left = 369 1994 Left = 276
1995 Hint = 'Export the song as a GBS soundtrack' 1995 Hint = 'Export the song as a GBS soundtrack'
1996 Top = 0 1996 Top = 0
1997 Caption = 'Export GBS' 1997 Caption = 'Export GBS'
@@ -1999,20 +1999,34 @@ object frmTracker: TfrmTracker
1999 OnClick = ExportGBSButtonClick 1999 OnClick = ExportGBSButtonClick
2000 end 2000 end
2001 object ToolButton5: TToolButton 2001 object ToolButton5: TToolButton
2002 Left = 546 2002 Left = 453
2003 Height = 22 2003 Height = 22
2004 Top = 0 2004 Top = 0
2005 Caption = 'ToolButton5' 2005 Caption = 'ToolButton5'
2006 Style = tbsDivider 2006 Style = tbsDivider
2007 end 2007 end
2008 object ToolButton10: TToolButton 2008 object ToolButton10: TToolButton
2009 Left = 453 2009 Left = 360
2010 Hint = 'Export the song as WAV or MP3' 2010 Hint = 'Export the song as WAV or MP3'
2011 Top = 0 2011 Top = 0
2012 Caption = 'Render Song' 2012 Caption = 'Render Song'
2013 ImageIndex = 77 2013 ImageIndex = 77
2014 OnClick = ToolButton10Click 2014 OnClick = ToolButton10Click
2015 end 2015 end
2016 object ToolButton11: TToolButton
2017 Left = 193
2018 Height = 22
2019 Top = 0
2020 Caption = 'ToolButton11'
2021 Style = tbsDivider
2022 end
2023 object LoopSongToolButton: TToolButton
2024 Left = 167
2025 Top = 0
2026 ImageIndex = 87
2027 OnClick = LoopSongToolButtonClick
2028 Style = tbsCheck
2029 end
2016 end 2030 end
2017 object MainMenu1: TMainMenu 2031 object MainMenu1: TMainMenu
2018 Images = ImageList1 2032 Images = ImageList1
@@ -2287,287 +2301,336 @@ object frmTracker: TfrmTracker
2287 Left = 152 2301 Left = 152
2288 Top = 32 2302 Top = 32
2289 Bitmap = { 2303 Bitmap = {
2290 4C7A570000001000000010000000F82200000000000078DAED5D077C1645DA9F 2304 4C7A5C0000001000000010000000132900000000000078DAED5D077C1545FE9F
2291 144F3FFB89ED3CEFE43E4FBFF3103C054F3C0E08A0281E8A0D14051514144514 2305 24A89CA2A814B1DC5FEE3C3D15C1029E200A51BA078228081A44AAC22145448A
2292 95A308B228108A520321842E90D08420224DA982C00B862AA12574081D432FCF 2306 208B02A1283594D07B470825845E058107862A01420284167A2724F0FBCF6FF2
2293 37CFE4DD37B3FBCEECCEECBE2421BC9BDF3FB3EFCEFC9F67FACECC4E21A4D85C 2307 F631BB6F767776F71142789BCF37F37666BEF39BDE760A21D9E6011D6C9BF10F
2294 6083B61D7F71EE44CF2DF6F3E6CD0BF17959766E813D48F9763DB27B55FD22B9 2308 674FA4AF315FB56A958FCFBBA5E7DE320743BE5E8ED16F59F92277F5E10BA47C
2295 F6F04552BF4C86E599837EB5F8235AFE0F0FBF986FCF0B92300BF51B866101EF 2309 2337347A26F2E5E28FD8F2BF7FF8C57C7D5E3008B350BEA2281AF0F6F4669C3C
2296 CE6EC7E9230EB25550D22F3F610597DFAA7CD0E443941FE5BBDC4B2FAEEEB0C8 2310 62E2B60C72FAE326AC60F12ECB079B7C08F2837C8BDF860F577768DCF4EA139B
2297 0C3E279A3240975B8CDEDFA0C535EB77CE5494E1B7EE0DD3AB64F2F94A60E726 2311 6E805D6E366ABFC11657ADDF3955D20DB775AF9F5C2995CF5702332B37F4FD13
2298 C3DE3E2182F7A3B67E4138B5F573EFF82209BFC3FB5A59BF82E9A45F3BFDA3EF 2312 22681F6DCB1784D3B67CAE8DBF23E13769AFA5E54BA866F26DA77FB0FDB76AEF
2299 7FB7F7BD6A98ED71EBF63C92FAA5ED43C57493B66F25CFFDD66116AE4CB74B1B 2313 65C3AC8F5B2BFD40CA37EC1F4AA69B61FFD640DF6D1DA6E11AC9B6E803DF4E3E
2300 F862F24187EFC75E217EFDA60F718B2315FE65D8FEBF94EB2FAFE9252DA31EDA 2314 D8E1BB3197885FB7E943ACE248867F0FF6FFEFE6FACB697A19965107FD993BCD
2301 3345CDBFDCC27FB9F7D78B6BB92BACF428EE7AA3E12F99E18F5E4EE3213806C2 2315 BFD7C27FAF8FD7B36BB9CBAAF4C8EE7283E1CF99E10F3E66F3213807C2C10D5F
2302 C10F5FC59D57FD4E7C277B373B1D3F5EAA7C1519AAF66E69A893D7BCE63DBF79 2316 C69E53F9667C33732B333B7EBC5BF9326EC89A5BA5A19DBCE634EFB9CDB3F742
2303 F67228CB7EF87EF4F3A67DDC95FBFEA32CCBE44ABE3F2AF35521F2B7EA4504E3 2317 5976C377239F57F5F3AEDCF71F69B754AEC1F74769BE2C44FE967D88607EDAF7
2304 D3A16F5AD4DECD94F155B8CC2CA9FA75E0FE7D3BDA06894CBB8D1452FC45F547 2318 4D8B9A5BA9467C192E5373AA7C3BB0FEBE1DEC8304A6DF46B228FE82F283F2EF
2305 F517A5FE925A7695F80E734C3CF341E3FBA368DE8B46FB51F89E3604CF253284 2319 A4FC9C5A76A5F8266B4C1CF3C1C6F747D1BA171BFD47613BAD08F40DDC10CEAF
2306 E3EB32BE69AAEAE7C325098BB27EBB7C1DFDC4F63DC170295F1AFAA56D3345FD 2320 1BF15555563E1F2E83B048CBD7BB6F473ED17D4F502CCA970DF9867D3349F9A6
2307 8E7C3FFA23D51729A232EDF4FB52E083E0DE8B1F2002F562A4D241B79FE4AB9F 2321 7C37F2033516B94365DAECFD6EE083E0B7133F4000EAC540A583DD7192AB719A
2308 E6A5BF67776FE923299419A77E5E51F075FBAC97E8784144E6E0E85C22BE6AFF 2322 93F19EDEBE668C245166CCC67977826F77CC7A97CE1704640D8E9D47C4971D7F
2309 4BC6F7AB9FEFA33BFD8EEABFB4F48B1A6B4E7C95066331EA03F81D73706DA718 2323 19F1DDCAE7C7E866EF41F977977C5167CD8C2FD361CC466300B7730E96FD14C5
2310 9A7CDD7A04C766203846E3D6FE16E931F306AD7D83D0E3E7CF07CFE7F2FD07BB 2324 26DF6E3D827333E09DA3B1EA7F8BE4A87983D6BE5ED8E367AE07CFE4F2E307BD
2311 BF44FE94E92F706384C194A1ABDF74A3A35FC6B5EBB787CB8DEBB22EC1A6C71A 2325 BF44FE34927FCB8EE207D50DBBF2553B76E41B71F5F2F5E1B2E25AEC4BD0C9D1
2312 6E5DFD6EF12FCB538AF6D23EA1A2FE8B51262FF57100AF6D7C9D797E2AF1AEC3 2326 86DBAE7CABF837CA5392E686634249F9B7A34CDEEDF3004EFBF876D6F9C9C4BB
2313 750B8BFE9C68FF691D29AE1FBF4722EE5465A8A6BF97B4779351D8FDB5923A86 2327 1DAE5558ECAF89769FD681E2BAF17B20E24ED60DD9F47792F6566E64F5782DA7
2314 E836861AA9B8D61A6BB9986330867CAE5AA1853FAAFFF2D51FF287C2B766272E 2328 CE215ACDA1062AAE6DCDB5DCCE3918C578AD5A96853F28FFDE95EFF387C4B766
2315 986326AC9F4DF2A1F21DBCA04F46EF83EE4DBE8B8C509F2ED48ECDE70417E986 2329 332EA873266C9C4D3221F31DFCD6988CFEF6DA57F9166EF8C674BE7E6C26C7BB
2316 64C8C2C2FB9B705CDE74F243886F84C322C7856FF76F81BF2D7CE1B7E7109787 2330 49D7E7865158787F138ECBAB667EF0F1157F68DCB1E0EBFD7BCBDF1ABEF0DBB3
2317 61D56D0BBF656C32B4DE4C610D8EC3BB586BCD8D509EFA9A1BF9771887B550AE 2331 8FCB43D1CAD6855F3337E9DB6F26B107C7A42DB6B5E746E89EFC9E1BE3EF3026
2318 E1E1B91EBEE1FBE016C489372E213EFB0B090909861B9CCAB0D9A7915D685FBA 2332 7BA12CC3C3731D7CC377C1BD1527CEB884B81C2F8487872B56302BC3EA98C6E8
2319 74E979AAFC9C9C9C104CBE930C15FD4EFE30ED333333994ED334EF111F7EF821 2333 41F3C2850BAF92E5272727FBA0F2CDDC90916FE60FD53C3E3E9EC95455F537A2
2320 2B4768E657DBEA7CD334C326E39BE1354DD13327BE5FFD51FFFBF33F9F6F4590 2334 75EBD6AC1CA19A596DCBF355550D9B115F0DAFAA8AF4CCF86EE507FDEFCEFF7C
2321 F1A74C99E2CAE5C363E7077FEB20E112F98EA0CE2D496B88EDDFC135D7B01A41 2335 BE15C1883F77EE5C4B2E1F1E3DDFFB6E07E177C97704796E4EDA43ACFF0E6E73
2322 99765347BFA59FA3A19FE7897E5F6CFD910ABF9FF8BF4CD710FBFD6EEE870F92 2336 0FABE27553AFDA91AF19E7D890CFF344EFB75B7EA0C2EF26FEEFD13DC46EBF9B
2323 7D132255FE55BFF583C33355BFCB9EE98E7B1516BF502FBFE32E86CB1A049919 2337 BBE183C1B909812AFFB2DFFAC1444FD6EF467A76E7BDB28A9FA58FDB7917C562
2324 A9F11F234273D82F6A1CFBDB83C4292F79E1DAFDA4E467D9588A202CDCB7287B 2338 0F82911AA8F91F25406BD86F6B1CBB3B83C42C2F39E1EAFD24E567A3B9144158
2325 2D2DFEDE2BEBFB89FA9E7A7CF1DB42856F869FDB1F4BB85F9828FC7C3845EB09 2339 B86F51FA5A5AFCBDD768EC271A7BDAE38B5B0B19BE1A7EEE7C2CE17961A2F0F3
2326 5CEA53B57DC31CEA99B0F971F2FCA73D7F44A15ED3E59308F089E6FBBFD85E0A 2340 E114ED27B0A84FE5CE0D33A967FCD6C719E73FDBEB4724EA35BB7C12003EB1D9
2327 EB554065FCCF25FEC00FDFE97BAD867EA10CADF5371EF87EF49B65C71C3F3124 2341 FE67DB4762BF0AC8CCFF59C41FB8E19B7DAFB5215FE886ADFD370EF86EE4AB65
2328 EB579CB8C1D6AE659F3CE2B0F6C91EEF26D7E4DBD3C28DCF4397CF871DFDA1E3 2342 479D3F510CF6AF9871BDBD5DCD3979C464EF933EDE55AECAD7A785159F875D3E
2329 7F97F8031FE96791C1CB7783435BD3EBDE31C5B75EF1D346C274F6B1779A9F36 2343 1F76F4871DFF5BC41FB8483F8D1BBCFB5630E96B3A3D3B26FBD62B6EFA4898CE
2330 5E48B7094D3F18B6F9AF3A7E3075878543634DA3D7B6AE5DB7AE1F647AF8F8D4 2344 2ECE4E73D3C7F3C95661D30F8A6EFDAB1D3FA8B2FDC261634FA3D3BEAE5EB65D
2331 D51D961EA2F5930EE1342EBDB9F785D5CFD7E9936BF729257D5F9D7691E7FD13 2345 3F18C9E1E3D3AE6CBFF410ED9F3409A772F7ADBDCFAA71BE9D31B9ED31A5C1D8
2332 25FD08ED710C5E8E72F90B725CDABBCAFD271D3F08747B1D4790C6A7D377589F 2346 D74EBFC8F1F98906E308DBF318BC3BD2E5CFCBB1E8EF4A8F9FECF84120DBE93C
2333 635ECA7D43BB1F1CC2AD3B4EA29CAF24E9EB657FA2CBA9CE29CAF97097449B29 2347 82617C9A7D877539E7253D36D4FBC124DC76E749A4F39541FA3A399FE85EAA73
2334 12FED4280F118F675BDBDC8B1F3CE79308ECDD5B28F3742EF5B6BAAC8DE5A77D 2348 EEE47AB8BBA2CF14087FDA280F018F675DDFDC891F1CE793009CDD9B25EB74EE
2335 ACD23693B9F5A3DF25FCE2F7A1B76F129EDA1F1ADF10446D17A7B69812574386 2349 F6BEBA511FCB4DFF58A66F6664D78D7C8BF08BDB4367DF241CF53F6C7C4310F5
2336 9FEF5ECAF595E83B8B663C97C4F76F44D65F45D78F79D7AF02F091F7B839825E 2350 5DCCFA62525C1B6EB8F9EE255D5F89BEB3D88CE79CD8FE0664FF5570FF9873F9
2337 5EE6204384F4FB0D7F74FDA83FFDC5B16DAF3C86A93A762A1B47755BEB459CD7 2351 320017798F5B23E8A43107230448BEDBF007F78FBA939F1DFBF6D27398B273A7
2338 7E71E7D7B8CFFC70E687A7B9E83B6061E9B7A3A4EBF793FE3EF29FDFFC7FA9F4 2352 46F3A8567BBD88F9DE2FEEFE1AEB951FE67CFF34177D07CC2AF97AE474F96ED2
2339 D5D5DB9FA12F4E1C54DB9FA2F9EBEA3264EEFCF0F5C3E09DEB1617449BEF67AC 2353 DF45FE739BFFEF96B1BA7CFFD3F7C589836CFF53B47E5DDE0D237B6EF8F6C3E0
2340 A568F9C4373712F1E7370E2E8FF103E57D630DF17735E7B15F5B7F5DF03D099C 2354 9C6B1517C436DFCD5CCB9DE513D7DC40C49FDB38B837E60FA4CF8D55C4DFD5CC
2341 FAEA8668CC58CE8708F09DFCEAE67F508D0F873168D7F8D06CBF39C685AADF15 2355 E77E75E375C1F724301BAB2BA23963633E04806FE6572BFF836C7C98CC415BC6
2342 F884781F2F511AB7511C2BF2CB272432E3D4D17D068BC937072F63E91EC6EEA2 2356 87CDFE9B695CC8FA5D824F88F3F912A9791BC9B922B77C4202334F1D3C67309B
2343 BAFDE98EEED559787D78E2750C23B4BE18BCF139AE700CC603376C0CC78D2B9B 2357 7C73703297EE60EE2E28DB9DECE0599D593786274EE7307CFB8BC1199FE30AE7
2344 836BCE050BDB4FDCE41A44B636DBC2B7CB20DCBC5E153EE1CEC5B5AFAD54E1F3 2358 601C70FDE670ACB8466B70D5B5607EE789AB5C8518EDCDD6F0F56E106E5DAF0C
2345 67E5DAC36238AC9FB5F345324467F4EAC2BE7F9056DF9DF313119C0FAC321F56 2359 9F70F7E2EAF756CAF0F9BB72F561514CF6CFEAF922374477F4DA85FEFC205B63
2346 3406A0AA5F340752C71F25B05E2BEAB55351FD51FDD13DFC4B7EFA45C31F0D7F 2360 77CE4F44703FB0CC7A58D11C80AC7CD11A483BFEC881F5DA9DDE3B15941F941F
2347 F4521B13D2E23BECE9AEACDF288169148DDB685C5D4E7588E1634DB5C31919CA 2361 3CC33FE7A75F30FCC1F0071FB939215B7C9333DDA5E52B39308D82711B8CAB7B
2348 7C95B3192E16BF08F38FEBFB2E9A3EC53B7D8A6B9DAB62EF54E7AAD81B0A674A 2362 A90E515CECA936B923439A2F7337C3EDE2DFC1FC63D9DE05D3277BA74F76AD73
2349 16D73A391A7FD1F88B5E453EF6603723B316CD7D2F4CF97E41A61B19D7655F09 2363 65CCCDEA5C197345E24EC9EC5A2707E32F187FC1E78ECF3DE8D5C0EC45B33E0B
2350 BB5BE16F45FD8EA662F889F3FEA242FD1AFB89FA194F885E455D876B7E3F91AD 2364 D3F8BC20D58E11D7E25C09BD5DE1BBA47C535532FCC4FC7C51A17C1BE789BA99
2351 DF54CD33A2FD1FF83C2A3DFBD5DC4B4EB27F84930CFEB94CBFC8ADE8B78A7E99 2365 4F083E77BA0EB7F9FDC468FFA66C9E119DFFC0E751C3BB5FD5B3E40CCE8F3073
2352 E9A4DF4DAF53F8DDE28E97E1167E3753C4F7F20D2E026390D1AB78BCBFFD8C1F 2366 83D737922FB22B7A97916FA49AC9B7926B167EABB8E3DDB00ABF952AE23BF906
2353 83978BB89C7F29E658CFE8D1D5EF97EFE47FD139A376A8F22F867E1DBEAE7E12 2367 178039C8E0933DDA6F37F3C7E0E42116F75F8A39DA3B7AECCA77CB37F3BFE89E
2354 FD7E575865D195EF750F3015BEEA1EF25EF6E0D2C98B517EC9E55F727507775E 2368 513D64F9B743BE1DBE5DF924F8FD2EABCAA225DFE91960327CD933E49D9CC165
2355 21D70EB4B6EBDCF6E40C9DDDC19FE3615876D05491613795CBAF8D235B37264A 2369 272F06F939977FD7D51DDC7D855C3F50DBAFB33A93D37777077F8F87A2394153
2356 BF3077613B7F3AEEE166C938F6396ACE6D01CBD91B4414675EF71174CA776E7B 2370 C60DBD2A5D7E751CA37D63A2F4F3B3E777F2A7E9196E9A8CA35FA366DE17D0DC
2357 5AFA5C3F1AD5EF935F42DA1F7EFC0E6EF1E83AEEE56F3F57CB19EFF6F3E875D2 2371 BD414471E6F41C41B37C6775A6A5CBFDA341F92EF939A4FFE1C6EF60158F96F3
2358 DE2BDF70D8834F55BF4CF7C5E6BBF95D35FC32DD85C1BFACCA7EE2F27C740B34 2372 5EEECE73D5DCF1AEBF8FDE4EDA3BE52B2667F0C9CA37927DBBF9567E970DBF91
2359 A2E8A48846215EE232135F74DB94076FCCDF07AFCFCD05634D1E0CD9711E46ED 2373 ECACE0DF53653F7273267A791A50749344031F2F72938A9F7BEDBB045FAE3E01
2360 060BC6E6D2F053B7215E979F4D7499741460C2E10B90B4FD14B4F8F920D4489E 2374 F557A682B2E3128C3A7C03261C050DA6A4D2F053BB3E5E8F3F54F4987D1E60E6
2361 09BDBE9F6541FF39B3E18F9DA70CACD2A917A9DCF14B423AFF642271DCA1F330 2375 D99B1075E81AB4FCE334941BB618FA2D5AA2C1E0654BE1E9EE738796E9D68FBC
2362 7ADF3986F187CFC3FB9357C0C1833B212F6F0FC50E38766C1B2C589001353B76 2376 DBF51742BAFFAE2272FA991B30E94406C38CB337E09B395BE0F4E914B874E918
2363 99D1BEFDF3F7B46DFB2C219F2F30D163ECFE733072F75906BC6F9CBE14366D5A 2377 C561B870E120AC59130315BBF688EBDCB9E6F31D3BD620E4A7352AFA4C399901
2364 0B1B36FC02FBF76F813D7BD6C3F4E963581A526E338A7B48C7B92488AFBEDE7B 2378 E38FA633E0EF86D336C2BE7D3B61CF9E3FE1E4C94438766C37C4C64E666948B9
2365 1686EE38CD80F72F0F5F009B37FFCA641C39B29BC9183DBA7F08B56ADDD39E74 2379 CD289E275D57122F7E9D783C1D461F4E63C0DF75C6AE81FDFBFF626E9C3B7794
2366 984D82E8336CD76918947D8201EFEB0D990B5BB76631197979074232D01F1896 2380 B93169D2601FAA5479BE33E9B294783160CC9134189E7485017FD71EB5120E1C
2367 962D9F6C4E3E9D4182484ADD761292681A20F0FEF99439909DBD89C9387EFCB0 2381 48606E5CBA74CAE706FA03C3D2A64DE516E48738E245D4C88357218AA601027F
2368 45C66FBFED80E6CD1F6B41DA4C234124276F3D017D361C63C0FB3A0367C0B66D 2382 D78C5E064949FB981B972F9FD5B871F1E26168D1A27C4BD26101F162D8B00357
2369 5B988C93278F5A649C38B117DE7E3BE143F2DF292488D47E1BF3A0E7DA230C78 2383 60C09E0B0CF8BBFAD03838783091B971F5EA798D1B57AE1C87AFBE0A6F4DBE9F
2370 5FBBDF74CACF66324E9DCAB3C83875EA10346EFCEF8FC84B9F13F2F144C4B05E 2384 4BBC183968EF25E8BBF31C03FEAE3A2896F293981BD7AE5DD2B871EDDA1968D8
2371 EB8F4162E64106BC7FB2F754D8BE7D1B9371E6CC098B8C33678E41C3868F7CC2 2385 F09D6FC9A73F11D27616624CBFDD172032FE3403FEAEDC7F1E1C3A7490B971FD
2372 F2F08B9F11F241DAE81E6B8EC0E72BF633E07DCD9E9361C78EED4CC6D9B3A72C 2386 FA158D1BD7AF5F807AF5DEFA8EE5E14F7E24A4D5D4497D769C839FB69C64C0DF
2373 32CE9CC983975F7EE8BF94FD3F143791A62953BB651E868ECBF63124D2FBC7BA 2387 15FBCE81C3870F3137D2D3AF69DCB87EFD12D4A9F3C6F794FD378AC749D3E879
2374 4F849D3B773219E7CE9DB5C8387BF638D4A9737F07CAFD3DC55F49CD77073DDC 2388 BDE2CF42D74D271822E9EFF2BD67414A4A0A732323235DE3467AFA65A85EFD95
2375 E78763CD666C39F3F9F203D065E521A8D6351D76EDDA45B1132E5C384F710ECE 2389 2E94FB18C5BF48C5E6C3DF1CB0FC42B3B8C4EB3F6D3E053DB69E81F77A4E8323
2376 9F3F43659DA6F7A7A152A53F760B95C3728F13D224E559F25672CA9DEDC6CD7B 2390 478E50A4C0CD9B372832E0C68DEBD4AD34FA3B0D4A977EBA97AF1C16AB404893
2377 7ECC8A9C2B5F6CBDFD9E7BAEEE5FA6CCB53DCA96BD2ED18EBBEFBEE65D0BFFAD 2391 E81AA4F1B0E8673A4D5F5573F296E4073E697FE8F9E71F1C5CA4489E3E458B3E
2378 64421AF727E4B55EFF200DBE6C4F5EEE3C80DADC45718704BFBF58DF6415BFB9 2392 1CA9C773CF3DD45CC36F3C8C90868309F9A2DF6B24E297CEA44EF721D4E4598A
2379 89BF05B8AFDD52DAE34B97CFEF21EBE207D76FBD2E7E0027DD1679623FB8AE2D 2393 A70CF0D8EDFA262BF9CD4DFC2DC07AEF96D4195F76F9FC19B2167EB0FCD66BE1
2380 75F10344A07D67F70188A1C317C9D34B7F17AEC27B54AED7FD4C0C473F8BFCE0 2394 073093AD714FEC07CBBDA5167E8000F4EFF43E0031ECF045EED94B7F0BAE443B
2381 C295EFA326D7ED35FE7D97FA4B21FD15F8CA69E8954BD4F39D6EFC155AFABBEE 2395 6A2CD7FA4E0C533F8BFC60C1353E47CD58B6D3F8775DEAEF86F497E04BA7A153
2382 E35D4CEB7FE7398E2EF5BF5BF957ACFF5D753BD5FFB2F25FC8F57FC4DB0B06F1 2396 2E91CF7776E32FCBD2DFF21CEF6C5AFF9BAF71B4A8FFADCABF64FD6F29DBACFE
2383 7F9E92A1BFA75244F447E32F1A7F9773FC15529FC135FEFD8C4146427F51A55F 2397 372AFF595CFF07BCBFA010F7F72929F6CF540A88FC60FC05E3EF5E8EBF2C1A33
2384 A4747BCDBF2525FEFC86C1EF18B8DFFAA7987F03D0FF66E07C16BD856B04F766 2398 58C6BF9B39C840C8BF53E91728D94EF36F4E893FB761703B07EEB6FEC9E6DF00
2385 E5E7A211FB5C56D33E7CFE9795EBE447B13BBB5C295CF5AB9A12FDBC69389FE5 2399 EC7F3330BF8B5EC355BC67B3F26BD1887E2DAB6AEEBFFE4BCB35F3A3D89EDE5D
2386 E3AE5F32A62D7AD7C9F4CBF86173EA1DF41B0EE7097BD12F5807A4ACDFEE0FA7 2400 4358CA97550DE4F3AA627E978FB57C83396D515B6724DF88EFB7A6DE44BE6272
2387 FCABA1DFB55E324AC63944669F14BC73C18B8C82FD9BAD32D4B8F6BDA1D5F587 2401 9FB013F9827D40D2F2F5FE30CBBF36E45BD64B4ACEB887481D9382732E3871E3
2388 EA3073DF186278E31A51AEFBBBC31BB7207FC8EB678DFCE5EBDCEB9230AF102C 2402 D6F9CD5A37E4B8FAB3A1E5E5FBEA30F5DC18A238E32A41AE75DBE18C7B2B7F18
2389 F1A19B8EE67C22F91EC04A792804BB3CA73179BBDBE07C1AA7B3339DF8E6BE59 2403 D7CF36F297AB7BAF73C2BA42D0C487DD7454D713199F012C95877CD0BB673627
2390 8646DB22E4E7D0D999057274F805675E424886B21F82E0F98A67A987ED932FD8 2404 AFB7EB5D4F637677A6195F3D374BB1D1B7F0F9D97777E62D77ECF06FDD79093E
2391 F74B29FF783947D6CEE7E35F27EF1AC460B0EFF3E5C63579084C88827644019C 2405 37A4FDE005CF97BC4BDDEF9C7CC1B95F52F9C7C93DB27A3E1FFF76F2AE421406
2392 F28FC05DC83FBC59ACCBBD1F3EF8DDAFD9970CB0FC79DAEFD9970C10FE69ED9B 2406 FD395F565C9587C084B8D58FB805B3FC23B0E7F30FAF66EB72EF860F6ECF6B76
2393 EE4B46E4F5735C0095BA5BCED5E20BB876E8E43F65FD0E71A5C02FFE2F76503A 2407 E50668FE1C9DF7ECCA0D10FED93A37DD951B8197CF710164EA6E63AE2DBE80AB
2394 6FD391EF204318FFDAE9E7906795F483733E8896FF420ABF9FFAD74FFD5F3467 2408 879DFC272DDF24AE24F8D9BF6107A9FB364DF9266E08E3DF76FA99E45929F960
2395 0D94ACB17CFDB59716AE9FB38B9CE6C0AB722FB26EE9F75F15DDE6BEAF7C3CAA 2409 9E0F82E53F8BC2EFA6FE7553FFDF99BB0672D65CBEFDBD971AAE9BBB8BCCD6C0
2396 EE872BE082EED9F3B6EFCF5ED6DC5A7E3BE9B7EF012C0BBBD4BFB6BE98E09C1F 2410 CB726FB36CC3EFBF32B2D5735FF978943D0F57C005BB77CFEBBE3F3BD973AB79
2397 E2651F61D9F8AB4AF81DF27F495A77E86BFEBFCFB3CB3C97FF42D22DFD86A1B9 2411 3793AF3F03D828EC86FED58DC504F7FC1027E7081BCDBFCA84DF24FFE7A47D87
2398 66D56EEAEEB9EEED4C216F7AA567B7B9D5A782FD1E6471204C0D6EDC8748C2ED 2412 AED6FFBBBCBBCC71F9CF22D986DF306CEE59D5AB76CF5C7776A79033B98677B7
2399 79DDB8C04FBAF15752CBBF4AB894E68939BE8B5CCA22BF8FBDF0FDE2900778AE 2413 59D5A782F31E8CE240981ADCBC0F3108B7E37DE3023FD98DBF9C5AFE65C225B5
2400 4C862158832EE3DA65D8FC1FC695C992C49FA57E91B519BCAE5D2185BC6ECF43 2414 4ECCB42DB2288BFC39F6C2F6C5240FF05C233714C11E7423AEDE0D9DFFFDB846
2401 FD7DC9EB27D17D078A786CC3DFD9A9607DC738F68DA27C31DFC7DE3DD13214BD 2415 6E19C49FA67E31EA3338DDBB42B278DF9E83FAFBAE974F82E70EDCE1B90D7777
2402 FC8F59789C5B219ABB6DBE9F0D85797286E27C7A99BF54FCEA142E43731E8A6A 2416 A782B68D311D1B05F962BE8BB37B826528F8B89FB370B8B642B4765B6D9F1589
2403 F8455C47771ECE0A8B5E85DA678F44DF19FCF075DB60785E96E21E3EF233BB0C 2417 75728AE47A7A237FC9F8D52C5C8ACD7528B2E117714DED39B82B2CF864E9983D
2404 A535E4421E0F55BEC5CF1EF4DBF98A6D18778E4194C3EFE61715BE3DEC3A7C3F 2418 10636770C3B7DB07C3FBB224CFF031BEB34B91DA432EE4F190E56BFCEC40BE9E
2405 F1EF16F75EC3EF85AFD106BD9CF72F2B6EFBB75DEEE74F45C37F8994BFDE718D 2419 2FD987B1E628443AFC567E91E1EBC36E87EF26FEADE2DE69F89DF06DF441EFE5
2406 499F203A76ACEB8AF6EDEB923265863E1A13B375724CCCE28420FF1D8A9ED4BE 2420 F3CBB2DBF96DF7FAFD53C1F0DF25E5AF7F584332C08BAE5D6B59A273E75AA448
2407 A91B5AB5AADBBEDE5F5A2EC2CF5D313119F37BC735A27E68F4D5B1B159C19AED 2421 91D1A542420ECC0909591FEEE57F4DD1979A37B542BB76B53AD7FE479B75F8B9
2408 8214F3F71E826FBFFD164E9E3C09957F5F770521C36B7E15F706A1E87D60C41A 2422 2B24246675FFB006D40F0D7EBD3025C15BB3DD34C4EAE36760FEFCF970F5EA55
2409 B870217F8F0611E6EEDA074F7DF713B4DD7D12BA376E0F1F5CF5CCD735633F23 2423 78F7B15A5B08195BF1D7B02F0945FF53E376C0CD9B99673488B0F2C809F860E1
2410 5FC6BD8EE89B3B6C15DBD3E1C489236198BD6D07D4FA7601E3561B360932FAFD 2424 EFD0F1E855E8DDB033B4CAFDE1C48AA13F925FC2EA2306A68ED9C6CE74B872E5
2411 08C8416E8FB8D71049BB07AF8053A70EC3D1A37B2CF87EEB667862EA3CC6AD92 2425 9C1F961E3C0C55E6AF61DCF7C6CC8698412B0039C8ED13F60522EAE8882D70ED
2412 3A1E66FCBA1ED02D72909B18DB0091BC237919D5B50F0E1CC80E61D9E65FA1E6 2426 DA59387FFE98068B0EEC874AF356316E99913320EEAFDD80769183DCC8D008C4
2413 941F19B7F2E074981458CADCA05BE420B74BEC2B88C139494BE0C896AD9097B7 2427 B0C3C336515927E0D4A9241F36EDFF0B2ACE5DC1B8EF8E9806B33D1B991DB48B
2414 33844F336641561E40D521E360FABA5FD83374836E9183DC2F62EB23866EEEB3 2428 1CE4F608FD0C3122396A039C4B3C00972EA5F8F043CC1248B8045076D47488DD
2415 10D624CEB200F3E8138D3AC3C84FD32DCFD12D72906BC4BE841891F5D53C1855 2429 F527D3433B681739C8FD39B42E62F4FE016B6147E4120D308F566AD01DC6FF30
2416 AF3B8CACDB4D08B433B16DC0CF801CE47E165B17317A5DF73930A6FE97F0F392 2430 4DA38F7691835C25F453C4B8845F57C184DABD617CAD5E42A0998A8343FE00E4
2417 25B070C1020BF019DA2D6C3D1ED21BF4862D7D17017290FB69EC0B88F4D55D67 2431 20F7C7D05A8849BB7A2F83C9757F813F366C80B56BD668807A68B6B6FD0C9816
2418 C2B8867D60DEECD930A0567B86EFA74E65C0676887FC296F25C3C65EF30139C8 2432 D11F1207AE03E420F787D08F11D3B6F75C0CD3EB0D80554B97C2902A9D1916CD
2419 6D1DFB2C62D2DA6EB36152A324989591C14C44467A3A83F90CF9339A0F870D5F 2433 9BC7807A6886FCB98D87C1DE7EAB0139C86D1F5A03317B67AFA530BB41142C89
2420 CE05E420F7CE9852E485988AD55AC43C352BF549E3F0CC091320A3C92086EFD2 2434 89612A2266DA3406550FF9712DC6C29E5F56027290FB4C483EF27148C9F75A86
2421 D218CC67C89FF7491AACEFF103A07BE4D2EBCF14E51E2677BFD984D4581C1F1F 2435 7CB0646465E5ECE2993321A6C970868553A732A87AC85FF5DD54D8DD6739A07D
2422 DF4304B4E3519B941F16E4DE40711B91EFF121C36D416E717B8F3B7D1B72DB7B 2436 E4D2E7FF288ABD499E6BD484945B9F2B57AE3E22A0198FAAA4F8182F372FC513
2423 51C554A9B389E45B9553BF594BBF51D09771FBB616E64701577D9CA31873656E 2437 C4F88C0F233CE1E566B776DCECDB90D5D98B32AA4C9D4D0CBE55998D9B6DC957
2424 54B986206E0C8DF83224EB8C74C26C88F76BD38E2BA308D3D96B7B0724DF495D 2438 6E8D65ACBEADF9F951C0959FE7C8C65C233BB25C4510378A8DF8520CF619D909
2425 CF21B6CEDBB2C8719A1B22E21B6EFA8058F8605BAFE5A6CFB0CD09070E843B33 2439 B3223EAFCD765C2977309D9DF677C0E03BA9E53DC4DA755B1A77CCD68688F88A
2426 3B3FEE214C9FC8FF26DFE0F8A2F3AF45FA79192AFE97AC05B0C4B7A37E42A473 2440 953C201A3EE8F66B59C953746BC28103E1EECCCE8C7BF09327F2BFCA5738BEE8
2427 E2456785DBF539AD4508E992C48924FC5AFA55F84EE1775A0B223BAB5C7656B8 2441 FE6B917CDE0D19FF1BEC05D0C4B7A97C420CD7C48BEE0AD7CB33DB8BE0936510
2428 8CEF9ADF65EB87D5E632452F6F7DB9A2E017B66E70697F5C6C3E89405E8508C5 2442 2706E1B7255F866F167EB3BD204677951BDD156EC4B7CCEF46FB87E5D632051F
2429 5BF48AFC18887A5B42747E8FCADEC1028EE2B9514AE70739C850E60AC66FF5B8 2443 6763B93BC1CF6AD960D1FFB8DD7C1280BC0A018AB7E013F83910F9BE84E8FE1E
2430 A2F980BA5CD11926EEE794C9E6C2389E53E645BF52982471E8811B89F45796E1 2444 99B383051CC97BA3A4EE0F3271439A2B98BFB5C715AD07B4CB15DD61627D4F99
2431 9A87BDE7FF48943F5F97E1636F02C3E15BB9A1F88DDCAB7FFCF255FA82C5A09D 2445 D15A18D37BCA9CC8970A93411C3AE00622FDA5DDB0CCC3CEF37F20CA9FAB4771
2432 A2B21FA0E3DE972E7BA23AAF6F759EBB231F67B1F555047E70F37F88A3307FC8 2446 71368162F2AD5C91FC46EED43F6EF93263C16CD04F91390FD0F4EC4B8B3351CD
2433 2243D6A6D65C53ECB58D012EE360D1768A739D4788F77D88BCB6A3A3FC08F005 2447 F7B79AAFDD319E67D18D55047EB0F2BF8F23B17E48E386519FDAE69E62A77D0C
2434 E5157CE40328A2FC17ED7F5FE297FD1D2EABF7456D174336275020C3B0EDDDAA 2448 B098070BF653CCEB3C429C9F43E4B41F1DE407802F28AFE0221FC01DCA7FC1F1
2435 DB56D16967B8F1FDEA372ED23C3FA77986D12B02795DE1AC5D776E70BD093FF7 2449 F75DFEE8DB70A37A5FD477518CD6040ADC507467B7DAEDABD8E96758F1DDCA57
2436 CA2D3F71FBECC8E66E39B54B199F1B5B06FBB87C5086B0DC05B9BC9F0D8EC3F3 2450 6ED33A3FB37586C12700795DE2AE5D6BAE77BF09BFF6CA2A3F71E7EC18ADDD32
2437 656D538B1B0EF9799D93E7C097C930FD00C49D2F936318CE7CC3850F2E751F11 2451 EB97323E37B70CFA7979AF1BC272E7E5F27E56380ECF37EA9B6AEC70C8CCEB9C
2438 7C0721B6EF2A0AEFC1903BD1BE47FC6F6E2D54980CC13A29C7B5D0C2311CAEAF 2452 7B267C2337543F00B1E61BB9A328E67CC5820F16751F117C0721BAEF2A12EDA0
2439 225BFF2C1B43F0A99FF80CBFE776B0D7726F2903667B4DB1DCF3653FFF3EE85E 2453 CF9EE8DC23FE9DDB0BE5E786609F94E95E68E11C0E375631DAFF6C3487E0523E
2440 B7EE30BFD7DACB8B43B9E722CAA2D3E4B9957B0B5F52668943B9E3F98AE556BC 2454 71197EC7FD60A7E55E5306D4FE9A64B9E7CB7EE66FAF7DBB7587FABD565F5E4C
2441 6E4654E60CAB6EA7F5B3A2B3D389FEBA5DADB146A13CFDF13AF9D8AB9775C83C 2455 CA3D17511A992ACFAADC6BF806659698943B9E2F596EC5FB6644654ED1CA36DB
2442 D7BE779DFB5E767EB80571E28D4B4884E61B16D2FB1F7CBEFF85E777CADEFFE2 2456 3F2BBA3B9DD8DFB76B6BAE51E89EFDF93AE3B95727FB9079AEFEEC3AEBB3ECDC
2443 B16BEBFE0F4EEF7F42A4BB1186CA96D3FB5F952F7DFF2BFA5FA51E11F5A51DDF 2457 706FC589332E21015A6F9845ED3FB86CFF85F7771AB5FFE2B96BEDF90F66ED3F
2444 FF44F8FE07D7F7BF113E2F41656CD2E0D28C0BA3721E2E7837CBE35BA50FEF93 2458 2186A711FACA9659FB2FCB376CFF25FD2F538F88C6D2A6ED3F11B6FF60D9FE2B
2445 4FBCFADFC79889EED8A3763DA0C30BCDC130DBBF06719563AF036465D770A93F 2459 FEEB1264E626152ECDB8304AE7E15B6DB3717CCB8CE15DF28953FFBB9833B13B
2446 0C43BF2EE4FD4C6C73720ADEA192B31B382EEF7708DBE74638BF297CDF1F52D0 2460 F768BB1EB0C3F3ADC150FBBF0AB174475F0718955DC5A2FE5014FB7521EF67A2
2447 6631DF80A1F5FB21B9246CFF1BFB3EA53CD72EC3B0E937EB6C2BDFCA057E7E95 2461 5B9373AB0D35B8BB81E3F27E07BF736E84EB9BFCCFFD21B7FA2C6A0BE8DBBFEF
2448 845F90DE4618D7493FDF66036EBE8F9D6B70FB7AF369C0B7B5F83AC8BEE75041 2462 7397F89D7FA33FA794E7EADD5074F2D53A5BCBD772815F5F65C0BF95DE8A1FD7
2449 D2849F9D030258EBBEFCFDA781B8CB30B8BACCB03D73936138EFD71E746FEE61 2463 4C3EDF67036EBD8F9EAB70E77AF369C0F7B5F83A487FE6D0ADA4F1BF3B0704D0
2450 ADD51EB818F58B4E5DE33A6F49A19E71FB7EA4726694D6994E1EC2AD7BDE1244 2464 D67D99E74F03B17643E1EA3245A767E586627E5EBBD7BE7A86B5ADFEC0EDA85F
2451 A2CE8EC07BA030BE4FBAEDE9A3F48E11DDAB86CB810F2A794EE19DE8B8CF9247 2465 ECD43596EB9624EA19ABEF47327746D9BAD3C941B8EDDEB70481A8B303D00E64
2452 FF4324C36FF17FD5A47C240C48A108282025C461E86F22D062E42E6894B41E5A 2466 C5F749AB337DA4DA18D16FD97099F04126CF49B489A6E72C39F43F0432FC1AFF
2453 A466C22F9B0F42CEF6DD306FD9466896B42CFF39B547771C8790CA7D4D049A0C 2467 978DCA44F890680A8F04A27D1C86C12A3C2DC71F810651BBA1E5C878F873FF69
2454 DA0CD53F990C73976F801E3D7A40A54A95A05762228C1A31893D477B74C77108 2468 483E7414566DDA0BCDA23665EA5373B4C771087977A00A4F93E1FBE1FDEFE6C0
2455 A9D4CB44E0CD811BE1DF2DC6C296EC6D50A1420548494981A64D9BC2A2E933D8 2469 CACD7BA04F9F3E50BA7469E817190913C6CD66FA688EF6380E21A5FBA9F0341A
2456 73B447771C8790477B9A08BCD1FF5748683911A6CCF809123B7684D75E7B0D46 2470 BA17DE69390512930E42891225203A3A1A9A366D0AEB62E3983E9AA33D8E4348
2457 2427C3D4C973D873B447771C87907F76331168D07B0D3CDEFA7BA8D562188C1A 2471 A9BE2A3C5F0EFE0BC2DBCC82B971BF4364D7AEF0C5175FC0B861C360DE9C654C
2458 3E117EA27A33BE990D4FB71CC99EA33DBAE3388454E86C22F0629725F044CB34 2472 1FCDD11EC721E43FBD547822FAEF800AED174195966360C2D859F03B951BF3DB
2459 E897B60056AEDB02DBB6EF80C581B59038781A3CD66234A03DBAE338843CD8C9 2473 52A8D6663CD34773B4C7710829D15D85E7931E1BA0529BA93068EA1AD8BA2B11
2460 44A076AB893077E97A18376E1C346CD8109E7EFA6968DEBC398C1D3E1C9A4F9C 2474 0E1E3A0CEB3D3B2172C40228DF7212A039DAE33884BCDE4D85A76ABB59B072E3
2461 0D7F18360F629A8EC82655BA9310CA753011E83F763EA4A7A743C58A15A16CD9 2475 6E983E7D3AD4AB570FAA55AB062D5AB4802963C7428B594BE1C931AB20A4E9B8
2462 B250A3460D167FEFB5FC08AA4D9805A93B0F427CF76F0FC64C5D7E1505419032 2476 2452A637F1A15817159EC15356C3B469D3A064C99250B468512857AE1C8BBFFF
2463 6D4D0456AEDD0C2FBFFC32DC7FFFFD70FBEDB733B3418306F046D21068303700 2477 B5F916DE9BB90446A69C865CBDE79F0E99B73937054190221D5578B6EEDC0F75
2464 138E9F83AA53571C8F99F2F3D33193971004F95B2B13010C6FF5EAD519903B7B 2478 EAD481575E79050A152AC4D4888808F8326A1444ACF4C0CCCB195076DE96CB21
2465 F66CA8FFEAABF0EF31D3A0E7F6FD50B76E5D68BF39F75CECA4C54363262C8AA7 2479 73FFA816326703419017DBA9F06078DF7FFF7D06E42E5DBA14EA7EFE39BC3379
2466 20E49E9626028B97AD81D7699A356EDC185EA5BC575E7905EA77EE0175662D85 2480 01F43D74126AD5AA059DF7A76684CE5E3F3A64E6BA5C14843CDF468567FDA61D
2467 F63B8FB272F4CE863D70F78CC0CF31E9F36AC4A4CD25E48EE709F9DFF71181C4 2481 509FA659C3860DE173CAFBECB3CFA06EF73E507DC946E89C729E95A3AFF71C83
2468 A429306CD02096EE5DBB768594C183A1FAD719F0D6EACD5073CDAFD06ADA7790 2482 E7E23C7F844C5B552E64EA4A429EAA49C83FBF417822A3E6C298E1C359BAF7EC
2469 90B91A2A2D5B752066F49C4131A366C5B032744B6D42FEF86620E18DC1306AE8 2483 D913A2478C80F727C640E3EDFBA1E28EBFA0DD8285101EBF1D4A6FDA762A64D2
2470 44189E94041DDAB685D73F4F8407D3BF87EA5939509EA627EA47B302C57513E7 2484 B2E121139684B03254A02A214F37F2847F3902268C9E0563A3A2A04BC78E50FF
2471 2F891936FD5FF4D9D504D7E2DCF062E0E1B7D2A04AC364F8ECF311302D3D039E 2485 A748787DDA22783F21198AD3F444F9A896A07878D6EA0D216362DFA67A0F12DC
2472 4B9B0EE569F9B96FD33EF8DBC67DD0F6E0716622EE5C92951B93923184727111 2486 8B93F713CF9B8DA742997AC3E0C79FC6C1826931F0D1D458284ECBCF4BFB4EC0
2473 515972C53FC7922B9E085850AF432E69D93BCF82567D0F902F066592C421CB48 2487 8B7B4F40C7D397998A786643426A4874CC28CAC54D4445C97DFF9942EEABE4D1
2474 CF5149D8248A898931F128C5408A89020C0CDA33B77CC788E327BFFDF6DB7B30 2488 A0769754D2A6FF250DDA0D3C457E1E1E4F22476D227D27446197282424444529
2475 EE7AF6EC097DFAF4815EBD7A41F7EEDDA159B3667BD05EC29F6C02EB25CCB3E5 2489 8AA114B30418EA356776F98111C71FF6D5575F1DC3B8EBDBB72F0C183000FAF5
2476 CA95835B6FBD9599F81B9FF3EE6CFCF2340E563CFBECB3D0A1430778ECB1C7E0 2490 EB07BD7BF78666CD9A1D437303FE1C15582F619E2D56AC18142C5890A9F88EFA
2477 EA9B3B425CA995CCC4DFF81CEDD11DBAB7FB9F5E15A8F96DBB76EDA04A952A70 2491 BC3D1DBF388D832D356AD4802E5DBA40F9F2E5E1C1FC5D212CDF56A6E23BEAA3
2478 FD7D1BE0BA32B9CCC4DFF81CED83EE64E19FDEBA756B78EEB9E7E0BE8461F0A7 2492 39DA43FB7AFFD3A70455E777EAD409CA9429038FBCB4071E2E92CA547C477D34
2479 27F632137FE373B497847F868956AD5A31F70F3CF000DC75D75DCCC4DFF89C77 2493 F7DA330A7F6CFBF6EDE1A38F3E8297C2C7C0DF2B1D672ABEA33E9A1B843F4E45
2480 67E33F42FDB5F1F1C71F878F3EA265B55A3578E28927A0499326CCC4DFF81CED 2494 BB76ED98FD575F7D159E7DF659A6E23BEAF3F674FCB7A8BFF656A85001BEFD96
2481 D11DBA1784BF22357F6CD1A2052B7F5886685A32137FE373B40FBA93857FFE7B 2495 96D5F7DE834A952A4193264D988AEFA88FE6680FED0BC25F92AA2B5AB66CC9CA
2482 EFBDC7FCFBFCF3CFC3EBAFBFCE4CFC8DCFD15E12FE4526683E611CAC83CA9429 2496 1F96219A964CC577D44773AF3DA3F0AFFEDFFFFEC7FC5BB3664DA85FBF3E53F1
2483 C34CFC8DCF7977367E25EAAFDC471F7D94D557356BD66461C5BA084DFC8DCFD1 2497 1DF5D1DC20FCEB54D07CC238580715295284A9F88EFABC3D1DBF34F5576AA952
2484 1EDDA17B41F82B5173D99B6FBEC9F24BBD7AF5A07EFDFACCC4DFF81CED83EE24 2498 A5587D55B162451656AC8B50C577D44773B487F605E12F4DD54D8D1A3562F9A5
2485 5B0B92D58D1A3582DAB56BB3787FF1C5179989BFF139DA8B06198275C0ED148B 2499 76EDDA50B76E5DA6E23BEAA3B9D79EC1D182647B83060DA06AD5AA2CDE3FF9E4
2486 A8AE9358CF3DF3CC33CCDF68E26F7C8EF6147FA0B8C6C6BF99E21F14EF500428 2500 13A6E23BEAA3B96892C15B0714A25847655DC57AEEC30F3F64FE4615DF511FCD
2487 F60A1008DA3F4871AB24FD4A4CF97FF2C927E1830F3E60A697F2FFFEFBEFB332 2501 299EA47848C7CF4FF11AC5D7141E8AE30278BCE6AF53143448BF1C53FE2B57AE
2488 87A697F28FF906F33C9AD1F25FF8E5FFAE0FEF825B46DEC24C2FE5BFCC8C3250 2502 0CAD5AB562AA93F2FFCD37DFB03287AA93F28FF906F33CAAC1F29FF5E5FFD9D6
2489 665119667A29FF557B57855AEB6A31335AFEA3E5BFB0CBFF0DCD3E86B8115398 2503 CF4281F10598EAA4FC17892B0245D61561AA93F25FB67F59A8B2AB0A5383E53F
2490 E9A5FCC77DBF18C8A275CCF452FEFF4CDBFCF16B773233FAFE2FDEE5BF2841C6 2504 58FEB3BAFCE76DD616C2C6CD65AA93F21FB6683D9075BB98EAA4FCFF1FEDF3E7
2491 5D20643C30C476CD26F18DE6DE14DF785E4F1324C108F0E0EDD02DCF47C4BD34 2505 DA99C2D460FB9FBDCBFF9D04997E939019C010DA3389E46AB0F2F15C0D57F555
2492 E19D9ABDD62FE936FB10201E6B3D3E84848FC782F91CDDA05BCA4FA10884F0D9 2506 41C2150F0FDE0CEDF27C44D8A733BFAED86FF7865E4BCF00A27CFB193E84B79D
2493 DAC0F82D00265AD37F269AA60480B78B7F7D565F32FA74E0B95C80DABBF241DA 2507 02AA3EDA41BB941F4DE1F1E1C79D9E1989002ADAD37F2A9A467B8037CB557FC9
2494 650686669E82013FFFC650B7DBEC109E36BE0D3D1FBEFA34C4359C9EF4F6C331 2508 403229CDF3512A40D52399209DE23DA3E3AFC1903F2E32D4EAB5D4876ACA7C9F
2495 E353DBBD0C88842CCA6FB53C90BCEC37E8BDE010F45D7484F15E4C9C05B0BC06 2509 FED8ED6910562F36EAAB3743668CEC540710E10994DF6EB367D8A68BD07FCD19
2496 9C5D58098ECF7C108E4CFE3F18B8F418C4BD3A35A569C5D8512B27F58431894D 2510 18B8EE1CE37D12B904607339485F5B1A2E2F7E1DCECDF9370CDD7801C23E9F17
2497 A0D25ACAFFE0A740AFF907A0CB8CDDD07D4E2E0B77F556E970FCF84E0BBACFD9 2511 DDB464E884ADB3FBC2E4C826507A27E5B7FADDD36FF529E81177147A2F4B65E1
2498 0D71F5BF19DAA472DCA075B3532063701B787825E537FB31D075E66EE8302507 2512 7EBFDD34B87C394583DECB8E4258DDDF463779376CF8AEA5D11033A203BCB995
2499 3A4DDB41E5EC810F46AD86030736C1AC59E360C58A39ECBEDDA42C88AB376ED4 2513 F29BADF0F45C7C14BACC4D866E0B0E53778E41AB09DBE1D4A97DB064C974D8B2
2500 9BD5E27BAF983508064D19030FFC4CF98D67043A4CC9A6F1B509DA4EDC42E56C 2514 6519FBDD69760284D59E3EA1D17BB9FA6F59321C86CF9D0CAFFE41F90DE33C5D
2501 8346498B61FBF65516341FBE02625F189D463E5A12786839C07D0BF2411A4E0D 2515 E626D1F8DA071D672552770E4283A8F570E8D0360D5A8CDD02A11F4F9A4ABEDD
2502 B41EBF115A8E5E0F9FA4653139CD86AC84FA5FFE08AF7C3537848FC7AE83D83A 2516 E0796333C04B6B3241EACDF3B49FB117DA4CDA0DDF4D4D60EE341BB515EAFEB2
2503 A95368599C4052B6C083351B3294AADD7DCB7FC76551EE066833611343BB495B 2517 023EFB75A50F6DA7EC82D0EA23E7D2B238934427C2EB15EB31E4ABDA3BF1FBE9
2504 A1FDE41C782BF11BA85CA33E43B39E1910F378F785F1F1F13D09B9E920D6CF08 2518 0994BB073ACCDCC7D069F601E83C27191A47FE06EF96ABCBD0AC6F0C8454E8BD
2505 BC8F8B8BFB806220450A456A6C6CEC308AB6767754F778FA9C16A79B7EC16738 2519 3657AE5C7D0979FC34D6CF08FC1D1616D68A62284534C5C8D0D0D031141DF5F6
2506 5E81F73131BF23F8DC447E9D7785C01DAB77FE4C8B7353FA7B553EF09EDC2B46 2520 A8EC19549F16A7C7FF443D9CAFC0DF2121F713D4579159E7DD27B0C7EA9DFFA3
2507 983BDFFB7FF82EC3B3EB8A0014A5ECCF131EB8357C7052CEEF8CF71732FE43CE 2521 C5B9297DDF9609FC4D5E10C3CF9EEBF33F5C97E1A5B544008A7C7AFDF0570BFA
2508 4F783C841F3B55209FD4294D3E7CEA4ED2ECB1DB9CF8E7299EB1F3117B875625 2522 4F4E1AF3BBE3EF9B31FF25376656F06145B712E4BBEA8549EB0F9E21CDCA3F61
2509 D94915C9EAC4724CBE00B02BA95C1635F32E7CF3E4C34EFC33031E1001CE0E7D 2523 C6BF41F1A19E8F383EBA2C498A2A49B6471663EE0B0047A28A2550F5D2CDDF2A
2510 E4FA9D5D4B2FA6F7FB4E25FEE58E93C61D0471B44F590BFF64FB5B4580535FFC 2524 BF69C6BF3EE45511207DF45B8FA4F42CBC9EFE3E712DF21F4F5D559E2288F303
2511 8950DE95DBDBDDBC94FE1E65DA1DED55C6C23FD0F56E72B8FB3DE4F4A7B7F000 2525 8A6AF8573B171401AEFDFC7742790F1CEA947F237D9FA09A9DEF5744C33FD5F3
2512 665219D4FCEBA14F6F396ADA2197E7E72495277B521E21C7521E26D0FB6F2680 2526 3972B6F7F324ED87023C80A9D40DAAFEEBCC0F05CEAB66C8E5F9C951C5C9B1E8
2513 99C90F12E857E65A7A9F87BF7F1B505ECA3F34AC12F96D782502A32B2300C654 2527 B7C885E83709F47F51053075D8EB040615C9437F5FC2F78B438A1BF2CF8C294D
2514 21905E3DFF3EB542E9DC3EFF20BB532B933D43AAA4503410F1998C9155C8B9F4 2528 2E8E2D4D60D2BB0880C965084C7B3FF3F7C812855307BC468E8E7C971C1B5526
2515 1A40C1CCE3A3AA965ED7E34182C8EA5501F506105BFB3FD2C0E4EF4C7E3881CA 2529 9A2242C4676E8C2F4332A695030AA65E9E50B6F0AE3EAF134442BF1228D78338
2516 5846718E02D0CC4D7D94CAFB37C9EC523685BA0BF0805DC98026B56BB0BCD35F 2530 30F8AD08959F32ECCD70EAC6268A0C0A4035756429EADE3B24BE47D1686ACFC3
2517 09C59EBD698FC399050DE160C633407F6FC2E70BDBDE8D08C08E7E00EBDE0558 2531 038E0C0354A959C4E66EFF2214C78E4FAD00D7D7D483D3311F027DDF87FA6B3B
2518 D5B0001B3E06B42B7BE715E49B776E38B66D7045C81EF4084C6F791B74AE735D 2532 3E87F0C0E14100BB9A036CAB770B7BDA029A157DE63EF2DBD7792F1C1C511292
2519 737C5EEECE2B49F7674BA57CF7EEED011EF0534540F3FBE67F68408B40E9772A 2533 86BF05B16D9E80EED51F6E81FAC59E7980F4AE912F7A61F3421E1EF07B494075
2520 C526A6BE147B6CF04BB1BB1A3D12DB853E2B1F7C4FDF1D1CDF8BEFF2F48DE49B 2534 518B2723681128FC75E9D0C8919F865E18F169E891066F85F6A07AC5BDEDF473
2521 374B91B406D70510E35EBBBE01958145E84649F9C676C24DC1B605565264E8F3 2535 DEF9BD5C3DAA3D4A7E6B948F4C8D78D88398FEC52311D40D2C428F1A946FEC27
2522 BF23439EFB5D0A45032A8304F9ECC276A60EF8328CBF77EFDA097BF7EE81DC5C 2536 3CEEED5B60254546D7BC9F8CFAE8FE688A08EA06F1F2D983FD4C3BE0CB30BE1F
2523 DCC36A3F1C3C7800B2B3B7C2E1C38760DBB61C3872E4081C3D7A84D6FDDB98C9 2537 3D9202C78F1F83D4543CC3EA249C3E7D0A92920EC0D9B367E0E0C1643877EE1C
2524 CBC0FBCC5F56C210DA564AA95A9561FDFA7510082C875F7FFD95BE7356406AB5 2538 9C3F7F8ED6FD0799CABB81BFE3FFDC0AA3685F29BA6C5986DDBB7781C7B319FE
2525 847CD03651565656187FCD9AD530382181BA5F0FC39EAA45DD6CA0FC006CDAB4 2539 FAEB2FDAE66C8191EF856782F689121212FCF83B766C8711E1E1D4FE6E18F341
2526 1156AEA47CDA86CD5AB3067EF9E517D8B2654B187FE3C62C2ABF1AB5DB0C5BB7 2540 156A670FE57B60DFBEBDB0752BE5D33E6CC28E1DF0E79F7F426262A21F7FEFDE
2527 6E859C9C6C1842758DA16D2FF4C330DA066478EA29D8B97367181FDDA3FD8E1D 2541 04EAFE7BD46C3F1C3870009293936014953599F6BDD00F63681F90E1830F2025
2528 3B60346DEFEEDEBD1B366FDE0CFBF6ED63F272737361E180013084FA63FFFEFD 2542 25C58F8FF6D1FCF0E1C33089F6778F1E3D0AFBF7EF8713274E30F752535361ED
2529 617C8C9FB4175E80AF6BD5623875EA14E39C397386B91FF39FFFE483CA3E7BF6 2543 9021308AFAE3E4C9937E7C8C9FA91F7F0C13AB5461B876ED1AE35CBF7E9DD99F
2530 6C187FFBF6EDB08BA601EADDBB772FE3666767336E4E4E0E4D9303344D0ED2B4 2544 FCDFFF6682BA9D9E9EEEC73F74E8101CA16980728F1F3FCEB84949498C9B9C9C
2531 D8C64C3B1FDDA21DFA7FD7AE5D4CCEA64D9B982C331C088C3B34ED7C74BB7A75 2545 4CD3E4144D93D3342D0E3255CF47BB6886FE3F72E4087367DFBE7DCC2D351C08
2532 36D38572106BD7AE65F2D6AF5FCFE20CFDB886A601DAD9F92B576E82D75ECBF7 2546 8C3B54F57CB4BB7D7B129385EE2076EEDCC9DCDBBD7B378B33F4E30E9A0668A6
2533 739B36B9CC0DC6FB9C395B61E9D2B54C2FA6FBF2E5CB61DDBA75AC5DCCF3274E 2547 E76FDDBA0FBEF822D3CF1D3AA4323B18EFCB961D808D1B7732B998EE9B376F86
2534 3C050F3D741E468D3A4BFB6BE7E0871FCEC1A14387681B7E3F0C1DBA85F92B33 2548 5DBB76B17E31CF9F35EB1ABCF1C60D9830219D8ED73260F9F20C3873E60CEDC3
2535 3393FA71150C193284B5C979FEBFFE7592F6354F43A54AA7A9DF4ED23EC75168 2549 9F84D1A31399BFE2E3E3A91FB7C1A851A3589F9CE7BFFDF6553AD64C83D2A5D3
2536 D810D3691B54AD9A091D3B7ECFD264C68C19D0B66DDBB0FC3F73662EE59FA0FE 2550 A8DFAED231C779A8570FD3E920942D1B0F5DBB2E6269121717071D3B76F4CBFF
2537 3D4439BFC19225075878DF7D3707060F5EC1C23273E64CD69FB5BF03919F9B7B 2551 8B17A752FE15EADF33947311366C38C5C2DBBC79328C18B1858565F1E2C56C3C
2538 82FAFD244BDB1F7E380DE7CF9F67FE3F70E004CD3F5B60F8F0E1AC0F2AFBC8E7 2552 AB6F03919F9A7A85FAFD2A4BDBE5CBD3E0C68D1BCCFFA74E5DA1F92711C68E1D
2539 5456EBD4A9C3FA8FAADF58F7ECD943C331877D0B9A3061022C5CB89096E3C3AE 2553 CBC6A0461FF9CCCA6AF5EAD5D9F851F61BEBB163C7683896B16F413367CE84B5
2540 7C9CA781FDFED1A347C3FCF9F3595A8D1F3F9E867F3074E9D28501F384888BE3 2554 6BD7D2727CD6928FEB3470DC3F69D22458BD7A354BAB193366D0F08F801E3D7A
2541 041919192CFCE685F798F71098BF962D5B069D3A75821123465864AC5AB58AF9 2555 30609E1071719E20262686855F7DF037E63D04E6AF4D9B3641B76EDD60DCB871
2542 D3E42030FE4E9F3E4DD37B35CD5B2B591D82BA311F76ECD891D641474332502F 2556 1A37B66DDBC6FCA97210187F69696934BDB7D3BCB595D521281BF361D7AE5D69
2543 D61578218FD78F1CAC3310E866E3C68D909494C4D2D3E4A7A5A5B1BC69F2CF9D 2557 1D74DEE706CAC5BA021FE4F1F29183750602EDECDDBB17A2A2A2587AAAFCA953
2544 3B17E2637EC7FC8AFE4737581760FE5BBC7871883F66CC181646B6FBE1850B21 2558 A7B2BCA9F23332327C7CCCEF985FD1FF6807EB02CC7FEBD7AFF7F1274F9ECCC2
2545 FD58F6B1ECCC9D3B17BEFEFA6B06F4C7C8912361C1820516FD58CEFAF7EF0FA5 2559 C84E3FBC79D3271FCB3E969D952B57C2C4891319D01FE3C78F87356BD668E463
2546 4A9562DFBE307C280B75633F1AFBBE7FFFFBDF59BE477D9836261FF325C6E1D4 2560 391B3C7830E4CB978F7DFBC2F0A15B281BC7D138F67DF9E59759BE477998362A
2547 A953D998C31D77DC41CBCC50E6077C8E79A87CF9F270EFBDF7B23114FCAE8AE5 2561 1FF325C6E1BC79F3D89CC3534F3D45CBCC68E607D4C73C54BC787178E18517D8
2548 C9E463D9C47436C36CC60302CB33FA15ED11580613131359D8F834ECDBB72FE3 2562 1C0A7E57C5F2A4F2B16C623AAB6156E30181E519FD8AE6082C839191912C6C7C
2549 61DC99F187E984E30E665D80718FE988E349F6FC83718A71CDFB01F362FBF6ED 2563 1A0E1C3890F130EED4F8C374C27907B52EC0B8C774C4F9247DFEC138C5B8E6FD
2550 991F30EF601CA7A6A6B2326CE7E7E5E5B16FCEE675E2C40986A54B97B2F947A8 2564 8079B173E7CECC0F9877308E478E1CC9CAB09E7FE9D225F6CD597DAE5CB9C2B0
2551 1BE30CC7919CF2FFA04183181FEB8A69D3A641BF7EFD581C623EFAF8E38F2DF1 2565 71E346B6FE0865639CE13C9259FE1F3E7C38E3635DB160C102183468108B43CC
2552 269381F1B364C91296A698F618B6366DDAB0FCA3527ED1DFD3A74F8781030742 2566 476DDBB6D5C49B911B183F1B366C60698A698F61EBD0A103CB3F32E517FD1D1B
2553 7272B225AFF89C3F2C9C3BAD7A7E9CED0CB6303E966B3788D657A8727919BC1C 2567 1B0B43870E8561C38669F28ACBF5C3C2B5D3B2F7C7E9EE60F3E363B9B682687F
2554 5DFD32BEC778E0CEAB9BAE04113F64CFE6B273F7A13DD2ACF6423EEF8EFF6D37 2568 852C97778377C7AE7C23BEC378E0EEAB8B958288EF33676BD9B9DFBE33D2B4E6
2555 75F802DDAE7C07BD4AFEF7CA97C59F82FFFDA69F8FFCE3B5FC42B4FC17B3F2BF 2569 423E6F8F7FD7AB76F802D9967C13B952FE77CA378A3F09FFBB4D3F17F9C769F9
2556 0194202CFF767768C7DF9BE06448F93C97FFED876F7BA6C49799179B2F8B3F07 2570 8560F9CF66E57F0F484158FEF5F6D08CFFAD8273C390CF73F977377C9D9E14DF
2557 FFFB4DBF222EFF11BBCC76930CD82EC276A913DF9C0326027E5B749261F28F1E 2571 48BDDD7CA3F833F1BFDBF4BBC3E53F608FDA6F3202F68BB05F6AC657D7808980
2558 3E12065E06EE218EED532F7C5E86573E02DDEAF0EDB24A125F945774F9F6B8F5 2572 DF16CDDC50F9E7CF9EF303EF069E218EFD53277CDE0DA77C04DAB5C3D7BB9593
2559 C2F7AB9FE73BE56315FFABC029FE8A620F8168F98F967F1DBE17D8F9D83FC6DF 2573 F8A2BC6297AF8F5B277CB7F279BE593E96F1BF0CCCE2EF4E9C21102CFFC1F26F
2560 688ACA9169C7D70B3C9F77C7BB17956319DF5E6E797D76B3C5FB2D5CF5DBFD2F 2574 87EF047A3E8E8FF11D55513952CDF87A81E7F3F678FBA2726CC4D7975B5E9E5E
2561 AA5FBC2242FD7F082D7CA6D795575E1976FEECD5575F0DB7DD769BF40C23B437 2575 6DF94D4B4BF97AFF8BEA17A708D0F81F7C1B9FE9F3C0030FF8DD3FFBE0830FC2
2562 AFABAEBA2A8C7FEDB5D73A9E8184F637DF7CB3F09C5A539E79DD70C30D4C9F89 2576 134F3C617887119AAB4FEEDCB9FDF879F2E431BD0309CDF3E7CF2FBCA756754F
2563 6BAEB986D9F37E20E1E7DC867EA37B91FFD1CD8D37DE68798E6370763EFA07DD 2577 7DF2E6CDCBE4A978E8A1879839EF07E27FCFADEF1DED8BFC8F761E7DF4518D3E
2564 5D7FFDF5617C623BFB293E3E5EF85CA61F811CBC50079F464E71887676B7A274 2578 CEC1E9F9E81FB4F7C8238FF8F189EEEEA75CB97209F58DE42390830FCAE0D3C8
2565 C6E77CDC9920927D41F1C274B1EB9771447C7B7A78E13BC5971BDF4C6F3E6D75 2579 2C0ED14C6F5794CEA8CFC79D0A62702E283E982E7AF9461C115F9F1E4EF866F1
2566 F8581ECCB430C73375F9E633173E11F165E549507E7D41F7FC1F04BA450E7275 2580 65C557D39B4F5B3B7C2C0F6A5AA8F39976F9AA9E059F88F846E549507E5DC1EE
2567 CEFFC90700BA450E7255CFFF31816ED02D7290AB72FE0F0F74836E55CFFFB103 2581 FD3F08B48B1CE4DAB9FF271300681739C895BDFF4705DA41BBC841AECCFD3F3C
2568 DDA89EFF2382CEF93F22E89CFF2343F4FC9F9277FE0F685EF6CD4F4ADF7E9516 2582 D00EDA95BDFF470FB4237BFF8F0876EEFF11C1CEFD3F4608DEFF93F3EEFF019B
2569 4C192637F3540ED47BA70283FD1EF1E1BC6E96E7A68C28BFF8F079776EF7517E 2583 8FFEF093C28572DB82EA86CA8DBF960CB5BF2EC1A0FF8D68BDAA97465F7523C8
2570 7819F0527EFC96DFFF075D73DC4E 2584 CF3E7CDE9ED5EF20DFBF0C38293F6ECB6F7658037C6C54993C27C684B7A55842
2585 E1B100DA698B1C957F64C43B6DCF2EAC9798B1BB771AECEB0F66C8D8DD2BEDEC
2586 828844E4A8FCE4212597A4EFE891766A61E38B2BBF2BE03103DAB91EFF731A72
2587 547E42BFE29EF4ED3D61F9B7F93D2BDA16284E410C501CEDA46DFD0990A3F271
2588 2DDAD5CD5D6169EB7C1E0AB2FC5B2D6F55BB67C8CAEF0A1134433B977FEFC8D6
2589 AFA9FC4D5D5FF49C59DD1EE2BE79DC434110540E550B92C52D9F216BDAFF93C1
2590 6BE6495DDC0A90A3F2A9992725B6252C6CFEA88782CCFF3A1F89698AC8E4AFFE
2591 FE1F9529A297B42E44D0CE81598D01392A9FDAF11C8C6908314DF37AE67D95AF
2592 38F2E634CECFF871DF3C5D19CD110B9B3F41D0CEDE299F02BEAB7C6A6F49CAFC
2593 7A69F1BFBC7891FEF6CC6D52201AF954AD8CEF67367C0FA822D04ED28C1A69C8
2594 51F933EA3FDA765DF7628927E6574B3BB3201CE8BB8702F53D97373683D3316F
2595 C3A99852706A6E4938F6DBFB696B95171291A3F2A7463C9C67629D87DA522CA1
2596 F04CAA9B277AF2677908552BE37BFAEF9500552FD04E5BE4F0EBFF3F2A729F0F
2597 2F150C637AA87E5FE6BECAA36BDEEF41F076F8B2471F5C087C9F77ADDE63DEB6
2598 19DBF6E7298AD47C39B451DBB743A7D0DF6F50BCE85DEF1FA6E38779DDF81B45
2599 1E6FDB8E1D8C82DEBD05EA9AC0FCEA9AC0ECB207E0F8E832E4C498B2D1141E09
2600 44A37D9E9F125D1AE1A11D5BB849CBB8067BFBF900070601DA43FB3C3F71D07F
2601 109E8CDD7DE0DA861F0C91BE2312D01EDAE7F9BBFABC86F05CA3E5FAC2E26F7C
2602 38BDE06B3836BB011C9A5E0F92A77E0E2797B506B487F679BEA7DB4B08CF953F
2603 3AD3BCDA040E4EAE0B3B8757852D032B806740791FF65237D01EDAE7F9DEF2ED
2604 39B392BA3FBC02C40F2E2BC4DEC93559B945FB3C7F71CBA7119EE30B3E82C451
2605 450D71785A59407B689FE76359A5F05C58F4369C9E5AC810B86F01EDA17D9E3F
2606 E5F387119E8CA5FF82F439F71B63C1E380F6D03ECF1FFB496E8407563C07B038
2607 1F40DC63008BF2523C0C104BC7F1B10F022CFC1B551F06B4D7A1ECFDFAFD3761
2608 6D4B878D8BFE30CC63056A6F3CAEC7D5F3BDE556A6DF9D4FCFCF29C075E1B46D
2609 A6E5383C82B6AFD8AE62DBC8D679D3F6C6928F1C0A8F171176F9689FC20347A2
2610 01D5A4A8921176F86897B5E53B7B011D64B3367ACFAFC52364F9684F6DCBCFC7
2611 36871BFB07B0767A5BCFA211327CB483EDF2E5F59DE004AD3792267E0AE73D0A
2612 6BAB37FEF8EF082BBE5A0F1C59D014B60E2A4FEB8F720CC796B5D2B4D746C0B6
2613 1EDBE594DF6A4042740986D4A55FB2B67A49ABBF5BCAC7F61EDBE8B3F34B41EA
2614 A4BFC385E51FB0767BDE574F44A0DB567CB5CD4E8FFB07A4AF2CC1DAF1995F3E
2615 1681EEF6AD59C0924FDB658407563E0FDE763CA26BA53CE49527EF93EAEB567F
2616 391751DB6ADA6E47A8EDB86C5F993EB9693B3DA1D11BA1DF79F7E3615B5DD8DB
2617 FE3E20C1CFE56DAF9FF272F27BD7F7E7C9A97586491F20DA484FC4D7F401685B
2618 AFB6F34C2F69B0464FC457FB00E9BB7AC3D5751D7CED3CD3A37D7B5E4FC457FB
2619 006AD957DB79544FADF81692699B2E6AFBF57D808BB46F8FEDBFDACEA39A38B3
2620 7E661F40D0F6EBCBFEE1F90D585BAFB6F3A8EE9F565BA3272EFBDE3EC0BC0F59
2621 5BAFB6F3A81E99595EA327E2FBFA00B16FB1B65E6DE7513D17F38A464FC4F7F5
2622 0196FC93B5F56A3B8F6AFAC2821A3D11DFD70758FE2C6BFFF1B74F2FEE51D6FE
2623 8BDA7EBEEC61DBCEB5F3D8DF7E0A554E6F22D5BBDFA4ECE6979873BBFF5E69FB
2624 0F0E7DDBB75FCC6B86E3F7687C976DFBBDFACC0CCBB1D75CBAEDDFDBBF84CF2C
2625 83966D54F1DDA8ED4F8BEF0E370F0ED1B4FDAAD9B52DDD983EBE1BB5FD573676
2626 81B3B4DF9FC1B5FD7F767F8599A9E376B46BD6F69F99D794B5FF97A95FD4B61F
2627 D5FD33BE60EFA2BE845AD6CFAD6C0B7B46D5F08D1D4EACFA4E2DF79E045AAF18
2628 D5016ADB7FE8B73AB073C8DB0CA9CB9BFBDA7E5413275703EF58DEB0ED3F31B7
2629 3C1C1AFB6F38BBA2AEAFED5FD0AC10333B36A3943A8E376CFB2FC5BE0A575655
2630 D4B4FDAAD985B9CFF9C6F6466DFF8D35C5356D7FADD772DF325BF8983A8EF7E3
2631 BF5820D4B0ED57CD70FC802ABE0BCAFF33D8F6372E1EDA96DBBBF7B8771CFE2C
2632 359B3CBC5AA807EDD0F7BF0BF88F78C7064F727BF7702C9FDBDB0728C48DDFF3
2633 06AADCFE3FE0547E3E
2571 } 2634 }
2572 end 2635 end
2573 object OpenDialog1: TOpenDialog 2636 object OpenDialog1: TOpenDialog
@@ -2970,9 +3033,8 @@ object frmTracker: TfrmTracker
2970 Left = 208 3033 Left = 208
2971 Top = 32 3034 Top = 32
2972 object PlayStartAction: TAction 3035 object PlayStartAction: TAction
2973 Caption = '▶️ Start'
2974 DisableIfNoHandler = False 3036 DisableIfNoHandler = False
2975 ImageIndex = 74 3037 ImageIndex = 91
2976 OnExecute = PlayStartActionExecute 3038 OnExecute = PlayStartActionExecute
2977 SecondaryShortCuts.Strings = ( 3039 SecondaryShortCuts.Strings = (
2978 'F5' 3040 'F5'
@@ -2980,8 +3042,7 @@ object frmTracker: TfrmTracker
2980 ShortCut = 24589 3042 ShortCut = 24589
2981 end 3043 end
2982 object PlayCursorAction: TAction 3044 object PlayCursorAction: TAction
2983 Caption = '▶️ Cursor' 3045 ImageIndex = 89
2984 ImageIndex = 74
2985 OnExecute = PlayCursorActionExecute 3046 OnExecute = PlayCursorActionExecute
2986 SecondaryShortCuts.Strings = ( 3047 SecondaryShortCuts.Strings = (
2987 'F6' 3048 'F6'
@@ -2989,8 +3050,7 @@ object frmTracker: TfrmTracker
2989 ShortCut = 8205 3050 ShortCut = 8205
2990 end 3051 end
2991 object PlayOrderAction: TAction 3052 object PlayOrderAction: TAction
2992 Caption = '▶️ Order' 3053 ImageIndex = 89
2993 ImageIndex = 74
2994 OnExecute = PlayOrderActionExecute 3054 OnExecute = PlayOrderActionExecute
2995 SecondaryShortCuts.Strings = ( 3055 SecondaryShortCuts.Strings = (
2996 'F7' 3056 'F7'
@@ -2998,8 +3058,7 @@ object frmTracker: TfrmTracker
2998 ShortCut = 16397 3058 ShortCut = 16397
2999 end 3059 end
3000 object StopAction: TAction 3060 object StopAction: TAction
3001 Caption = '⏹ Stop' 3061 ImageIndex = 88
3002 ImageIndex = 73
3003 OnExecute = StopActionExecute 3062 OnExecute = StopActionExecute
3004 SecondaryShortCuts.Strings = ( 3063 SecondaryShortCuts.Strings = (
3005 'F8' 3064 'F8'
Modifiedtracker.pas +11−9
@@ -46,6 +46,8 @@ type
46 MenuItem42: TMenuItem; 46 MenuItem42: TMenuItem;
47 MenuItem55: TMenuItem; 47 MenuItem55: TMenuItem;
48 TBMOpenDialog: TOpenDialog; 48 TBMOpenDialog: TOpenDialog;
49 ToolButton11: TToolButton;
50 LoopSongToolButton: TToolButton;
49 VGMSaveDialog: TSaveDialog; 51 VGMSaveDialog: TSaveDialog;
50 MenuItem10: TMenuItem; 52 MenuItem10: TMenuItem;
51 TempoBPMLabel: TLabel; 53 TempoBPMLabel: TLabel;
@@ -298,6 +300,7 @@ type
298 procedure MenuItem55Click(Sender: TObject); 300 procedure MenuItem55Click(Sender: TObject);
299 procedure TimerDividerSpinEditChange(Sender: TObject); 301 procedure TimerDividerSpinEditChange(Sender: TObject);
300 procedure TimerEnabledCheckBoxChange(Sender: TObject); 302 procedure TimerEnabledCheckBoxChange(Sender: TObject);
303 procedure LoopSongToolButtonClick(Sender: TObject);
301 procedure TrackerPopupMixPasteClick(Sender: TObject); 304 procedure TrackerPopupMixPasteClick(Sender: TObject);
302 procedure EnableSubpatternCheckboxChange(Sender: TObject); 305 procedure EnableSubpatternCheckboxChange(Sender: TObject);
303 procedure FormShow(Sender: TObject); 306 procedure FormShow(Sender: TObject);
@@ -1915,6 +1918,7 @@ begin
1915 1918
1916 PokeSymbol(SYM_CURRENT_ORDER, 2*(OrderEditStringGrid.Row-1)); 1919 PokeSymbol(SYM_CURRENT_ORDER, 2*(OrderEditStringGrid.Row-1));
1917 PokeSymbol(SYM_ROW, TrackerGrid.Cursor.Y); 1920 PokeSymbol(SYM_ROW, TrackerGrid.Cursor.Y);
1921 PokeSymbol(SYM_LOOP_ORDER, IfThen(LoopSongToolButton.Down, 1, 0));
1918 1922
1919 UnlockPlayback; 1923 UnlockPlayback;
1920 end 1924 end
@@ -1927,6 +1931,7 @@ begin
1927 1931
1928 PokeSymbol(SYM_CURRENT_ORDER, 2*(OrderEditStringGrid.Row-1)); 1932 PokeSymbol(SYM_CURRENT_ORDER, 2*(OrderEditStringGrid.Row-1));
1929 PokeSymbol(SYM_ROW, 0); 1933 PokeSymbol(SYM_ROW, 0);
1934 PokeSymbol(SYM_LOOP_ORDER, IfThen(LoopSongToolButton.Down, 1, 0));
1930 1935
1931 UnlockPlayback; 1936 UnlockPlayback;
1932 end 1937 end
@@ -2040,6 +2045,11 @@ begin
2040 UpdateBPMLabel 2045 UpdateBPMLabel
2041 end; 2046 end;
2042 2047
2048 procedure TfrmTracker.LoopSongToolButtonClick(Sender: TObject);
2049 begin
2050 PokeSymbol(SYM_LOOP_ORDER, IfThen(LoopSongToolButton.Down, 1, 0));
2051 end;
2052
2043 procedure TfrmTracker.FormShow(Sender: TObject); 2053 procedure TfrmTracker.FormShow(Sender: TObject);
2044 begin 2054 begin
2045 { HACK: This needs to be done due to a scaling bug in the LCL. 2055 { HACK: This needs to be done due to a scaling bug in the LCL.
@@ -2061,15 +2071,7 @@ procedure TfrmTracker.DebugButtonClick(Sender: TObject);
2061 var 2071 var
2062 Stream: TFileStream; 2072 Stream: TFileStream;
2063 begin 2073 begin
2064 DestroySong(Song); 2074 // debug
2065
2066 // TODO: Add error checking
2067 Stream := TFileStream.Create('C:/tmp/n1_navi_v2.tbm', fmOpenRead);
2068 Song := LoadSongFromTbmStream(Stream);
2069
2070 Stream.Free;
2071
2072 UpdateUIAfterLoad('Jorgus');
2073 end; 2075 end;
2074 2076
2075 procedure TfrmTracker.DecreaseOctaveActionExecute(Sender: TObject); 2077 procedure TfrmTracker.DecreaseOctaveActionExecute(Sender: TObject);