forked from MHumm/DelphiEncryptionCompendium
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDECDataCipher.pas
3812 lines (3771 loc) · 295 KB
/
DECDataCipher.pas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
{*****************************************************************************
The DEC team (see file NOTICE.txt) licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. A copy of this licence is found in the root directory
of this project in the file LICENCE.txt or alternatively at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
*****************************************************************************}
/// <summary>
/// Data Arrays for the cipher functions
/// </summary>
unit DECDataCipher;
interface
{$INCLUDE DECOptions.inc}
{$IFOPT Q+}{$DEFINE RESTORE_OVERFLOWCHECKS}{$Q-}{$ENDIF}
{$IFOPT R+}{$DEFINE RESTORE_RANGECHECKS}{$R-}{$ENDIF}
const
Square_SE: array[0..255] of Byte = (
177, 206, 195, 149, 90, 173, 231, 2, 77, 68, 251, 145, 12, 135, 161, 80,
203, 103, 84, 221, 70, 143, 225, 78, 240, 253, 252, 235, 249, 196, 26, 110,
94, 245, 204, 141, 28, 86, 67, 254, 7, 97, 248, 117, 89, 255, 3, 34,
138, 209, 19, 238, 136, 0, 14, 52, 21, 128, 148, 227, 237, 181, 83, 35,
75, 71, 23, 167, 144, 53, 171, 216, 184, 223, 79, 87, 154, 146, 219, 27,
60, 200, 153, 4, 142, 224, 215, 125, 133, 187, 64, 44, 58, 69, 241, 66,
101, 32, 65, 24, 114, 37, 147, 112, 54, 5, 242, 11, 163, 121, 236, 8,
39, 49, 50, 182, 124, 176, 10, 115, 91, 123, 183, 129, 210, 13, 106, 38,
158, 88, 156, 131, 116, 179, 172, 48, 122, 105, 119, 15, 174, 33, 222, 208,
46, 151, 16, 164, 152, 168, 212, 104, 45, 98, 41, 109, 22, 73, 118, 199,
232, 193, 150, 55, 229, 202, 244, 233, 99, 18, 194, 166, 20, 188, 211, 40,
175, 47, 230, 36, 82, 198, 160, 9, 189, 140, 207, 93, 17, 95, 1, 197,
159, 61, 162, 155, 201, 59, 190, 81, 25, 31, 63, 92, 178, 239, 74, 205,
191, 186, 111, 100, 217, 243, 62, 180, 170, 220, 213, 6, 192, 126, 246, 102,
108, 132, 113, 56, 185, 29, 127, 157, 72, 139, 42, 218, 165, 51, 130, 57,
214, 120, 134, 250, 228, 43, 169, 30, 137, 96, 107, 234, 85, 76, 247, 226
);
Square_SD: array[0..255] of Byte = (
53, 190, 7, 46, 83, 105, 219, 40, 111, 183, 118, 107, 12, 125, 54, 139,
146, 188, 169, 50, 172, 56, 156, 66, 99, 200, 30, 79, 36, 229, 247, 201,
97, 141, 47, 63, 179, 101, 127, 112, 175, 154, 234, 245, 91, 152, 144, 177,
135, 113, 114, 237, 55, 69, 104, 163, 227, 239, 92, 197, 80, 193, 214, 202,
90, 98, 95, 38, 9, 93, 20, 65, 232, 157, 206, 64, 253, 8, 23, 74,
15, 199, 180, 62, 18, 252, 37, 75, 129, 44, 4, 120, 203, 187, 32, 189,
249, 41, 153, 168, 211, 96, 223, 17, 151, 137, 126, 250, 224, 155, 31, 210,
103, 226, 100, 119, 132, 43, 158, 138, 241, 109, 136, 121, 116, 87, 221, 230,
57, 123, 238, 131, 225, 88, 242, 13, 52, 248, 48, 233, 185, 35, 84, 21,
68, 11, 77, 102, 58, 3, 162, 145, 148, 82, 76, 195, 130, 231, 128, 192,
182, 14, 194, 108, 147, 236, 171, 67, 149, 246, 216, 70, 134, 5, 140, 176,
117, 0, 204, 133, 215, 61, 115, 122, 72, 228, 209, 89, 173, 184, 198, 208,
220, 161, 170, 2, 29, 191, 181, 159, 81, 196, 165, 16, 34, 207, 1, 186,
143, 49, 124, 174, 150, 218, 240, 86, 71, 212, 235, 78, 217, 19, 142, 73,
85, 22, 255, 59, 244, 164, 178, 6, 160, 167, 251, 27, 110, 60, 51, 205,
24, 94, 106, 213, 166, 33, 222, 254, 42, 28, 243, 10, 26, 25, 39, 45
);
Square_PHI: array[0..255] of UInt32 = (
$00000000,$03010102,$06020204,$05030306,$0C040408,$0F05050A,$0A06060C,$0907070E,
$18080810,$1B090912,$1E0A0A14,$1D0B0B16,$140C0C18,$170D0D1A,$120E0E1C,$110F0F1E,
$30101020,$33111122,$36121224,$35131326,$3C141428,$3F15152A,$3A16162C,$3917172E,
$28181830,$2B191932,$2E1A1A34,$2D1B1B36,$241C1C38,$271D1D3A,$221E1E3C,$211F1F3E,
$60202040,$63212142,$66222244,$65232346,$6C242448,$6F25254A,$6A26264C,$6927274E,
$78282850,$7B292952,$7E2A2A54,$7D2B2B56,$742C2C58,$772D2D5A,$722E2E5C,$712F2F5E,
$50303060,$53313162,$56323264,$55333366,$5C343468,$5F35356A,$5A36366C,$5937376E,
$48383870,$4B393972,$4E3A3A74,$4D3B3B76,$443C3C78,$473D3D7A,$423E3E7C,$413F3F7E,
$C0404080,$C3414182,$C6424284,$C5434386,$CC444488,$CF45458A,$CA46468C,$C947478E,
$D8484890,$DB494992,$DE4A4A94,$DD4B4B96,$D44C4C98,$D74D4D9A,$D24E4E9C,$D14F4F9E,
$F05050A0,$F35151A2,$F65252A4,$F55353A6,$FC5454A8,$FF5555AA,$FA5656AC,$F95757AE,
$E85858B0,$EB5959B2,$EE5A5AB4,$ED5B5BB6,$E45C5CB8,$E75D5DBA,$E25E5EBC,$E15F5FBE,
$A06060C0,$A36161C2,$A66262C4,$A56363C6,$AC6464C8,$AF6565CA,$AA6666CC,$A96767CE,
$B86868D0,$BB6969D2,$BE6A6AD4,$BD6B6BD6,$B46C6CD8,$B76D6DDA,$B26E6EDC,$B16F6FDE,
$907070E0,$937171E2,$967272E4,$957373E6,$9C7474E8,$9F7575EA,$9A7676EC,$997777EE,
$887878F0,$8B7979F2,$8E7A7AF4,$8D7B7BF6,$847C7CF8,$877D7DFA,$827E7EFC,$817F7FFE,
$758080F5,$768181F7,$738282F1,$708383F3,$798484FD,$7A8585FF,$7F8686F9,$7C8787FB,
$6D8888E5,$6E8989E7,$6B8A8AE1,$688B8BE3,$618C8CED,$628D8DEF,$678E8EE9,$648F8FEB,
$459090D5,$469191D7,$439292D1,$409393D3,$499494DD,$4A9595DF,$4F9696D9,$4C9797DB,
$5D9898C5,$5E9999C7,$5B9A9AC1,$589B9BC3,$519C9CCD,$529D9DCF,$579E9EC9,$549F9FCB,
$15A0A0B5,$16A1A1B7,$13A2A2B1,$10A3A3B3,$19A4A4BD,$1AA5A5BF,$1FA6A6B9,$1CA7A7BB,
$0DA8A8A5,$0EA9A9A7,$0BAAAAA1,$08ABABA3,$01ACACAD,$02ADADAF,$07AEAEA9,$04AFAFAB,
$25B0B095,$26B1B197,$23B2B291,$20B3B393,$29B4B49D,$2AB5B59F,$2FB6B699,$2CB7B79B,
$3DB8B885,$3EB9B987,$3BBABA81,$38BBBB83,$31BCBC8D,$32BDBD8F,$37BEBE89,$34BFBF8B,
$B5C0C075,$B6C1C177,$B3C2C271,$B0C3C373,$B9C4C47D,$BAC5C57F,$BFC6C679,$BCC7C77B,
$ADC8C865,$AEC9C967,$ABCACA61,$A8CBCB63,$A1CCCC6D,$A2CDCD6F,$A7CECE69,$A4CFCF6B,
$85D0D055,$86D1D157,$83D2D251,$80D3D353,$89D4D45D,$8AD5D55F,$8FD6D659,$8CD7D75B,
$9DD8D845,$9ED9D947,$9BDADA41,$98DBDB43,$91DCDC4D,$92DDDD4F,$97DEDE49,$94DFDF4B,
$D5E0E035,$D6E1E137,$D3E2E231,$D0E3E333,$D9E4E43D,$DAE5E53F,$DFE6E639,$DCE7E73B,
$CDE8E825,$CEE9E927,$CBEAEA21,$C8EBEB23,$C1ECEC2D,$C2EDED2F,$C7EEEE29,$C4EFEF2B,
$E5F0F015,$E6F1F117,$E3F2F211,$E0F3F313,$E9F4F41D,$EAF5F51F,$EFF6F619,$ECF7F71B,
$FDF8F805,$FEF9F907,$FBFAFA01,$F8FBFB03,$F1FCFC0D,$F2FDFD0F,$F7FEFE09,$F4FFFF0B
);
Square_TD: array[0..3, 0..255] of UInt32 = (
($02BC68E3,$0C628555,$31233F2A,$F713AB61,$726DD498,$199ACB21,$61A4223C,$CD3D9D45,
$23B4FD05,$5F07C42B,$C0012C9B,$0F80D93D,$745C6C48,$857E7FF9,$1FAB73F1,$0EDEEDB6,
$ED6B3C28,$1A789749,$8D912A9F,$339F57C9,$AAA807A9,$7DED0DA5,$8F2D427C,$C9B04D76,
$57E8914D,$CC63A9CE,$D296EEB4,$B6E12830,$B961F10D,$266719BD,$80AD9B41,$C76EA0C0,
$41F28351,$34F0DB92,$FC1EA26F,$4CCE328F,$7333E013,$6DC6A769,$93646DE5,$FA2F1ABF,
$B7BF1CBB,$B5037458,$4F2C6EE7,$96B7895D,$2A059CE8,$A3196644,$FB712E34,$6529F20F,
$7A8281FE,$F12213B1,$EC3508A3,$7E0F51CD,$14A67AFF,$F893725C,$1297C22F,$C3E370F3,
$1C492F99,$681543D1,$1B26A3C2,$B332CC88,$6F7ACF8A,$9F06E8B0,$1EF5477A,$DA79BBD2,
$210895E6,$5CE59843,$0631B8D0,$AF7BE311,$5365417E,$102BAACC,$9CE4B4D8,$D4A75664,
$59367CFB,$84204B72,$F64D9FEA,$DFAA5F6A,$CEDFC12D,$58684870,$81F3AFCA,$91D80506,
$694B775A,$A528DE94,$4210DF39,$47C33B81,$A6CA82FC,$C5D2C823,$B26CF803,$9AD50C08,
$40ACB7DA,$E109B97D,$2C342438,$A24752CF,$D174B2DC,$2B5BA863,$9555D535,$11759E47,
$E2EBE515,$C630944B,$A8146F4A,$869C2391,$39CC6A4C,$4AFF8A5F,$4D900604,$BBDD99EE,
$CA52111E,$18C4FFAA,$986964EB,$FFFCFE07,$015E348B,$BE0E7D56,$D99BE7BA,$32C16342,
$7BDCB575,$17442697,$66CBAE67,$CB0C2595,$67959AEC,$D02A8657,$99375060,$05D3E4B8,
$BA83AD65,$35AEEF19,$13C9F6A4,$A94A5BC1,$D61B3E87,$5E59F0A0,$5B8A1418,$3B7002AF,
$76E004AB,$BF5049DD,$63184ADF,$56B6A5C6,$0A533D85,$371287FA,$A794B677,$7F516546,
$09B161ED,$E9E6EC1B,$258545D5,$523B75F5,$3D41BA7F,$8842CE27,$434EEBB2,$97E9BDD6,
$F39E7B52,$457F5362,$A0FB3A2C,$70D1BC7B,$6BF71FB9,$1D171B12,$C8EE79FD,$F07C273A,
$D7450A0C,$7960DD96,$ABF63322,$891CFAAC,$5DBBACC8,$307D0BA1,$4BA1BED4,$940BE1BE,
$540ACD25,$62467E54,$8211F3A2,$3EA3E617,$E6663526,$750258C3,$9B8B3883,$C2BD4478,
$DC480302,$8BA0924F,$7CB3392E,$E584694E,$718F88F0,$27392D36,$3FFDD29C,$6E24FB01,
$DD163789,$00000000,$E0578DF6,$6C9893E2,$15F84E74,$5AD42093,$E73801AD,$B45D40D3,
$87C2171A,$2D6A10B3,$2FD67850,$3C1F8EF4,$A1A50EA7,$364CB371,$AE25D79A,$24DB715E,
$50871D16,$D5F962EF,$9086318D,$161A121C,$CF81F5A6,$076F8C5B,$491DD637,$923A596E,
$6477C684,$B83FC586,$F9CD46D7,$B0D090E0,$834FC729,$FD4096E4,$0B0D090E,$2056A16D,
$22EAC98E,$2E884CDB,$8E7376F7,$BCB215B5,$C15F1810,$6AA92B32,$B18EA46B,$5554F9AE,
$EE896040,$08EF5566,$442167E9,$BDEC213E,$77BE3020,$ADC78BF2,$29E7C080,$8CCF1E14,
$4843E2BC,$8AFEA6C4,$D8C5D331,$60FA16B7,$9DBA8053,$F2C04FD9,$783EE91D,$3A2E3624,
$DEF46BE1,$EFD754CB,$F4F1F709,$F5AFC382,$28B9F40B,$51D9299D,$38925EC7,$EB5A84F8,
$E8B8D890,$0D3CB1DE,$048DD033,$03E25C68,$E4DA5DC5,$9E58DC3B,$469D0F0A,$D3C8DA3F,
$DB278F59,$C48CFCA8,$AC99BF79,$4E725A6C,$FEA2CA8C,$E3B5D19E,$A476EA1F,$EA04B073),
($BC68E302,$6285550C,$233F2A31,$13AB61F7,$6DD49872,$9ACB2119,$A4223C61,$3D9D45CD,
$B4FD0523,$07C42B5F,$012C9BC0,$80D93D0F,$5C6C4874,$7E7FF985,$AB73F11F,$DEEDB60E,
$6B3C28ED,$7897491A,$912A9F8D,$9F57C933,$A807A9AA,$ED0DA57D,$2D427C8F,$B04D76C9,
$E8914D57,$63A9CECC,$96EEB4D2,$E12830B6,$61F10DB9,$6719BD26,$AD9B4180,$6EA0C0C7,
$F2835141,$F0DB9234,$1EA26FFC,$CE328F4C,$33E01373,$C6A7696D,$646DE593,$2F1ABFFA,
$BF1CBBB7,$037458B5,$2C6EE74F,$B7895D96,$059CE82A,$196644A3,$712E34FB,$29F20F65,
$8281FE7A,$2213B1F1,$3508A3EC,$0F51CD7E,$A67AFF14,$93725CF8,$97C22F12,$E370F3C3,
$492F991C,$1543D168,$26A3C21B,$32CC88B3,$7ACF8A6F,$06E8B09F,$F5477A1E,$79BBD2DA,
$0895E621,$E598435C,$31B8D006,$7BE311AF,$65417E53,$2BAACC10,$E4B4D89C,$A75664D4,
$367CFB59,$204B7284,$4D9FEAF6,$AA5F6ADF,$DFC12DCE,$68487058,$F3AFCA81,$D8050691,
$4B775A69,$28DE94A5,$10DF3942,$C33B8147,$CA82FCA6,$D2C823C5,$6CF803B2,$D50C089A,
$ACB7DA40,$09B97DE1,$3424382C,$4752CFA2,$74B2DCD1,$5BA8632B,$55D53595,$759E4711,
$EBE515E2,$30944BC6,$146F4AA8,$9C239186,$CC6A4C39,$FF8A5F4A,$9006044D,$DD99EEBB,
$52111ECA,$C4FFAA18,$6964EB98,$FCFE07FF,$5E348B01,$0E7D56BE,$9BE7BAD9,$C1634232,
$DCB5757B,$44269717,$CBAE6766,$0C2595CB,$959AEC67,$2A8657D0,$37506099,$D3E4B805,
$83AD65BA,$AEEF1935,$C9F6A413,$4A5BC1A9,$1B3E87D6,$59F0A05E,$8A14185B,$7002AF3B,
$E004AB76,$5049DDBF,$184ADF63,$B6A5C656,$533D850A,$1287FA37,$94B677A7,$5165467F,
$B161ED09,$E6EC1BE9,$8545D525,$3B75F552,$41BA7F3D,$42CE2788,$4EEBB243,$E9BDD697,
$9E7B52F3,$7F536245,$FB3A2CA0,$D1BC7B70,$F71FB96B,$171B121D,$EE79FDC8,$7C273AF0,
$450A0CD7,$60DD9679,$F63322AB,$1CFAAC89,$BBACC85D,$7D0BA130,$A1BED44B,$0BE1BE94,
$0ACD2554,$467E5462,$11F3A282,$A3E6173E,$663526E6,$0258C375,$8B38839B,$BD4478C2,
$480302DC,$A0924F8B,$B3392E7C,$84694EE5,$8F88F071,$392D3627,$FDD29C3F,$24FB016E,
$163789DD,$00000000,$578DF6E0,$9893E26C,$F84E7415,$D420935A,$3801ADE7,$5D40D3B4,
$C2171A87,$6A10B32D,$D678502F,$1F8EF43C,$A50EA7A1,$4CB37136,$25D79AAE,$DB715E24,
$871D1650,$F962EFD5,$86318D90,$1A121C16,$81F5A6CF,$6F8C5B07,$1DD63749,$3A596E92,
$77C68464,$3FC586B8,$CD46D7F9,$D090E0B0,$4FC72983,$4096E4FD,$0D090E0B,$56A16D20,
$EAC98E22,$884CDB2E,$7376F78E,$B215B5BC,$5F1810C1,$A92B326A,$8EA46BB1,$54F9AE55,
$896040EE,$EF556608,$2167E944,$EC213EBD,$BE302077,$C78BF2AD,$E7C08029,$CF1E148C,
$43E2BC48,$FEA6C48A,$C5D331D8,$FA16B760,$BA80539D,$C04FD9F2,$3EE91D78,$2E36243A,
$F46BE1DE,$D754CBEF,$F1F709F4,$AFC382F5,$B9F40B28,$D9299D51,$925EC738,$5A84F8EB,
$B8D890E8,$3CB1DE0D,$8DD03304,$E25C6803,$DA5DC5E4,$58DC3B9E,$9D0F0A46,$C8DA3FD3,
$278F59DB,$8CFCA8C4,$99BF79AC,$725A6C4E,$A2CA8CFE,$B5D19EE3,$76EA1FA4,$04B073EA),
($68E302BC,$85550C62,$3F2A3123,$AB61F713,$D498726D,$CB21199A,$223C61A4,$9D45CD3D,
$FD0523B4,$C42B5F07,$2C9BC001,$D93D0F80,$6C48745C,$7FF9857E,$73F11FAB,$EDB60EDE,
$3C28ED6B,$97491A78,$2A9F8D91,$57C9339F,$07A9AAA8,$0DA57DED,$427C8F2D,$4D76C9B0,
$914D57E8,$A9CECC63,$EEB4D296,$2830B6E1,$F10DB961,$19BD2667,$9B4180AD,$A0C0C76E,
$835141F2,$DB9234F0,$A26FFC1E,$328F4CCE,$E0137333,$A7696DC6,$6DE59364,$1ABFFA2F,
$1CBBB7BF,$7458B503,$6EE74F2C,$895D96B7,$9CE82A05,$6644A319,$2E34FB71,$F20F6529,
$81FE7A82,$13B1F122,$08A3EC35,$51CD7E0F,$7AFF14A6,$725CF893,$C22F1297,$70F3C3E3,
$2F991C49,$43D16815,$A3C21B26,$CC88B332,$CF8A6F7A,$E8B09F06,$477A1EF5,$BBD2DA79,
$95E62108,$98435CE5,$B8D00631,$E311AF7B,$417E5365,$AACC102B,$B4D89CE4,$5664D4A7,
$7CFB5936,$4B728420,$9FEAF64D,$5F6ADFAA,$C12DCEDF,$48705868,$AFCA81F3,$050691D8,
$775A694B,$DE94A528,$DF394210,$3B8147C3,$82FCA6CA,$C823C5D2,$F803B26C,$0C089AD5,
$B7DA40AC,$B97DE109,$24382C34,$52CFA247,$B2DCD174,$A8632B5B,$D5359555,$9E471175,
$E515E2EB,$944BC630,$6F4AA814,$2391869C,$6A4C39CC,$8A5F4AFF,$06044D90,$99EEBBDD,
$111ECA52,$FFAA18C4,$64EB9869,$FE07FFFC,$348B015E,$7D56BE0E,$E7BAD99B,$634232C1,
$B5757BDC,$26971744,$AE6766CB,$2595CB0C,$9AEC6795,$8657D02A,$50609937,$E4B805D3,
$AD65BA83,$EF1935AE,$F6A413C9,$5BC1A94A,$3E87D61B,$F0A05E59,$14185B8A,$02AF3B70,
$04AB76E0,$49DDBF50,$4ADF6318,$A5C656B6,$3D850A53,$87FA3712,$B677A794,$65467F51,
$61ED09B1,$EC1BE9E6,$45D52585,$75F5523B,$BA7F3D41,$CE278842,$EBB2434E,$BDD697E9,
$7B52F39E,$5362457F,$3A2CA0FB,$BC7B70D1,$1FB96BF7,$1B121D17,$79FDC8EE,$273AF07C,
$0A0CD745,$DD967960,$3322ABF6,$FAAC891C,$ACC85DBB,$0BA1307D,$BED44BA1,$E1BE940B,
$CD25540A,$7E546246,$F3A28211,$E6173EA3,$3526E666,$58C37502,$38839B8B,$4478C2BD,
$0302DC48,$924F8BA0,$392E7CB3,$694EE584,$88F0718F,$2D362739,$D29C3FFD,$FB016E24,
$3789DD16,$00000000,$8DF6E057,$93E26C98,$4E7415F8,$20935AD4,$01ADE738,$40D3B45D,
$171A87C2,$10B32D6A,$78502FD6,$8EF43C1F,$0EA7A1A5,$B371364C,$D79AAE25,$715E24DB,
$1D165087,$62EFD5F9,$318D9086,$121C161A,$F5A6CF81,$8C5B076F,$D637491D,$596E923A,
$C6846477,$C586B83F,$46D7F9CD,$90E0B0D0,$C729834F,$96E4FD40,$090E0B0D,$A16D2056,
$C98E22EA,$4CDB2E88,$76F78E73,$15B5BCB2,$1810C15F,$2B326AA9,$A46BB18E,$F9AE5554,
$6040EE89,$556608EF,$67E94421,$213EBDEC,$302077BE,$8BF2ADC7,$C08029E7,$1E148CCF,
$E2BC4843,$A6C48AFE,$D331D8C5,$16B760FA,$80539DBA,$4FD9F2C0,$E91D783E,$36243A2E,
$6BE1DEF4,$54CBEFD7,$F709F4F1,$C382F5AF,$F40B28B9,$299D51D9,$5EC73892,$84F8EB5A,
$D890E8B8,$B1DE0D3C,$D033048D,$5C6803E2,$5DC5E4DA,$DC3B9E58,$0F0A469D,$DA3FD3C8,
$8F59DB27,$FCA8C48C,$BF79AC99,$5A6C4E72,$CA8CFEA2,$D19EE3B5,$EA1FA476,$B073EA04),
($E302BC68,$550C6285,$2A31233F,$61F713AB,$98726DD4,$21199ACB,$3C61A422,$45CD3D9D,
$0523B4FD,$2B5F07C4,$9BC0012C,$3D0F80D9,$48745C6C,$F9857E7F,$F11FAB73,$B60EDEED,
$28ED6B3C,$491A7897,$9F8D912A,$C9339F57,$A9AAA807,$A57DED0D,$7C8F2D42,$76C9B04D,
$4D57E891,$CECC63A9,$B4D296EE,$30B6E128,$0DB961F1,$BD266719,$4180AD9B,$C0C76EA0,
$5141F283,$9234F0DB,$6FFC1EA2,$8F4CCE32,$137333E0,$696DC6A7,$E593646D,$BFFA2F1A,
$BBB7BF1C,$58B50374,$E74F2C6E,$5D96B789,$E82A059C,$44A31966,$34FB712E,$0F6529F2,
$FE7A8281,$B1F12213,$A3EC3508,$CD7E0F51,$FF14A67A,$5CF89372,$2F1297C2,$F3C3E370,
$991C492F,$D1681543,$C21B26A3,$88B332CC,$8A6F7ACF,$B09F06E8,$7A1EF547,$D2DA79BB,
$E6210895,$435CE598,$D00631B8,$11AF7BE3,$7E536541,$CC102BAA,$D89CE4B4,$64D4A756,
$FB59367C,$7284204B,$EAF64D9F,$6ADFAA5F,$2DCEDFC1,$70586848,$CA81F3AF,$0691D805,
$5A694B77,$94A528DE,$394210DF,$8147C33B,$FCA6CA82,$23C5D2C8,$03B26CF8,$089AD50C,
$DA40ACB7,$7DE109B9,$382C3424,$CFA24752,$DCD174B2,$632B5BA8,$359555D5,$4711759E,
$15E2EBE5,$4BC63094,$4AA8146F,$91869C23,$4C39CC6A,$5F4AFF8A,$044D9006,$EEBBDD99,
$1ECA5211,$AA18C4FF,$EB986964,$07FFFCFE,$8B015E34,$56BE0E7D,$BAD99BE7,$4232C163,
$757BDCB5,$97174426,$6766CBAE,$95CB0C25,$EC67959A,$57D02A86,$60993750,$B805D3E4,
$65BA83AD,$1935AEEF,$A413C9F6,$C1A94A5B,$87D61B3E,$A05E59F0,$185B8A14,$AF3B7002,
$AB76E004,$DDBF5049,$DF63184A,$C656B6A5,$850A533D,$FA371287,$77A794B6,$467F5165,
$ED09B161,$1BE9E6EC,$D5258545,$F5523B75,$7F3D41BA,$278842CE,$B2434EEB,$D697E9BD,
$52F39E7B,$62457F53,$2CA0FB3A,$7B70D1BC,$B96BF71F,$121D171B,$FDC8EE79,$3AF07C27,
$0CD7450A,$967960DD,$22ABF633,$AC891CFA,$C85DBBAC,$A1307D0B,$D44BA1BE,$BE940BE1,
$25540ACD,$5462467E,$A28211F3,$173EA3E6,$26E66635,$C3750258,$839B8B38,$78C2BD44,
$02DC4803,$4F8BA092,$2E7CB339,$4EE58469,$F0718F88,$3627392D,$9C3FFDD2,$016E24FB,
$89DD1637,$00000000,$F6E0578D,$E26C9893,$7415F84E,$935AD420,$ADE73801,$D3B45D40,
$1A87C217,$B32D6A10,$502FD678,$F43C1F8E,$A7A1A50E,$71364CB3,$9AAE25D7,$5E24DB71,
$1650871D,$EFD5F962,$8D908631,$1C161A12,$A6CF81F5,$5B076F8C,$37491DD6,$6E923A59,
$846477C6,$86B83FC5,$D7F9CD46,$E0B0D090,$29834FC7,$E4FD4096,$0E0B0D09,$6D2056A1,
$8E22EAC9,$DB2E884C,$F78E7376,$B5BCB215,$10C15F18,$326AA92B,$6BB18EA4,$AE5554F9,
$40EE8960,$6608EF55,$E9442167,$3EBDEC21,$2077BE30,$F2ADC78B,$8029E7C0,$148CCF1E,
$BC4843E2,$C48AFEA6,$31D8C5D3,$B760FA16,$539DBA80,$D9F2C04F,$1D783EE9,$243A2E36,
$E1DEF46B,$CBEFD754,$09F4F1F7,$82F5AFC3,$0B28B9F4,$9D51D929,$C738925E,$F8EB5A84,
$90E8B8D8,$DE0D3CB1,$33048DD0,$6803E25C,$C5E4DA5D,$3B9E58DC,$0A469D0F,$3FD3C8DA,
$59DB278F,$A8C48CFC,$79AC99BF,$6C4E725A,$8CFEA2CA,$9EE3B5D1,$1FA476EA,$73EA04B0)
);
Cast128_Data: array[0..3, 0..255] of UInt32 = (
($30FB40D4,$9FA0FF0B,$6BECCD2F,$3F258C7A,$1E213F2F,$9C004DD3,$6003E540,$CF9FC949,
$BFD4AF27,$88BBBDB5,$E2034090,$98D09675,$6E63A0E0,$15C361D2,$C2E7661D,$22D4FF8E,
$28683B6F,$C07FD059,$FF2379C8,$775F50E2,$43C340D3,$DF2F8656,$887CA41A,$A2D2BD2D,
$A1C9E0D6,$346C4819,$61B76D87,$22540F2F,$2ABE32E1,$AA54166B,$22568E3A,$A2D341D0,
$66DB40C8,$A784392F,$004DFF2F,$2DB9D2DE,$97943FAC,$4A97C1D8,$527644B7,$B5F437A7,
$B82CBAEF,$D751D159,$6FF7F0ED,$5A097A1F,$827B68D0,$90ECF52E,$22B0C054,$BC8E5935,
$4B6D2F7F,$50BB64A2,$D2664910,$BEE5812D,$B7332290,$E93B159F,$B48EE411,$4BFF345D,
$FD45C240,$AD31973F,$C4F6D02E,$55FC8165,$D5B1CAAD,$A1AC2DAE,$A2D4B76D,$C19B0C50,
$882240F2,$0C6E4F38,$A4E4BFD7,$4F5BA272,$564C1D2F,$C59C5319,$B949E354,$B04669FE,
$B1B6AB8A,$C71358DD,$6385C545,$110F935D,$57538AD5,$6A390493,$E63D37E0,$2A54F6B3,
$3A787D5F,$6276A0B5,$19A6FCDF,$7A42206A,$29F9D4D5,$F61B1891,$BB72275E,$AA508167,
$38901091,$C6B505EB,$84C7CB8C,$2AD75A0F,$874A1427,$A2D1936B,$2AD286AF,$AA56D291,
$D7894360,$425C750D,$93B39E26,$187184C9,$6C00B32D,$73E2BB14,$A0BEBC3C,$54623779,
$64459EAB,$3F328B82,$7718CF82,$59A2CEA6,$04EE002E,$89FE78E6,$3FAB0950,$325FF6C2,
$81383F05,$6963C5C8,$76CB5AD6,$D49974C9,$CA180DCF,$380782D5,$C7FA5CF6,$8AC31511,
$35E79E13,$47DA91D0,$F40F9086,$A7E2419E,$31366241,$051EF495,$AA573B04,$4A805D8D,
$548300D0,$00322A3C,$BF64CDDF,$BA57A68E,$75C6372B,$50AFD341,$A7C13275,$915A0BF5,
$6B54BFAB,$2B0B1426,$AB4CC9D7,$449CCD82,$F7FBF265,$AB85C5F3,$1B55DB94,$AAD4E324,
$CFA4BD3F,$2DEAA3E2,$9E204D02,$C8BD25AC,$EADF55B3,$D5BD9E98,$E31231B2,$2AD5AD6C,
$954329DE,$ADBE4528,$D8710F69,$AA51C90F,$AA786BF6,$22513F1E,$AA51A79B,$2AD344CC,
$7B5A41F0,$D37CFBAD,$1B069505,$41ECE491,$B4C332E6,$032268D4,$C9600ACC,$CE387E6D,
$BF6BB16C,$6A70FB78,$0D03D9C9,$D4DF39DE,$E01063DA,$4736F464,$5AD328D8,$B347CC96,
$75BB0FC3,$98511BFB,$4FFBCC35,$B58BCF6A,$E11F0ABC,$BFC5FE4A,$A70AEC10,$AC39570A,
$3F04442F,$6188B153,$E0397A2E,$5727CB79,$9CEB418F,$1CACD68D,$2AD37C96,$0175CB9D,
$C69DFF09,$C75B65F0,$D9DB40D8,$EC0E7779,$4744EAD4,$B11C3274,$DD24CB9E,$7E1C54BD,
$F01144F9,$D2240EB1,$9675B3FD,$A3AC3755,$D47C27AF,$51C85F4D,$56907596,$A5BB15E6,
$580304F0,$CA042CF1,$011A37EA,$8DBFAADB,$35BA3E4A,$3526FFA0,$C37B4D09,$BC306ED9,
$98A52666,$5648F725,$FF5E569D,$0CED63D0,$7C63B2CF,$700B45E1,$D5EA50F1,$85A92872,
$AF1FBDA7,$D4234870,$A7870BF3,$2D3B4D79,$42E04198,$0CD0EDE7,$26470DB8,$F881814C,
$474D6AD7,$7C0C5E5C,$D1231959,$381B7298,$F5D2F4DB,$AB838653,$6E2F1E23,$83719C9E,
$BD91E046,$9A56456E,$DC39200C,$20C8C571,$962BDA1C,$E1E696FF,$B141AB08,$7CCA89B9,
$1A69E783,$02CC4843,$A2F7C579,$429EF47D,$427B169C,$5AC9F049,$DD8F0F00,$5C8165BF),
($1F201094,$EF0BA75B,$69E3CF7E,$393F4380,$FE61CF7A,$EEC5207A,$55889C94,$72FC0651,
$ADA7EF79,$4E1D7235,$D55A63CE,$DE0436BA,$99C430EF,$5F0C0794,$18DCDB7D,$A1D6EFF3,
$A0B52F7B,$59E83605,$EE15B094,$E9FFD909,$DC440086,$EF944459,$BA83CCB3,$E0C3CDFB,
$D1DA4181,$3B092AB1,$F997F1C1,$A5E6CF7B,$01420DDB,$E4E7EF5B,$25A1FF41,$E180F806,
$1FC41080,$179BEE7A,$D37AC6A9,$FE5830A4,$98DE8B7F,$77E83F4E,$79929269,$24FA9F7B,
$E113C85B,$ACC40083,$D7503525,$F7EA615F,$62143154,$0D554B63,$5D681121,$C866C359,
$3D63CF73,$CEE234C0,$D4D87E87,$5C672B21,$071F6181,$39F7627F,$361E3084,$E4EB573B,
$602F64A4,$D63ACD9C,$1BBC4635,$9E81032D,$2701F50C,$99847AB4,$A0E3DF79,$BA6CF38C,
$10843094,$2537A95E,$F46F6FFE,$A1FF3B1F,$208CFB6A,$8F458C74,$D9E0A227,$4EC73A34,
$FC884F69,$3E4DE8DF,$EF0E0088,$3559648D,$8A45388C,$1D804366,$721D9BFD,$A58684BB,
$E8256333,$844E8212,$128D8098,$FED33FB4,$CE280AE1,$27E19BA5,$D5A6C252,$E49754BD,
$C5D655DD,$EB667064,$77840B4D,$A1B6A801,$84DB26A9,$E0B56714,$21F043B7,$E5D05860,
$54F03084,$066FF472,$A31AA153,$DADC4755,$B5625DBF,$68561BE6,$83CA6B94,$2D6ED23B,
$ECCF01DB,$A6D3D0BA,$B6803D5C,$AF77A709,$33B4A34C,$397BC8D6,$5EE22B95,$5F0E5304,
$81ED6F61,$20E74364,$B45E1378,$DE18639B,$881CA122,$B96726D1,$8049A7E8,$22B7DA7B,
$5E552D25,$5272D237,$79D2951C,$C60D894C,$488CB402,$1BA4FE5B,$A4B09F6B,$1CA815CF,
$A20C3005,$8871DF63,$B9DE2FCB,$0CC6C9E9,$0BEEFF53,$E3214517,$B4542835,$9F63293C,
$EE41E729,$6E1D2D7C,$50045286,$1E6685F3,$F33401C6,$30A22C95,$31A70850,$60930F13,
$73F98417,$A1269859,$EC645C44,$52C877A9,$CDFF33A6,$A02B1741,$7CBAD9A2,$2180036F,
$50D99C08,$CB3F4861,$C26BD765,$64A3F6AB,$80342676,$25A75E7B,$E4E6D1FC,$20C710E6,
$CDF0B680,$17844D3B,$31EEF84D,$7E0824E4,$2CCB49EB,$846A3BAE,$8FF77888,$EE5D60F6,
$7AF75673,$2FDD5CDB,$A11631C1,$30F66F43,$B3FAEC54,$157FD7FA,$EF8579CC,$D152DE58,
$DB2FFD5E,$8F32CE19,$306AF97A,$02F03EF8,$99319AD5,$C242FA0F,$A7E3EBB0,$C68E4906,
$B8DA230C,$80823028,$DCDEF3C8,$D35FB171,$088A1BC8,$BEC0C560,$61A3C9E8,$BCA8F54D,
$C72FEFFA,$22822E99,$82C570B4,$D8D94E89,$8B1C34BC,$301E16E6,$273BE979,$B0FFEAA6,
$61D9B8C6,$00B24869,$B7FFCE3F,$08DC283B,$43DAF65A,$F7E19798,$7619B72F,$8F1C9BA4,
$DC8637A0,$16A7D3B1,$9FC393B7,$A7136EEB,$C6BCC63E,$1A513742,$EF6828BC,$520365D6,
$2D6A77AB,$3527ED4B,$821FD216,$095C6E2E,$DB92F2FB,$5EEA29CB,$145892F5,$91584F7F,
$5483697B,$2667A8CC,$85196048,$8C4BACEA,$833860D4,$0D23E0F9,$6C387E8A,$0AE6D249,
$B284600C,$D835731D,$DCB1C647,$AC4C56EA,$3EBD81B3,$230EABB0,$6438BC87,$F0B5B1FA,
$8F5EA2B3,$FC184642,$0A036B7A,$4FB089BD,$649DA589,$A345415E,$5C038323,$3E5D3BB9,
$43D79572,$7E6DD07C,$06DFDF1E,$6C6CC4EF,$7160A539,$73BFBE70,$83877605,$4523ECF1),
($8DEFC240,$25FA5D9F,$EB903DBF,$E810C907,$47607FFF,$369FE44B,$8C1FC644,$AECECA90,
$BEB1F9BF,$EEFBCAEA,$E8CF1950,$51DF07AE,$920E8806,$F0AD0548,$E13C8D83,$927010D5,
$11107D9F,$07647DB9,$B2E3E4D4,$3D4F285E,$B9AFA820,$FADE82E0,$A067268B,$8272792E,
$553FB2C0,$489AE22B,$D4EF9794,$125E3FBC,$21FFFCEE,$825B1BFD,$9255C5ED,$1257A240,
$4E1A8302,$BAE07FFF,$528246E7,$8E57140E,$3373F7BF,$8C9F8188,$A6FC4EE8,$C982B5A5,
$A8C01DB7,$579FC264,$67094F31,$F2BD3F5F,$40FFF7C1,$1FB78DFC,$8E6BD2C1,$437BE59B,
$99B03DBF,$B5DBC64B,$638DC0E6,$55819D99,$A197C81C,$4A012D6E,$C5884A28,$CCC36F71,
$B843C213,$6C0743F1,$8309893C,$0FEDDD5F,$2F7FE850,$D7C07F7E,$02507FBF,$5AFB9A04,
$A747D2D0,$1651192E,$AF70BF3E,$58C31380,$5F98302E,$727CC3C4,$0A0FB402,$0F7FEF82,
$8C96FDAD,$5D2C2AAE,$8EE99A49,$50DA88B8,$8427F4A0,$1EAC5790,$796FB449,$8252DC15,
$EFBD7D9B,$A672597D,$ADA840D8,$45F54504,$FA5D7403,$E83EC305,$4F91751A,$925669C2,
$23EFE941,$A903F12E,$60270DF2,$0276E4B6,$94FD6574,$927985B2,$8276DBCB,$02778176,
$F8AF918D,$4E48F79E,$8F616DDF,$E29D840E,$842F7D83,$340CE5C8,$96BBB682,$93B4B148,
$EF303CAB,$984FAF28,$779FAF9B,$92DC560D,$224D1E20,$8437AA88,$7D29DC96,$2756D3DC,
$8B907CEE,$B51FD240,$E7C07CE3,$E566B4A1,$C3E9615E,$3CF8209D,$6094D1E3,$CD9CA341,
$5C76460E,$00EA983B,$D4D67881,$FD47572C,$F76CEDD9,$BDA8229C,$127DADAA,$438A074E,
$1F97C090,$081BDB8A,$93A07EBE,$B938CA15,$97B03CFF,$3DC2C0F8,$8D1AB2EC,$64380E51,
$68CC7BFB,$D90F2788,$12490181,$5DE5FFD4,$DD7EF86A,$76A2E214,$B9A40368,$925D958F,
$4B39FFFA,$BA39AEE9,$A4FFD30B,$FAF7933B,$6D498623,$193CBCFA,$27627545,$825CF47A,
$61BD8BA0,$D11E42D1,$CEAD04F4,$127EA392,$10428DB7,$8272A972,$9270C4A8,$127DE50B,
$285BA1C8,$3C62F44F,$35C0EAA5,$E805D231,$428929FB,$B4FCDF82,$4FB66A53,$0E7DC15B,
$1F081FAB,$108618AE,$FCFD086D,$F9FF2889,$694BCC11,$236A5CAE,$12DECA4D,$2C3F8CC5,
$D2D02DFE,$F8EF5896,$E4CF52DA,$95155B67,$494A488C,$B9B6A80C,$5C8F82BC,$89D36B45,
$3A609437,$EC00C9A9,$44715253,$0A874B49,$D773BC40,$7C34671C,$02717EF6,$4FEB5536,
$A2D02FFF,$D2BF60C4,$D43F03C0,$50B4EF6D,$07478CD1,$006E1888,$A2E53F55,$B9E6D4BC,
$A2048016,$97573833,$D7207D67,$DE0F8F3D,$72F87B33,$ABCC4F33,$7688C55D,$7B00A6B0,
$947B0001,$570075D2,$F9BB88F8,$8942019E,$4264A5FF,$856302E0,$72DBD92B,$EE971B69,
$6EA22FDE,$5F08AE2B,$AF7A616D,$E5C98767,$CF1FEBD2,$61EFC8C2,$F1AC2571,$CC8239C2,
$67214CB8,$B1E583D1,$B7DC3E62,$7F10BDCE,$F90A5C38,$0FF0443D,$606E6DC6,$60543A49,
$5727C148,$2BE98A1D,$8AB41738,$20E1BE24,$AF96DA0F,$68458425,$99833BE5,$600D457D,
$282F9350,$8334B362,$D91D1120,$2B6D8DA0,$642B1E31,$9C305A00,$52BCE688,$1B03588A,
$F7BAEFD5,$4142ED9C,$A4315C11,$83323EC5,$DFEF4636,$A133C501,$E9D3531C,$EE353783),
($9DB30420,$1FB6E9DE,$A7BE7BEF,$D273A298,$4A4F7BDB,$64AD8C57,$85510443,$FA020ED1,
$7E287AFF,$E60FB663,$095F35A1,$79EBF120,$FD059D43,$6497B7B1,$F3641F63,$241E4ADF,
$28147F5F,$4FA2B8CD,$C9430040,$0CC32220,$FDD30B30,$C0A5374F,$1D2D00D9,$24147B15,
$EE4D111A,$0FCA5167,$71FF904C,$2D195FFE,$1A05645F,$0C13FEFE,$081B08CA,$05170121,
$80530100,$E83E5EFE,$AC9AF4F8,$7FE72701,$D2B8EE5F,$06DF4261,$BB9E9B8A,$7293EA25,
$CE84FFDF,$F5718801,$3DD64B04,$A26F263B,$7ED48400,$547EEBE6,$446D4CA0,$6CF3D6F5,
$2649ABDF,$AEA0C7F5,$36338CC1,$503F7E93,$D3772061,$11B638E1,$72500E03,$F80EB2BB,
$ABE0502E,$EC8D77DE,$57971E81,$E14F6746,$C9335400,$6920318F,$081DBB99,$FFC304A5,
$4D351805,$7F3D5CE3,$A6C866C6,$5D5BCCA9,$DAEC6FEA,$9F926F91,$9F46222F,$3991467D,
$A5BF6D8E,$1143C44F,$43958302,$D0214EEB,$022083B8,$3FB6180C,$18F8931E,$281658E6,
$26486E3E,$8BD78A70,$7477E4C1,$B506E07C,$F32D0A25,$79098B02,$E4EABB81,$28123B23,
$69DEAD38,$1574CA16,$DF871B62,$211C40B7,$A51A9EF9,$0014377B,$041E8AC8,$09114003,
$BD59E4D2,$E3D156D5,$4FE876D5,$2F91A340,$557BE8DE,$00EAE4A7,$0CE5C2EC,$4DB4BBA6,
$E756BDFF,$DD3369AC,$EC17B035,$06572327,$99AFC8B0,$56C8C391,$6B65811C,$5E146119,
$6E85CB75,$BE07C002,$C2325577,$893FF4EC,$5BBFC92D,$D0EC3B25,$B7801AB7,$8D6D3B24,
$20C763EF,$C366A5FC,$9C382880,$0ACE3205,$AAC9548A,$ECA1D7C7,$041AFA32,$1D16625A,
$6701902C,$9B757A54,$31D477F7,$9126B031,$36CC6FDB,$C70B8B46,$D9E66A48,$56E55A79,
$026A4CEB,$52437EFF,$2F8F76B4,$0DF980A5,$8674CDE3,$EDDA04EB,$17A9BE04,$2C18F4DF,
$B7747F9D,$AB2AF7B4,$EFC34D20,$2E096B7C,$1741A254,$E5B6A035,$213D42F6,$2C1C7C26,
$61C2F50F,$6552DAF9,$D2C231F8,$25130F69,$D8167FA2,$0418F2C8,$001A96A6,$0D1526AB,
$63315C21,$5E0A72EC,$49BAFEFD,$187908D9,$8D0DBD86,$311170A7,$3E9B640C,$CC3E10D7,
$D5CAD3B6,$0CAEC388,$F73001E1,$6C728AFF,$71EAE2A1,$1F9AF36E,$CFCBD12F,$C1DE8417,
$AC07BE6B,$CB44A1D8,$8B9B0F56,$013988C3,$B1C52FCA,$B4BE31CD,$D8782806,$12A3A4E2,
$6F7DE532,$58FD7EB6,$D01EE900,$24ADFFC2,$F4990FC5,$9711AAC5,$001D7B95,$82E5E7D2,
$109873F6,$00613096,$C32D9521,$ADA121FF,$29908415,$7FBB977F,$AF9EB3DB,$29C9ED2A,
$5CE2A465,$A730F32C,$D0AA3FE8,$8A5CC091,$D49E2CE7,$0CE454A9,$D60ACD86,$015F1919,
$77079103,$DEA03AF6,$78A8565E,$DEE356DF,$21F05CBE,$8B75E387,$B3C50651,$B8A5C3EF,
$D8EEB6D2,$E523BE77,$C2154529,$2F69EFDF,$AFE67AFB,$F470C4B2,$F3E0EB5B,$D6CC9876,
$39E4460C,$1FDA8538,$1987832F,$CA007367,$A99144F8,$296B299E,$492FC295,$9266BEAB,
$B5676E69,$9BD3DDDA,$DF7E052F,$DB25701C,$1B5E51EE,$F65324E6,$6AFCE36C,$0316CC04,
$8644213E,$B7DC59D0,$7965291F,$CCD6FD43,$41823979,$932BCDF6,$B657C34D,$4EDFD282,
$7AE5290C,$3CB9536B,$851E20FE,$9833557E,$13ECF0B0,$D3FFB372,$3F85C5C1,$0AEF7ED2)
);
Cast128_Key: array[0..3, 0..255] of UInt32 = (
($7EC90C04,$2C6E74B9,$9B0E66DF,$A6337911,$B86A7FFF,$1DD358F5,$44DD9D44,$1731167F,
$08FBF1FA,$E7F511CC,$D2051B00,$735ABA00,$2AB722D8,$386381CB,$ACF6243A,$69BEFD7A,
$E6A2E77F,$F0C720CD,$C4494816,$CCF5C180,$38851640,$15B0A848,$E68B18CB,$4CAADEFF,
$5F480A01,$0412B2AA,$259814FC,$41D0EFE2,$4E40B48D,$248EB6FB,$8DBA1CFE,$41A99B02,
$1A550A04,$BA8F65CB,$7251F4E7,$95A51725,$C106ECD7,$97A5980A,$C539B9AA,$4D79FE6A,
$F2F3F763,$68AF8040,$ED0C9E56,$11B4958B,$E1EB5A88,$8709E6B0,$D7E07156,$4E29FEA7,
$6366E52D,$02D1C000,$C4AC8E05,$9377F571,$0C05372A,$578535F2,$2261BE02,$D642A0C9,
$DF13A280,$74B55BD2,$682199C0,$D421E5EC,$53FB3CE8,$C8ADEDB3,$28A87FC9,$3D959981,
$5C1FF900,$FE38D399,$0C4EFF0B,$062407EA,$AA2F4FB1,$4FB96976,$90C79505,$B0A8A774,
$EF55A1FF,$E59CA2C2,$A6B62D27,$E66A4263,$DF65001F,$0EC50966,$DFDD55BC,$29DE0655,
$911E739A,$17AF8975,$32C7911C,$89F89468,$0D01E980,$524755F4,$03B63CC9,$0CC844B2,
$BCF3F0AA,$87AC36E9,$E53A7426,$01B3D82B,$1A9E7449,$64EE2D7E,$CDDBB1DA,$01C94910,
$B868BF80,$0D26F3FD,$9342EDE7,$04A5C284,$636737B6,$50F5B616,$F24766E3,$8ECA36C1,
$136E05DB,$FEF18391,$FB887A37,$D6E7F7D4,$C7FB7DC9,$3063FCDF,$B6F589DE,$EC2941DA,
$26E46695,$B7566419,$F654EFC5,$D08D58B7,$48925401,$C1BACB7F,$E5FF550F,$B6083049,
$5BB5D0E8,$87D72E5A,$AB6A6EE1,$223A66CE,$C62BF3CD,$9E0885F9,$68CB3E47,$086C010F,
$A21DE820,$D18B69DE,$F3F65777,$FA02C3F6,$407EDAC3,$CBB3D550,$1793084D,$B0D70EBA,
$0AB378D5,$D951FB0C,$DED7DA56,$4124BBE4,$94CA0B56,$0F5755D1,$E0E1E56E,$6184B5BE,
$580A249F,$94F74BC0,$E327888E,$9F7B5561,$C3DC0280,$05687715,$646C6BD7,$44904DB3,
$66B4F0A3,$C0F1648A,$697ED5AF,$49E92FF6,$309E374F,$2CB6356A,$85808573,$4991F840,
$76F0AE02,$083BE84D,$28421C9A,$44489406,$736E4CB8,$C1092910,$8BC95FC6,$7D869CF4,
$134F616F,$2E77118D,$B31B2BE1,$AA90B472,$3CA5D717,$7D161BBA,$9CAD9010,$AF462BA2,
$9FE459D2,$45D34559,$D9F2DA13,$DBC65487,$F3E4F94E,$176D486F,$097C13EA,$631DA5C7,
$445F7382,$175683F4,$CDC66A97,$70BE0288,$B3CDCF72,$6E5DD2F3,$20936079,$459B80A5,
$BE60E2DB,$A9C23101,$EBA5315C,$224E42F2,$1C5C1572,$F6721B2C,$1AD2FFF3,$8C25404E,
$324ED72F,$4067B7FD,$0523138E,$5CA3BC78,$DC0FD66E,$75922283,$784D6B17,$58EBB16E,
$44094F85,$3F481D87,$FCFEAE7B,$77B5FF76,$8C2302BF,$AAF47556,$5F46B02A,$2B092801,
$3D38F5F7,$0CA81F36,$52AF4A8A,$66D5E7C0,$DF3B0874,$95055110,$1B5AD7A8,$F61ED5AD,
$6CF6E479,$20758184,$D0CEFA65,$88F7BE58,$4A046826,$0FF6F8F3,$A09C7F70,$5346ABA0,
$5CE96C28,$E176EDA3,$6BAC307F,$376829D2,$85360FA9,$17E3FE2A,$24B79767,$F5A96B20,
$D6CD2595,$68FF1EBF,$7555442C,$F19F06BE,$F9E0659A,$EEB9491D,$34010718,$BB30CAB8,
$E822FE15,$88570983,$750E6249,$DA627E55,$5E76FFA8,$B1534546,$6D47DE08,$EFE9E7D4),
($F6FA8F9D,$2CAC6CE1,$4CA34867,$E2337F7C,$95DB08E7,$016843B4,$ECED5CBC,$325553AC,
$BF9F0960,$DFA1E2ED,$83F0579D,$63ED86B9,$1AB6A6B8,$DE5EBE39,$F38FF732,$8989B138,
$33F14961,$C01937BD,$F506C6DA,$E4625E7E,$A308EA99,$4E23E33C,$79CBD7CC,$48A14367,
$A3149619,$FEC94BD5,$A114174A,$EAA01866,$A084DB2D,$09A8486F,$A888614A,$2900AF98,
$01665991,$E1992863,$C8F30C60,$2E78EF3C,$D0D51932,$CF0FEC14,$F7CA07D2,$D0A82072,
$FD41197E,$9305A6B0,$E86BE3DA,$74BED3CD,$372DA53C,$4C7F4448,$DAB5D440,$6DBA0EC3,
$083919A7,$9FBAEED9,$49DBCFB0,$4E670C53,$5C3D9C01,$64BDB941,$2C0E636A,$BA7DD9CD,
$EA6F7388,$E70BC762,$35F29ADB,$5C4CDD8D,$F0D48D8C,$B88153E2,$08A19866,$1AE2EAC8,
$284CAF89,$AA928223,$9334BE53,$3B3A21BF,$16434BE3,$9AEA3906,$EFE8C36E,$F890CDD9,
$80226DAE,$C340A4A3,$DF7E9C09,$A694A807,$5B7C5ECC,$221DB3A6,$9A69A02F,$68818A54,
$CEB2296F,$53C0843A,$FE893655,$25BFE68A,$B4628ABC,$CF222EBF,$25AC6F48,$A9A99387,
$53BDDB65,$E76FFBE7,$E967FD78,$0BA93563,$8E342BC1,$E8A11BE9,$4980740D,$C8087DFC,
$8DE4BF99,$A11101A0,$7FD37975,$DA5A26C0,$E81F994F,$9528CD89,$FD339FED,$B87834BF,
$5F04456D,$22258698,$C9C4C83B,$2DC156BE,$4F628DAA,$57F55EC5,$E2220ABE,$D2916EBF,
$4EC75B95,$24F2C3C0,$42D15D99,$CD0D7FA0,$7B6E27FF,$A8DC8AF0,$7345C106,$F41E232F,
$35162386,$E6EA8926,$3333B094,$157EC6F2,$372B74AF,$692573E4,$E9A9D848,$F3160289,
$3A62EF1D,$A787E238,$F3A5F676,$74364853,$20951063,$4576698D,$B6FAD407,$592AF950,
$36F73523,$4CFB6E87,$7DA4CEC0,$6C152DAA,$CB0396A8,$C50DFE5D,$FCD707AB,$0921C42F,
$89DFF0BB,$5FE2BE78,$448F4F33,$754613C9,$2B05D08D,$48B9D585,$DC049441,$C8098F9B,
$7DEDE786,$C39A3373,$42410005,$6A091751,$0EF3C8A6,$890072D6,$28207682,$A9A9F7BE,
$BF32679D,$D45B5B75,$B353FD00,$CBB0E358,$830F220A,$1F8FB214,$D372CF08,$CC3C4A13,
$8CF63166,$061C87BE,$88C98F88,$6062E397,$47CF8E7A,$B6C85283,$3CC2ACFB,$3FC06976,
$4E8F0252,$64D8314D,$DA3870E3,$1E665459,$C10908F0,$513021A5,$6C5B68B7,$822F8AA0,
$3007CD3E,$74719EEF,$DC872681,$073340D4,$7E432FD9,$0C5EC241,$8809286C,$F592D891,
$08A930F6,$957EF305,$B7FBFFBD,$C266E96F,$6FE4AC98,$B173ECC0,$BC60B42A,$953498DA,
$FBA1AE12,$2D4BD736,$0F25FAAB,$A4F3FCEB,$E2969123,$257F0C3D,$9348AF49,$361400BC,
$E8816F4A,$3814F200,$A3F94043,$9C7A54C2,$BC704F57,$DA41E7F9,$C25AD33A,$54F4A084,
$B17F5505,$59357CBE,$EDBD15C8,$7F97C5AB,$BA5AC7B5,$B6F6DEAF,$3A479C3A,$5302DA25,
$653D7E6A,$54268D49,$51A477EA,$5017D55B,$D7D25D88,$44136C76,$0404A8C8,$B8E5A121,
$B81A928A,$60ED5869,$97C55B96,$EAEC991B,$29935913,$01FDB7F1,$088E8DFA,$9AB6F6F5,
$3B4CBF9F,$4A5DE3AB,$E6051D35,$A0E1D855,$D36B4CF1,$F544EDEB,$B0E93524,$BEBB8FBD,
$A2D762CF,$49C92F54,$38B5F331,$7128A454,$48392905,$A65B1DB8,$851C97BD,$D675CF2F),
($85E04019,$332BF567,$662DBFFF,$CFC65693,$2A8D7F6F,$AB9BC912,$DE6008A1,$2028DA1F,
$0227BCE7,$4D642916,$18FAC300,$50F18B82,$2CB2CB11,$B232E75C,$4B3695F2,$B28707DE,
$A05FBCF6,$CD4181E9,$E150210C,$E24EF1BD,$B168C381,$FDE4E789,$5C79B0D8,$1E8BFD43,
$4D495001,$38BE4341,$913CEE1D,$92A79C3F,$089766BE,$BAEEADF4,$1286BECF,$B6EACB19,
$2660C200,$7565BDE4,$64241F7A,$8248DCA9,$C3B3AD66,$28136086,$0BD8DFA8,$356D1CF2,
$107789BE,$B3B2E9CE,$0502AA8F,$0BC0351E,$166BF52A,$EB12FF82,$E3486911,$D34D7516,
$4E7B3AFF,$5F43671B,$9CF6E037,$4981AC83,$334266CE,$8C9341B7,$D0D854C0,$CB3A6C88,
$47BC2829,$4725BA37,$A66AD22B,$7AD61F1E,$0C5CBAFA,$4437F107,$B6E79962,$42D2D816,
$0A961288,$E1A5C06E,$13749E67,$72FC081A,$B1D139F7,$F9583745,$CF19DF58,$BEC3F756,
$C06EBA30,$07211B24,$45C28829,$C95E317F,$BC8EC511,$38BC46E9,$C6E6FA14,$BAE8584A,
$AD4EBC46,$468F508B,$7829435F,$F124183B,$821DBA9F,$AFF60FF4,$EA2C4E6D,$16E39264,
$92544A8B,$009B4FC3,$ABA68CED,$9AC96F78,$06A5B79A,$B2856E6E,$1AEC3CA9,$BE838688,
$0E0804E9,$55F1BE56,$E7E5363B,$B3A1F25D,$F7DEBB85,$61FE033C,$16746233,$3C034C28,
$DA6D0C74,$79AAC56C,$3CE4E1AD,$51F0C802,$98F8F35A,$1626A49F,$EED82B29,$1D382FE3,
$0C4FB99A,$BB325778,$3EC6D97B,$6E77A6A9,$CB658B5C,$D45230C7,$2BD1408B,$60C03EB7,
$B9068D78,$A33754F4,$F430C87D,$C8A71302,$B96D8C32,$EBD4E7BE,$BE8B9D2D,$7979FB06,
$E7225308,$8B75CF77,$11EF8DA4,$E083C858,$8D6B786F,$5A6317A6,$FA5CF7A0,$5DDA0033,
$F28EBFB0,$F5B9C310,$A0EAC280,$08B9767A,$A3D9D2B0,$79D34217,$021A718D,$9AC6336A,
$2711FD60,$438050E3,$069908A8,$3D7FEDC4,$826D2BEF,$4EEB8476,$488DCF25,$36C9D566,
$28E74E41,$C2610ACA,$3D49A9CF,$BAE3B9DF,$B65F8DE6,$92AEAF64,$3AC7D5E6,$9EA80509,
$F22B017D,$A4173F70,$DD1E16C3,$15E0D7F9,$50B1B887,$2B9F4FD5,$625ABA82,$6A017962,
$2EC01B9C,$15488AA9,$D716E740,$40055A2C,$93D29A22,$E32DBF9A,$058745B9,$3453DC1E,
$D699296E,$496CFF6F,$1C9F4986,$DFE2ED07,$B87242D1,$19DE7EAE,$053E561A,$15AD6F8C,
$66626C1C,$7154C24C,$EA082B2A,$93EB2939,$17DCB0F0,$58D4F2AE,$9EA294FB,$52CF564C,
$9883FE66,$2EC40581,$763953C3,$01D6692E,$D3A0C108,$A1E7160E,$E4F2DFA6,$693ED285,
$74904698,$4C2B0EDD,$4F757656,$5D393378,$A132234F,$3D321C5D,$C3F5E194,$4B269301,
$C79F022F,$3C997E7E,$5E4F9504,$3FFAFBBD,$76F7AD0E,$296693F4,$3D1FCE6F,$C61E45BE,
$D3B5AB34,$F72BF9B7,$1B0434C0,$4E72B567,$5592A33D,$B5229301,$CFD2A87F,$60AEB767,
$1814386B,$30BCC33D,$38A0C07D,$FD1606F2,$C363519B,$589DD390,$5479F8E6,$1CB8D647,
$97FD61A9,$EA7759F4,$2D57539D,$569A58CF,$E84E63AD,$462E1B78,$6580F87E,$F3817914,
$91DA55F4,$40A230F3,$D1988F35,$B6E318D2,$3FFA50BC,$3D40F021,$C3C0BDAE,$4958C24C,
$518F36B2,$84B1D370,$0FEDCE83,$878DDADA,$F2A279C7,$94E01BE8,$90716F4B,$954B8AA3),
($E216300D,$BBDDFFFC,$A7EBDABD,$35648095,$7789F8B7,$E6C1121B,$0E241600,$052CE8B5,
$11A9CFB0,$E5952F11,$ECE7990A,$9386D174,$2A42931C,$76E38111,$B12DEF3A,$37DDDDFC,
$DE9ADEB1,$0A0CC32C,$BE197029,$84A00940,$BB243A0F,$B4D137CF,$B44E79F0,$049EEDFD,
$0B15A15D,$480D3168,$8BBBDE5A,$669DED42,$C7ECE831,$3F8F95E7,$72DF191B,$7580330D,
$94074251,$5C7DCDFA,$ABBE6D63,$AA402164,$B301D40A,$02E7D1CA,$53571DAE,$7A3182A2,
$12A8DDEC,$FDAA335D,$176F43E8,$71FB46D4,$38129022,$CE949AD4,$B84769AD,$965BD862,
$82F3D055,$66FB9767,$15B80B4E,$1D5B47A0,$4CFDE06F,$C28EC4B8,$57E8726E,$647A78FC,
$99865D44,$608BD593,$6C200E03,$39DC5FF6,$5D0B00A3,$AE63AFF2,$7E8BD632,$70108C0C,
$BBD35049,$2998DF04,$980CF42A,$9B6DF491,$9E7EDD53,$06918548,$58CB7E07,$3B74EF2E,
$522FFFB1,$D24708CC,$1C7E27CD,$A4EB215B,$3CF1D2E2,$19B47A38,$424F7618,$35856039,
$9D17DEE7,$27EB35E6,$C9AFF67B,$36BAF5B8,$09C467CD,$C18910B1,$E11DBF7B,$06CD1AF8,
$7170C608,$2D5E3354,$D4DE495A,$64C6D006,$BCC0C62C,$3DD00DB3,$708F8F34,$77D51B42,
$264F620F,$24B8D2BF,$15C1B79E,$46A52564,$F8D7E54E,$3E378160,$7895CDA5,$859C15A5,
$E6459788,$C37BC75F,$DB07BA0C,$0676A3AB,$7F229B1E,$31842E7B,$24259FD7,$F8BEF472,
$835FFCB8,$6DF4C1F2,$96F5B195,$FD0AF0FC,$B0FE134C,$E2506D3D,$4F9B12EA,$F215F225,
$A223736F,$9FB4C428,$25D04979,$34C713F8,$C4618187,$EA7A6E98,$7CD16EFC,$1436876C,
$F1544107,$BEDEEE14,$56E9AF27,$A04AA441,$3CF7C899,$92ECBAE6,$DD67016D,$151682EB,
$A842EEDF,$FDBA60B4,$F1907B75,$20E3030F,$24D8C29E,$E139673B,$EFA63FB8,$71873054,
$B6F2CF3B,$9F326442,$CB15A4CC,$B01A4504,$F1E47D8D,$844A1BE5,$BAE7DFDC,$42CBDA70,
$CD7DAE0A,$57E85B7A,$D53F5AF6,$20CF4D8C,$CEA4D428,$79D130A4,$3486EBFB,$33D3CDDC,
$77853B53,$37EFFCB5,$C5068778,$E580B3E6,$4E68B8F4,$C5C8B37E,$0D809EA2,$398FEB7C,
$132A4F94,$43B7950E,$2FEE7D1C,$223613BD,$DD06CAA2,$37DF932B,$C4248289,$ACF3EBC3,
$5715F6B7,$EF3478DD,$F267616F,$C148CBE4,$9052815E,$5E410FAB,$B48A2465,$2EDA7FA4,
$E87B40E4,$E98EA084,$5889E9E1,$EFD390FC,$DD07D35B,$DB485694,$38D7E5B2,$57720101,
$730EDEBC,$5B643113,$94917E4F,$503C2FBA,$646F1282,$7523D24A,$E0779695,$F9C17A8F,
$7A5B2121,$D187B896,$29263A4D,$BA510CDF,$81F47C9F,$AD1163ED,$EA7B5965,$1A00726E,
$11403092,$00DA6D77,$4A0CDD61,$AD1F4603,$605BDFB0,$9EEDC364,$22EBE6A8,$CEE7D28A,
$A0E736A0,$5564A6B9,$10853209,$C7EB8F37,$2DE705CA,$8951570F,$DF09822B,$BD691A6C,
$AA12E4F2,$87451C0F,$E0F6A27A,$3ADA4819,$4CF1764F,$0D771C2B,$67CDB156,$350D8384,
$5938FA0F,$42399EF3,$36997B07,$0E84093D,$4AA93E61,$8360D87B,$1FA98B0C,$1149382C,
$E97625A5,$0614D1B7,$0E25244B,$0C768347,$589E8D82,$0D2059D1,$A466BB1E,$F8DA0A82,
$04F19130,$BA6E4EC0,$99265164,$1EE7230D,$50B2AD80,$EAEE6801,$8DB2A283,$EA8BF59E)
);
Cast256_Data: array[0..3, 0..255] of UInt32 = (
($30FB40D4,$9FA0FF0B,$6BECCD2F,$3F258C7A,$1E213F2F,$9C004DD3,$6003E540,$CF9FC949,
$BFD4AF27,$88BBBDB5,$E2034090,$98D09675,$6E63A0E0,$15C361D2,$C2E7661D,$22D4FF8E,
$28683B6F,$C07FD059,$FF2379C8,$775F50E2,$43C340D3,$DF2F8656,$887CA41A,$A2D2BD2D,
$A1C9E0D6,$346C4819,$61B76D87,$22540F2F,$2ABE32E1,$AA54166B,$22568E3A,$A2D341D0,
$66DB40C8,$A784392F,$004DFF2F,$2DB9D2DE,$97943FAC,$4A97C1D8,$527644B7,$B5F437A7,
$B82CBAEF,$D751D159,$6FF7F0ED,$5A097A1F,$827B68D0,$90ECF52E,$22B0C054,$BC8E5935,
$4B6D2F7F,$50BB64A2,$D2664910,$BEE5812D,$B7332290,$E93B159F,$B48EE411,$4BFF345D,
$FD45C240,$AD31973F,$C4F6D02E,$55FC8165,$D5B1CAAD,$A1AC2DAE,$A2D4B76D,$C19B0C50,
$882240F2,$0C6E4F38,$A4E4BFD7,$4F5BA272,$564C1D2F,$C59C5319,$B949E354,$B04669FE,
$B1B6AB8A,$C71358DD,$6385C545,$110F935D,$57538AD5,$6A390493,$E63D37E0,$2A54F6B3,
$3A787D5F,$6276A0B5,$19A6FCDF,$7A42206A,$29F9D4D5,$F61B1891,$BB72275E,$AA508167,
$38901091,$C6B505EB,$84C7CB8C,$2AD75A0F,$874A1427,$A2D1936B,$2AD286AF,$AA56D291,
$D7894360,$425C750D,$93B39E26,$187184C9,$6C00B32D,$73E2BB14,$A0BEBC3C,$54623779,
$64459EAB,$3F328B82,$7718CF82,$59A2CEA6,$04EE002E,$89FE78E6,$3FAB0950,$325FF6C2,
$81383F05,$6963C5C8,$76CB5AD6,$D49974C9,$CA180DCF,$380782D5,$C7FA5CF6,$8AC31511,
$35E79E13,$47DA91D0,$F40F9086,$A7E2419E,$31366241,$051EF495,$AA573B04,$4A805D8D,
$548300D0,$00322A3C,$BF64CDDF,$BA57A68E,$75C6372B,$50AFD341,$A7C13275,$915A0BF5,
$6B54BFAB,$2B0B1426,$AB4CC9D7,$449CCD82,$F7FBF265,$AB85C5F3,$1B55DB94,$AAD4E324,
$CFA4BD3F,$2DEAA3E2,$9E204D02,$C8BD25AC,$EADF55B3,$D5BD9E98,$E31231B2,$2AD5AD6C,
$954329DE,$ADBE4528,$D8710F69,$AA51C90F,$AA786BF6,$22513F1E,$AA51A79B,$2AD344CC,
$7B5A41F0,$D37CFBAD,$1B069505,$41ECE491,$B4C332E6,$032268D4,$C9600ACC,$CE387E6D,
$BF6BB16C,$6A70FB78,$0D03D9C9,$D4DF39DE,$E01063DA,$4736F464,$5AD328D8,$B347CC96,
$75BB0FC3,$98511BFB,$4FFBCC35,$B58BCF6A,$E11F0ABC,$BFC5FE4A,$A70AEC10,$AC39570A,
$3F04442F,$6188B153,$E0397A2E,$5727CB79,$9CEB418F,$1CACD68D,$2AD37C96,$0175CB9D,
$C69DFF09,$C75B65F0,$D9DB40D8,$EC0E7779,$4744EAD4,$B11C3274,$DD24CB9E,$7E1C54BD,
$F01144F9,$D2240EB1,$9675B3FD,$A3AC3755,$D47C27AF,$51C85F4D,$56907596,$A5BB15E6,
$580304F0,$CA042CF1,$011A37EA,$8DBFAADB,$35BA3E4A,$3526FFA0,$C37B4D09,$BC306ED9,
$98A52666,$5648F725,$FF5E569D,$0CED63D0,$7C63B2CF,$700B45E1,$D5EA50F1,$85A92872,
$AF1FBDA7,$D4234870,$A7870BF3,$2D3B4D79,$42E04198,$0CD0EDE7,$26470DB8,$F881814C,
$474D6AD7,$7C0C5E5C,$D1231959,$381B7298,$F5D2F4DB,$AB838653,$6E2F1E23,$83719C9E,
$BD91E046,$9A56456E,$DC39200C,$20C8C571,$962BDA1C,$E1E696FF,$B141AB08,$7CCA89B9,
$1A69E783,$02CC4843,$A2F7C579,$429EF47D,$427B169C,$5AC9F049,$DD8F0F00,$5C8165BF),
($1F201094,$EF0BA75B,$69E3CF7E,$393F4380,$FE61CF7A,$EEC5207A,$55889C94,$72FC0651,
$ADA7EF79,$4E1D7235,$D55A63CE,$DE0436BA,$99C430EF,$5F0C0794,$18DCDB7D,$A1D6EFF3,
$A0B52F7B,$59E83605,$EE15B094,$E9FFD909,$DC440086,$EF944459,$BA83CCB3,$E0C3CDFB,
$D1DA4181,$3B092AB1,$F997F1C1,$A5E6CF7B,$01420DDB,$E4E7EF5B,$25A1FF41,$E180F806,
$1FC41080,$179BEE7A,$D37AC6A9,$FE5830A4,$98DE8B7F,$77E83F4E,$79929269,$24FA9F7B,
$E113C85B,$ACC40083,$D7503525,$F7EA615F,$62143154,$0D554B63,$5D681121,$C866C359,
$3D63CF73,$CEE234C0,$D4D87E87,$5C672B21,$071F6181,$39F7627F,$361E3084,$E4EB573B,
$602F64A4,$D63ACD9C,$1BBC4635,$9E81032D,$2701F50C,$99847AB4,$A0E3DF79,$BA6CF38C,
$10843094,$2537A95E,$F46F6FFE,$A1FF3B1F,$208CFB6A,$8F458C74,$D9E0A227,$4EC73A34,
$FC884F69,$3E4DE8DF,$EF0E0088,$3559648D,$8A45388C,$1D804366,$721D9BFD,$A58684BB,
$E8256333,$844E8212,$128D8098,$FED33FB4,$CE280AE1,$27E19BA5,$D5A6C252,$E49754BD,
$C5D655DD,$EB667064,$77840B4D,$A1B6A801,$84DB26A9,$E0B56714,$21F043B7,$E5D05860,
$54F03084,$066FF472,$A31AA153,$DADC4755,$B5625DBF,$68561BE6,$83CA6B94,$2D6ED23B,
$ECCF01DB,$A6D3D0BA,$B6803D5C,$AF77A709,$33B4A34C,$397BC8D6,$5EE22B95,$5F0E5304,
$81ED6F61,$20E74364,$B45E1378,$DE18639B,$881CA122,$B96726D1,$8049A7E8,$22B7DA7B,
$5E552D25,$5272D237,$79D2951C,$C60D894C,$488CB402,$1BA4FE5B,$A4B09F6B,$1CA815CF,
$A20C3005,$8871DF63,$B9DE2FCB,$0CC6C9E9,$0BEEFF53,$E3214517,$B4542835,$9F63293C,
$EE41E729,$6E1D2D7C,$50045286,$1E6685F3,$F33401C6,$30A22C95,$31A70850,$60930F13,
$73F98417,$A1269859,$EC645C44,$52C877A9,$CDFF33A6,$A02B1741,$7CBAD9A2,$2180036F,
$50D99C08,$CB3F4861,$C26BD765,$64A3F6AB,$80342676,$25A75E7B,$E4E6D1FC,$20C710E6,
$CDF0B680,$17844D3B,$31EEF84D,$7E0824E4,$2CCB49EB,$846A3BAE,$8FF77888,$EE5D60F6,
$7AF75673,$2FDD5CDB,$A11631C1,$30F66F43,$B3FAEC54,$157FD7FA,$EF8579CC,$D152DE58,
$DB2FFD5E,$8F32CE19,$306AF97A,$02F03EF8,$99319AD5,$C242FA0F,$A7E3EBB0,$C68E4906,
$B8DA230C,$80823028,$DCDEF3C8,$D35FB171,$088A1BC8,$BEC0C560,$61A3C9E8,$BCA8F54D,
$C72FEFFA,$22822E99,$82C570B4,$D8D94E89,$8B1C34BC,$301E16E6,$273BE979,$B0FFEAA6,
$61D9B8C6,$00B24869,$B7FFCE3F,$08DC283B,$43DAF65A,$F7E19798,$7619B72F,$8F1C9BA4,
$DC8637A0,$16A7D3B1,$9FC393B7,$A7136EEB,$C6BCC63E,$1A513742,$EF6828BC,$520365D6,
$2D6A77AB,$3527ED4B,$821FD216,$095C6E2E,$DB92F2FB,$5EEA29CB,$145892F5,$91584F7F,
$5483697B,$2667A8CC,$85196048,$8C4BACEA,$833860D4,$0D23E0F9,$6C387E8A,$0AE6D249,
$B284600C,$D835731D,$DCB1C647,$AC4C56EA,$3EBD81B3,$230EABB0,$6438BC87,$F0B5B1FA,
$8F5EA2B3,$FC184642,$0A036B7A,$4FB089BD,$649DA589,$A345415E,$5C038323,$3E5D3BB9,
$43D79572,$7E6DD07C,$06DFDF1E,$6C6CC4EF,$7160A539,$73BFBE70,$83877605,$4523ECF1),
($8DEFC240,$25FA5D9F,$EB903DBF,$E810C907,$47607FFF,$369FE44B,$8C1FC644,$AECECA90,
$BEB1F9BF,$EEFBCAEA,$E8CF1950,$51DF07AE,$920E8806,$F0AD0548,$E13C8D83,$927010D5,
$11107D9F,$07647DB9,$B2E3E4D4,$3D4F285E,$B9AFA820,$FADE82E0,$A067268B,$8272792E,
$553FB2C0,$489AE22B,$D4EF9794,$125E3FBC,$21FFFCEE,$825B1BFD,$9255C5ED,$1257A240,
$4E1A8302,$BAE07FFF,$528246E7,$8E57140E,$3373F7BF,$8C9F8188,$A6FC4EE8,$C982B5A5,
$A8C01DB7,$579FC264,$67094F31,$F2BD3F5F,$40FFF7C1,$1FB78DFC,$8E6BD2C1,$437BE59B,
$99B03DBF,$B5DBC64B,$638DC0E6,$55819D99,$A197C81C,$4A012D6E,$C5884A28,$CCC36F71,
$B843C213,$6C0743F1,$8309893C,$0FEDDD5F,$2F7FE850,$D7C07F7E,$02507FBF,$5AFB9A04,
$A747D2D0,$1651192E,$AF70BF3E,$58C31380,$5F98302E,$727CC3C4,$0A0FB402,$0F7FEF82,
$8C96FDAD,$5D2C2AAE,$8EE99A49,$50DA88B8,$8427F4A0,$1EAC5790,$796FB449,$8252DC15,
$EFBD7D9B,$A672597D,$ADA840D8,$45F54504,$FA5D7403,$E83EC305,$4F91751A,$925669C2,
$23EFE941,$A903F12E,$60270DF2,$0276E4B6,$94FD6574,$927985B2,$8276DBCB,$02778176,
$F8AF918D,$4E48F79E,$8F616DDF,$E29D840E,$842F7D83,$340CE5C8,$96BBB682,$93B4B148,
$EF303CAB,$984FAF28,$779FAF9B,$92DC560D,$224D1E20,$8437AA88,$7D29DC96,$2756D3DC,
$8B907CEE,$B51FD240,$E7C07CE3,$E566B4A1,$C3E9615E,$3CF8209D,$6094D1E3,$CD9CA341,
$5C76460E,$00EA983B,$D4D67881,$FD47572C,$F76CEDD9,$BDA8229C,$127DADAA,$438A074E,
$1F97C090,$081BDB8A,$93A07EBE,$B938CA15,$97B03CFF,$3DC2C0F8,$8D1AB2EC,$64380E51,
$68CC7BFB,$D90F2788,$12490181,$5DE5FFD4,$DD7EF86A,$76A2E214,$B9A40368,$925D958F,
$4B39FFFA,$BA39AEE9,$A4FFD30B,$FAF7933B,$6D498623,$193CBCFA,$27627545,$825CF47A,
$61BD8BA0,$D11E42D1,$CEAD04F4,$127EA392,$10428DB7,$8272A972,$9270C4A8,$127DE50B,
$285BA1C8,$3C62F44F,$35C0EAA5,$E805D231,$428929FB,$B4FCDF82,$4FB66A53,$0E7DC15B,
$1F081FAB,$108618AE,$FCFD086D,$F9FF2889,$694BCC11,$236A5CAE,$12DECA4D,$2C3F8CC5,
$D2D02DFE,$F8EF5896,$E4CF52DA,$95155B67,$494A488C,$B9B6A80C,$5C8F82BC,$89D36B45,
$3A609437,$EC00C9A9,$44715253,$0A874B49,$D773BC40,$7C34671C,$02717EF6,$4FEB5536,
$A2D02FFF,$D2BF60C4,$D43F03C0,$50B4EF6D,$07478CD1,$006E1888,$A2E53F55,$B9E6D4BC,
$A2048016,$97573833,$D7207D67,$DE0F8F3D,$72F87B33,$ABCC4F33,$7688C55D,$7B00A6B0,
$947B0001,$570075D2,$F9BB88F8,$8942019E,$4264A5FF,$856302E0,$72DBD92B,$EE971B69,
$6EA22FDE,$5F08AE2B,$AF7A616D,$E5C98767,$CF1FEBD2,$61EFC8C2,$F1AC2571,$CC8239C2,
$67214CB8,$B1E583D1,$B7DC3E62,$7F10BDCE,$F90A5C38,$0FF0443D,$606E6DC6,$60543A49,
$5727C148,$2BE98A1D,$8AB41738,$20E1BE24,$AF96DA0F,$68458425,$99833BE5,$600D457D,
$282F9350,$8334B362,$D91D1120,$2B6D8DA0,$642B1E31,$9C305A00,$52BCE688,$1B03588A,
$F7BAEFD5,$4142ED9C,$A4315C11,$83323EC5,$DFEF4636,$A133C501,$E9D3531C,$EE353783),
($9DB30420,$1FB6E9DE,$A7BE7BEF,$D273A298,$4A4F7BDB,$64AD8C57,$85510443,$FA020ED1,
$7E287AFF,$E60FB663,$095F35A1,$79EBF120,$FD059D43,$6497B7B1,$F3641F63,$241E4ADF,
$28147F5F,$4FA2B8CD,$C9430040,$0CC32220,$FDD30B30,$C0A5374F,$1D2D00D9,$24147B15,
$EE4D111A,$0FCA5167,$71FF904C,$2D195FFE,$1A05645F,$0C13FEFE,$081B08CA,$05170121,
$80530100,$E83E5EFE,$AC9AF4F8,$7FE72701,$D2B8EE5F,$06DF4261,$BB9E9B8A,$7293EA25,
$CE84FFDF,$F5718801,$3DD64B04,$A26F263B,$7ED48400,$547EEBE6,$446D4CA0,$6CF3D6F5,
$2649ABDF,$AEA0C7F5,$36338CC1,$503F7E93,$D3772061,$11B638E1,$72500E03,$F80EB2BB,
$ABE0502E,$EC8D77DE,$57971E81,$E14F6746,$C9335400,$6920318F,$081DBB99,$FFC304A5,
$4D351805,$7F3D5CE3,$A6C866C6,$5D5BCCA9,$DAEC6FEA,$9F926F91,$9F46222F,$3991467D,
$A5BF6D8E,$1143C44F,$43958302,$D0214EEB,$022083B8,$3FB6180C,$18F8931E,$281658E6,
$26486E3E,$8BD78A70,$7477E4C1,$B506E07C,$F32D0A25,$79098B02,$E4EABB81,$28123B23,
$69DEAD38,$1574CA16,$DF871B62,$211C40B7,$A51A9EF9,$0014377B,$041E8AC8,$09114003,
$BD59E4D2,$E3D156D5,$4FE876D5,$2F91A340,$557BE8DE,$00EAE4A7,$0CE5C2EC,$4DB4BBA6,
$E756BDFF,$DD3369AC,$EC17B035,$06572327,$99AFC8B0,$56C8C391,$6B65811C,$5E146119,
$6E85CB75,$BE07C002,$C2325577,$893FF4EC,$5BBFC92D,$D0EC3B25,$B7801AB7,$8D6D3B24,
$20C763EF,$C366A5FC,$9C382880,$0ACE3205,$AAC9548A,$ECA1D7C7,$041AFA32,$1D16625A,
$6701902C,$9B757A54,$31D477F7,$9126B031,$36CC6FDB,$C70B8B46,$D9E66A48,$56E55A79,
$026A4CEB,$52437EFF,$2F8F76B4,$0DF980A5,$8674CDE3,$EDDA04EB,$17A9BE04,$2C18F4DF,
$B7747F9D,$AB2AF7B4,$EFC34D20,$2E096B7C,$1741A254,$E5B6A035,$213D42F6,$2C1C7C26,
$61C2F50F,$6552DAF9,$D2C231F8,$25130F69,$D8167FA2,$0418F2C8,$001A96A6,$0D1526AB,
$63315C21,$5E0A72EC,$49BAFEFD,$187908D9,$8D0DBD86,$311170A7,$3E9B640C,$CC3E10D7,
$D5CAD3B6,$0CAEC388,$F73001E1,$6C728AFF,$71EAE2A1,$1F9AF36E,$CFCBD12F,$C1DE8417,
$AC07BE6B,$CB44A1D8,$8B9B0F56,$013988C3,$B1C52FCA,$B4BE31CD,$D8782806,$12A3A4E2,
$6F7DE532,$58FD7EB6,$D01EE900,$24ADFFC2,$F4990FC5,$9711AAC5,$001D7B95,$82E5E7D2,
$109873F6,$00613096,$C32D9521,$ADA121FF,$29908415,$7FBB977F,$AF9EB3DB,$29C9ED2A,
$5CE2A465,$A730F32C,$D0AA3FE8,$8A5CC091,$D49E2CE7,$0CE454A9,$D60ACD86,$015F1919,
$77079103,$DEA03AF6,$78A8565E,$DEE356DF,$21F05CBE,$8B75E387,$B3C50651,$B8A5C3EF,
$D8EEB6D2,$E523BE77,$C2154529,$2F69EFDF,$AFE67AFB,$F470C4B2,$F3E0EB5B,$D6CC9876,
$39E4460C,$1FDA8538,$1987832F,$CA007367,$A99144F8,$296B299E,$492FC295,$9266BEAB,
$B5676E69,$9BD3DDDA,$DF7E052F,$DB25701C,$1B5E51EE,$F65324E6,$6AFCE36C,$0316CC04,
$8644213E,$B7DC59D0,$7965291F,$CCD6FD43,$41823979,$932BCDF6,$B657C34D,$4EDFD282,
$7AE5290C,$3CB9536B,$851E20FE,$9833557E,$13ECF0B0,$D3FFB372,$3F85C5C1,$0AEF7ED2)
);
Mars_Data: array[0..511] of UInt32 = (
$09D0C479,$28C8FFE0,$84AA6C39,$9DAD7287,$7DFF9BE3,$D4268361,$C96DA1D4,$7974CC93,
$85D0582E,$2A4B5705,$1CA16A62,$C3BD279D,$0F1F25E5,$5160372F,$C695C1FB,$4D7FF1E4,
$AE5F6BF4,$0D72EE46,$FF23DE8A,$B1CF8E83,$F14902E2,$3E981E42,$8BF53EB6,$7F4BF8AC,
$83631F83,$25970205,$76AFE784,$3A7931D4,$4F846450,$5C64C3F6,$210A5F18,$C6986A26,
$28F4E826,$3A60A81C,$D340A664,$7EA820C4,$526687C5,$7EDDD12B,$32A11D1D,$9C9EF086,
$80F6E831,$AB6F04AD,$56FB9B53,$8B2E095C,$B68556AE,$D2250B0D,$294A7721,$E21FB253,
$AE136749,$E82AAE86,$93365104,$99404A66,$78A784DC,$B69BA84B,$04046793,$23DB5C1E,
$46CAE1D6,$2FE28134,$5A223942,$1863CD5B,$C190C6E3,$07DFB846,$6EB88816,$2D0DCC4A,
$A4CCAE59,$3798670D,$CBFA9493,$4F481D45,$EAFC8CA8,$DB1129D6,$B0449E20,$0F5407FB,
$6167D9A8,$D1F45763,$4DAA96C3,$3BEC5958,$ABABA014,$B6CCD201,$38D6279F,$02682215,
$8F376CD5,$092C237E,$BFC56593,$32889D2C,$854B3E95,$05BB9B43,$7DCD5DCD,$A02E926C,
$FAE527E5,$36A1C330,$3412E1AE,$F257F462,$3C4F1D71,$30A2E809,$68E5F551,$9C61BA44,
$5DED0AB8,$75CE09C8,$9654F93E,$698C0CCA,$243CB3E4,$2B062B97,$0F3B8D9E,$00E050DF,
$FC5D6166,$E35F9288,$C079550D,$0591AEE8,$8E531E74,$75FE3578,$2F6D829A,$F60B21AE,
$95E8EB8D,$6699486B,$901D7D9B,$FD6D6E31,$1090ACEF,$E0670DD8,$DAB2E692,$CD6D4365,
$E5393514,$3AF345F0,$6241FC4D,$460DA3A3,$7BCF3729,$8BF1D1E0,$14AAC070,$1587ED55,
$3AFD7D3E,$D2F29E01,$29A9D1F6,$EFB10C53,$CF3B870F,$B414935C,$664465ED,$024ACAC7,
$59A744C1,$1D2936A7,$DC580AA6,$CF574CA8,$040A7A10,$6CD81807,$8A98BE4C,$ACCEA063,
$C33E92B5,$D1E0E03D,$B322517E,$2092BD13,$386B2C4A,$52E8DD58,$58656DFB,$50820371,
$41811896,$E337EF7E,$D39FB119,$C97F0DF6,$68FEA01B,$A150A6E5,$55258962,$EB6FF41B,
$D7C9CD7A,$A619CD9E,$BCF09576,$2672C073,$F003FB3C,$4AB7A50B,$1484126A,$487BA9B1,
$A64FC9C6,$F6957D49,$38B06A75,$DD805FCD,$63D094CF,$F51C999E,$1AA4D343,$B8495294,
$CE9F8E99,$BFFCD770,$C7C275CC,$378453A7,$7B21BE33,$397F41BD,$4E94D131,$92CC1F98,
$5915EA51,$99F861B7,$C9980A88,$1D74FD5F,$B0A495F8,$614DEED0,$B5778EEA,$5941792D,
$FA90C1F8,$33F824B4,$C4965372,$3FF6D550,$4CA5FEC0,$8630E964,$5B3FBBD6,$7DA26A48,
$B203231A,$04297514,$2D639306,$2EB13149,$16A45272,$532459A0,$8E5F4872,$F966C7D9,
$07128DC0,$0D44DB62,$AFC8D52D,$06316131,$D838E7CE,$1BC41D00,$3A2E8C0F,$EA83837E,
$B984737D,$13BA4891,$C4F8B949,$A6D6ACB3,$A215CDCE,$8359838B,$6BD1AA31,$F579DD52,
$21B93F93,$F5176781,$187DFDDE,$E94AEB76,$2B38FD54,$431DE1DA,$AB394825,$9AD3048F,
$DFEA32AA,$659473E3,$623F7863,$F3346C59,$AB3AB685,$3346A90B,$6B56443E,$C6DE01F8,
$8D421FC0,$9B0ED10C,$88F1A1E9,$54C1F029,$7DEAD57B,$8D7BA426,$4CF5178A,$551A7CCA,
$1A9A5F08,$FCD651B9,$25605182,$E11FC6C3,$B6FD9676,$337B3027,$B7C8EB14,$9E5FD030,
$6B57E354,$AD913CF7,$7E16688D,$58872A69,$2C2FC7DF,$E389CCC6,$30738DF1,$0824A734,
$E1797A8B,$A4A8D57B,$5B5D193B,$C8A8309B,$73F9A978,$73398D32,$0F59573E,$E9DF2B03,
$E8A5B6C8,$848D0704,$98DF93C2,$720A1DC3,$684F259A,$943BA848,$A6370152,$863B5EA3,
$D17B978B,$6D9B58EF,$0A700DD4,$A73D36BF,$8E6A0829,$8695BC14,$E35B3447,$933AC568,
$8894B022,$2F511C27,$DDFBCC3C,$006662B6,$117C83FE,$4E12B414,$C2BCA766,$3A2FEC10,
$F4562420,$55792E2A,$46F5D857,$CEDA25CE,$C3601D3B,$6C00AB46,$EFAC9C28,$B3C35047,
$611DFEE3,$257C3207,$FDD58482,$3B14D84F,$23BECB64,$A075F3A3,$088F8EAD,$07ADF158,
$7796943C,$FACABF3D,$C09730CD,$F7679969,$DA44E9ED,$2C854C12,$35935FA3,$2F057D9F,
$690624F8,$1CB0BAFD,$7B0DBDC6,$810F23BB,$FA929A1A,$6D969A17,$6742979B,$74AC7D05,
$010E65C4,$86A3D963,$F907B5A0,$D0042BD3,$158D7D03,$287A8255,$BBA8366F,$096EDC33,
$21916A7B,$77B56B86,$951622F9,$A6C5E650,$8CEA17D1,$CD8C62BC,$A3D63433,$358A68FD,
$0F9B9D3C,$D6AA295B,$FE33384A,$C000738E,$CD67EB2F,$E2EB6DC2,$97338B02,$06C9F246,
$419CF1AD,$2B83C045,$3723F18A,$CB5B3089,$160BEAD7,$5D494656,$35F8A74B,$1E4E6C9E,
$000399BD,$67466880,$B4174831,$ACF423B2,$CA815AB3,$5A6395E7,$302A67C5,$8BDB446B,
$108F8FA4,$10223EDA,$92B8B48B,$7F38D0EE,$AB2701D4,$0262D415,$AF224A30,$B3D88ABA,
$F8B2C3AF,$DAF7EF70,$CC97D3B7,$E9614B6C,$2BAEBFF4,$70F687CF,$386C9156,$CE092EE5,
$01E87DA6,$6CE91E6A,$BB7BCC84,$C7922C20,$9D3B71FD,$060E41C6,$D7590F15,$4E03BB47,
$183C198E,$63EEB240,$2DDBF49A,$6D5CBA54,$923750AF,$F9E14236,$7838162B,$59726C72,
$81B66760,$BB2926C1,$48A0CE0D,$A6C0496D,$AD43507B,$718D496A,$9DF057AF,$44B1BDE6,
$054356DC,$DE7CED35,$D51A138B,$62088CC9,$35830311,$C96EFCA2,$686F86EC,$8E77CB68,
$63E1D6B8,$C80F9778,$79C491FD,$1B4C67F2,$72698D7D,$5E368C31,$F7D95E2E,$A1D3493F,
$DCD9433E,$896F1552,$4BC4CA7A,$A6D1BAF4,$A5A96DCC,$0BEF8B46,$A169FDA7,$74DF40B7,
$4E208804,$9A756607,$038E87C8,$20211E44,$8B7AD4BF,$C6403F35,$1848E36D,$80BDB038,
$1E62891C,$643D2107,$BF04D6F8,$21092C8C,$F644F389,$0778404E,$7B78ADB8,$A2C52D53,
$42157ABE,$A2253E2E,$7BF3F4AE,$80F594F9,$953194E7,$77EB92ED,$B3816930,$DA8D9336,
$BF447469,$F26D9483,$EE6FAED5,$71371235,$DE425F73,$B4E59F43,$7DBE2D4E,$2D37B185,
$49DC9A63,$98C39D98,$1301C9A2,$389B1BBF,$0C18588D,$A421C1BA,$7AA3865C,$71E08558,
$3C5CFCAA,$7D239CA4,$0297D9DD,$D7DC2830,$4B37802B,$7428AB54,$AEEE0347,$4B3FBB85,
$692F2F08,$134E578E,$36D9E0BF,$AE8B5FCF,$EDB93ECF,$2B27248E,$170EB1EF,$7DC57FD6,
$1E760F16,$B1136601,$864E1B9B,$D7EA7319,$3AB871BD,$CFA4D76F,$E31BD782,$0DBEB469,
$ABB96061,$5370F85D,$FFB07E37,$DA30D0FB,$EBC977B6,$0B98B40F,$3A4D0FE6,$DF4FC26B,
$159CF22A,$C298D6E2,$2B78EF6A,$61A94AC0,$AB561187,$14EEA0F0,$DF0D4164,$19AF70EE
);
Mars_Key: array[0..6] of UInt32 = (
$09D0C479,$28C8FFE0,$84AA6C39,$9DAD7287,$7DFF9BE3,$D4268361,$C96DA1D4
);
/// <summary>
/// Constant used in AES encryption key initialization
/// </summary>
RijndaelEncryptionSheduleConst: array[0..9] of UInt32 = ($01, $02, $04, $08, $10, $20, $40, $80, $1b, $36);
Rijndael_S: array[0..1, 0..255] of Byte = (
($63,$7C,$77,$7B,$F2,$6B,$6F,$C5,$30,$01,$67,$2B,$FE,$D7,$AB,$76,
$CA,$82,$C9,$7D,$FA,$59,$47,$F0,$AD,$D4,$A2,$AF,$9C,$A4,$72,$C0,
$B7,$FD,$93,$26,$36,$3F,$F7,$CC,$34,$A5,$E5,$F1,$71,$D8,$31,$15,
$04,$C7,$23,$C3,$18,$96,$05,$9A,$07,$12,$80,$E2,$EB,$27,$B2,$75,
$09,$83,$2C,$1A,$1B,$6E,$5A,$A0,$52,$3B,$D6,$B3,$29,$E3,$2F,$84,
$53,$D1,$00,$ED,$20,$FC,$B1,$5B,$6A,$CB,$BE,$39,$4A,$4C,$58,$CF,
$D0,$EF,$AA,$FB,$43,$4D,$33,$85,$45,$F9,$02,$7F,$50,$3C,$9F,$A8,
$51,$A3,$40,$8F,$92,$9D,$38,$F5,$BC,$B6,$DA,$21,$10,$FF,$F3,$D2,
$CD,$0C,$13,$EC,$5F,$97,$44,$17,$C4,$A7,$7E,$3D,$64,$5D,$19,$73,
$60,$81,$4F,$DC,$22,$2A,$90,$88,$46,$EE,$B8,$14,$DE,$5E,$0B,$DB,
$E0,$32,$3A,$0A,$49,$06,$24,$5C,$C2,$D3,$AC,$62,$91,$95,$E4,$79,
$E7,$C8,$37,$6D,$8D,$D5,$4E,$A9,$6C,$56,$F4,$EA,$65,$7A,$AE,$08,
$BA,$78,$25,$2E,$1C,$A6,$B4,$C6,$E8,$DD,$74,$1F,$4B,$BD,$8B,$8A,
$70,$3E,$B5,$66,$48,$03,$F6,$0E,$61,$35,$57,$B9,$86,$C1,$1D,$9E,
$E1,$F8,$98,$11,$69,$D9,$8E,$94,$9B,$1E,$87,$E9,$CE,$55,$28,$DF,
$8C,$A1,$89,$0D,$BF,$E6,$42,$68,$41,$99,$2D,$0F,$B0,$54,$BB,$16),
($52,$09,$6A,$D5,$30,$36,$A5,$38,$BF,$40,$A3,$9E,$81,$F3,$D7,$FB,
$7C,$E3,$39,$82,$9B,$2F,$FF,$87,$34,$8E,$43,$44,$C4,$DE,$E9,$CB,
$54,$7B,$94,$32,$A6,$C2,$23,$3D,$EE,$4C,$95,$0B,$42,$FA,$C3,$4E,
$08,$2E,$A1,$66,$28,$D9,$24,$B2,$76,$5B,$A2,$49,$6D,$8B,$D1,$25,
$72,$F8,$F6,$64,$86,$68,$98,$16,$D4,$A4,$5C,$CC,$5D,$65,$B6,$92,
$6C,$70,$48,$50,$FD,$ED,$B9,$DA,$5E,$15,$46,$57,$A7,$8D,$9D,$84,
$90,$D8,$AB,$00,$8C,$BC,$D3,$0A,$F7,$E4,$58,$05,$B8,$B3,$45,$06,
$D0,$2C,$1E,$8F,$CA,$3F,$0F,$02,$C1,$AF,$BD,$03,$01,$13,$8A,$6B,
$3A,$91,$11,$41,$4F,$67,$DC,$EA,$97,$F2,$CF,$CE,$F0,$B4,$E6,$73,
$96,$AC,$74,$22,$E7,$AD,$35,$85,$E2,$F9,$37,$E8,$1C,$75,$DF,$6E,
$47,$F1,$1A,$71,$1D,$29,$C5,$89,$6F,$B7,$62,$0E,$AA,$18,$BE,$1B,
$FC,$56,$3E,$4B,$C6,$D2,$79,$20,$9A,$DB,$C0,$FE,$78,$CD,$5A,$F4,
$1F,$DD,$A8,$33,$88,$07,$C7,$31,$B1,$12,$10,$59,$27,$80,$EC,$5F,
$60,$51,$7F,$A9,$19,$B5,$4A,$0D,$2D,$E5,$7A,$9F,$93,$C9,$9C,$EF,
$A0,$E0,$3B,$4D,$AE,$2A,$F5,$B0,$C8,$EB,$BB,$3C,$83,$53,$99,$61,
$17,$2B,$04,$7E,$BA,$77,$D6,$26,$E1,$69,$14,$63,$55,$21,$0C,$7D)
);
Rijndael_T: array[0..7, 0..255] of UInt32 = (
($A56363C6,$847C7CF8,$997777EE,$8D7B7BF6,$0DF2F2FF,$BD6B6BD6,$B16F6FDE,$54C5C591,
$50303060,$03010102,$A96767CE,$7D2B2B56,$19FEFEE7,$62D7D7B5,$E6ABAB4D,$9A7676EC,
$45CACA8F,$9D82821F,$40C9C989,$877D7DFA,$15FAFAEF,$EB5959B2,$C947478E,$0BF0F0FB,
$ECADAD41,$67D4D4B3,$FDA2A25F,$EAAFAF45,$BF9C9C23,$F7A4A453,$967272E4,$5BC0C09B,
$C2B7B775,$1CFDFDE1,$AE93933D,$6A26264C,$5A36366C,$413F3F7E,$02F7F7F5,$4FCCCC83,
$5C343468,$F4A5A551,$34E5E5D1,$08F1F1F9,$937171E2,$73D8D8AB,$53313162,$3F15152A,
$0C040408,$52C7C795,$65232346,$5EC3C39D,$28181830,$A1969637,$0F05050A,$B59A9A2F,
$0907070E,$36121224,$9B80801B,$3DE2E2DF,$26EBEBCD,$6927274E,$CDB2B27F,$9F7575EA,
$1B090912,$9E83831D,$742C2C58,$2E1A1A34,$2D1B1B36,$B26E6EDC,$EE5A5AB4,$FBA0A05B,
$F65252A4,$4D3B3B76,$61D6D6B7,$CEB3B37D,$7B292952,$3EE3E3DD,$712F2F5E,$97848413,
$F55353A6,$68D1D1B9,$00000000,$2CEDEDC1,$60202040,$1FFCFCE3,$C8B1B179,$ED5B5BB6,
$BE6A6AD4,$46CBCB8D,$D9BEBE67,$4B393972,$DE4A4A94,$D44C4C98,$E85858B0,$4ACFCF85,
$6BD0D0BB,$2AEFEFC5,$E5AAAA4F,$16FBFBED,$C5434386,$D74D4D9A,$55333366,$94858511,
$CF45458A,$10F9F9E9,$06020204,$817F7FFE,$F05050A0,$443C3C78,$BA9F9F25,$E3A8A84B,
$F35151A2,$FEA3A35D,$C0404080,$8A8F8F05,$AD92923F,$BC9D9D21,$48383870,$04F5F5F1,
$DFBCBC63,$C1B6B677,$75DADAAF,$63212142,$30101020,$1AFFFFE5,$0EF3F3FD,$6DD2D2BF,
$4CCDCD81,$140C0C18,$35131326,$2FECECC3,$E15F5FBE,$A2979735,$CC444488,$3917172E,
$57C4C493,$F2A7A755,$827E7EFC,$473D3D7A,$AC6464C8,$E75D5DBA,$2B191932,$957373E6,
$A06060C0,$98818119,$D14F4F9E,$7FDCDCA3,$66222244,$7E2A2A54,$AB90903B,$8388880B,
$CA46468C,$29EEEEC7,$D3B8B86B,$3C141428,$79DEDEA7,$E25E5EBC,$1D0B0B16,$76DBDBAD,
$3BE0E0DB,$56323264,$4E3A3A74,$1E0A0A14,$DB494992,$0A06060C,$6C242448,$E45C5CB8,
$5DC2C29F,$6ED3D3BD,$EFACAC43,$A66262C4,$A8919139,$A4959531,$37E4E4D3,$8B7979F2,
$32E7E7D5,$43C8C88B,$5937376E,$B76D6DDA,$8C8D8D01,$64D5D5B1,$D24E4E9C,$E0A9A949,
$B46C6CD8,$FA5656AC,$07F4F4F3,$25EAEACF,$AF6565CA,$8E7A7AF4,$E9AEAE47,$18080810,
$D5BABA6F,$887878F0,$6F25254A,$722E2E5C,$241C1C38,$F1A6A657,$C7B4B473,$51C6C697,
$23E8E8CB,$7CDDDDA1,$9C7474E8,$211F1F3E,$DD4B4B96,$DCBDBD61,$868B8B0D,$858A8A0F,
$907070E0,$423E3E7C,$C4B5B571,$AA6666CC,$D8484890,$05030306,$01F6F6F7,$120E0E1C,
$A36161C2,$5F35356A,$F95757AE,$D0B9B969,$91868617,$58C1C199,$271D1D3A,$B99E9E27,
$38E1E1D9,$13F8F8EB,$B398982B,$33111122,$BB6969D2,$70D9D9A9,$898E8E07,$A7949433,
$B69B9B2D,$221E1E3C,$92878715,$20E9E9C9,$49CECE87,$FF5555AA,$78282850,$7ADFDFA5,
$8F8C8C03,$F8A1A159,$80898909,$170D0D1A,$DABFBF65,$31E6E6D7,$C6424284,$B86868D0,
$C3414182,$B0999929,$772D2D5A,$110F0F1E,$CBB0B07B,$FC5454A8,$D6BBBB6D,$3A16162C),
($6363C6A5,$7C7CF884,$7777EE99,$7B7BF68D,$F2F2FF0D,$6B6BD6BD,$6F6FDEB1,$C5C59154,
$30306050,$01010203,$6767CEA9,$2B2B567D,$FEFEE719,$D7D7B562,$ABAB4DE6,$7676EC9A,
$CACA8F45,$82821F9D,$C9C98940,$7D7DFA87,$FAFAEF15,$5959B2EB,$47478EC9,$F0F0FB0B,
$ADAD41EC,$D4D4B367,$A2A25FFD,$AFAF45EA,$9C9C23BF,$A4A453F7,$7272E496,$C0C09B5B,
$B7B775C2,$FDFDE11C,$93933DAE,$26264C6A,$36366C5A,$3F3F7E41,$F7F7F502,$CCCC834F,
$3434685C,$A5A551F4,$E5E5D134,$F1F1F908,$7171E293,$D8D8AB73,$31316253,$15152A3F,
$0404080C,$C7C79552,$23234665,$C3C39D5E,$18183028,$969637A1,$05050A0F,$9A9A2FB5,
$07070E09,$12122436,$80801B9B,$E2E2DF3D,$EBEBCD26,$27274E69,$B2B27FCD,$7575EA9F,
$0909121B,$83831D9E,$2C2C5874,$1A1A342E,$1B1B362D,$6E6EDCB2,$5A5AB4EE,$A0A05BFB,
$5252A4F6,$3B3B764D,$D6D6B761,$B3B37DCE,$2929527B,$E3E3DD3E,$2F2F5E71,$84841397,
$5353A6F5,$D1D1B968,$00000000,$EDEDC12C,$20204060,$FCFCE31F,$B1B179C8,$5B5BB6ED,
$6A6AD4BE,$CBCB8D46,$BEBE67D9,$3939724B,$4A4A94DE,$4C4C98D4,$5858B0E8,$CFCF854A,
$D0D0BB6B,$EFEFC52A,$AAAA4FE5,$FBFBED16,$434386C5,$4D4D9AD7,$33336655,$85851194,
$45458ACF,$F9F9E910,$02020406,$7F7FFE81,$5050A0F0,$3C3C7844,$9F9F25BA,$A8A84BE3,
$5151A2F3,$A3A35DFE,$404080C0,$8F8F058A,$92923FAD,$9D9D21BC,$38387048,$F5F5F104,
$BCBC63DF,$B6B677C1,$DADAAF75,$21214263,$10102030,$FFFFE51A,$F3F3FD0E,$D2D2BF6D,
$CDCD814C,$0C0C1814,$13132635,$ECECC32F,$5F5FBEE1,$979735A2,$444488CC,$17172E39,
$C4C49357,$A7A755F2,$7E7EFC82,$3D3D7A47,$6464C8AC,$5D5DBAE7,$1919322B,$7373E695,
$6060C0A0,$81811998,$4F4F9ED1,$DCDCA37F,$22224466,$2A2A547E,$90903BAB,$88880B83,
$46468CCA,$EEEEC729,$B8B86BD3,$1414283C,$DEDEA779,$5E5EBCE2,$0B0B161D,$DBDBAD76,
$E0E0DB3B,$32326456,$3A3A744E,$0A0A141E,$494992DB,$06060C0A,$2424486C,$5C5CB8E4,
$C2C29F5D,$D3D3BD6E,$ACAC43EF,$6262C4A6,$919139A8,$959531A4,$E4E4D337,$7979F28B,
$E7E7D532,$C8C88B43,$37376E59,$6D6DDAB7,$8D8D018C,$D5D5B164,$4E4E9CD2,$A9A949E0,
$6C6CD8B4,$5656ACFA,$F4F4F307,$EAEACF25,$6565CAAF,$7A7AF48E,$AEAE47E9,$08081018,
$BABA6FD5,$7878F088,$25254A6F,$2E2E5C72,$1C1C3824,$A6A657F1,$B4B473C7,$C6C69751,
$E8E8CB23,$DDDDA17C,$7474E89C,$1F1F3E21,$4B4B96DD,$BDBD61DC,$8B8B0D86,$8A8A0F85,
$7070E090,$3E3E7C42,$B5B571C4,$6666CCAA,$484890D8,$03030605,$F6F6F701,$0E0E1C12,
$6161C2A3,$35356A5F,$5757AEF9,$B9B969D0,$86861791,$C1C19958,$1D1D3A27,$9E9E27B9,
$E1E1D938,$F8F8EB13,$98982BB3,$11112233,$6969D2BB,$D9D9A970,$8E8E0789,$949433A7,
$9B9B2DB6,$1E1E3C22,$87871592,$E9E9C920,$CECE8749,$5555AAFF,$28285078,$DFDFA57A,
$8C8C038F,$A1A159F8,$89890980,$0D0D1A17,$BFBF65DA,$E6E6D731,$424284C6,$6868D0B8,
$414182C3,$999929B0,$2D2D5A77,$0F0F1E11,$B0B07BCB,$5454A8FC,$BBBB6DD6,$16162C3A),
($63C6A563,$7CF8847C,$77EE9977,$7BF68D7B,$F2FF0DF2,$6BD6BD6B,$6FDEB16F,$C59154C5,
$30605030,$01020301,$67CEA967,$2B567D2B,$FEE719FE,$D7B562D7,$AB4DE6AB,$76EC9A76,
$CA8F45CA,$821F9D82,$C98940C9,$7DFA877D,$FAEF15FA,$59B2EB59,$478EC947,$F0FB0BF0,
$AD41ECAD,$D4B367D4,$A25FFDA2,$AF45EAAF,$9C23BF9C,$A453F7A4,$72E49672,$C09B5BC0,
$B775C2B7,$FDE11CFD,$933DAE93,$264C6A26,$366C5A36,$3F7E413F,$F7F502F7,$CC834FCC,
$34685C34,$A551F4A5,$E5D134E5,$F1F908F1,$71E29371,$D8AB73D8,$31625331,$152A3F15,
$04080C04,$C79552C7,$23466523,$C39D5EC3,$18302818,$9637A196,$050A0F05,$9A2FB59A,
$070E0907,$12243612,$801B9B80,$E2DF3DE2,$EBCD26EB,$274E6927,$B27FCDB2,$75EA9F75,
$09121B09,$831D9E83,$2C58742C,$1A342E1A,$1B362D1B,$6EDCB26E,$5AB4EE5A,$A05BFBA0,
$52A4F652,$3B764D3B,$D6B761D6,$B37DCEB3,$29527B29,$E3DD3EE3,$2F5E712F,$84139784,
$53A6F553,$D1B968D1,$00000000,$EDC12CED,$20406020,$FCE31FFC,$B179C8B1,$5BB6ED5B,
$6AD4BE6A,$CB8D46CB,$BE67D9BE,$39724B39,$4A94DE4A,$4C98D44C,$58B0E858,$CF854ACF,
$D0BB6BD0,$EFC52AEF,$AA4FE5AA,$FBED16FB,$4386C543,$4D9AD74D,$33665533,$85119485,
$458ACF45,$F9E910F9,$02040602,$7FFE817F,$50A0F050,$3C78443C,$9F25BA9F,$A84BE3A8,
$51A2F351,$A35DFEA3,$4080C040,$8F058A8F,$923FAD92,$9D21BC9D,$38704838,$F5F104F5,
$BC63DFBC,$B677C1B6,$DAAF75DA,$21426321,$10203010,$FFE51AFF,$F3FD0EF3,$D2BF6DD2,
$CD814CCD,$0C18140C,$13263513,$ECC32FEC,$5FBEE15F,$9735A297,$4488CC44,$172E3917,
$C49357C4,$A755F2A7,$7EFC827E,$3D7A473D,$64C8AC64,$5DBAE75D,$19322B19,$73E69573,
$60C0A060,$81199881,$4F9ED14F,$DCA37FDC,$22446622,$2A547E2A,$903BAB90,$880B8388,
$468CCA46,$EEC729EE,$B86BD3B8,$14283C14,$DEA779DE,$5EBCE25E,$0B161D0B,$DBAD76DB,
$E0DB3BE0,$32645632,$3A744E3A,$0A141E0A,$4992DB49,$060C0A06,$24486C24,$5CB8E45C,
$C29F5DC2,$D3BD6ED3,$AC43EFAC,$62C4A662,$9139A891,$9531A495,$E4D337E4,$79F28B79,
$E7D532E7,$C88B43C8,$376E5937,$6DDAB76D,$8D018C8D,$D5B164D5,$4E9CD24E,$A949E0A9,
$6CD8B46C,$56ACFA56,$F4F307F4,$EACF25EA,$65CAAF65,$7AF48E7A,$AE47E9AE,$08101808,
$BA6FD5BA,$78F08878,$254A6F25,$2E5C722E,$1C38241C,$A657F1A6,$B473C7B4,$C69751C6,
$E8CB23E8,$DDA17CDD,$74E89C74,$1F3E211F,$4B96DD4B,$BD61DCBD,$8B0D868B,$8A0F858A,
$70E09070,$3E7C423E,$B571C4B5,$66CCAA66,$4890D848,$03060503,$F6F701F6,$0E1C120E,
$61C2A361,$356A5F35,$57AEF957,$B969D0B9,$86179186,$C19958C1,$1D3A271D,$9E27B99E,
$E1D938E1,$F8EB13F8,$982BB398,$11223311,$69D2BB69,$D9A970D9,$8E07898E,$9433A794,
$9B2DB69B,$1E3C221E,$87159287,$E9C920E9,$CE8749CE,$55AAFF55,$28507828,$DFA57ADF,
$8C038F8C,$A159F8A1,$89098089,$0D1A170D,$BF65DABF,$E6D731E6,$4284C642,$68D0B868,
$4182C341,$9929B099,$2D5A772D,$0F1E110F,$B07BCBB0,$54A8FC54,$BB6DD6BB,$162C3A16),
($C6A56363,$F8847C7C,$EE997777,$F68D7B7B,$FF0DF2F2,$D6BD6B6B,$DEB16F6F,$9154C5C5,
$60503030,$02030101,$CEA96767,$567D2B2B,$E719FEFE,$B562D7D7,$4DE6ABAB,$EC9A7676,
$8F45CACA,$1F9D8282,$8940C9C9,$FA877D7D,$EF15FAFA,$B2EB5959,$8EC94747,$FB0BF0F0,
$41ECADAD,$B367D4D4,$5FFDA2A2,$45EAAFAF,$23BF9C9C,$53F7A4A4,$E4967272,$9B5BC0C0,
$75C2B7B7,$E11CFDFD,$3DAE9393,$4C6A2626,$6C5A3636,$7E413F3F,$F502F7F7,$834FCCCC,
$685C3434,$51F4A5A5,$D134E5E5,$F908F1F1,$E2937171,$AB73D8D8,$62533131,$2A3F1515,
$080C0404,$9552C7C7,$46652323,$9D5EC3C3,$30281818,$37A19696,$0A0F0505,$2FB59A9A,
$0E090707,$24361212,$1B9B8080,$DF3DE2E2,$CD26EBEB,$4E692727,$7FCDB2B2,$EA9F7575,
$121B0909,$1D9E8383,$58742C2C,$342E1A1A,$362D1B1B,$DCB26E6E,$B4EE5A5A,$5BFBA0A0,
$A4F65252,$764D3B3B,$B761D6D6,$7DCEB3B3,$527B2929,$DD3EE3E3,$5E712F2F,$13978484,
$A6F55353,$B968D1D1,$00000000,$C12CEDED,$40602020,$E31FFCFC,$79C8B1B1,$B6ED5B5B,
$D4BE6A6A,$8D46CBCB,$67D9BEBE,$724B3939,$94DE4A4A,$98D44C4C,$B0E85858,$854ACFCF,
$BB6BD0D0,$C52AEFEF,$4FE5AAAA,$ED16FBFB,$86C54343,$9AD74D4D,$66553333,$11948585,
$8ACF4545,$E910F9F9,$04060202,$FE817F7F,$A0F05050,$78443C3C,$25BA9F9F,$4BE3A8A8,
$A2F35151,$5DFEA3A3,$80C04040,$058A8F8F,$3FAD9292,$21BC9D9D,$70483838,$F104F5F5,
$63DFBCBC,$77C1B6B6,$AF75DADA,$42632121,$20301010,$E51AFFFF,$FD0EF3F3,$BF6DD2D2,
$814CCDCD,$18140C0C,$26351313,$C32FECEC,$BEE15F5F,$35A29797,$88CC4444,$2E391717,
$9357C4C4,$55F2A7A7,$FC827E7E,$7A473D3D,$C8AC6464,$BAE75D5D,$322B1919,$E6957373,
$C0A06060,$19988181,$9ED14F4F,$A37FDCDC,$44662222,$547E2A2A,$3BAB9090,$0B838888,
$8CCA4646,$C729EEEE,$6BD3B8B8,$283C1414,$A779DEDE,$BCE25E5E,$161D0B0B,$AD76DBDB,
$DB3BE0E0,$64563232,$744E3A3A,$141E0A0A,$92DB4949,$0C0A0606,$486C2424,$B8E45C5C,
$9F5DC2C2,$BD6ED3D3,$43EFACAC,$C4A66262,$39A89191,$31A49595,$D337E4E4,$F28B7979,
$D532E7E7,$8B43C8C8,$6E593737,$DAB76D6D,$018C8D8D,$B164D5D5,$9CD24E4E,$49E0A9A9,
$D8B46C6C,$ACFA5656,$F307F4F4,$CF25EAEA,$CAAF6565,$F48E7A7A,$47E9AEAE,$10180808,
$6FD5BABA,$F0887878,$4A6F2525,$5C722E2E,$38241C1C,$57F1A6A6,$73C7B4B4,$9751C6C6,
$CB23E8E8,$A17CDDDD,$E89C7474,$3E211F1F,$96DD4B4B,$61DCBDBD,$0D868B8B,$0F858A8A,
$E0907070,$7C423E3E,$71C4B5B5,$CCAA6666,$90D84848,$06050303,$F701F6F6,$1C120E0E,
$C2A36161,$6A5F3535,$AEF95757,$69D0B9B9,$17918686,$9958C1C1,$3A271D1D,$27B99E9E,
$D938E1E1,$EB13F8F8,$2BB39898,$22331111,$D2BB6969,$A970D9D9,$07898E8E,$33A79494,
$2DB69B9B,$3C221E1E,$15928787,$C920E9E9,$8749CECE,$AAFF5555,$50782828,$A57ADFDF,
$038F8C8C,$59F8A1A1,$09808989,$1A170D0D,$65DABFBF,$D731E6E6,$84C64242,$D0B86868,
$82C34141,$29B09999,$5A772D2D,$1E110F0F,$7BCBB0B0,$A8FC5454,$6DD6BBBB,$2C3A1616),
($50A7F451,$5365417E,$C3A4171A,$965E273A,$CB6BAB3B,$F1459D1F,$AB58FAAC,$9303E34B,
$55FA3020,$F66D76AD,$9176CC88,$254C02F5,$FCD7E54F,$D7CB2AC5,$80443526,$8FA362B5,
$495AB1DE,$671BBA25,$980EEA45,$E1C0FE5D,$02752FC3,$12F04C81,$A397468D,$C6F9D36B,
$E75F8F03,$959C9215,$EB7A6DBF,$DA595295,$2D83BED4,$D3217458,$2969E049,$44C8C98E,
$6A89C275,$78798EF4,$6B3E5899,$DD71B927,$B64FE1BE,$17AD88F0,$66AC20C9,$B43ACE7D,
$184ADF63,$82311AE5,$60335197,$457F5362,$E07764B1,$84AE6BBB,$1CA081FE,$942B08F9,
$58684870,$19FD458F,$876CDE94,$B7F87B52,$23D373AB,$E2024B72,$578F1FE3,$2AAB5566,
$0728EBB2,$03C2B52F,$9A7BC586,$A50837D3,$F2872830,$B2A5BF23,$BA6A0302,$5C8216ED,
$2B1CCF8A,$92B479A7,$F0F207F3,$A1E2694E,$CDF4DA65,$D5BE0506,$1F6234D1,$8AFEA6C4,
$9D532E34,$A055F3A2,$32E18A05,$75EBF6A4,$39EC830B,$AAEF6040,$069F715E,$51106EBD,
$F98A213E,$3D06DD96,$AE053EDD,$46BDE64D,$B58D5491,$055DC471,$6FD40604,$FF155060,
$24FB9819,$97E9BDD6,$CC434089,$779ED967,$BD42E8B0,$888B8907,$385B19E7,$DBEEC879,
$470A7CA1,$E90F427C,$C91E84F8,$00000000,$83868009,$48ED2B32,$AC70111E,$4E725A6C,
$FBFF0EFD,$5638850F,$1ED5AE3D,$27392D36,$64D90F0A,$21A65C68,$D1545B9B,$3A2E3624,
$B1670A0C,$0FE75793,$D296EEB4,$9E919B1B,$4FC5C080,$A220DC61,$694B775A,$161A121C,
$0ABA93E2,$E52AA0C0,$43E0223C,$1D171B12,$0B0D090E,$ADC78BF2,$B9A8B62D,$C8A91E14,
$8519F157,$4C0775AF,$BBDD99EE,$FD607FA3,$9F2601F7,$BCF5725C,$C53B6644,$347EFB5B,
$7629438B,$DCC623CB,$68FCEDB6,$63F1E4B8,$CADC31D7,$10856342,$40229713,$2011C684,
$7D244A85,$F83DBBD2,$1132F9AE,$6DA129C7,$4B2F9E1D,$F330B2DC,$EC52860D,$D0E3C177,
$6C16B32B,$99B970A9,$FA489411,$2264E947,$C48CFCA8,$1A3FF0A0,$D82C7D56,$EF903322,
$C74E4987,$C1D138D9,$FEA2CA8C,$360BD498,$CF81F5A6,$28DE7AA5,$268EB7DA,$A4BFAD3F,
$E49D3A2C,$0D927850,$9BCC5F6A,$62467E54,$C2138DF6,$E8B8D890,$5EF7392E,$F5AFC382,
$BE805D9F,$7C93D069,$A92DD56F,$B31225CF,$3B99ACC8,$A77D1810,$6E639CE8,$7BBB3BDB,
$097826CD,$F418596E,$01B79AEC,$A89A4F83,$656E95E6,$7EE6FFAA,$08CFBC21,$E6E815EF,
$D99BE7BA,$CE366F4A,$D4099FEA,$D67CB029,$AFB2A431,$31233F2A,$3094A5C6,$C066A235,
$37BC4E74,$A6CA82FC,$B0D090E0,$15D8A733,$4A9804F1,$F7DAEC41,$0E50CD7F,$2FF69117,
$8DD64D76,$4DB0EF43,$544DAACC,$DF0496E4,$E3B5D19E,$1B886A4C,$B81F2CC1,$7F516546,
$04EA5E9D,$5D358C01,$737487FA,$2E410BFB,$5A1D67B3,$52D2DB92,$335610E9,$1347D66D,
$8C61D79A,$7A0CA137,$8E14F859,$893C13EB,$EE27A9CE,$35C961B7,$EDE51CE1,$3CB1477A,
$59DFD29C,$3F73F255,$79CE1418,$BF37C773,$EACDF753,$5BAAFD5F,$146F3DDF,$86DB4478,
$81F3AFCA,$3EC468B9,$2C342438,$5F40A3C2,$72C31D16,$0C25E2BC,$8B493C28,$41950DFF,
$7101A839,$DEB30C08,$9CE4B4D8,$90C15664,$6184CB7B,$70B632D5,$745C6C48,$4257B8D0),
($A7F45150,$65417E53,$A4171AC3,$5E273A96,$6BAB3BCB,$459D1FF1,$58FAACAB,$03E34B93,
$FA302055,$6D76ADF6,$76CC8891,$4C02F525,$D7E54FFC,$CB2AC5D7,$44352680,$A362B58F,
$5AB1DE49,$1BBA2567,$0EEA4598,$C0FE5DE1,$752FC302,$F04C8112,$97468DA3,$F9D36BC6,
$5F8F03E7,$9C921595,$7A6DBFEB,$595295DA,$83BED42D,$217458D3,$69E04929,$C8C98E44,
$89C2756A,$798EF478,$3E58996B,$71B927DD,$4FE1BEB6,$AD88F017,$AC20C966,$3ACE7DB4,
$4ADF6318,$311AE582,$33519760,$7F536245,$7764B1E0,$AE6BBB84,$A081FE1C,$2B08F994,
$68487058,$FD458F19,$6CDE9487,$F87B52B7,$D373AB23,$024B72E2,$8F1FE357,$AB55662A,
$28EBB207,$C2B52F03,$7BC5869A,$0837D3A5,$872830F2,$A5BF23B2,$6A0302BA,$8216ED5C,
$1CCF8A2B,$B479A792,$F207F3F0,$E2694EA1,$F4DA65CD,$BE0506D5,$6234D11F,$FEA6C48A,
$532E349D,$55F3A2A0,$E18A0532,$EBF6A475,$EC830B39,$EF6040AA,$9F715E06,$106EBD51,
$8A213EF9,$06DD963D,$053EDDAE,$BDE64D46,$8D5491B5,$5DC47105,$D406046F,$155060FF,
$FB981924,$E9BDD697,$434089CC,$9ED96777,$42E8B0BD,$8B890788,$5B19E738,$EEC879DB,
$0A7CA147,$0F427CE9,$1E84F8C9,$00000000,$86800983,$ED2B3248,$70111EAC,$725A6C4E,
$FF0EFDFB,$38850F56,$D5AE3D1E,$392D3627,$D90F0A64,$A65C6821,$545B9BD1,$2E36243A,
$670A0CB1,$E757930F,$96EEB4D2,$919B1B9E,$C5C0804F,$20DC61A2,$4B775A69,$1A121C16,
$BA93E20A,$2AA0C0E5,$E0223C43,$171B121D,$0D090E0B,$C78BF2AD,$A8B62DB9,$A91E14C8,
$19F15785,$0775AF4C,$DD99EEBB,$607FA3FD,$2601F79F,$F5725CBC,$3B6644C5,$7EFB5B34,
$29438B76,$C623CBDC,$FCEDB668,$F1E4B863,$DC31D7CA,$85634210,$22971340,$11C68420,
$244A857D,$3DBBD2F8,$32F9AE11,$A129C76D,$2F9E1D4B,$30B2DCF3,$52860DEC,$E3C177D0,
$16B32B6C,$B970A999,$489411FA,$64E94722,$8CFCA8C4,$3FF0A01A,$2C7D56D8,$903322EF,
$4E4987C7,$D138D9C1,$A2CA8CFE,$0BD49836,$81F5A6CF,$DE7AA528,$8EB7DA26,$BFAD3FA4,
$9D3A2CE4,$9278500D,$CC5F6A9B,$467E5462,$138DF6C2,$B8D890E8,$F7392E5E,$AFC382F5,
$805D9FBE,$93D0697C,$2DD56FA9,$1225CFB3,$99ACC83B,$7D1810A7,$639CE86E,$BB3BDB7B,
$7826CD09,$18596EF4,$B79AEC01,$9A4F83A8,$6E95E665,$E6FFAA7E,$CFBC2108,$E815EFE6,
$9BE7BAD9,$366F4ACE,$099FEAD4,$7CB029D6,$B2A431AF,$233F2A31,$94A5C630,$66A235C0,
$BC4E7437,$CA82FCA6,$D090E0B0,$D8A73315,$9804F14A,$DAEC41F7,$50CD7F0E,$F691172F,
$D64D768D,$B0EF434D,$4DAACC54,$0496E4DF,$B5D19EE3,$886A4C1B,$1F2CC1B8,$5165467F,
$EA5E9D04,$358C015D,$7487FA73,$410BFB2E,$1D67B35A,$D2DB9252,$5610E933,$47D66D13,
$61D79A8C,$0CA1377A,$14F8598E,$3C13EB89,$27A9CEEE,$C961B735,$E51CE1ED,$B1477A3C,
$DFD29C59,$73F2553F,$CE141879,$37C773BF,$CDF753EA,$AAFD5F5B,$6F3DDF14,$DB447886,
$F3AFCA81,$C468B93E,$3424382C,$40A3C25F,$C31D1672,$25E2BC0C,$493C288B,$950DFF41,
$01A83971,$B30C08DE,$E4B4D89C,$C1566490,$84CB7B61,$B632D570,$5C6C4874,$57B8D042),
($F45150A7,$417E5365,$171AC3A4,$273A965E,$AB3BCB6B,$9D1FF145,$FAACAB58,$E34B9303,
$302055FA,$76ADF66D,$CC889176,$02F5254C,$E54FFCD7,$2AC5D7CB,$35268044,$62B58FA3,
$B1DE495A,$BA25671B,$EA45980E,$FE5DE1C0,$2FC30275,$4C8112F0,$468DA397,$D36BC6F9,
$8F03E75F,$9215959C,$6DBFEB7A,$5295DA59,$BED42D83,$7458D321,$E0492969,$C98E44C8,
$C2756A89,$8EF47879,$58996B3E,$B927DD71,$E1BEB64F,$88F017AD,$20C966AC,$CE7DB43A,
$DF63184A,$1AE58231,$51976033,$5362457F,$64B1E077,$6BBB84AE,$81FE1CA0,$08F9942B,
$48705868,$458F19FD,$DE94876C,$7B52B7F8,$73AB23D3,$4B72E202,$1FE3578F,$55662AAB,
$EBB20728,$B52F03C2,$C5869A7B,$37D3A508,$2830F287,$BF23B2A5,$0302BA6A,$16ED5C82,
$CF8A2B1C,$79A792B4,$07F3F0F2,$694EA1E2,$DA65CDF4,$0506D5BE,$34D11F62,$A6C48AFE,
$2E349D53,$F3A2A055,$8A0532E1,$F6A475EB,$830B39EC,$6040AAEF,$715E069F,$6EBD5110,
$213EF98A,$DD963D06,$3EDDAE05,$E64D46BD,$5491B58D,$C471055D,$06046FD4,$5060FF15,
$981924FB,$BDD697E9,$4089CC43,$D967779E,$E8B0BD42,$8907888B,$19E7385B,$C879DBEE,
$7CA1470A,$427CE90F,$84F8C91E,$00000000,$80098386,$2B3248ED,$111EAC70,$5A6C4E72,
$0EFDFBFF,$850F5638,$AE3D1ED5,$2D362739,$0F0A64D9,$5C6821A6,$5B9BD154,$36243A2E,
$0A0CB167,$57930FE7,$EEB4D296,$9B1B9E91,$C0804FC5,$DC61A220,$775A694B,$121C161A,
$93E20ABA,$A0C0E52A,$223C43E0,$1B121D17,$090E0B0D,$8BF2ADC7,$B62DB9A8,$1E14C8A9,
$F1578519,$75AF4C07,$99EEBBDD,$7FA3FD60,$01F79F26,$725CBCF5,$6644C53B,$FB5B347E,
$438B7629,$23CBDCC6,$EDB668FC,$E4B863F1,$31D7CADC,$63421085,$97134022,$C6842011,
$4A857D24,$BBD2F83D,$F9AE1132,$29C76DA1,$9E1D4B2F,$B2DCF330,$860DEC52,$C177D0E3,
$B32B6C16,$70A999B9,$9411FA48,$E9472264,$FCA8C48C,$F0A01A3F,$7D56D82C,$3322EF90,
$4987C74E,$38D9C1D1,$CA8CFEA2,$D498360B,$F5A6CF81,$7AA528DE,$B7DA268E,$AD3FA4BF,
$3A2CE49D,$78500D92,$5F6A9BCC,$7E546246,$8DF6C213,$D890E8B8,$392E5EF7,$C382F5AF,
$5D9FBE80,$D0697C93,$D56FA92D,$25CFB312,$ACC83B99,$1810A77D,$9CE86E63,$3BDB7BBB,
$26CD0978,$596EF418,$9AEC01B7,$4F83A89A,$95E6656E,$FFAA7EE6,$BC2108CF,$15EFE6E8,
$E7BAD99B,$6F4ACE36,$9FEAD409,$B029D67C,$A431AFB2,$3F2A3123,$A5C63094,$A235C066,
$4E7437BC,$82FCA6CA,$90E0B0D0,$A73315D8,$04F14A98,$EC41F7DA,$CD7F0E50,$91172FF6,
$4D768DD6,$EF434DB0,$AACC544D,$96E4DF04,$D19EE3B5,$6A4C1B88,$2CC1B81F,$65467F51,
$5E9D04EA,$8C015D35,$87FA7374,$0BFB2E41,$67B35A1D,$DB9252D2,$10E93356,$D66D1347,
$D79A8C61,$A1377A0C,$F8598E14,$13EB893C,$A9CEEE27,$61B735C9,$1CE1EDE5,$477A3CB1,
$D29C59DF,$F2553F73,$141879CE,$C773BF37,$F753EACD,$FD5F5BAA,$3DDF146F,$447886DB,
$AFCA81F3,$68B93EC4,$24382C34,$A3C25F40,$1D1672C3,$E2BC0C25,$3C288B49,$0DFF4195,
$A8397101,$0C08DEB3,$B4D89CE4,$566490C1,$CB7B6184,$32D570B6,$6C48745C,$B8D04257),
($5150A7F4,$7E536541,$1AC3A417,$3A965E27,$3BCB6BAB,$1FF1459D,$ACAB58FA,$4B9303E3,
$2055FA30,$ADF66D76,$889176CC,$F5254C02,$4FFCD7E5,$C5D7CB2A,$26804435,$B58FA362,
$DE495AB1,$25671BBA,$45980EEA,$5DE1C0FE,$C302752F,$8112F04C,$8DA39746,$6BC6F9D3,
$03E75F8F,$15959C92,$BFEB7A6D,$95DA5952,$D42D83BE,$58D32174,$492969E0,$8E44C8C9,
$756A89C2,$F478798E,$996B3E58,$27DD71B9,$BEB64FE1,$F017AD88,$C966AC20,$7DB43ACE,
$63184ADF,$E582311A,$97603351,$62457F53,$B1E07764,$BB84AE6B,$FE1CA081,$F9942B08,
$70586848,$8F19FD45,$94876CDE,$52B7F87B,$AB23D373,$72E2024B,$E3578F1F,$662AAB55,
$B20728EB,$2F03C2B5,$869A7BC5,$D3A50837,$30F28728,$23B2A5BF,$02BA6A03,$ED5C8216,
$8A2B1CCF,$A792B479,$F3F0F207,$4EA1E269,$65CDF4DA,$06D5BE05,$D11F6234,$C48AFEA6,
$349D532E,$A2A055F3,$0532E18A,$A475EBF6,$0B39EC83,$40AAEF60,$5E069F71,$BD51106E,
$3EF98A21,$963D06DD,$DDAE053E,$4D46BDE6,$91B58D54,$71055DC4,$046FD406,$60FF1550,
$1924FB98,$D697E9BD,$89CC4340,$67779ED9,$B0BD42E8,$07888B89,$E7385B19,$79DBEEC8,
$A1470A7C,$7CE90F42,$F8C91E84,$00000000,$09838680,$3248ED2B,$1EAC7011,$6C4E725A,
$FDFBFF0E,$0F563885,$3D1ED5AE,$3627392D,$0A64D90F,$6821A65C,$9BD1545B,$243A2E36,
$0CB1670A,$930FE757,$B4D296EE,$1B9E919B,$804FC5C0,$61A220DC,$5A694B77,$1C161A12,
$E20ABA93,$C0E52AA0,$3C43E022,$121D171B,$0E0B0D09,$F2ADC78B,$2DB9A8B6,$14C8A91E,
$578519F1,$AF4C0775,$EEBBDD99,$A3FD607F,$F79F2601,$5CBCF572,$44C53B66,$5B347EFB,
$8B762943,$CBDCC623,$B668FCED,$B863F1E4,$D7CADC31,$42108563,$13402297,$842011C6,
$857D244A,$D2F83DBB,$AE1132F9,$C76DA129,$1D4B2F9E,$DCF330B2,$0DEC5286,$77D0E3C1,
$2B6C16B3,$A999B970,$11FA4894,$472264E9,$A8C48CFC,$A01A3FF0,$56D82C7D,$22EF9033,
$87C74E49,$D9C1D138,$8CFEA2CA,$98360BD4,$A6CF81F5,$A528DE7A,$DA268EB7,$3FA4BFAD,
$2CE49D3A,$500D9278,$6A9BCC5F,$5462467E,$F6C2138D,$90E8B8D8,$2E5EF739,$82F5AFC3,
$9FBE805D,$697C93D0,$6FA92DD5,$CFB31225,$C83B99AC,$10A77D18,$E86E639C,$DB7BBB3B,
$CD097826,$6EF41859,$EC01B79A,$83A89A4F,$E6656E95,$AA7EE6FF,$2108CFBC,$EFE6E815,
$BAD99BE7,$4ACE366F,$EAD4099F,$29D67CB0,$31AFB2A4,$2A31233F,$C63094A5,$35C066A2,
$7437BC4E,$FCA6CA82,$E0B0D090,$3315D8A7,$F14A9804,$41F7DAEC,$7F0E50CD,$172FF691,
$768DD64D,$434DB0EF,$CC544DAA,$E4DF0496,$9EE3B5D1,$4C1B886A,$C1B81F2C,$467F5165,
$9D04EA5E,$015D358C,$FA737487,$FB2E410B,$B35A1D67,$9252D2DB,$E9335610,$6D1347D6,
$9A8C61D7,$377A0CA1,$598E14F8,$EB893C13,$CEEE27A9,$B735C961,$E1EDE51C,$7A3CB147,
$9C59DFD2,$553F73F2,$1879CE14,$73BF37C7,$53EACDF7,$5F5BAAFD,$DF146F3D,$7886DB44,
$CA81F3AF,$B93EC468,$382C3424,$C25F40A3,$1672C31D,$BC0C25E2,$288B493C,$FF41950D,
$397101A8,$08DEB30C,$D89CE4B4,$6490C156,$7B6184CB,$D570B632,$48745C6C,$D04257B8)
);
{
Rijndael_Key: array[0..255] of UInt32 = (
$00000000,$0B0D090E,$161A121C,$1D171B12,$2C342438,$27392D36,$3A2E3624,$31233F2A,