# [tahoe-dev] Pretty picture

Shawn Willden shawn-tahoe at willden.org
Thu Feb 5 18:17:01 UTC 2009

```On Wednesday 04 February 2009 05:29:33 pm Shawn Willden wrote:
> If n is the number of bits in q (also the hash length, etc.), then the
> probability that Z=XY takes a particular value z is:
>
> 	(log(gcd(z,q))+1) / 2**(n+1)		(1)

Just for fun, here's a line plot of the distribution of Z=XY mod 2^n for n=9.
I've plotted larger n values, but this one shows the structure most clearly.

It also makes clear that what's going on is that values of z that have many
divisors in common with q=2^n have higher probabilities of appearing.

Shawn.
-------------- next part --------------
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<g transform='translate(-66.000000, -5.000000)'>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp1)'>
<clipPath id='cp1'><polygon points='82,5 82,436 779,436 779,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.5px' stroke='rgb(24.7181%,23.9994%,60%)' points='96.0396,5.1 97.3091,391.498 98.6183,347.227 99.9274,391.498 101.237,302.956 102.546,391.498 103.855,347.227 105.164,391.498 106.473,258.685 107.782,391.498 109.091,347.227 110.4,391.498 111.71,302.956 113.019,391.498 114.328,347.227 115.637,391.498 116.946,214.414 118.255,391.498 119.564,347.227 120.873,391.498 122.183,302.956 123.492,391.498 124.801,347.227 126.11,391.498 127.419,258.685 128.728,391.498 130.037,347.227 131.346,391.498 132.656,302.956 133.965,391.498 135.274,347.227 136.583,391.498 137.892,170.142 139.201,391.498 140.51,347.227 141.819,391.498 143.129,302.956 144.438,391.498 145.747,347.227 147.056,391.498 148.365,258.685 149.674,391.498 150.983,347.227 152.292,391.498 153.602,302.956 154.911,391.498 156.22,347.227 157.529,391.498 158.838,214.414 160.147,391.498 161.456,347.227 162.765,391.498 164.075,302.956 165.384,391.498 166.693,347.227 168.002,391.498 169.311,258.685 170.62,391.498 171.929,347.227 173.238,391.498 174.548,302.956 175.857,391.498 177.166,347.227 178.475,391.498 179.784,125.871 181.093,391.498 182.402,347.227 183.711,391.498 185.021,302.956 186.33,391.498 187.639,347.227 188.948,391.498 190.257,258.685 191.566,391.498 192.875,347.227 194.184,391.498 195.494,302.956 196.803,391.498 198.112,347.227 199.421,391.498 200.73,214.414 202.039,391.498 203.348,347.227 204.657,391.498 205.967,302.956 207.276,391.498 208.585,347.227 209.894,391.498 211.203,258.685 212.512,391.498 213.821,347.227 215.13,391.498 216.44,302.956 217.749,391.498 219.058,347.227 220.367,391.498 221.676,170.142 222.985,391.498 224.294,347.227 225.603,391.498 226.913,302.956 228.222,391.498 229.531,347.227 230.84,391.498 232.149,258.685 233.458,391.498 234.767,347.227 236.076,391.498 237.386,302.956 238.695,391.498 240.004,347.227 241.313,391.498 242.622,214.414 243.931,391.498 245.24,347.227 246.549,391.498 247.859,302.956 249.168,391.498 250.477,347.227 251.786,391.498 253.095,258.685 254.404,391.498 255.713,347.227 257.022,391.498 258.332,302.956 259.641,391.498 260.95,347.227 262.259,391.498 263.568,81.6004 264.877,391.498 266.186,347.227 267.495,391.498 268.805,302.956 270.114,391.498 271.423,347.227 272.732,391.498 274.041,258.685 275.35,391.498 276.659,347.227 277.968,391.498 279.278,302.956 280.587,391.498 281.896,347.227 283.205,391.498 284.514,214.414 285.823,391.498 287.132,347.227 288.441,391.498 289.751,302.956 291.06,391.498 292.369,347.227 293.678,391.498 294.987,258.685 296.296,391.498 297.605,347.227 298.914,391.498 300.224,302.956 301.533,391.498 302.842,347.227 304.151,391.498 305.46,170.142 306.769,391.498 308.078,347.227 309.387,391.498 310.697,302.956 312.006,391.498 313.315,347.227 314.624,391.498 315.933,258.685 317.242,391.498 318.551,347.227 319.861,391.498 321.17,302.956 322.479,391.498 323.788,347.227 325.097,391.498 326.406,214.414 327.715,391.498 329.024,347.227 330.334,391.498 331.643,302.956 332.952,391.498 334.261,347.227 335.57,391.498 336.879,258.685 338.188,391.498 339.497,347.227 340.807,391.498 342.116,302.956 343.425,391.498 344.734,347.227 346.043,391.498 347.352,125.871 348.661,391.498 349.97,347.227 351.28,391.498 352.589,302.956 353.898,391.498 355.207,347.227 356.516,391.498 357.825,258.685 359.134,391.498 360.443,347.227 361.753,391.498 363.062,302.956 364.371,391.498 365.68,347.227 366.989,391.498 368.298,214.414 369.607,391.498 370.916,347.227 372.226,391.498 373.535,302.956 374.844,391.498 376.153,347.227 377.462,391.498 378.771,258.685 380.08,391.498 381.389,347.227 382.699,391.498 384.008,302.956 385.317,391.498 386.626,347.227 387.935,391.498 389.244,170.142 390.553,391.498 391.862,347.227 393.172,391.498 394.481,302.956 395.79,391.498 397.099,347.227 398.408,391.498 399.717,258.685 401.026,391.498 402.335,347.227 403.645,391.498 404.954,302.956 406.263,391.498 407.572,347.227 408.881,391.498 410.19,214.414 411.499,391.498 412.808,347.227 414.118,391.498 415.427,302.956 416.736,391.498 418.045,347.227 419.354,391.498 420.663,258.685 421.972,391.498 423.281,347.227 424.591,391.498 425.9,302.956 427.209,391.498 428.518,347.227 429.827,391.498 431.136,37.3293 432.445,391.498 433.754,347.227 435.064,391.498 436.373,302.956 437.682,391.498 438.991,347.227 440.3,391.498 441.609,258.685 442.918,391.498 444.227,347.227 445.537,391.498 446.846,302.956 448.155,391.498 449.464,347.227 450.773,391.498 452.082,214.414 453.391,391.498 454.7,347.227 456.01,391.498 457.319,302.956 458.628,391.498 459.937,347.227 461.246,391.498 462.555,258.685 463.864,391.498 465.173,347.227 466.483,391.498 467.792,302.956 469.101,391.498 470.41,347.227 471.719,391.498 473.028,170.142 474.337,391.498 475.646,347.227 476.956,391.498 478.265,302.956 479.574,391.498 480.883,347.227 482.192,391.498 483.501,258.685 484.81,391.498 486.119,347.227 487.429,391.498 488.738,302.956 490.047,391.498 491.356,347.227 492.665,391.498 493.974,214.414 495.283,391.498 496.592,347.227 497.902,391.498 499.211,302.956 500.52,391.498 501.829,347.227 503.138,391.498 504.447,258.685 505.756,391.498 507.065,347.227 508.375,391.498 509.684,302.956 510.993,391.498 512.302,347.227 513.611,391.498 514.92,125.871 516.229,391.498 517.538,347.227 518.848,391.498 520.157,302.956 521.466,391.498 522.775,347.227 524.084,391.498 525.393,258.685 526.702,391.498 528.012,347.227 529.321,391.498 530.63,302.956 531.939,391.498 533.248,347.227 534.557,391.498 535.866,214.414 537.175,391.498 538.485,347.227 539.794,391.498 541.103,302.956 542.412,391.498 543.721,347.227 545.03,391.498 546.339,258.685 547.648,391.498 548.958,347.227 550.267,391.498 551.576,302.956 552.885,391.498 554.194,347.227 555.503,391.498 556.812,170.142 558.121,391.498 559.431,347.227 560.74,391.498 562.049,302.956 563.358,391.498 564.667,347.227 565.976,391.498 567.285,258.685 568.594,391.498 569.904,347.227 571.213,391.498 572.522,302.956 573.831,391.498 575.14,347.227 576.449,391.498 577.758,214.414 579.067,391.498 580.377,347.227 581.686,391.498 582.995,302.956 584.304,391.498 585.613,347.227 586.922,391.498 588.231,258.685 589.54,391.498 590.85,347.227 592.159,391.498 593.468,302.956 594.777,391.498 596.086,347.227 597.395,391.498 598.704,81.6004 600.013,391.498 601.323,347.227 602.632,391.498 603.941,302.956 605.25,391.498 606.559,347.227 607.868,391.498 609.177,258.685 610.486,391.498 611.796,347.227 613.105,391.498 614.414,302.956 615.723,391.498 617.032,347.227 618.341,391.498 619.65,214.414 620.959,391.498 622.269,347.227 623.578,391.498 624.887,302.956 626.196,391.498 627.505,347.227 628.814,391.498 630.123,258.685 631.432,391.498 632.742,347.227 634.051,391.498 635.36,302.956 636.669,391.498 637.978,347.227 639.287,391.498 640.596,170.142 641.905,391.498 643.215,347.227 644.524,391.498 645.833,302.956 647.142,391.498 648.451,347.227 649.76,391.498 651.069,258.685 652.378,391.498 653.688,347.227 654.997,391.498 656.306,302.956 657.615,391.498 658.924,347.227 660.233,391.498 661.542,214.414 662.851,391.498 664.161,347.227 665.47,391.498 666.779,302.956 668.088,391.498 669.397,347.227 670.706,391.498 672.015,258.685 673.324,391.498 674.634,347.227 675.943,391.498 677.252,302.956 678.561,391.498 679.87,347.227 681.179,391.498 682.488,125.871 683.797,391.498 685.107,347.227 686.416,391.498 687.725,302.956 689.034,391.498 690.343,347.227 691.652,391.498 692.961,258.685 694.27,391.498 695.58,347.227 696.889,391.498 698.198,302.956 699.507,391.498 700.816,347.227 702.125,391.498 703.434,214.414 704.743,391.498 706.053,347.227 707.362,391.498 708.671,302.956 709.98,391.498 711.289,347.227 712.598,391.498 713.907,258.685 715.216,391.498 716.526,347.227 717.835,391.498 719.144,302.956 720.453,391.498 721.762,347.227 723.071,391.498 724.38,170.142 725.689,391.498 726.999,347.227 728.308,391.498 729.617,302.956 730.926,391.498 732.235,347.227 733.544,391.498 734.853,258.685 736.162,391.498 737.472,347.227 738.781,391.498 740.09,302.956 741.399,391.498 742.708,347.227 744.017,391.498 745.326,214.414 746.636,391.498 747.945,347.227 749.254,391.498 750.563,302.956 751.872,391.498 753.181,347.227 754.49,391.498 755.799,258.685 757.109,391.498 758.418,347.227 759.727,391.498 761.036,302.956 762.345,391.498 763.654,347.227 764.963,391.498 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp2)'>
<clipPath id='cp2'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='96,435.769 96,431.769 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 93.000000, 438.768787)' clip-path='url(#cp3)'>
<clipPath id='cp3'><polygon points='-1,-1 -1,15 7,15 7,-1 ' /></clipPath>
<text x='0' y='10' font-family='Times' font-size='10px' fill='rgb(0%,0%,0%)'>0</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp4)'>
<clipPath id='cp4'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='122.183,435.769 122.183,433.369 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp5)'>
<clipPath id='cp5'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='148.365,435.769 148.365,433.369 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp6)'>
<clipPath id='cp6'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='174.548,435.769 174.548,433.369 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp7)'>
<clipPath id='cp7'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='200.73,435.769 200.73,433.369 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp8)'>
<clipPath id='cp8'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='226.913,435.769 226.913,431.769 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 217.912576, 438.768787)' clip-path='url(#cp9)'>
<clipPath id='cp9'><polygon points='-1,-1 -1,15 19,15 19,-1 ' /></clipPath>
<text x='0' y='10' font-family='Times' font-size='10px' fill='rgb(0%,0%,0%)'>100</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp10)'>
<clipPath id='cp10'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='253.095,435.769 253.095,433.369 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp11)'>
<clipPath id='cp11'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='279.278,435.769 279.278,433.369 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp12)'>
<clipPath id='cp12'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='305.46,435.769 305.46,433.369 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp13)'>
<clipPath id='cp13'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='331.643,435.769 331.643,433.369 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp14)'>
<clipPath id='cp14'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='357.825,435.769 357.825,431.769 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 348.825153, 438.768787)' clip-path='url(#cp15)'>
<clipPath id='cp15'><polygon points='-1,-1 -1,15 19,15 19,-1 ' /></clipPath>
<text x='0' y='10' font-family='Times' font-size='10px' fill='rgb(0%,0%,0%)'>200</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp16)'>
<clipPath id='cp16'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='384.008,435.769 384.008,433.369 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp17)'>
<clipPath id='cp17'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='410.19,435.769 410.19,433.369 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp18)'>
<clipPath id='cp18'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='436.373,435.769 436.373,433.369 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp19)'>
<clipPath id='cp19'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='462.555,435.769 462.555,433.369 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp20)'>
<clipPath id='cp20'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='488.738,435.769 488.738,431.769 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 479.737729, 438.768787)' clip-path='url(#cp21)'>
<clipPath id='cp21'><polygon points='-1,-1 -1,15 19,15 19,-1 ' /></clipPath>
<text x='0' y='10' font-family='Times' font-size='10px' fill='rgb(0%,0%,0%)'>300</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp22)'>
<clipPath id='cp22'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='514.92,435.769 514.92,433.369 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp23)'>
<clipPath id='cp23'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='541.103,435.769 541.103,433.369 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp24)'>
<clipPath id='cp24'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='567.285,435.769 567.285,433.369 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp25)'>
<clipPath id='cp25'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='593.468,435.769 593.468,433.369 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp26)'>
<clipPath id='cp26'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='619.65,435.769 619.65,431.769 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 610.150306, 438.768787)' clip-path='url(#cp27)'>
<clipPath id='cp27'><polygon points='-1,-1 -1,15 20,15 20,-1 ' /></clipPath>
<text x='1' y='10' font-family='Times' font-size='10px' fill='rgb(0%,0%,0%)'>400</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp28)'>
<clipPath id='cp28'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='645.833,435.769 645.833,433.369 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp29)'>
<clipPath id='cp29'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='672.015,435.769 672.015,433.369 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp30)'>
<clipPath id='cp30'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='698.198,435.769 698.198,433.369 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp31)'>
<clipPath id='cp31'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='724.38,435.769 724.38,433.369 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp32)'>
<clipPath id='cp32'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='750.563,435.769 750.563,431.769 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 741.562882, 438.768787)' clip-path='url(#cp33)'>
<clipPath id='cp33'><polygon points='-1,-1 -1,15 19,15 19,-1 ' /></clipPath>
<text x='0' y='10' font-family='Times' font-size='10px' fill='rgb(0%,0%,0%)'>500</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp34)'>
<clipPath id='cp34'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='776.745,435.769 776.745,433.369 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp35)'>
<clipPath id='cp35'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='82.0633,435.769 778.9,435.769 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp36)'>
<clipPath id='cp36'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='96,435.769 100,435.769 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp37)'>
<clipPath id='cp37'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='96,413.102 98.4,413.102 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp38)'>
<clipPath id='cp38'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='96,390.435 98.4,390.435 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp39)'>
<clipPath id='cp39'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='96,367.768 98.4,367.768 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp40)'>
<clipPath id='cp40'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='96,345.102 100,345.102 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 66.000000, 338.101674)' clip-path='url(#cp41)'>
<clipPath id='cp41'><polygon points='0,-1 0,15 28,15 28,-1 ' /></clipPath>
<text x='0' y='10' font-family='Times' font-size='10px' fill='rgb(0%,0%,0%)'>0.002</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp42)'>
<clipPath id='cp42'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='96,322.435 98.4,322.435 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp43)'>
<clipPath id='cp43'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='96,299.768 98.4,299.768 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp44)'>
<clipPath id='cp44'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='96,277.101 98.4,277.101 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp45)'>
<clipPath id='cp45'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='96,254.435 100,254.435 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 66.000000, 247.434561)' clip-path='url(#cp46)'>
<clipPath id='cp46'><polygon points='0,-1 0,15 28,15 28,-1 ' /></clipPath>
<text x='0' y='10' font-family='Times' font-size='10px' fill='rgb(0%,0%,0%)'>0.004</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp47)'>
<clipPath id='cp47'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='96,231.768 98.4,231.768 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp48)'>
<clipPath id='cp48'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='96,209.101 98.4,209.101 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp49)'>
<clipPath id='cp49'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='96,186.434 98.4,186.434 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp50)'>
<clipPath id='cp50'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='96,163.767 100,163.767 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 66.000000, 156.767448)' clip-path='url(#cp51)'>
<clipPath id='cp51'><polygon points='0,-1 0,15 28,15 28,-1 ' /></clipPath>
<text x='0' y='10' font-family='Times' font-size='10px' fill='rgb(0%,0%,0%)'>0.006</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp52)'>
<clipPath id='cp52'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='96,141.101 98.4,141.101 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp53)'>
<clipPath id='cp53'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='96,118.434 98.4,118.434 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp54)'>
<clipPath id='cp54'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='96,95.7671 98.4,95.7671 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp55)'>
<clipPath id='cp55'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='96,73.1003 100,73.1003 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 66.000000, 66.100335)' clip-path='url(#cp56)'>
<clipPath id='cp56'><polygon points='0,-1 0,15 28,15 28,-1 ' /></clipPath>
<text x='0' y='10' font-family='Times' font-size='10px' fill='rgb(0%,0%,0%)'>0.008</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp57)'>
<clipPath id='cp57'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='96,50.4336 98.4,50.4336 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp58)'>
<clipPath id='cp58'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='96,27.7668 98.4,27.7668 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp59)'>
<clipPath id='cp59'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='96,5.1 98.4,5.1 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)' clip-path='url(#cp60)'>
<clipPath id='cp60'><polygon points='66,5 66,454 780,454 780,5 ' /></clipPath>
<polyline fill='none' stroke-opacity='1' stroke-width='0.2px' stroke='rgb(0%,0%,0%)' points='96,435.769 96,5.1 ' />
</g>
</g>
<defs>
</defs>
</svg>
```