This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[FAQ] TDA4VM: How to create a LDC mesh LUT for fisheye distortion correction on TDA4?

Part Number: TDA4VM

What is the work flow for creating a LDC mesh LUT for fisheye distortion correction on TDA4?

  • This FAQ is adapted from another E2E discussion about the same topic here.

    This is an example work flow for creating a TDA4 LDC mesh LUT for fisheye distortion correction.

    1. This is the "matlab/octave" code for generating a mesh LUT text file to be used with DCC tuning tool for TDA4 ISP.

    function [] = gen_lut(spec_file, pitch_in_mm,f_in_mm, W, H, hc, vc,s ,m)
    f = f_in_mm/pitch_in_mm ; 
    [h_p , v_p] = meshgrid( 0:W, 0:H);
    [h_d,v_d] = xyz2distorted(h_p,v_p, f/s, hc, vc,spec_file, pitch_in_mm);
    h_delta = round((h_d-h_p) * 8);
    v_delta = round((v_d-v_p) * 8);
    mh = h_delta(1:2^m:end, 1:2^m:end)';
    mv = v_delta(1:2^m:end, 1:2^m:end)';
    dlmwrite('mesh.txt', [mh(:), mv(:)],  'delimiter', ' ');
    
    function [h_d, v_d] = xyz2distorted(x, y, z, hc, vc, spec_file, pitch_in_mm)
    [phi, r] = cart2pol(x-hc, y-vc);
    theta = atan2(r, z);
    lut = read_spec(spec_file, pitch_in_mm);
    r = interp1(lut(:,1), lut(:,2), theta);
    [h_d, v_d] = pol2cart(phi, r);
    h_d = h_d + hc;
    v_d = v_d + vc;
    
    
    function lut = read_spec(spec_file, pitch_in_mm)
    lut0 = dlmread(spec_file);
    theta = lut0(:,1)/180*pi;
    lut = [theta, lut0(:,2)/pitch_in_mm];
    

    2. Call the above matlab code as below with the given lens distortion spec file in text format.

    You may get the lens spec file and focal length in mm from your lens vendor. Information regarding sensor (pixel pitch in mm and image size) are available in your sensor datasheet.

    "m" is for LUT down-sampling (m=4 below means 16x16 down-sampling).

    "s" decides with size of the output view.

        s = 2;
        m = 4;
        pitch_in_mm = 0.0028;
        f_in_mm = 0.85;
        W = 1280;
        H = 944;
        hc = W/2;
        vc = H/2;
        Wmesh = ceil(W / 2^m) * 2^m;
        Hmesh = ceil(H / 2^m) * 2^m;
        gen_lut("spec_file.txt", pitch_in_mm, f_in_mm, Wmesh, Hmesh, hc, vc, s, m);
    

    Lens distortion spec file (the first column is in degrees and the second in mm):

    4705.spec_file.txt
    0	0
    1	0.01484264
    2	0.02969027
    3	0.04454789
    4	0.05942044
    5	0.07431283
    6	0.08922991
    7	0.10417648
    8	0.11915721
    9	0.13417672
    10	0.14923947
    11	0.16434983
    12	0.179512
    13	0.19473004
    14	0.21000785
    15	0.22534914
    16	0.24075744
    17	0.25623609
    18	0.2717882
    19	0.28741673
    20	0.30312436
    21	0.31891361
    22	0.33478678
    23	0.35074594
    24	0.366793
    25	0.38292965
    26	0.39915742
    27	0.41547767
    28	0.43189163
    29	0.4484004
    30	0.46500498
    31	0.48170629
    32	0.4985052
    33	0.51540257
    34	0.53239923
    35	0.54949606
    36	0.56669399
    37	0.58399403
    38	0.60139728
    39	0.61890497
    40	0.63651849
    41	0.65423936
    42	0.67206928
    43	0.69001016
    44	0.70806407
    45	0.7262333
    46	0.74452032
    47	0.7629278
    48	0.78145862
    49	0.80011582
    50	0.8189026
    51	0.83782233
    52	0.85687848
    53	0.87607467
    54	0.89541455
    55	0.91490184
    56	0.93454026
    57	0.9543335
    58	0.97428515
    59	0.9943987
    60	1.01467742
    61	1.03512436
    62	1.05574223
    63	1.07653335
    64	1.09749959
    65	1.11864221
    66	1.13996187
    67	1.16145842
    68	1.18313088
    69	1.20497727
    70	1.22699447
    71	1.24917817
    72	1.27152265
    73	1.29402069
    74	1.3166634
    75	1.33944009
    76	1.36233815
    77	1.38534288
    78	1.40843739
    79	1.43160246
    80	1.4548165
    81	1.47805542
    82	1.50129263
    83	1.52449902
    84	1.54764298
    85	1.57069051
    86	1.59360531
    87	1.61634901
    88	1.63888135
    89	1.66116052
    90	1.68314347
    91	1.7047863
    92	1.72604473
    93	1.74687449
    94	1.76723187
    95	1.78707414
    96	1.80636008

    3. The output file "mesh.txt" from above call is in the right format as input to TDA4 DCC tuning tool.
    The first column is for horizontal offsets and the second for vertical offsets.

    The number of rows in this file is "ceil(W / 2^m + 1) * ceil(H / 2^m + 1)" because the effective size of the down-sampled 2D mesh LUT is "ceil(W / 2^m + 1)" x "ceil(H / 2^m) + 1)".
    In this case, the file has 4860 rows (81x60).

    2068.mesh.txt
    1818 1341
    1729 1308
    1641 1274
    1555 1240
    1471 1205
    1388 1170
    1308 1134
    1229 1098
    1152 1062
    1077 1025
    1004 987
    933 949
    865 911
    799 873
    735 834
    674 796
    616 757
    560 718
    507 680
    456 641
    409 603
    364 566
    323 529
    284 492
    248 457
    215 422
    185 389
    157 357
    133 327
    111 298
    92 271
    75 246
    60 223
    48 202
    37 184
    29 168
    21 155
    15 145
    9 138
    5 133
    0 132
    -5 133
    -9 138
    -15 145
    -21 155
    -29 168
    -37 184
    -48 202
    -60 223
    -75 246
    -92 271
    -111 298
    -133 327
    -157 357
    -185 389
    -215 422
    -248 457
    -284 492
    -323 529
    -364 566
    -409 603
    -456 641
    -507 680
    -560 718
    -616 757
    -674 796
    -735 834
    -799 873
    -865 911
    -933 949
    -1004 987
    -1077 1025
    -1152 1062
    -1229 1098
    -1308 1134
    -1388 1170
    -1471 1205
    -1555 1240
    -1641 1274
    -1729 1308
    -1818 1341
    1785 1272
    1695 1239
    1607 1206
    1521 1171
    1436 1137
    1353 1102
    1272 1066
    1192 1030
    1115 993
    1039 956
    966 918
    895 880
    827 841
    760 802
    696 763
    635 724
    577 685
    521 646
    468 606
    418 567
    371 528
    327 490
    285 452
    247 415
    212 378
    180 343
    151 308
    126 275
    103 244
    83 214
    65 186
    50 160
    38 136
    28 115
    20 96
    14 79
    9 66
    6 55
    3 47
    2 43
    0 41
    -2 43
    -3 47
    -6 55
    -9 66
    -14 79
    -20 96
    -28 115
    -38 136
    -50 160
    -65 186
    -83 214
    -103 244
    -126 275
    -151 308
    -180 343
    -212 378
    -247 415
    -285 452
    -327 490
    -371 528
    -418 567
    -468 606
    -521 646
    -577 685
    -635 724
    -696 763
    -760 802
    -827 841
    -895 880
    -966 918
    -1039 956
    -1115 993
    -1192 1030
    -1272 1066
    -1353 1102
    -1436 1137
    -1521 1171
    -1607 1206
    -1695 1239
    -1785 1272
    1753 1205
    1662 1172
    1574 1139
    1487 1105
    1401 1070
    1317 1035
    1236 999
    1156 963
    1078 926
    1002 889
    928 851
    857 812
    788 774
    721 734
    657 695
    596 655
    537 615
    481 575
    428 536
    378 496
    332 456
    288 417
    247 378
    210 340
    176 302
    145 266
    117 230
    93 196
    71 164
    53 133
    38 104
    25 77
    15 52
    7 29
    2 10
    -1 -7
    -3 -21
    -4 -33
    -3 -41
    -2 -45
    0 -47
    2 -45
    3 -41
    4 -33
    3 -21
    1 -7
    -2 10
    -7 29
    -15 52
    -25 77
    -38 104
    -53 133
    -71 164
    -93 196
    -117 230
    -145 266
    -176 302
    -210 340
    -247 378
    -288 417
    -332 456
    -378 496
    -428 536
    -481 575
    -537 615
    -596 655
    -657 695
    -721 734
    -788 774
    -857 812
    -928 851
    -1002 889
    -1078 926
    -1156 963
    -1236 999
    -1317 1035
    -1401 1070
    -1487 1105
    -1574 1139
    -1662 1172
    -1753 1205
    1720 1140
    1629 1107
    1540 1074
    1452 1040
    1366 1006
    1282 971
    1199 935
    1119 899
    1040 862
    964 824
    890 786
    818 748
    749 708
    682 669
    617 629
    556 589
    497 549
    441 508
    388 467
    338 427
    292 387
    248 346
    208 307
    172 267
    138 229
    108 191
    82 155
    59 120
    39 86
    22 54
    9 24
    -1 -4
    -9 -30
    -14 -53
    -17 -74
    -17 -91
    -16 -106
    -13 -118
    -10 -126
    -5 -131
    0 -133
    5 -131
    10 -126
    13 -118
    16 -106
    17 -91
    17 -74
    14 -53
    9 -30
    1 -4
    -9 24
    -22 54
    -39 86
    -59 120
    -82 155
    -108 191
    -138 229
    -172 267
    -208 307
    -248 346
    -292 387
    -338 427
    -388 467
    -441 508
    -497 549
    -556 589
    -617 629
    -682 669
    -749 708
    -818 748
    -890 786
    -964 824
    -1040 862
    -1119 899
    -1199 935
    -1282 971
    -1366 1006
    -1452 1040
    -1540 1074
    -1629 1107
    -1720 1140
    1688 1076
    1597 1044
    1507 1011
    1418 977
    1332 943
    1247 908
    1163 873
    1082 836
    1003 799
    926 762
    852 724
    779 685
    709 646
    642 606
    577 566
    515 526
    456 485
    400 444
    347 402
    297 361
    251 320
    208 279
    168 239
    132 198
    100 159
    71 120
    46 83
    24 47
    6 12
    -9 -21
    -21 -53
    -29 -82
    -34 -109
    -36 -133
    -36 -154
    -34 -173
    -30 -188
    -24 -200
    -16 -209
    -8 -214
    0 -216
    8 -214
    16 -209
    24 -200
    30 -188
    34 -173
    36 -154
    36 -133
    34 -109
    29 -82
    21 -53
    9 -21
    -6 12
    -24 47
    -46 83
    -71 120
    -100 159
    -132 198
    -168 239
    -208 279
    -251 320
    -297 361
    -347 402
    -400 444
    -456 485
    -515 526
    -577 566
    -642 606
    -709 646
    -779 685
    -852 724
    -926 762
    -1003 799
    -1082 836
    -1163 873
    -1247 908
    -1332 943
    -1418 977
    -1507 1011
    -1597 1044
    -1688 1076
    1656 1015
    1564 983
    1474 950
    1384 917
    1297 883
    1211 848
    1128 813
    1046 776
    966 740
    888 702
    813 664
    740 625
    670 586
    602 546
    537 506
    474 465
    415 424
    359 382
    306 340
    256 299
    210 257
    167 215
    128 174
    92 133
    60 92
    32 53
    8 14
    -12 -23
    -29 -59
    -42 -94
    -51 -126
    -57 -156
    -60 -184
    -60 -209
    -57 -232
    -51 -251
    -44 -267
    -34 -280
    -24 -289
    -12 -295
    0 -296
    12 -295
    24 -289
    34 -280
    44 -267
    51 -251
    57 -232
    60 -209
    60 -184
    57 -156
    51 -126
    42 -94
    29 -59
    12 -23
    -8 14
    -32 53
    -60 92
    -92 133
    -128 174
    -167 215
    -210 257
    -256 299
    -306 340
    -359 382
    -415 424
    -474 465
    -537 506
    -602 546
    -670 586
    -740 625
    -813 664
    -888 702
    -966 740
    -1046 776
    -1128 813
    -1211 848
    -1297 883
    -1384 917
    -1474 950
    -1564 983
    -1656 1015
    1625 955
    1532 923
    1441 891
    1351 858
    1263 824
    1176 790
    1092 755
    1009 719
    929 682
    851 645
    775 607
    701 568
    630 529
    562 489
    496 448
    433 407
    373 366
    317 324
    264 282
    214 239
    167 197
    125 154
    86 112
    51 70
    20 29
    -7 -12
    -31 -51
    -50 -90
    -65 -127
    -76 -162
    -83 -196
    -87 -227
    -87 -256
    -84 -283
    -78 -306
    -69 -326
    -58 -343
    -45 -356
    -31 -366
    -16 -371
    0 -373
    16 -371
    31 -366
    45 -356
    58 -343
    69 -326
    78 -306
    84 -283
    87 -256
    87 -227
    83 -196
    76 -162
    65 -127
    50 -90
    31 -51
    7 -12
    -20 29
    -51 70
    -86 112
    -125 154
    -167 197
    -214 239
    -264 282
    -317 324
    -373 366
    -433 407
    -496 448
    -562 489
    -630 529
    -701 568
    -775 607
    -851 645
    -929 682
    -1009 719
    -1092 755
    -1176 790
    -1263 824
    -1351 858
    -1441 891
    -1532 923
    -1625 955
    1594 897
    1501 866
    1408 834
    1318 801
    1229 768
    1142 734
    1057 699
    973 664
    892 627
    813 590
    736 552
    662 514
    590 474
    521 434
    455 394
    392 353
    332 311
    275 269
    221 226
    171 183
    125 140
    82 97
    43 54
    9 12
    -22 -31
    -48 -72
    -70 -113
    -88 -152
    -102 -191
    -111 -227
    -116 -262
    -118 -295
    -115 -325
    -110 -352
    -100 -376
    -88 -397
    -74 -415
    -57 -429
    -39 -439
    -20 -445
    0 -447
    20 -445
    39 -439
    57 -429
    74 -415
    88 -397
    100 -376
    110 -352
    115 -325
    118 -295
    116 -262
    111 -227
    102 -191
    88 -152
    70 -113
    48 -72
    22 -31
    -9 12
    -43 54
    -82 97
    -125 140
    -171 183
    -221 226
    -275 269
    -332 311
    -392 353
    -455 394
    -521 434
    -590 474
    -662 514
    -736 552
    -813 590
    -892 627
    -973 664
    -1057 699
    -1142 734
    -1229 768
    -1318 801
    -1408 834
    -1501 866
    -1594 897
    1564 841
    1469 810
    1376 779
    1285 747
    1196 714
    1108 680
    1022 646
    938 611
    856 575
    776 538
    698 500
    623 462
    551 423
    481 383
    414 342
    350 301
    290 259
    232 217
    178 174
    128 131
    81 88
    39 44
    0 0
    -34 -43
    -64 -86
    -90 -129
    -111 -170
    -128 -211
    -140 -250
    -147 -288
    -151 -324
    -150 -358
    -145 -389
    -136 -417
    -124 -443
    -108 -465
    -90 -483
    -69 -498
    -47 -508
    -24 -515
    0 -517
    24 -515
    47 -508
    69 -498
    90 -483
    108 -465
    124 -443
    136 -417
    145 -389
    150 -358
    151 -324
    147 -288
    140 -250
    128 -211
    111 -170
    90 -129
    64 -86
    34 -43
    -0 0
    -39 44
    -81 88
    -128 131
    -178 174
    -232 217
    -290 259
    -350 301
    -414 342
    -481 383
    -551 423
    -623 462
    -698 500
    -776 538
    -856 575
    -938 611
    -1022 646
    -1108 680
    -1196 714
    -1285 747
    -1376 779
    -1469 810
    -1564 841
    1534 786
    1439 756
    1345 726
    1253 694
    1163 662
    1074 629
    987 595
    902 560
    819 525
    739 489
    660 451
    585 413
    511 374
    441 335
    373 294
    309 253
    247 211
    189 169
    135 126
    84 82
    38 39
    -5 -6
    -44 -50
    -78 -94
    -107 -138
    -132 -181
    -153 -224
    -168 -265
    -179 -306
    -185 -345
    -186 -382
    -183 -417
    -175 -449
    -163 -479
    -148 -505
    -129 -528
    -107 -547
    -82 -562
    -56 -573
    -28 -580
    0 -582
    28 -580
    56 -573
    82 -562
    107 -547
    129 -528
    148 -505
    163 -479
    175 -449
    183 -417
    186 -382
    185 -345
    179 -306
    168 -265
    153 -224
    132 -181
    107 -138
    78 -94
    44 -50
    5 -6
    -38 39
    -84 82
    -135 126
    -189 169
    -247 211
    -309 253
    -373 294
    -441 335
    -511 374
    -585 413
    -660 451
    -739 489
    -819 525
    -902 560
    -987 595
    -1074 629
    -1163 662
    -1253 694
    -1345 726
    -1439 756
    -1534 786
    1505 734
    1409 704
    1314 675
    1222 644
    1130 612
    1041 580
    953 547
    867 513
    784 478
    702 442
    623 405
    546 367
    472 329
    401 290
    333 249
    267 208
    205 167
    147 124
    92 81
    41 38
    -6 -6
    -49 -51
    -88 -95
    -122 -140
    -151 -184
    -176 -229
    -195 -272
    -210 -315
    -219 -356
    -224 -396
    -223 -435
    -217 -471
    -207 -504
    -192 -535
    -173 -562
    -150 -586
    -124 -606
    -96 -622
    -65 -634
    -33 -641
    0 -643
    33 -641
    65 -634
    96 -622
    124 -606
    150 -586
    173 -562
    192 -535
    207 -504
    217 -471
    223 -435
    224 -396
    219 -356
    210 -315
    195 -272
    176 -229
    151 -184
    122 -140
    88 -95
    49 -51
    6 -6
    -41 38
    -92 81
    -147 124
    -205 167
    -267 208
    -333 249
    -401 290
    -472 329
    -546 367
    -623 405
    -702 442
    -784 478
    -867 513
    -953 547
    -1041 580
    -1130 612
    -1222 644
    -1314 675
    -1409 704
    -1505 734
    1476 683
    1380 655
    1285 625
    1191 595
    1099 565
    1008 533
    920 500
    833 467
    749 433
    666 398
    586 361
    509 324
    434 286
    361 248
    292 208
    226 167
    163 126
    104 84
    48 41
    -3 -3
    -51 -47
    -94 -92
    -133 -137
    -167 -182
    -196 -227
    -220 -271
    -239 -316
    -252 -359
    -261 -402
    -263 -443
    -261 -482
    -253 -519
    -240 -554
    -222 -586
    -199 -615
    -173 -640
    -143 -661
    -110 -677
    -75 -689
    -38 -697
    0 -699
    38 -697
    75 -689
    110 -677
    143 -661
    173 -640
    199 -615
    222 -586
    240 -554
    253 -519
    261 -482
    263 -443
    261 -402
    252 -359
    239 -316
    220 -271
    196 -227
    167 -182
    133 -137
    94 -92
    51 -47
    3 -3
    -48 41
    -104 84
    -163 126
    -226 167
    -292 208
    -361 248
    -434 286
    -509 324
    -586 361
    -666 398
    -749 433
    -833 467
    -920 500
    -1008 533
    -1099 565
    -1191 595
    -1285 625
    -1380 655
    -1476 683
    1449 634
    1351 606
    1255 578
    1161 549
    1068 519
    977 488
    887 457
    800 424
    714 391
    631 356
    550 321
    471 284
    396 247
    322 209
    252 170
    185 130
    122 89
    62 47
    5 4
    -47 -39
    -95 -83
    -139 -128
    -178 -173
    -212 -218
    -241 -264
    -265 -309
    -283 -354
    -296 -398
    -303 -442
    -304 -484
    -300 -524
    -289 -563
    -274 -599
    -253 -632
    -227 -661
    -196 -687
    -162 -709
    -125 -726
    -84 -739
    -43 -747
    0 -749
    43 -747
    84 -739
    125 -726
    162 -709
    196 -687
    227 -661
    253 -632
    274 -599
    289 -563
    300 -524
    304 -484
    303 -442
    296 -398
    283 -354
    265 -309
    241 -264
    212 -218
    178 -173
    139 -128
    95 -83
    47 -39
    -5 4
    -62 47
    -122 89
    -185 130
    -252 170
    -322 209
    -396 247
    -471 284
    -550 321
    -631 356
    -714 391
    -800 424
    -887 457
    -977 488
    -1068 519
    -1161 549
    -1255 578
    -1351 606
    -1449 634
    1422 587
    1324 560
    1227 533
    1132 505
    1038 476
    946 446
    856 415
    767 384
    681 351
    596 317
    515 283
    435 248
    358 211
    284 174
    213 135
    145 96
    81 55
    20 14
    -38 -28
    -91 -71
    -140 -115
    -184 -160
    -223 -205
    -258 -250
    -287 -296
    -310 -341
    -328 -387
    -340 -432
    -346 -476
    -346 -519
    -340 -560
    -327 -600
    -309 -637
    -285 -671
    -255 -702
    -221 -728
    -182 -751
    -140 -769
    -95 -782
    -48 -790
    0 -793
    48 -790
    95 -782
    140 -769
    182 -751
    221 -728
    255 -702
    285 -671
    309 -637
    327 -600
    340 -560
    346 -519
    346 -476
    340 -432
    328 -387
    310 -341
    287 -296
    258 -250
    223 -205
    184 -160
    140 -115
    91 -71
    38 -28
    -20 14
    -81 55
    -145 96
    -213 135
    -284 174
    -358 211
    -435 248
    -515 283
    -596 317
    -681 351
    -767 384
    -856 415
    -946 446
    -1038 476
    -1132 505
    -1227 533
    -1324 560
    -1422 587
    1397 541
    1298 516
    1200 489
    1104 462
    1009 434
    916 406
    825 376
    736 345
    648 314
    563 281
    480 248
    400 214
    322 178
    247 142
    174 104
    106 65
    40 26
    -22 -15
    -80 -56
    -134 -99
    -184 -142
    -228 -186
    -268 -231
    -303 -276
    -332 -322
    -356 -368
    -374 -414
    -385 -459
    -390 -504
    -389 -548
    -381 -590
    -366 -630
    -345 -668
    -318 -703
    -285 -735
    -246 -763
    -203 -787
    -156 -805
    -106 -819
    -53 -827
    0 -830
    53 -827
    106 -819
    156 -805
    203 -787
    246 -763
    285 -735
    318 -703
    345 -668
    366 -630
    381 -590
    389 -548
    390 -504
    385 -459
    374 -414
    356 -368
    332 -322
    303 -276
    268 -231
    228 -186
    184 -142
    134 -99
    80 -56
    22 -15
    -40 26
    -106 65
    -174 104
    -247 142
    -322 178
    -400 214
    -480 248
    -563 281
    -648 314
    -736 345
    -825 376
    -916 406
    -1009 434
    -1104 462
    -1200 489
    -1298 516
    -1397 541
    1372 497
    1272 473
    1174 448
    1077 422
    981 395
    888 368
    795 339
    705 310
    617 279
    531 248
    447 216
    365 183
    286 148
    210 113
    137 76
    67 39
    0 0
    -63 -39
    -122 -80
    -177 -122
    -227 -165
    -273 -208
    -313 -252
    -349 -297
    -378 -343
    -402 -389
    -419 -434
    -430 -480
    -435 -525
    -432 -569
    -422 -612
    -406 -653
    -382 -692
    -352 -728
    -315 -761
    -272 -790
    -225 -814
    -173 -834
    -117 -848
    -59 -857
    0 -860
    59 -857
    117 -848
    173 -834
    225 -814
    272 -790
    315 -761
    352 -728
    382 -692
    406 -653
    422 -612
    432 -569
    435 -525
    430 -480
    419 -434
    402 -389
    378 -343
    349 -297
    313 -252
    273 -208
    227 -165
    177 -122
    122 -80
    63 -39
    -0 0
    -67 39
    -137 76
    -210 113
    -286 148
    -365 183
    -447 216
    -531 248
    -617 279
    -705 310
    -795 339
    -888 368
    -981 395
    -1077 422
    -1174 448
    -1272 473
    -1372 497
    1349 455
    1248 432
    1149 408
    1051 384
    955 358
    860 332
    767 305
    676 276
    587 247
    499 217
    415 187
    332 155
    252 122
    175 87
    101 52
    29 16
    -38 -21
    -102 -60
    -162 -100
    -218 -140
    -270 -182
    -316 -225
    -358 -268
    -394 -313
    -424 -358
    -448 -403
    -465 -449
    -476 -494
    -479 -539
    -476 -584
    -465 -627
    -446 -669
    -420 -709
    -386 -745
    -346 -779
    -299 -809
    -247 -834
    -190 -854
    -129 -869
    -65 -878
    0 -881
    65 -878
    129 -869
    190 -854
    247 -834
    299 -809
    346 -779
    386 -745
    420 -709
    446 -669
    465 -627
    476 -584
    479 -539
    476 -494
    465 -449
    448 -403
    424 -358
    394 -313
    358 -268
    316 -225
    270 -182
    218 -140
    162 -100
    102 -60
    38 -21
    -29 16
    -101 52
    -175 87
    -252 122
    -332 155
    -415 187
    -499 217
    -587 247
    -676 276
    -767 305
    -860 332
    -955 358
    -1051 384
    -1149 408
    -1248 432
    -1349 455
    1327 415
    1225 393
    1125 370
    1027 347
    930 323
    834 298
    740 272
    648 245
    558 218
    470 189
    384 160
    300 129
    219 98
    141 65
    65 31
    -7 -3
    -76 -39
    -141 -76
    -202 -115
    -259 -154
    -311 -195
    -359 -236
    -401 -279
    -438 -322
    -469 -366
    -493 -411
    -511 -456
    -521 -501
    -524 -546
    -520 -591
    -507 -634
    -487 -676
    -458 -716
    -422 -754
    -378 -788
    -327 -818
    -270 -844
    -208 -865
    -141 -880
    -71 -889
    0 -892
    71 -889
    141 -880
    208 -865
    270 -844
    327 -818
    378 -788
    422 -754
    458 -716
    487 -676
    507 -634
    520 -591
    524 -546
    521 -501
    511 -456
    493 -411
    469 -366
    438 -322
    401 -279
    359 -236
    311 -195
    259 -154
    202 -115
    141 -76
    76 -39
    7 -3
    -65 31
    -141 65
    -219 98
    -300 129
    -384 160
    -470 189
    -558 218
    -648 245
    -740 272
    -834 298
    -930 323
    -1027 347
    -1125 370
    -1225 393
    -1327 415
    1306 375
    1204 355
    1103 334
    1004 312
    906 289
    809 266
    715 242
    622 217
    531 191
    442 164
    355 136
    270 107
    188 77
    109 46
    32 14
    -41 -19
    -111 -53
    -178 -89
    -240 -125
    -298 -163
    -352 -202
    -400 -242
    -443 -283
    -481 -325
    -513 -368
    -538 -412
    -556 -456
    -566 -501
    -569 -545
    -564 -589
    -550 -633
    -528 -675
    -497 -715
    -458 -753
    -411 -787
    -356 -818
    -294 -844
    -226 -865
    -153 -881
    -77 -890
    0 -894
    77 -890
    153 -881
    226 -865
    294 -844
    356 -818
    411 -787
    458 -753
    497 -715
    528 -675
    550 -633
    564 -589
    569 -545
    566 -501
    556 -456
    538 -412
    513 -368
    481 -325
    443 -283
    400 -242
    352 -202
    298 -163
    240 -125
    178 -89
    111 -53
    41 -19
    -32 14
    -109 46
    -188 77
    -270 107
    -355 136
    -442 164
    -531 191
    -622 217
    -715 242
    -809 266
    -906 289
    -1004 312
    -1103 334
    -1204 355
    -1306 375
    1286 338
    1184 319
    1082 299
    982 279
    884 258
    786 236
    691 213
    597 190
    505 166
    415 141
    327 114
    242 87
    158 59
    78 30
    0 0
    -74 -31
    -145 -64
    -213 -97
    -276 -132
    -335 -168
    -390 -205
    -440 -243
    -484 -282
    -523 -323
    -555 -364
    -581 -407
    -599 -450
    -610 -493
    -613 -536
    -607 -580
    -593 -623
    -569 -664
    -536 -704
    -494 -742
    -444 -776
    -384 -807
    -318 -834
    -244 -855
    -166 -871
    -84 -880
    0 -884
    84 -880
    166 -871
    244 -855
    318 -834
    384 -807
    444 -776
    494 -742
    536 -704
    569 -664
    593 -623
    607 -580
    613 -536
    610 -493
    599 -450
    581 -407
    555 -364
    523 -323
    484 -282
    440 -243
    390 -205
    335 -168
    276 -132
    213 -97
    145 -64
    74 -31
    -0 0
    -78 30
    -158 59
    -242 87
    -327 114
    -415 141
    -505 166
    -597 190
    -691 213
    -786 236
    -884 258
    -982 279
    -1082 299
    -1184 319
    -1286 338
    1269 301
    1165 284
    1063 266
    962 247
    863 228
    765 208
    669 187
    574 165
    481 143
    390 120
    302 95
    215 70
    131 44
    49 17
    -29 -11
    -105 -40
    -177 -70
    -246 -101
    -310 -134
    -371 -168
    -427 -203
    -478 -239
    -523 -276
    -563 -314
    -596 -354
    -623 -394
    -642 -435
    -653 -477
    -656 -519
    -650 -561
    -635 -603
    -610 -644
    -575 -683
    -531 -720
    -476 -754
    -413 -785
    -342 -811
    -263 -833
    -179 -848
    -90 -858
    0 -861
    90 -858
    179 -848
    263 -833
    342 -811
    413 -785
    476 -754
    531 -720
    575 -683
    610 -644
    635 -603
    650 -561
    656 -519
    653 -477
    642 -435
    623 -394
    596 -354
    563 -314
    523 -276
    478 -239
    427 -203
    371 -168
    310 -134
    246 -101
    177 -70
    105 -40
    29 -11
    -49 17
    -131 44
    -215 70
    -302 95
    -390 120
    -481 143
    -574 165
    -669 187
    -765 208
    -863 228
    -962 247
    -1063 266
    -1165 284
    -1269 301
    1252 266
    1148 250
    1046 234
    944 217
    844 199
    746 181
    649 162
    553 142
    459 122
    368 101
    278 79
    190 56
    105 32
    23 7
    -57 -19
    -133 -45
    -207 -73
    -276 -102
    -342 -132
    -404 -164
    -461 -196
    -513 -230
    -560 -264
    -601 -300
    -635 -337
    -662 -375
    -682 -414
    -694 -454
    -697 -494
    -691 -534
    -675 -574
    -649 -613
    -613 -651
    -566 -687
    -509 -721
    -441 -751
    -365 -776
    -281 -797
    -191 -813
    -97 -822
    0 -825
    97 -822
    191 -813
    281 -797
    365 -776
    441 -751
    509 -721
    566 -687
    613 -651
    649 -613
    675 -574
    691 -534
    697 -494
    694 -454
    682 -414
    662 -375
    635 -337
    601 -300
    560 -264
    513 -230
    461 -196
    404 -164
    342 -132
    276 -102
    207 -73
    133 -45
    57 -19
    -23 7
    -105 32
    -190 56
    -278 79
    -368 101
    -459 122
    -553 142
    -649 162
    -746 181
    -844 199
    -944 217
    -1046 234
    -1148 250
    -1252 266
    1238 232
    1133 218
    1030 203
    928 188
    827 172
    728 156
    630 139
    534 121
    440 103
    347 84
    257 64
    168 44
    82 22
    -1 -0
    -82 -24
    -159 -48
    -234 -73
    -305 -99
    -372 -127
    -434 -155
    -493 -185
    -546 -215
    -594 -247
    -636 -280
    -671 -315
    -699 -350
    -720 -386
    -733 -423
    -736 -460
    -730 -498
    -714 -535
    -687 -572
    -649 -609
    -600 -643
    -540 -675
    -469 -703
    -388 -728
    -299 -748
    -203 -763
    -103 -772
    0 -775
    103 -772
    203 -763
    299 -748
    388 -728
    469 -703
    540 -675
    600 -643
    649 -609
    687 -572
    714 -535
    730 -498
    736 -460
    733 -423
    720 -386
    699 -350
    671 -315
    636 -280
    594 -247
    546 -215
    493 -185
    434 -155
    372 -127
    305 -99
    234 -73
    159 -48
    82 -24
    1 -0
    -82 22
    -168 44
    -257 64
    -347 84
    -440 103
    -534 121
    -630 139
    -728 156
    -827 172
    -928 188
    -1030 203
    -1133 218
    -1238 232
    1225 199
    1120 187
    1016 174
    913 160
    812 147
    712 132
    614 117
    517 102
    422 86
    329 69
    238 51
    148 33
    62 14
    -23 -5
    -104 -26
    -183 -48
    -258 -70
    -330 -93
    -398 -118
    -462 -143
    -521 -169
    -576 -197
    -625 -226
    -668 -255
    -704 -286
    -733 -318
    -755 -351
    -768 -384
    -772 -418
    -766 -453
    -750 -487
    -722 -522
    -683 -555
    -632 -587
    -569 -617
    -495 -643
    -410 -666
    -316 -685
    -215 -698
    -109 -707
    0 -710
    109 -707
    215 -698
    316 -685
    410 -666
    495 -643
    569 -617
    632 -587
    683 -555
    722 -522
    750 -487
    766 -453
    772 -418
    768 -384
    755 -351
    733 -318
    704 -286
    668 -255
    625 -226
    576 -197
    521 -169
    462 -143
    398 -118
    330 -93
    258 -70
    183 -48
    104 -26
    23 -5
    -62 14
    -148 33
    -238 51
    -329 69
    -422 86
    -517 102
    -614 117
    -712 132
    -812 147
    -913 160
    -1016 174
    -1120 187
    -1225 199
    1213 167
    1108 156
    1004 145
    901 134
    799 122
    699 110
    600 97
    502 84
    407 70
    313 56
    221 41
    131 25
    44 9
    -41 -8
    -124 -26
    -203 -45
    -279 -64
    -352 -84
    -421 -105
    -486 -127
    -547 -150
    -602 -174
    -652 -199
    -696 -225
    -733 -252
    -764 -280
    -786 -309
    -800 -339
    -805 -369
    -799 -400
    -783 -430
    -755 -461
    -714 -491
    -661 -520
    -596 -546
    -519 -570
    -430 -591
    -331 -608
    -225 -620
    -114 -627
    0 -630
    114 -627
    225 -620
    331 -608
    430 -591
    519 -570
    596 -546
    661 -520
    714 -491
    755 -461
    783 -430
    799 -400
    805 -369
    800 -339
    786 -309
    764 -280
    733 -252
    696 -225
    652 -199
    602 -174
    547 -150
    486 -127
    421 -105
    352 -84
    279 -64
    203 -45
    124 -26
    41 -8
    -44 9
    -131 25
    -221 41
    -313 56
    -407 70
    -502 84
    -600 97
    -699 110
    -799 122
    -901 134
    -1004 145
    -1108 156
    -1213 167
    1204 135
    1098 127
    994 118
    890 108
    788 99
    687 88
    588 78
    490 67
    394 55
    299 43
    207 31
    117 18
    28 5
    -57 -10
    -140 -24
    -221 -40
    -298 -56
    -371 -73
    -441 -90
    -507 -109
    -568 -128
    -624 -148
    -675 -169
    -720 -191
    -759 -213
    -790 -237
    -813 -261
    -828 -287
    -833 -312
    -828 -339
    -811 -365
    -783 -391
    -742 -417
    -687 -442
    -620 -465
    -539 -485
    -447 -503
    -345 -517
    -234 -527
    -119 -534
    0 -536
    119 -534
    234 -527
    345 -517
    447 -503
    539 -485
    620 -465
    687 -442
    742 -417
    783 -391
    811 -365
    828 -339
    833 -312
    828 -287
    813 -261
    790 -237
    759 -213
    720 -191
    675 -169
    624 -148
    568 -128
    507 -109
    441 -90
    371 -73
    298 -56
    221 -40
    140 -24
    57 -10
    -28 5
    -117 18
    -207 31
    -299 43
    -394 55
    -490 67
    -588 78
    -687 88
    -788 99
    -890 108
    -994 118
    -1098 127
    -1204 135
    1196 105
    1090 98
    985 91
    882 83
    779 76
    678 68
    578 60
    480 51
    383 42
    289 33
    196 23
    105 13
    16 2
    -70 -9
    -154 -21
    -235 -33
    -312 -46
    -387 -59
    -457 -73
    -524 -87
    -586 -102
    -643 -118
    -695 -135
    -740 -152
    -780 -171
    -812 -189
    -836 -209
    -851 -229
    -857 -250
    -852 -271
    -835 -292
    -807 -314
    -765 -335
    -709 -355
    -640 -373
    -557 -390
    -461 -404
    -356 -415
    -242 -423
    -122 -428
    0 -429
    122 -428
    242 -423
    356 -415
    461 -404
    557 -390
    640 -373
    709 -355
    765 -335
    807 -314
    835 -292
    852 -271
    857 -250
    851 -229
    836 -209
    812 -189
    780 -171
    740 -152
    695 -135
    643 -118
    586 -102
    524 -87
    457 -73
    387 -59
    312 -46
    235 -33
    154 -21
    70 -9
    -16 2
    -105 13
    -196 23
    -289 33
    -383 42
    -480 51
    -578 60
    -678 68
    -779 76
    -882 83
    -985 91
    -1090 98
    -1196 105
    1190 74
    1084 70
    979 64
    875 59
    773 54
    671 48
    571 42
    473 36
    376 29
    280 23
    187 16
    96 8
    7 1
    -80 -7
    -164 -16
    -245 -25
    -324 -34
    -398 -43
    -469 -53
    -537 -64
    -599 -75
    -657 -86
    -709 -99
    -756 -111
    -796 -124
    -828 -138
    -853 -152
    -869 -167
    -875 -182
    -870 -198
    -854 -213
    -825 -229
    -783 -245
    -726 -259
    -655 -273
    -570 -285
    -472 -295
    -364 -303
    -247 -309
    -125 -312
    0 -313
    125 -312
    247 -309
    364 -303
    472 -295
    570 -285
    655 -273
    726 -259
    783 -245
    825 -229
    854 -213
    870 -198
    875 -182
    869 -167
    853 -152
    828 -138
    796 -124
    756 -111
    709 -99
    657 -86
    599 -75
    537 -64
    469 -53
    398 -43
    324 -34
    245 -25
    164 -16
    80 -7
    -7 1
    -96 8
    -187 16
    -280 23
    -376 29
    -473 36
    -571 42
    -671 48
    -773 54
    -875 59
    -979 64
    -1084 70
    -1190 74
    1187 44
    1080 42
    975 38
    871 35
    768 32
    666 29
    566 25
    467 21
    370 17
    275 13
    181 9
    90 5
    0 0
    -87 -5
    -171 -10
    -253 -15
    -331 -21
    -406 -26
    -478 -33
    -545 -39
    -608 -46
    -666 -53
    -719 -60
    -766 -68
    -806 -76
    -840 -84
    -865 -93
    -881 -102
    -887 -111
    -883 -120
    -867 -130
    -838 -140
    -795 -149
    -737 -158
    -665 -166
    -579 -174
    -480 -180
    -369 -185
    -251 -188
    -127 -190
    0 -191
    127 -190
    251 -188
    369 -185
    480 -180
    579 -174
    665 -166
    737 -158
    795 -149
    838 -140
    867 -130
    883 -120
    887 -111
    881 -102
    865 -93
    840 -84
    806 -76
    766 -68
    719 -60
    666 -53
    608 -46
    545 -39
    478 -33
    406 -26
    331 -21
    253 -15
    171 -10
    87 -5
    -0 0
    -90 5
    -181 9
    -275 13
    -370 17
    -467 21
    -566 25
    -666 29
    -768 32
    -871 35
    -975 38
    -1080 42
    -1187 44
    1185 15
    1078 14
    973 13
    869 12
    766 11
    664 9
    564 8
    465 7
    368 6
    272 4
    178 3
    87 1
    -3 -0
    -90 -2
    -174 -3
    -256 -5
    -335 -7
    -410 -9
    -482 -11
    -550 -13
    -613 -15
    -671 -18
    -724 -20
    -771 -23
    -812 -25
    -845 -28
    -871 -31
    -887 -34
    -894 -37
    -889 -40
    -873 -44
    -844 -47
    -801 -50
    -743 -53
    -671 -56
    -584 -58
    -483 -60
    -372 -62
    -253 -63
    -128 -64
    0 -64
    128 -64
    253 -63
    372 -62
    483 -60
    584 -58
    671 -56
    743 -53
    801 -50
    844 -47
    873 -44
    889 -40
    894 -37
    887 -34
    871 -31
    845 -28
    812 -25
    771 -23
    724 -20
    671 -18
    613 -15
    550 -13
    482 -11
    410 -9
    335 -7
    256 -5
    174 -3
    90 -2
    3 -0
    -87 1
    -178 3
    -272 4
    -368 6
    -465 7
    -564 8
    -664 9
    -766 11
    -869 12
    -973 13
    -1078 14
    -1185 15
    1185 -15
    1078 -14
    973 -13
    869 -12
    766 -11
    664 -9
    564 -8
    465 -7
    368 -6
    272 -4
    178 -3
    87 -1
    -3 0
    -90 2
    -174 3
    -256 5
    -335 7
    -410 9
    -482 11
    -550 13
    -613 15
    -671 18
    -724 20
    -771 23
    -812 25
    -845 28
    -871 31
    -887 34
    -894 37
    -889 40
    -873 44
    -844 47
    -801 50
    -743 53
    -671 56
    -584 58
    -483 60
    -372 62
    -253 63
    -128 64
    0 64
    128 64
    253 63
    372 62
    483 60
    584 58
    671 56
    743 53
    801 50
    844 47
    873 44
    889 40
    894 37
    887 34
    871 31
    845 28
    812 25
    771 23
    724 20
    671 18
    613 15
    550 13
    482 11
    410 9
    335 7
    256 5
    174 3
    90 2
    3 0
    -87 -1
    -178 -3
    -272 -4
    -368 -6
    -465 -7
    -564 -8
    -664 -9
    -766 -11
    -869 -12
    -973 -13
    -1078 -14
    -1185 -15
    1187 -44
    1080 -42
    975 -38
    871 -35
    768 -32
    666 -29
    566 -25
    467 -21
    370 -17
    275 -13
    181 -9
    90 -5
    0 -0
    -87 5
    -171 10
    -253 15
    -331 21
    -406 26
    -478 33
    -545 39
    -608 46
    -666 53
    -719 60
    -766 68
    -806 76
    -840 84
    -865 93
    -881 102
    -887 111
    -883 120
    -867 130
    -838 140
    -795 149
    -737 158
    -665 166
    -579 174
    -480 180
    -369 185
    -251 188
    -127 190
    0 191
    127 190
    251 188
    369 185
    480 180
    579 174
    665 166
    737 158
    795 149
    838 140
    867 130
    883 120
    887 111
    881 102
    865 93
    840 84
    806 76
    766 68
    719 60
    666 53
    608 46
    545 39
    478 33
    406 26
    331 21
    253 15
    171 10
    87 5
    -0 -0
    -90 -5
    -181 -9
    -275 -13
    -370 -17
    -467 -21
    -566 -25
    -666 -29
    -768 -32
    -871 -35
    -975 -38
    -1080 -42
    -1187 -44
    1190 -74
    1084 -70
    979 -64
    875 -59
    773 -54
    671 -48
    571 -42
    473 -36
    376 -29
    280 -23
    187 -16
    96 -8
    7 -1
    -80 7
    -164 16
    -245 25
    -324 34
    -398 43
    -469 53
    -537 64
    -599 75
    -657 86
    -709 99
    -756 111
    -796 124
    -828 138
    -853 152
    -869 167
    -875 182
    -870 198
    -854 213
    -825 229
    -783 245
    -726 259
    -655 273
    -570 285
    -472 295
    -364 303
    -247 309
    -125 312
    0 313
    125 312
    247 309
    364 303
    472 295
    570 285
    655 273
    726 259
    783 245
    825 229
    854 213
    870 198
    875 182
    869 167
    853 152
    828 138
    796 124
    756 111
    709 99
    657 86
    599 75
    537 64
    469 53
    398 43
    324 34
    245 25
    164 16
    80 7
    -7 -1
    -96 -8
    -187 -16
    -280 -23
    -376 -29
    -473 -36
    -571 -42
    -671 -48
    -773 -54
    -875 -59
    -979 -64
    -1084 -70
    -1190 -74
    1196 -105
    1090 -98
    985 -91
    882 -83
    779 -76
    678 -68
    578 -60
    480 -51
    383 -42
    289 -33
    196 -23
    105 -13
    16 -2
    -70 9
    -154 21
    -235 33
    -312 46
    -387 59
    -457 73
    -524 87
    -586 102
    -643 118
    -695 135
    -740 152
    -780 171
    -812 189
    -836 209
    -851 229
    -857 250
    -852 271
    -835 292
    -807 314
    -765 335
    -709 355
    -640 373
    -557 390
    -461 404
    -356 415
    -242 423
    -122 428
    0 429
    122 428
    242 423
    356 415
    461 404
    557 390
    640 373
    709 355
    765 335
    807 314
    835 292
    852 271
    857 250
    851 229
    836 209
    812 189
    780 171
    740 152
    695 135
    643 118
    586 102
    524 87
    457 73
    387 59
    312 46
    235 33
    154 21
    70 9
    -16 -2
    -105 -13
    -196 -23
    -289 -33
    -383 -42
    -480 -51
    -578 -60
    -678 -68
    -779 -76
    -882 -83
    -985 -91
    -1090 -98
    -1196 -105
    1204 -135
    1098 -127
    994 -118
    890 -108
    788 -99
    687 -88
    588 -78
    490 -67
    394 -55
    299 -43
    207 -31
    117 -18
    28 -5
    -57 10
    -140 24
    -221 40
    -298 56
    -371 73
    -441 90
    -507 109
    -568 128
    -624 148
    -675 169
    -720 191
    -759 213
    -790 237
    -813 261
    -828 287
    -833 312
    -828 339
    -811 365
    -783 391
    -742 417
    -687 442
    -620 465
    -539 485
    -447 503
    -345 517
    -234 527
    -119 534
    0 536
    119 534
    234 527
    345 517
    447 503
    539 485
    620 465
    687 442
    742 417
    783 391
    811 365
    828 339
    833 312
    828 287
    813 261
    790 237
    759 213
    720 191
    675 169
    624 148
    568 128
    507 109
    441 90
    371 73
    298 56
    221 40
    140 24
    57 10
    -28 -5
    -117 -18
    -207 -31
    -299 -43
    -394 -55
    -490 -67
    -588 -78
    -687 -88
    -788 -99
    -890 -108
    -994 -118
    -1098 -127
    -1204 -135
    1213 -167
    1108 -156
    1004 -145
    901 -134
    799 -122
    699 -110
    600 -97
    502 -84
    407 -70
    313 -56
    221 -41
    131 -25
    44 -9
    -41 8
    -124 26
    -203 45
    -279 64
    -352 84
    -421 105
    -486 127
    -547 150
    -602 174
    -652 199
    -696 225
    -733 252
    -764 280
    -786 309
    -800 339
    -805 369
    -799 400
    -783 430
    -755 461
    -714 491
    -661 520
    -596 546
    -519 570
    -430 591
    -331 608
    -225 620
    -114 627
    0 630
    114 627
    225 620
    331 608
    430 591
    519 570
    596 546
    661 520
    714 491
    755 461
    783 430
    799 400
    805 369
    800 339
    786 309
    764 280
    733 252
    696 225
    652 199
    602 174
    547 150
    486 127
    421 105
    352 84
    279 64
    203 45
    124 26
    41 8
    -44 -9
    -131 -25
    -221 -41
    -313 -56
    -407 -70
    -502 -84
    -600 -97
    -699 -110
    -799 -122
    -901 -134
    -1004 -145
    -1108 -156
    -1213 -167
    1225 -199
    1120 -187
    1016 -174
    913 -160
    812 -147
    712 -132
    614 -117
    517 -102
    422 -86
    329 -69
    238 -51
    148 -33
    62 -14
    -23 5
    -104 26
    -183 48
    -258 70
    -330 93
    -398 118
    -462 143
    -521 169
    -576 197
    -625 226
    -668 255
    -704 286
    -733 318
    -755 351
    -768 384
    -772 418
    -766 453
    -750 487
    -722 522
    -683 555
    -632 587
    -569 617
    -495 643
    -410 666
    -316 685
    -215 698
    -109 707
    0 710
    109 707
    215 698
    316 685
    410 666
    495 643
    569 617
    632 587
    683 555
    722 522
    750 487
    766 453
    772 418
    768 384
    755 351
    733 318
    704 286
    668 255
    625 226
    576 197
    521 169
    462 143
    398 118
    330 93
    258 70
    183 48
    104 26
    23 5
    -62 -14
    -148 -33
    -238 -51
    -329 -69
    -422 -86
    -517 -102
    -614 -117
    -712 -132
    -812 -147
    -913 -160
    -1016 -174
    -1120 -187
    -1225 -199
    1238 -232
    1133 -218
    1030 -203
    928 -188
    827 -172
    728 -156
    630 -139
    534 -121
    440 -103
    347 -84
    257 -64
    168 -44
    82 -22
    -1 0
    -82 24
    -159 48
    -234 73
    -305 99
    -372 127
    -434 155
    -493 185
    -546 215
    -594 247
    -636 280
    -671 315
    -699 350
    -720 386
    -733 423
    -736 460
    -730 498
    -714 535
    -687 572
    -649 609
    -600 643
    -540 675
    -469 703
    -388 728
    -299 748
    -203 763
    -103 772
    0 775
    103 772
    203 763
    299 748
    388 728
    469 703
    540 675
    600 643
    649 609
    687 572
    714 535
    730 498
    736 460
    733 423
    720 386
    699 350
    671 315
    636 280
    594 247
    546 215
    493 185
    434 155
    372 127
    305 99
    234 73
    159 48
    82 24
    1 0
    -82 -22
    -168 -44
    -257 -64
    -347 -84
    -440 -103
    -534 -121
    -630 -139
    -728 -156
    -827 -172
    -928 -188
    -1030 -203
    -1133 -218
    -1238 -232
    1252 -266
    1148 -250
    1046 -234
    944 -217
    844 -199
    746 -181
    649 -162
    553 -142
    459 -122
    368 -101
    278 -79
    190 -56
    105 -32
    23 -7
    -57 19
    -133 45
    -207 73
    -276 102
    -342 132
    -404 164
    -461 196
    -513 230
    -560 264
    -601 300
    -635 337
    -662 375
    -682 414
    -694 454
    -697 494
    -691 534
    -675 574
    -649 613
    -613 651
    -566 687
    -509 721
    -441 751
    -365 776
    -281 797
    -191 813
    -97 822
    0 825
    97 822
    191 813
    281 797
    365 776
    441 751
    509 721
    566 687
    613 651
    649 613
    675 574
    691 534
    697 494
    694 454
    682 414
    662 375
    635 337
    601 300
    560 264
    513 230
    461 196
    404 164
    342 132
    276 102
    207 73
    133 45
    57 19
    -23 -7
    -105 -32
    -190 -56
    -278 -79
    -368 -101
    -459 -122
    -553 -142
    -649 -162
    -746 -181
    -844 -199
    -944 -217
    -1046 -234
    -1148 -250
    -1252 -266
    1269 -301
    1165 -284
    1063 -266
    962 -247
    863 -228
    765 -208
    669 -187
    574 -165
    481 -143
    390 -120
    302 -95
    215 -70
    131 -44
    49 -17
    -29 11
    -105 40
    -177 70
    -246 101
    -310 134
    -371 168
    -427 203
    -478 239
    -523 276
    -563 314
    -596 354
    -623 394
    -642 435
    -653 477
    -656 519
    -650 561
    -635 603
    -610 644
    -575 683
    -531 720
    -476 754
    -413 785
    -342 811
    -263 833
    -179 848
    -90 858
    0 861
    90 858
    179 848
    263 833
    342 811
    413 785
    476 754
    531 720
    575 683
    610 644
    635 603
    650 561
    656 519
    653 477
    642 435
    623 394
    596 354
    563 314
    523 276
    478 239
    427 203
    371 168
    310 134
    246 101
    177 70
    105 40
    29 11
    -49 -17
    -131 -44
    -215 -70
    -302 -95
    -390 -120
    -481 -143
    -574 -165
    -669 -187
    -765 -208
    -863 -228
    -962 -247
    -1063 -266
    -1165 -284
    -1269 -301
    1286 -338
    1184 -319
    1082 -299
    982 -279
    884 -258
    786 -236
    691 -213
    597 -190
    505 -166
    415 -141
    327 -114
    242 -87
    158 -59
    78 -30
    0 -0
    -74 31
    -145 64
    -213 97
    -276 132
    -335 168
    -390 205
    -440 243
    -484 282
    -523 323
    -555 364
    -581 407
    -599 450
    -610 493
    -613 536
    -607 580
    -593 623
    -569 664
    -536 704
    -494 742
    -444 776
    -384 807
    -318 834
    -244 855
    -166 871
    -84 880
    0 884
    84 880
    166 871
    244 855
    318 834
    384 807
    444 776
    494 742
    536 704
    569 664
    593 623
    607 580
    613 536
    610 493
    599 450
    581 407
    555 364
    523 323
    484 282
    440 243
    390 205
    335 168
    276 132
    213 97
    145 64
    74 31
    -0 -0
    -78 -30
    -158 -59
    -242 -87
    -327 -114
    -415 -141
    -505 -166
    -597 -190
    -691 -213
    -786 -236
    -884 -258
    -982 -279
    -1082 -299
    -1184 -319
    -1286 -338
    1306 -375
    1204 -355
    1103 -334
    1004 -312
    906 -289
    809 -266
    715 -242
    622 -217
    531 -191
    442 -164
    355 -136
    270 -107
    188 -77
    109 -46
    32 -14
    -41 19
    -111 53
    -178 89
    -240 125
    -298 163
    -352 202
    -400 242
    -443 283
    -481 325
    -513 368
    -538 412
    -556 456
    -566 501
    -569 545
    -564 589
    -550 633
    -528 675
    -497 715
    -458 753
    -411 787
    -356 818
    -294 844
    -226 865
    -153 881
    -77 890
    0 894
    77 890
    153 881
    226 865
    294 844
    356 818
    411 787
    458 753
    497 715
    528 675
    550 633
    564 589
    569 545
    566 501
    556 456
    538 412
    513 368
    481 325
    443 283
    400 242
    352 202
    298 163
    240 125
    178 89
    111 53
    41 19
    -32 -14
    -109 -46
    -188 -77
    -270 -107
    -355 -136
    -442 -164
    -531 -191
    -622 -217
    -715 -242
    -809 -266
    -906 -289
    -1004 -312
    -1103 -334
    -1204 -355
    -1306 -375
    1327 -415
    1225 -393
    1125 -370
    1027 -347
    930 -323
    834 -298
    740 -272
    648 -245
    558 -218
    470 -189
    384 -160
    300 -129
    219 -98
    141 -65
    65 -31
    -7 3
    -76 39
    -141 76
    -202 115
    -259 154
    -311 195
    -359 236
    -401 279
    -438 322
    -469 366
    -493 411
    -511 456
    -521 501
    -524 546
    -520 591
    -507 634
    -487 676
    -458 716
    -422 754
    -378 788
    -327 818
    -270 844
    -208 865
    -141 880
    -71 889
    0 892
    71 889
    141 880
    208 865
    270 844
    327 818
    378 788
    422 754
    458 716
    487 676
    507 634
    520 591
    524 546
    521 501
    511 456
    493 411
    469 366
    438 322
    401 279
    359 236
    311 195
    259 154
    202 115
    141 76
    76 39
    7 3
    -65 -31
    -141 -65
    -219 -98
    -300 -129
    -384 -160
    -470 -189
    -558 -218
    -648 -245
    -740 -272
    -834 -298
    -930 -323
    -1027 -347
    -1125 -370
    -1225 -393
    -1327 -415
    1349 -455
    1248 -432
    1149 -408
    1051 -384
    955 -358
    860 -332
    767 -305
    676 -276
    587 -247
    499 -217
    415 -187
    332 -155
    252 -122
    175 -87
    101 -52
    29 -16
    -38 21
    -102 60
    -162 100
    -218 140
    -270 182
    -316 225
    -358 268
    -394 313
    -424 358
    -448 403
    -465 449
    -476 494
    -479 539
    -476 584
    -465 627
    -446 669
    -420 709
    -386 745
    -346 779
    -299 809
    -247 834
    -190 854
    -129 869
    -65 878
    0 881
    65 878
    129 869
    190 854
    247 834
    299 809
    346 779
    386 745
    420 709
    446 669
    465 627
    476 584
    479 539
    476 494
    465 449
    448 403
    424 358
    394 313
    358 268
    316 225
    270 182
    218 140
    162 100
    102 60
    38 21
    -29 -16
    -101 -52
    -175 -87
    -252 -122
    -332 -155
    -415 -187
    -499 -217
    -587 -247
    -676 -276
    -767 -305
    -860 -332
    -955 -358
    -1051 -384
    -1149 -408
    -1248 -432
    -1349 -455
    1372 -497
    1272 -473
    1174 -448
    1077 -422
    981 -395
    888 -368
    795 -339
    705 -310
    617 -279
    531 -248
    447 -216
    365 -183
    286 -148
    210 -113
    137 -76
    67 -39
    0 -0
    -63 39
    -122 80
    -177 122
    -227 165
    -273 208
    -313 252
    -349 297
    -378 343
    -402 389
    -419 434
    -430 480
    -435 525
    -432 569
    -422 612
    -406 653
    -382 692
    -352 728
    -315 761
    -272 790
    -225 814
    -173 834
    -117 848
    -59 857
    0 860
    59 857
    117 848
    173 834
    225 814
    272 790
    315 761
    352 728
    382 692
    406 653
    422 612
    432 569
    435 525
    430 480
    419 434
    402 389
    378 343
    349 297
    313 252
    273 208
    227 165
    177 122
    122 80
    63 39
    -0 -0
    -67 -39
    -137 -76
    -210 -113
    -286 -148
    -365 -183
    -447 -216
    -531 -248
    -617 -279
    -705 -310
    -795 -339
    -888 -368
    -981 -395
    -1077 -422
    -1174 -448
    -1272 -473
    -1372 -497
    1397 -541
    1298 -516
    1200 -489
    1104 -462
    1009 -434
    916 -406
    825 -376
    736 -345
    648 -314
    563 -281
    480 -248
    400 -214
    322 -178
    247 -142
    174 -104
    106 -65
    40 -26
    -22 15
    -80 56
    -134 99
    -184 142
    -228 186
    -268 231
    -303 276
    -332 322
    -356 368
    -374 414
    -385 459
    -390 504
    -389 548
    -381 590
    -366 630
    -345 668
    -318 703
    -285 735
    -246 763
    -203 787
    -156 805
    -106 819
    -53 827
    0 830
    53 827
    106 819
    156 805
    203 787
    246 763
    285 735
    318 703
    345 668
    366 630
    381 590
    389 548
    390 504
    385 459
    374 414
    356 368
    332 322
    303 276
    268 231
    228 186
    184 142
    134 99
    80 56
    22 15
    -40 -26
    -106 -65
    -174 -104
    -247 -142
    -322 -178
    -400 -214
    -480 -248
    -563 -281
    -648 -314
    -736 -345
    -825 -376
    -916 -406
    -1009 -434
    -1104 -462
    -1200 -489
    -1298 -516
    -1397 -541
    1422 -587
    1324 -560
    1227 -533
    1132 -505
    1038 -476
    946 -446
    856 -415
    767 -384
    681 -351
    596 -317
    515 -283
    435 -248
    358 -211
    284 -174
    213 -135
    145 -96
    81 -55
    20 -14
    -38 28
    -91 71
    -140 115
    -184 160
    -223 205
    -258 250
    -287 296
    -310 341
    -328 387
    -340 432
    -346 476
    -346 519
    -340 560
    -327 600
    -309 637
    -285 671
    -255 702
    -221 728
    -182 751
    -140 769
    -95 782
    -48 790
    0 793
    48 790
    95 782
    140 769
    182 751
    221 728
    255 702
    285 671
    309 637
    327 600
    340 560
    346 519
    346 476
    340 432
    328 387
    310 341
    287 296
    258 250
    223 205
    184 160
    140 115
    91 71
    38 28
    -20 -14
    -81 -55
    -145 -96
    -213 -135
    -284 -174
    -358 -211
    -435 -248
    -515 -283
    -596 -317
    -681 -351
    -767 -384
    -856 -415
    -946 -446
    -1038 -476
    -1132 -505
    -1227 -533
    -1324 -560
    -1422 -587
    1449 -634
    1351 -606
    1255 -578
    1161 -549
    1068 -519
    977 -488
    887 -457
    800 -424
    714 -391
    631 -356
    550 -321
    471 -284
    396 -247
    322 -209
    252 -170
    185 -130
    122 -89
    62 -47
    5 -4
    -47 39
    -95 83
    -139 128
    -178 173
    -212 218
    -241 264
    -265 309
    -283 354
    -296 398
    -303 442
    -304 484
    -300 524
    -289 563
    -274 599
    -253 632
    -227 661
    -196 687
    -162 709
    -125 726
    -84 739
    -43 747
    0 749
    43 747
    84 739
    125 726
    162 709
    196 687
    227 661
    253 632
    274 599
    289 563
    300 524
    304 484
    303 442
    296 398
    283 354
    265 309
    241 264
    212 218
    178 173
    139 128
    95 83
    47 39
    -5 -4
    -62 -47
    -122 -89
    -185 -130
    -252 -170
    -322 -209
    -396 -247
    -471 -284
    -550 -321
    -631 -356
    -714 -391
    -800 -424
    -887 -457
    -977 -488
    -1068 -519
    -1161 -549
    -1255 -578
    -1351 -606
    -1449 -634
    1476 -683
    1380 -655
    1285 -625
    1191 -595
    1099 -565
    1008 -533
    920 -500
    833 -467
    749 -433
    666 -398
    586 -361
    509 -324
    434 -286
    361 -248
    292 -208
    226 -167
    163 -126
    104 -84
    48 -41
    -3 3
    -51 47
    -94 92
    -133 137
    -167 182
    -196 227
    -220 271
    -239 316
    -252 359
    -261 402
    -263 443
    -261 482
    -253 519
    -240 554
    -222 586
    -199 615
    -173 640
    -143 661
    -110 677
    -75 689
    -38 697
    0 699
    38 697
    75 689
    110 677
    143 661
    173 640
    199 615
    222 586
    240 554
    253 519
    261 482
    263 443
    261 402
    252 359
    239 316
    220 271
    196 227
    167 182
    133 137
    94 92
    51 47
    3 3
    -48 -41
    -104 -84
    -163 -126
    -226 -167
    -292 -208
    -361 -248
    -434 -286
    -509 -324
    -586 -361
    -666 -398
    -749 -433
    -833 -467
    -920 -500
    -1008 -533
    -1099 -565
    -1191 -595
    -1285 -625
    -1380 -655
    -1476 -683
    1505 -734
    1409 -704
    1314 -675
    1222 -644
    1130 -612
    1041 -580
    953 -547
    867 -513
    784 -478
    702 -442
    623 -405
    546 -367
    472 -329
    401 -290
    333 -249
    267 -208
    205 -167
    147 -124
    92 -81
    41 -38
    -6 6
    -49 51
    -88 95
    -122 140
    -151 184
    -176 229
    -195 272
    -210 315
    -219 356
    -224 396
    -223 435
    -217 471
    -207 504
    -192 535
    -173 562
    -150 586
    -124 606
    -96 622
    -65 634
    -33 641
    0 643
    33 641
    65 634
    96 622
    124 606
    150 586
    173 562
    192 535
    207 504
    217 471
    223 435
    224 396
    219 356
    210 315
    195 272
    176 229
    151 184
    122 140
    88 95
    49 51
    6 6
    -41 -38
    -92 -81
    -147 -124
    -205 -167
    -267 -208
    -333 -249
    -401 -290
    -472 -329
    -546 -367
    -623 -405
    -702 -442
    -784 -478
    -867 -513
    -953 -547
    -1041 -580
    -1130 -612
    -1222 -644
    -1314 -675
    -1409 -704
    -1505 -734
    1534 -786
    1439 -756
    1345 -726
    1253 -694
    1163 -662
    1074 -629
    987 -595
    902 -560
    819 -525
    739 -489
    660 -451
    585 -413
    511 -374
    441 -335
    373 -294
    309 -253
    247 -211
    189 -169
    135 -126
    84 -82
    38 -39
    -5 6
    -44 50
    -78 94
    -107 138
    -132 181
    -153 224
    -168 265
    -179 306
    -185 345
    -186 382
    -183 417
    -175 449
    -163 479
    -148 505
    -129 528
    -107 547
    -82 562
    -56 573
    -28 580
    0 582
    28 580
    56 573
    82 562
    107 547
    129 528
    148 505
    163 479
    175 449
    183 417
    186 382
    185 345
    179 306
    168 265
    153 224
    132 181
    107 138
    78 94
    44 50
    5 6
    -38 -39
    -84 -82
    -135 -126
    -189 -169
    -247 -211
    -309 -253
    -373 -294
    -441 -335
    -511 -374
    -585 -413
    -660 -451
    -739 -489
    -819 -525
    -902 -560
    -987 -595
    -1074 -629
    -1163 -662
    -1253 -694
    -1345 -726
    -1439 -756
    -1534 -786
    1564 -841
    1469 -810
    1376 -779
    1285 -747
    1196 -714
    1108 -680
    1022 -646
    938 -611
    856 -575
    776 -538
    698 -500
    623 -462
    551 -423
    481 -383
    414 -342
    350 -301
    290 -259
    232 -217
    178 -174
    128 -131
    81 -88
    39 -44
    0 -0
    -34 43
    -64 86
    -90 129
    -111 170
    -128 211
    -140 250
    -147 288
    -151 324
    -150 358
    -145 389
    -136 417
    -124 443
    -108 465
    -90 483
    -69 498
    -47 508
    -24 515
    0 517
    24 515
    47 508
    69 498
    90 483
    108 465
    124 443
    136 417
    145 389
    150 358
    151 324
    147 288
    140 250
    128 211
    111 170
    90 129
    64 86
    34 43
    -0 -0
    -39 -44
    -81 -88
    -128 -131
    -178 -174
    -232 -217
    -290 -259
    -350 -301
    -414 -342
    -481 -383
    -551 -423
    -623 -462
    -698 -500
    -776 -538
    -856 -575
    -938 -611
    -1022 -646
    -1108 -680
    -1196 -714
    -1285 -747
    -1376 -779
    -1469 -810
    -1564 -841
    1594 -897
    1501 -866
    1408 -834
    1318 -801
    1229 -768
    1142 -734
    1057 -699
    973 -664
    892 -627
    813 -590
    736 -552
    662 -514
    590 -474
    521 -434
    455 -394
    392 -353
    332 -311
    275 -269
    221 -226
    171 -183
    125 -140
    82 -97
    43 -54
    9 -12
    -22 31
    -48 72
    -70 113
    -88 152
    -102 191
    -111 227
    -116 262
    -118 295
    -115 325
    -110 352
    -100 376
    -88 397
    -74 415
    -57 429
    -39 439
    -20 445
    0 447
    20 445
    39 439
    57 429
    74 415
    88 397
    100 376
    110 352
    115 325
    118 295
    116 262
    111 227
    102 191
    88 152
    70 113
    48 72
    22 31
    -9 -12
    -43 -54
    -82 -97
    -125 -140
    -171 -183
    -221 -226
    -275 -269
    -332 -311
    -392 -353
    -455 -394
    -521 -434
    -590 -474
    -662 -514
    -736 -552
    -813 -590
    -892 -627
    -973 -664
    -1057 -699
    -1142 -734
    -1229 -768
    -1318 -801
    -1408 -834
    -1501 -866
    -1594 -897
    1625 -955
    1532 -923
    1441 -891
    1351 -858
    1263 -824
    1176 -790
    1092 -755
    1009 -719
    929 -682
    851 -645
    775 -607
    701 -568
    630 -529
    562 -489
    496 -448
    433 -407
    373 -366
    317 -324
    264 -282
    214 -239
    167 -197
    125 -154
    86 -112
    51 -70
    20 -29
    -7 12
    -31 51
    -50 90
    -65 127
    -76 162
    -83 196
    -87 227
    -87 256
    -84 283
    -78 306
    -69 326
    -58 343
    -45 356
    -31 366
    -16 371
    0 373
    16 371
    31 366
    45 356
    58 343
    69 326
    78 306
    84 283
    87 256
    87 227
    83 196
    76 162
    65 127
    50 90
    31 51
    7 12
    -20 -29
    -51 -70
    -86 -112
    -125 -154
    -167 -197
    -214 -239
    -264 -282
    -317 -324
    -373 -366
    -433 -407
    -496 -448
    -562 -489
    -630 -529
    -701 -568
    -775 -607
    -851 -645
    -929 -682
    -1009 -719
    -1092 -755
    -1176 -790
    -1263 -824
    -1351 -858
    -1441 -891
    -1532 -923
    -1625 -955
    1656 -1015
    1564 -983
    1474 -950
    1384 -917
    1297 -883
    1211 -848
    1128 -813
    1046 -776
    966 -740
    888 -702
    813 -664
    740 -625
    670 -586
    602 -546
    537 -506
    474 -465
    415 -424
    359 -382
    306 -340
    256 -299
    210 -257
    167 -215
    128 -174
    92 -133
    60 -92
    32 -53
    8 -14
    -12 23
    -29 59
    -42 94
    -51 126
    -57 156
    -60 184
    -60 209
    -57 232
    -51 251
    -44 267
    -34 280
    -24 289
    -12 295
    0 296
    12 295
    24 289
    34 280
    44 267
    51 251
    57 232
    60 209
    60 184
    57 156
    51 126
    42 94
    29 59
    12 23
    -8 -14
    -32 -53
    -60 -92
    -92 -133
    -128 -174
    -167 -215
    -210 -257
    -256 -299
    -306 -340
    -359 -382
    -415 -424
    -474 -465
    -537 -506
    -602 -546
    -670 -586
    -740 -625
    -813 -664
    -888 -702
    -966 -740
    -1046 -776
    -1128 -813
    -1211 -848
    -1297 -883
    -1384 -917
    -1474 -950
    -1564 -983
    -1656 -1015
    1688 -1076
    1597 -1044
    1507 -1011
    1418 -977
    1332 -943
    1247 -908
    1163 -873
    1082 -836
    1003 -799
    926 -762
    852 -724
    779 -685
    709 -646
    642 -606
    577 -566
    515 -526
    456 -485
    400 -444
    347 -402
    297 -361
    251 -320
    208 -279
    168 -239
    132 -198
    100 -159
    71 -120
    46 -83
    24 -47
    6 -12
    -9 21
    -21 53
    -29 82
    -34 109
    -36 133
    -36 154
    -34 173
    -30 188
    -24 200
    -16 209
    -8 214
    0 216
    8 214
    16 209
    24 200
    30 188
    34 173
    36 154
    36 133
    34 109
    29 82
    21 53
    9 21
    -6 -12
    -24 -47
    -46 -83
    -71 -120
    -100 -159
    -132 -198
    -168 -239
    -208 -279
    -251 -320
    -297 -361
    -347 -402
    -400 -444
    -456 -485
    -515 -526
    -577 -566
    -642 -606
    -709 -646
    -779 -685
    -852 -724
    -926 -762
    -1003 -799
    -1082 -836
    -1163 -873
    -1247 -908
    -1332 -943
    -1418 -977
    -1507 -1011
    -1597 -1044
    -1688 -1076
    1720 -1140
    1629 -1107
    1540 -1074
    1452 -1040
    1366 -1006
    1282 -971
    1199 -935
    1119 -899
    1040 -862
    964 -824
    890 -786
    818 -748
    749 -708
    682 -669
    617 -629
    556 -589
    497 -549
    441 -508
    388 -467
    338 -427
    292 -387
    248 -346
    208 -307
    172 -267
    138 -229
    108 -191
    82 -155
    59 -120
    39 -86
    22 -54
    9 -24
    -1 4
    -9 30
    -14 53
    -17 74
    -17 91
    -16 106
    -13 118
    -10 126
    -5 131
    0 133
    5 131
    10 126
    13 118
    16 106
    17 91
    17 74
    14 53
    9 30
    1 4
    -9 -24
    -22 -54
    -39 -86
    -59 -120
    -82 -155
    -108 -191
    -138 -229
    -172 -267
    -208 -307
    -248 -346
    -292 -387
    -338 -427
    -388 -467
    -441 -508
    -497 -549
    -556 -589
    -617 -629
    -682 -669
    -749 -708
    -818 -748
    -890 -786
    -964 -824
    -1040 -862
    -1119 -899
    -1199 -935
    -1282 -971
    -1366 -1006
    -1452 -1040
    -1540 -1074
    -1629 -1107
    -1720 -1140
    1753 -1205
    1662 -1172
    1574 -1139
    1487 -1105
    1401 -1070
    1317 -1035
    1236 -999
    1156 -963
    1078 -926
    1002 -889
    928 -851
    857 -812
    788 -774
    721 -734
    657 -695
    596 -655
    537 -615
    481 -575
    428 -536
    378 -496
    332 -456
    288 -417
    247 -378
    210 -340
    176 -302
    145 -266
    117 -230
    93 -196
    71 -164
    53 -133
    38 -104
    25 -77
    15 -52
    7 -29
    2 -10
    -1 7
    -3 21
    -4 33
    -3 41
    -2 45
    0 47
    2 45
    3 41
    4 33
    3 21
    1 7
    -2 -10
    -7 -29
    -15 -52
    -25 -77
    -38 -104
    -53 -133
    -71 -164
    -93 -196
    -117 -230
    -145 -266
    -176 -302
    -210 -340
    -247 -378
    -288 -417
    -332 -456
    -378 -496
    -428 -536
    -481 -575
    -537 -615
    -596 -655
    -657 -695
    -721 -734
    -788 -774
    -857 -812
    -928 -851
    -1002 -889
    -1078 -926
    -1156 -963
    -1236 -999
    -1317 -1035
    -1401 -1070
    -1487 -1105
    -1574 -1139
    -1662 -1172
    -1753 -1205
    1785 -1272
    1695 -1239
    1607 -1206
    1521 -1171
    1436 -1137
    1353 -1102
    1272 -1066
    1192 -1030
    1115 -993
    1039 -956
    966 -918
    895 -880
    827 -841
    760 -802
    696 -763
    635 -724
    577 -685
    521 -646
    468 -606
    418 -567
    371 -528
    327 -490
    285 -452
    247 -415
    212 -378
    180 -343
    151 -308
    126 -275
    103 -244
    83 -214
    65 -186
    50 -160
    38 -136
    28 -115
    20 -96
    14 -79
    9 -66
    6 -55
    3 -47
    2 -43
    0 -41
    -2 -43
    -3 -47
    -6 -55
    -9 -66
    -14 -79
    -20 -96
    -28 -115
    -38 -136
    -50 -160
    -65 -186
    -83 -214
    -103 -244
    -126 -275
    -151 -308
    -180 -343
    -212 -378
    -247 -415
    -285 -452
    -327 -490
    -371 -528
    -418 -567
    -468 -606
    -521 -646
    -577 -685
    -635 -724
    -696 -763
    -760 -802
    -827 -841
    -895 -880
    -966 -918
    -1039 -956
    -1115 -993
    -1192 -1030
    -1272 -1066
    -1353 -1102
    -1436 -1137
    -1521 -1171
    -1607 -1206
    -1695 -1239
    -1785 -1272
    1818 -1341
    1729 -1308
    1641 -1274
    1555 -1240
    1471 -1205
    1388 -1170
    1308 -1134
    1229 -1098
    1152 -1062
    1077 -1025
    1004 -987
    933 -949
    865 -911
    799 -873
    735 -834
    674 -796
    616 -757
    560 -718
    507 -680
    456 -641
    409 -603
    364 -566
    323 -529
    284 -492
    248 -457
    215 -422
    185 -389
    157 -357
    133 -327
    111 -298
    92 -271
    75 -246
    60 -223
    48 -202
    37 -184
    29 -168
    21 -155
    15 -145
    9 -138
    5 -133
    0 -132
    -5 -133
    -9 -138
    -15 -145
    -21 -155
    -29 -168
    -37 -184
    -48 -202
    -60 -223
    -75 -246
    -92 -271
    -111 -298
    -133 -327
    -157 -357
    -185 -389
    -215 -422
    -248 -457
    -284 -492
    -323 -529
    -364 -566
    -409 -603
    -456 -641
    -507 -680
    -560 -718
    -616 -757
    -674 -796
    -735 -834
    -799 -873
    -865 -911
    -933 -949
    -1004 -987
    -1077 -1025
    -1152 -1062
    -1229 -1098
    -1308 -1134
    -1388 -1170
    -1471 -1205
    -1555 -1240
    -1641 -1274
    -1729 -1308
    -1818 -1341
    

    4. Load "mesh.txt" above along with the LDC input YUV image from the camera into DCC tuning tool to generate a LDC preview and the DCC xml file for LDC.
    Tuning tool can take care of the block size and H/W padding details (please follow the LDC plugin guide from the help menu).

    LDC input image with fisheye distortion:
    original image_1280x944_uyvy.yuv

    LDC output preview from DCC tuning tool:

    DCC xml file and its included LUT in H/W format exported by DCC tuning tool.

    test_mesh_ldc_dcc.xml
    <?xml version="1.0" encoding="utf-8"?>
    <cfg_ldc_xml xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:xsd="http://www.w3.org/2001/xmlschema">
      <!--this is a comment-->
        <dcc_name>cfg_ldc</dcc_name>
        <dcc_header>
    		<camera_module_id>     42 </camera_module_id>
    	    <dcc_descriptor_id>   5 </dcc_descriptor_id>
    	    <algorithm_vendor_id>  1 </algorithm_vendor_id>
    	    <tunning_tool_version> 0 </tunning_tool_version>
        </dcc_header>
    <!--=======================================================================-->
        <typedef>
      	<cfg_ldc_vars type="struct">
            <ldc_en type="uint16"> </ldc_en>
            <ldc_ldmapen type="uint16"> </ldc_ldmapen>
            <ldc_datamode type="uint16"> </ldc_datamode>
            <ldc_opdatamode type="uint16"> </ldc_opdatamode>
            <ldc_ip_dfmt type="uint16"> </ldc_ip_dfmt>
            <ldc_pwarpen type="uint16"> </ldc_pwarpen>
            <ldc_yint_typ type="uint16"> </ldc_yint_typ>
            <ldc_regmode_en type="uint16"> </ldc_regmode_en>
            <ldc_meshtable_m type="uint16"> </ldc_meshtable_m>
            <ldc_mesh_frsz_w type="uint16"> </ldc_mesh_frsz_w>
            <ldc_mesh_frsz_h type="uint16"> </ldc_mesh_frsz_h>
            <ldc_compute_frsz_w type="uint16"> </ldc_compute_frsz_w>
            <ldc_compute_frsz_h type="uint16"> </ldc_compute_frsz_h>
            <ldc_initx type="uint16"> </ldc_initx>
            <ldc_inity type="uint16"> </ldc_inity>
            <ldc_input_frsz_w type="uint16"> </ldc_input_frsz_w>
            <ldc_input_frsz_h type="uint16"> </ldc_input_frsz_h>
            <ldc_obw type="uint16"> </ldc_obw>
            <ldc_obh type="uint16"> </ldc_obh>
            <ldc_pixpad type="uint16"> </ldc_pixpad>
            <ldc_a type="int16"> </ldc_a>
            <ldc_b type="int16"> </ldc_b>
            <ldc_c type="int16"> </ldc_c>
            <ldc_d type="int16"> </ldc_d>
            <ldc_e type="int16"> </ldc_e>
            <ldc_f type="int16"> </ldc_f>
            <ldc_g type="int16"> </ldc_g>
            <ldc_h type="int16"> </ldc_h>
            <ldc_sf_width type="uint16[3]"> </ldc_sf_width>
            <ldc_sf_height type="uint16[3]"> </ldc_sf_height>
            <ldc_sf_en  type="uint16[3][3]"> </ldc_sf_en>
            <ldc_sf_obw type="uint16[3][3]"> </ldc_sf_obw>
            <ldc_sf_obh type="uint16[3][3]"> </ldc_sf_obh>
            <ldc_sf_pad type="uint16[3][3]"> </ldc_sf_pad>
            <ldc_ylut_en type="uint16"> </ldc_ylut_en>
            <ldc_yin_bitdpth type="uint16"> </ldc_yin_bitdpth>
            <ldc_yout_bitdpth type="uint16"> </ldc_yout_bitdpth>
            <ldc_clut_en type="uint16"> </ldc_clut_en>
            <ldc_cin_bitdpth type="uint16"> </ldc_cin_bitdpth>
            <ldc_cout_bitdpth type="uint16"> </ldc_cout_bitdpth>
            <ldc_y_lut type="uint16[513]"> </ldc_y_lut>
            <ldc_c_lut type="uint16[513]"> </ldc_c_lut>
    		<mesh_table_pitch_in_bytes type="uint32"> </mesh_table_pitch_in_bytes>
    		<mesh_table_size type="uint32"> </mesh_table_size>
    		<mesh_lut type="uint16*"> </mesh_lut>
        </cfg_ldc_vars>
        </typedef>
    <!--=======================================================================-->
    	<use_case val="65535">
            <n-space>
          <region0 class="0">
            <exposure val="1" min="0" max="2000000">  </exposure>
            <gain val="0" min="0" max="100000">  </gain>
          </region0>
        </n-space>
    
            <parameter_package>
                <ldc_dcc type="cfg_ldc_vars">
                {
    				1     // LDC_CTRL              LDC_EN(0)            LDC Enable, 0: Disable,  1: Enable
    				1     // LDC_CTRL              LDMAPEN(1)           LD Mapping enable, 0: disable, 1: enable
    				0     // LDC_CTRL              DATAMODE(4:3)        Input data mode, 0: YUV422,  1: Y only, 2: YUV420, 3: YUV420 UV
    				0     // LDC_CTRL              OP_DATAMODE          Output data mode, 0: keep UYVY; 1: convert to 420
    				0     // LDC_CTRL              IP_DFMT(6:5)         Input pixel format, 0: 8b,  1: 12b packed, 2: 12b unpacked
    				1     // LDC_CTRL              PWARPEN(7)           0: Disable perspective warp. 1: Enable perspective warp
    				1     // LDC_CFG               YINT_TYP(6)          Interpolation type for Y data.  0: Bicubic,  1: Bilinear
    				0     // LDC_CFG               REGMODE_EN           Region mode, 0: disable, 1: enable
    				4     // LDC_MESHTABLE_CFG     M(2:0)               Mesh table subsampling factor (0-7)
    				1280  // LDC_MESH_FRSZ       W(13:0)              Mesh frame width (0-8192)
    				944   // LDC_MESH_FRSZ       H(29:16)             Mesh frame height (0-8192)
    				1280  // LDC_COMPUTE_FRSZ      W(13:0)              Compute width (0-8192)
    				944   // LDC_COMPUTE_FRSZ      H(29:16)             Compute height (0-8192)
    				0     // LDC_INITXY            INITX(13:0)          Output starting horizontal coordinate (0-8192)
    				0     // LDC_INITXY            INITY(29:16)         Output starting vertical coordinate (0-8192)
    				1280  // LDC_INPUT_FRSZ        W(29:16)             Input frame width
    				944   // LDC_INPUT_FRSZ        H(13:0)              Input frame height
    				80    // LDC_BLOCK_SIZE        OBW(7:0)             Output block width (0-255)
    				48    // LDC_BLOCK_SIZE        OBH(15:8)            Output block height (0-255)
    				1     // LDC_BLOCK_SIZE        PIXPAD(19:16)        Pixel pad (0-15)
    				4096  // LDC_AB                A(15:0)              Affine Transform warp, A S16Q12
    				0 // LDC_AB                B(31:16)             Affine Transform warp, B S16Q12
    				0  // LDC_CD                C(15:0)              Affine Transform warp, C S16Q3
    				0    // LDC_CD                D(31:16)             Affine Transform warp, D S16Q12
    				4096 // LDC_EF                E(15:0)              Affine Transform warp, E S16Q12
    				0  // LDC_EF                F(31:16)             Affine Transform warp, F S16Q3
    				0   // LDC_GH                G(15:0)              Affine Transform warp, G S16Q23
    				0 // LDC_GH                H(31:16)             Affine Transform warp, H S16Q23
    			  {0, 0, 0}                             //ldc_sf_width [3]
    			  {0, 0, 0}                             //ldc_sf_height[3]
    			  {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}}     //ldc_sf_en [3][3]
    			  {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}}     //ldc_sf_obw[3][3]
    			  {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}}     //ldc_sf_obh[3][3]
    			  {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}}     //ldc_sf_pad[3][3]
    
    				0     // LDC_DUALOUT_CFG       YLUT_EN              Luma LUT enable (0-1)
    				8     // LDC_DUALOUT_CFG       YIN_BITDPTH          Luma input bit depth (8-12)
    				8     // LDC_DUALOUT_CFG       YOUT_BITDPTH         Luma output bit depth (8-12)
    				0     // LDC_DUALOUT_CFG       CLUT_EN              Chroma LUT enable (0-1)
    				8     // LDC_DUALOUT_CFG       CIN_BITDPTH          Chroma input bit depth (8-12)
    				8     // LDC_DUALOUT_CFG       COUT_BITDPTH         Chroma output bit depth (8-12)
    
    				{ //y_lut
    					0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    				}
    				{ //c_lut
    					0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    				}
    				
    				336,    //mesh_table_pitch_in_bytes
    				10080, //mesh_table_size
    				{ //mesh_lut
    					#include "asamplesensor_mesh_lut.txt"
    				}
                }
              </ldc_dcc>
            </parameter_package>
        </use_case>
    <!--=====================================================================-->
    </cfg_ldc_xml>
    

    test_mesh_lut.txt

    This H/W version of the mesh table "test_mesht_lut.txt" is in 32-bit words with little endian encoding and each row of the mesh table must be 16-byte aligned.
    For example, the first row in "mesh.txt" above is "1818 (0x71a), 1341 (0x53d)", and the corresponding 32-bit binary word is "0x53d, 0x71a" in "test_mesh_lut.txt".
    At the end of each row in "test_mesh_lut.txt", you can find the padding of six "0x0000" so that each row is 336 bytes (336=16x21).

    The size of the H/W mesh table is "84x60" in elements of 32-bit words, which is slightly larger than "81x60" of the "mesh.txt" above because of the row alignment.

    5. Copy the above xml file and its included LUT text file to the "imaging/sensor_drv/src/sensor_name/dcc_xmls/" folder in PSDK for your sensor.
    Then, you may need to run the "generate_dcc.sh" under the folder and recompile PSDK.
    PSDK sample apps such as "vx_app_single_cam" will pick up the new DCC settings for LDC.

    Note: some additional discussions in another e2e thread: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1114821/faq-tda4vm-how-ldc-lut-can-be-converted-from-text-to-binary-format-and-be-used-in-sdk/4135718#4135718