Add newly generated doc pages
diff --git a/doc/pyOpenSSL.ps b/doc/pyOpenSSL.ps
index 1b1eaad..502b4fd 100644
--- a/doc/pyOpenSSL.ps
+++ b/doc/pyOpenSSL.ps
@@ -1,8 +1,8 @@
 %!PS-Adobe-2.0
 %%Creator: dvips(k) 5.96.1 Copyright 2007 Radical Eye Software
 %%Title: pyOpenSSL.dvi
-%%CreationDate: Fri Nov 13 09:16:45 2009
-%%Pages: 17
+%%CreationDate: Thu Oct  7 22:33:52 2010
+%%Pages: 18
 %%PageOrder: Ascend
 %%BoundingBox: 0 0 596 842
 %%DocumentPaperSizes: a4
@@ -10,7 +10,7 @@
 %DVIPSWebPage: (www.radicaleye.com)
 %DVIPSCommandLine: dvips -N0 -o pyOpenSSL.ps pyOpenSSL
 %DVIPSParameters: dpi=600
-%DVIPSSource:  TeX output 2009.11.13:0916
+%DVIPSSource:  TeX output 2010.10.07:2233
 %%BeginProcSet: tex.pro 0 0
 %!
 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -109,8 +109,8 @@
 1FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC000
 1FC0001FC0001FC0FFFFC0FFFFC012787ED920>93 D E
 %EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fc ecti1000 10 52
-/Fc 52 123 df<00000000FF0003F000000003FFE00FFC0000000FC0F01F1E0000003F00
+%DVIPSBitmapFont: Fc ecti1000 10 57
+/Fc 57 123 df<00000000FF0003F000000003FFE00FFC0000000FC0F01F1E0000003F00
 783E0F0000007E01F87C3F0000007C03F8FC7F000000FC03F8F87F000001F803F9F87F00
 0001F803F1F87E000001F801E1F83C000003F00003F000000003F00003F000000003F000
 03F000000007F00003F000000007E00007F000000007E00007E000000007E00007E00000
@@ -256,300 +256,360 @@
 1FC0000003C0001FC000000380003FC000000780003FC000000700003F8000000F00003F
 8000000F00007F8000001E00007F8000003E00007F0000003C00007F0000007C0000FF00
 0000FC0000FF000001F80000FE000007F80001FE00007FF000FFFFFFFFFFF000FFFFFFFF
-FFF000FFFFFFFFFFE00038397BB838>I<0003FFFFF80FFFFFE00003FFFFF80FFFFFE000
-03FFFFF80FFFFFE0000007F800001FE000000007F000001FC000000007F000001FC00000
-000FF000003FC00000000FF000003F800000000FE000003F800000000FE000003F800000
-001FE000007F800000001FE000007F000000001FC000007F000000001FC000007F000000
-003FC00000FF000000003FC00000FE000000003F800000FE000000003F800000FE000000
-007F800001FE000000007F800001FC000000007F000001FC000000007F000001FC000000
-00FF000003FC00000000FF000003F800000000FE000003F800000000FE000003F8000000
-01FFFFFFFFF800000001FFFFFFFFF000000001FFFFFFFFF000000001FC000007F0000000
-03FC00000FF000000003FC00000FE000000003F800000FE000000003F800000FE0000000
-07F800001FE000000007F800001FC000000007F000001FC000000007F000001FC0000000
-0FF000003FC00000000FF000003F800000000FE000003F800000000FE000003F80000000
-1FE000007F800000001FE000007F000000001FC000007F000000001FC000007F00000000
-3FC00000FF000000003FC00000FE000000003F800000FE000000003F800000FE00000000
-7F800001FE000000007F800001FC000000007F000001FC00000000FF000003FC0000007F
-FFFE01FFFFF80000FFFFFE03FFFFF80000FFFFFE03FFFFF8000043397CB83E>72
-D<0003FFFFF80003FFFFF80003FFFFF8000007F800000007F000000007F00000000FF000
-00000FF00000000FE00000000FE00000001FE00000001FE00000001FC00000001FC00000
-003FC00000003FC00000003F800000003F800000007F800000007F800000007F00000000
-7F00000000FF00000000FF00000000FE00000000FE00000001FE00000001FE00000001FC
-00000001FC00000003FC00000003FC00000003F800000003F800000007F800000007F800
-000007F000000007F00000000FF00000000FF00000000FE00000000FE00000001FE00000
-001FE00000001FC00000001FC00000003FC00000003FC00000003F800000003F80000000
-7F800000007F800000007F00000000FF800000FFFFFF0000FFFFFF0000FFFFFE00002539
-7CB820>I<0003FFF80000FFFFE00003FFF80000FFFFE00003FFFC0000FFFFE0000007FC
-000007F800000007FE000003F000000007FE000003E00000000FFE000003C00000000FFF
-000003C00000000E7F000003800000000E7F000003800000001E7F800007800000001E3F
-800007000000001C3F800007000000001C3FC00007000000003C1FC0000F000000003C1F
-E0000E00000000380FE0000E00000000380FE0000E00000000780FF0001E000000007807
-F0001C000000007007F0001C000000007007F8001C00000000F003F8003C00000000F003
-FC003800000000E003FC003800000000E001FC003800000001E001FE007800000001E000
-FE007000000001C000FE007000000001C000FF007000000003C0007F00F000000003C000
-7F00E00000000380007F80E00000000380003F80E00000000780003FC1E0000000078000
-1FC1C00000000700001FC1C00000000700001FE1C00000000F00000FE3C00000000F0000
-0FE3800000000E00000FF3800000000E000007F3800000001E000007FF800000001E0000
-07FF000000001C000003FF000000001C000003FF000000003C000001FF000000003C0000
-01FE0000000038000001FE0000000038000000FE0000000078000000FE00000000780000
-00FC00000000F80000007C00000003FC0000007C0000007FFFE000003C000000FFFFE000
-0038000000FFFFE000003800000043397CB83E>78 D<00000003FE00000000003FFFC000
-000000FC07F000000003E001F80000000F80007C0000003F00003E0000007E00001F0000
-00F800001F800001F000000FC00007E000000FC0000FC0000007E0001FC0000007E0001F
-80000007F0003F00000003F0007E00000003F000FE00000003F801FC00000003F801FC00
-000003F803F800000003F803F800000003F807F000000003F807F000000003F80FF00000
-0003F80FE000000003F81FE000000007F81FC000000007F83FC000000007F83FC0000000
-07F83FC000000007F87F800000000FF07F800000000FF07F800000000FF07F800000000F
-F0FF000000001FE0FF000000001FE0FF000000001FE0FF000000003FC0FF000000003FC0
-FF000000003F80FF000000007F80FF000000007F00FF00000000FF00FF00000000FE00FF
-00000001FE00FF00000001FC007F00000003F8007F00000007F0007F00000007F0007F00
-00000FE0003F0000001FC0003F8000003F80001F8000003F00001FC000007E00000FC000
-00FC000007E00003F0000003F00007E0000001F8000F80000000FC003F000000003F01FC
-000000001FFFE00000000001FF00000000353D74BA40>I<0003FFFFFFF0000003FFFFFF
-FE000003FFFFFFFF80000007F8003FC0000007F0000FF0000007F00007F000000FF00003
-F800000FF00001FC00000FE00001FC00000FE00001FC00001FE00001FE00001FE00001FE
-00001FC00001FE00001FC00001FE00003FC00001FE00003FC00003FC00003F800003FC00
-003F800003FC00007F800007F800007F800007F000007F00000FF000007F00000FE00000
-FF00001FC00000FF00003F000000FE0000FE000000FE0001F8000001FE000FE0000001FF
-FFFF80000001FFFFFC00000001FC003F00000003FC000F80000003FC000FC0000003F800
-07E0000003F80007F0000007F80003F0000007F80003F0000007F00003F0000007F00003
-F800000FF00007F800000FF00007F000000FE00007F000000FE00007F000001FE0000FF0
-00001FE0000FF000001FC0000FF000001FC0000FF000003FC0000FF000003FC0001FF000
-003F80001FE007003F80001FE007007F80001FE00F007F80001FE00E007F00001FE00E00
-FF00000FE01C7FFFFE000FE03CFFFFFE0007F078FFFFFE0003F0F00000000000FFE00000
-0000003F80383B7CB83D>82 D<0000003FC00E000001FFF01C000007FFFC1C00001FC07E
-3C00003F001F7C00007C000FF80000F80007F80001F00003F80003E00003F80007C00001
-F00007C00001F0000F800001F0000F800001F0001F800001E0001F000001E0001F000001
-E0001F000001E0003F000001C0003F000001C0003F000001C0003F80000000003F800000
-00003FC0000000001FE0000000001FFC000000001FFF800000000FFFF00000000FFFFE00
-000007FFFF80000003FFFFE0000000FFFFF00000003FFFF800000007FFF8000000007FFC
-000000000FFC0000000003FC0000000001FC0000000001FC0000000000FC0000000000FC
-00000000007C000E0000007C000E0000007C000E0000007C001E000000FC001E000000F8
-001E000000F8001E000000F8003E000001F0003E000001F0003E000003E0003E000003E0
-007F000007C0007F00000F80007F80001F00007FC0003E0000F9F000FC0000F8FC03F800
-00F07FFFE00000E01FFF800000C003FC0000002F3D7ABA2F>I<07FFFFFFFFFFE007FFFF
-FFFFFFE00FFFFFFFFFFFE00FF800FF001FE00FC000FE0007C01F8000FE0007C01F0001FE
-0003C01E0001FE0003C01C0001FC0003C03C0001FC0003803C0003FC000380380003FC00
-0380780003F8000380700003F8000780700007F8000780F00007F8000700E00007F00007
-00E00007F0000700E0000FF000070000000FF000000000000FE000000000000FE0000000
-00001FE000000000001FE000000000001FC000000000001FC000000000003FC000000000
-003FC000000000003F8000000000003F8000000000007F8000000000007F800000000000
-7F0000000000007F000000000000FF000000000000FF000000000000FE000000000000FE
-000000000001FE000000000001FE000000000001FC000000000001FC000000000003FC00
-0000000003FC000000000003F8000000000003F8000000000007F8000000000007F80000
-00000007F0000000000007F000000000000FF000000000000FF000000000000FE0000000
-00003FF0000000007FFFFFF8000000FFFFFFF8000000FFFFFFF8000000333971B83B>I<
-3FFFFF800FFFFE3FFFFF800FFFFE3FFFFF800FFFFE007F8000007F80007F0000003F0000
-7F0000003E0000FF0000003C0000FF0000003C0000FE000000380000FE000000380001FE
-000000780001FE000000700001FC000000700001FC000000700003FC000000F00003FC00
-0000E00003F8000000E00003F8000000E00007F8000001E00007F8000001C00007F00000
-01C00007F0000001C0000FF0000003C0000FF000000380000FE000000380000FE0000003
-80001FE000000780001FE000000700001FC000000700001FC000000700003FC000000F00
-003FC000000E00003F8000000E00003F8000000E00007F8000001E00007F8000001C0000
-7F0000001C00007F0000001C00007F0000003C0000FF000000380000FE000000380000FE
-000000780000FE000000700000FE000000700000FE000000F00000FE000001E00000FE00
-0001C00000FE000003C000007E0000078000007E00000F0000007E00000E0000003F0000
-3E0000001F80007C0000001F8000F00000000FC003E000000007F01FC000000001FFFF00
-000000007FFC00000000001FE000000000373B70B83E>I<FFFFF80003FFFEFFFFF80003
-FFFEFFFFF80003FFFC03FE0000007FC003FC0000003F0001FC0000003E0001FC0000003C
-0001FC000000380001FC000000700001FC000000700001FC000000E00001FC000001E000
-01FC000001C00001FE000003800001FE000003800000FE000007000000FE00000F000000
-FE00000E000000FE00001C000000FE00001C000000FE000038000000FE000038000000FE
-000070000000FE0000E0000000FE0000E0000000FF0001C00000007F0001C00000007F00
-03800000007F0007800000007F0007000000007F000E000000007F000E000000007F001C
-000000007F003C000000007F0038000000007F0070000000007F8070000000003F80E000
-0000003F81E0000000003F81C0000000003F8380000000003F8380000000003F87000000
-00003F8700000000003F8E00000000003F9E00000000003F9C00000000003FF800000000
-003FF800000000001FF000000000001FF000000000001FE000000000001FC00000000000
-1FC000000000001F8000000000001F8000000000001F0000000000001E0000000000001E
-0000000000373B6FB83E>I<FFFFF80FFFFF001FFFF0FFFFF80FFFFF003FFFF0FFFFF00F
-FFFF003FFFE007FE00007FE00003FE0003F800003F800001FC0003F800003F800000F000
-03F800003F800000F00003F800003F800001E00003F800003F800001C00003F800003F80
-0003C00003F800003F800003800003F800003F800007800003F800007F800007000003F8
-00007F80000E000003F80000FF80000E000003F80001FF80001C000003F80001FF80001C
-000003F80003BF800038000003FC0003BF800038000001FC00073F800070000001FC0007
-3F800070000001FC000E3F8000E0000001FC000E3FC000E0000001FC001C1FC001C00000
-01FC001C1FC003C0000001FC00381FC00380000001FC00381FC00700000001FC00701FC0
-0700000001FC00F01FC00E00000001FC00E01FC00E00000001FC01C01FC01C00000001FC
-01C01FC01C00000001FC03801FC03800000001FC03801FC03800000001FC07001FC07000
-000001FC07001FC07000000001FC0E001FC0E000000001FC0E001FC1E000000001FC1C00
-1FC1C000000001FC1C001FC38000000001FC38001FC38000000001FC78001FC700000000
-01FC70001FC70000000001FCE0001FCE0000000001FEE0001FCE0000000000FFC0001FDC
-0000000000FFC0001FDC0000000000FF80001FF80000000000FF80001FF80000000000FF
-00001FF00000000000FF00000FF00000000000FE00000FE00000000000FE00000FC00000
-000000FC00000FC00000000000FC00000F800000000000F800000F800000000000F00000
-0F000000000000F000000F000000000000E000000E00000000004C3B6FB853>I<FFFFFF
-FFFFFCFFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFFFFFC2F047C7040>95
-D<0000F800000007FE0000001F871C00003E03FE00007C03FE0000F801FE0001F801FE00
-03F000FC0007E000FC000FE000FC000FC001FC001FC001F8001FC001F8003F8001F8003F
-8003F8007F8003F0007F0003F0007F0003F0007F0007F000FF0007E000FE0007E000FE00
-07E000FE000FE000FE000FC000FC000FC1C0FC000FC1C0FC001FC1C0FC001F83C0FC001F
-8380FC003F8380FC003F87807C007F87007C00FF07003E01FF0F003E038F8E001F0F079E
-0007FE03FC0001F000F000222677A42A>97 D<003F00001FFF00001FFF00001FFF000000
-7F0000007E0000007E0000007E000000FE000000FC000000FC000000FC000001FC000001
-F8000001F8000001F8000003F8000003F0000003F0000003F0000007F0000007E0F80007
-E7FE0007EF0F800FFC07C00FF807C00FF003E00FE003E01FC003F01FC003F01F8003F01F
-8003F03F8003F03F0003F03F0003F03F0007F07F0007F07E0007F07E0007F07E000FF0FE
-000FF0FC000FE0FC000FE0FC001FE0FC001FC0F8001FC0F8003F80F8003F80F8003F00F8
-007F00F8007E00F800FC007801F8007C01F0003C03E0003E07C0001E1F80000FFE000001
-F000001C3B77B926>I<00007F000003FFC0000FC1E0001F0070007E007800FC003801F8
-01F803F003F807F003F807E003F80FE003F81FC003F01FC000003F8000003F8000007F80
-00007F0000007F0000007F000000FF000000FE000000FE000000FE000000FE000000FC00
-0000FC000000FC000000FC000030FC000038FC0000787C0000F07E0001E03E0003C03E00
-0F801F003E000F81F80003FFE00000FF00001D2677A426>I<00000001F8000000FFF800
-0000FFF8000000FFF800000003F800000003F000000003F000000007F000000007F00000
-0007E000000007E00000000FE00000000FE00000000FC00000000FC00000001FC0000000
-1FC00000001F800000001F800000003F800000003F800000F83F000007FE3F00001F877F
-00003E03FF00007C03FE0000F801FE0001F801FE0003F000FE0007E000FC000FE000FC00
-0FC001FC001FC001FC001FC001F8003F8001F8003F8003F8007F8003F8007F0003F0007F
-0003F0007F0007F000FF0007F000FE0007E000FE0007E000FE000FE000FE000FE000FC00
-0FC1C0FC000FC1C0FC001FC1C0FC001FC3C0FC001F8380FC003F8380FC003F87807C007F
-87007C00FF07003E01FF0F003E038F8E001F0F079E0007FE03FC0001F000F000253B77B9
-2A>I<00007F000003FFC0000FC1E0003F00F0007E007800FC007801F8007803F0007807
-E000780FE000780FC000F81FC000F03F8001F03F8007E03F801F807F81FF007FFFF8007F
-FF80007F000000FF000000FE000000FE000000FE000000FE000000FE000000FC000000FC
-000000FC0000307C0000387C0000787E0000F03E0001E03E0003C01F000F800F003E0007
-81F80003FFE00000FF00001D2677A426>I<00000007C00000001FF00000003E38000000
-7C3C000000F8FC000000F9FC000001F9FC000001F1FC000003F1F8000003F0F0000003F0
-00000007F000000007E000000007E000000007E000000007E00000000FE00000000FC000
-00000FC00000000FC00000000FC00000001FC00000001F8000000FFFFFC0001FFFFFC000
-1FFFFF8000003F800000003F000000003F000000003F000000003F000000007F00000000
-7E000000007E000000007E000000007E00000000FE00000000FC00000000FC00000000FC
-00000000FC00000001FC00000001F800000001F800000001F800000001F800000003F800
-000003F000000003F000000003F000000003F000000007F000000007E000000007E00000
-0007E000000007E00000000FE00000000FC00000000FC00000000FC00000001FC0000000
-1F800000001F800000001F800000001F000000003F0000001C3F0000007E3E0000007E3E
-000000FE3C000000FE7C000000FE78000000F8F000000078F00000003FC00000000F8000
-0000264C82BA19>I<000007C00000003FF0000000FC38E00001F01FF00003E01FF00007
-C00FF0000F800FF0001F8007F0003F0007E0007F0007E0007E000FE000FE000FE000FC00
-0FC001FC000FC001FC001FC003FC001FC003F8001F8003F8001F8003F8003F8007F8003F
-8007F0003F0007F0003F0007F0007F0007F0007F0007E0007E0007E0007E0007E000FE00
-07E000FE0007E000FC0003E001FC0003E003FC0003E007FC0001F00FF80000F01FF80000
-787BF800003FF3F800000FC3F000000003F000000007F000000007F000000007E0000000
-07E00000000FE00000000FC0001C000FC0007E001FC0007E001F8000FE003F0000FE007E
-0000FE00FC00007801F800007C07E000001FFF80000003FE00000024367CA426>I<0003
-F0000001FFF0000001FFF0000001FFF000000007F000000007E000000007E000000007E0
-0000000FE00000000FC00000000FC00000000FC00000001FC00000001F800000001F8000
-00001F800000003F800000003F000000003F000000003F000000007F000000007E07F000
-007E1FFC00007E783E0000FFE01F0000FFC01F8000FF800F8000FF000F8001FE000F8001
-FE000FC001FC000FC001F8001F8003F8001F8003F0001F8003F0001F8003F0003F8007F0
-003F0007E0003F0007E0003F0007E0007F000FE0007E000FC0007E000FC000FE000FC000
-FC001FC000FC001F8001FC1C1F8001F81C1F8001F83C3F8003F8383F0003F0383F0003F0
-383F0003F0707F0003E0707E0003E0F07E0003E0E07E0003E1C0FE0001E380FC0000FF00
-3800003C00263B7BB92A>I<0001C00007E00007F0000FF0000FE00007E0000380000000
-00000000000000000000000000000000000000000000000000000000000000F00003FC00
-071E000E1F001C1F001C1F00381F00383F00703F00703F00707F00F07E00E07E00E0FE00
-00FC0000FC0001FC0001F80003F80003F80003F00007F00007E00007E0000FE0E00FC0E0
-0FC1E01FC1C01F81C01F81C01F83801F03801F07001F07001F0E000F1C0007F80001E000
-143879B619>I<0000000E0000003F0000007F0000007F0000007F0000007E0000001C00
-000000000000000000000000000000000000000000000000000000000000000000000000
-0000000000000000001F8000007FC00000F1F00001C0F0000380F8000780F8000701F800
-0F01F8000E01F8001E01F8001C03F8003C03F8003803F0003803F0000007F0000007F000
-0007E0000007E000000FE000000FE000000FC000000FC000001FC000001FC000001F8000
-001F8000003F8000003F8000003F0000003F0000007F0000007F0000007E0000007E0000
-00FE000000FE000000FC000000FC000001FC000001FC000001F8000001F8000003F80000
-03F0001C03F0007E07E0007E07E000FE0FC000FE0F8000FE1F0000F83E0000787C00003F
-F000000FC00000204883B619>I<0003F0000001FFF0000001FFF0000001FFF000000007
-F000000007E000000007E000000007E00000000FE00000000FC00000000FC00000000FC0
-0000001FC00000001F800000001F800000001F800000003F800000003F000000003F0000
-00003F000000007F000000007E000F80007E003FE0007E00F0E000FE01C1F000FC0387F0
-00FC0707F000FC0E07F001FC1C07E001F83807E001F830038001F870000003F8E0000003
-F1C0000003F380000003FF00000007FC00000007FE00000007FFC0000007E7F800000FE1
-FC00000FC07E00000FC07F00000FC03F00001FC03F80001F801F81C01F801F81C01F801F
-83C03F803F83803F003F03803F003F03803F003F07807F003F07007E003E07007E001E0E
-007E001E1E00FE000F3C00FC0007F800380001E000243B7BB926>I<000FC007FFC007FF
-C007FFC0001FC0001F80001F80003F80003F80003F00003F00007F00007F00007E00007E
-0000FE0000FE0000FC0000FC0001FC0001FC0001F80001F80003F80003F80003F00003F0
-0007F00007F00007E00007E0000FE0000FE0000FC0000FC0001FC0001FC0001F80001F80
-003F80003F80003F00003F00007F00007F00007E0E007E0E00FE0E00FE1E00FC1C00FC1C
-00FC3C00FC3800F83800F878007870007CE0001FE0000F8000123B79B915>I<01E000FE
-0007F00007F803FF801FFC000E3C0F07C0783E001E3E3C03E1E01F001C1F7803F3C01F80
-383FF001F7800F80383FE001F7000F80783FC001FE000F80703FC001FE000FC0703F8001
-FC000FC0703F0003F8001F80F07F0003F8001F80E07E0003F0001F80E07E0003F0001F80
-007E0007F0003F8000FE0007F0003F0000FC0007E0003F0000FC0007E0003F0000FC000F
-E0007F0001FC000FE0007E0001F8000FC0007E0001F8000FC000FE0001F8001FC000FC00
-03F8001FC000FC0003F0001F8001FC1C03F0001F8001F81C03F0003F8001F83C07F0003F
-8003F83807E0003F0003F03807E0003F0003F03807E0007F0003F0700FE0007F0003E070
-0FC0007E0003E0F00FC0007E0003E0E00FC000FE0003E1C01FC000FE0001E3C01F8000FC
-0000FF000700003800003C003E2679A444>I<01E000FE000007F803FF80000E3C0F07C0
-001E3E3C03E0001C1F7803F000383FF001F000383FE001F000783FC001F000703FC001F8
-00703F8001F800703F0003F000F07F0003F000E07E0003F000E07E0003F000007E0007F0
-0000FE0007E00000FC0007E00000FC0007E00000FC000FE00001FC000FC00001F8000FC0
-0001F8001FC00001F8001F800003F8001F800003F0003F838003F0003F038003F0003F07
-8007F0007F070007E0007E070007E0007E070007E0007E0E000FE0007C0E000FC0007C1E
-000FC0007C1C000FC0007C38001FC0003C78001F80001FE000070000078000292679A42F
->I<00007F000003FFC0000FC1F0001F00F8007E007C00FC007C01F8007E03F0003E07F0
-003F07E0003F0FE0003F1FC0003F1FC0003F3F80003F3F80007F7F80007F7F00007F7F00
-007F7F0000FFFF0000FFFE0000FEFE0000FEFE0001FEFE0001FCFC0001FCFC0003F8FC00
-03F8FC0007F0FC0007E0FC000FE07C000FC07E001F803E003F003E007E001F00F8000F83
-F00003FFC00000FE0000202677A42A>I<00078007C000001FE03FF000003CF0787C0000
-38F8E03E0000787FC03E0000707F801F000070FF001F0000F0FE001F8000E0FE001F8000
-E0FC001F8001E1FC001F8001C1FC001F8001C1F8001F8001C1F8001F800003F8003F8000
-03F8003F800003F0003F800003F0003F800007F0007F800007F0007F800007E0007F0000
-07E0007F00000FE000FF00000FE000FE00000FC000FE00000FC001FC00001FC001FC0000
-1FC001F800001F8003F800001F8003F000003F8007E000003FC00FC000003FC00F800000
-3FE01F0000007FE03E0000007F70FC0000007E3FF00000007E0F80000000FE0000000000
-FE0000000000FC0000000000FC0000000001FC0000000001FC0000000001F80000000001
-F80000000003F80000000003F80000000003F00000000007F000000000FFFFC0000000FF
-FFC0000000FFFFC0000000293580A42A>I<0000F8030007FE07001F871F003E03BF007C
-03FE00F801FE01F801FE03F000FE07E000FC0FE000FC0FC000FC1FC001FC1FC001F83F80
-01F83F8001F87F8003F87F0003F07F0003F07F0003F0FF0007F0FE0007E0FE0007E0FE00
-07E0FE000FE0FC000FC0FC000FC0FC000FC0FC001FC0FC001F80FC003F80FC003F807C00
-7F807C00FF003E01FF003E03BF001F0F7F0007FE7E0001F07E0000007E000000FE000000
-FC000000FC000000FC000001FC000001F8000001F8000001F8000003F8000003F0000007
-F00001FFFFC001FFFFC001FFFFC0203577A426>I<03C003F0000FF01FFC001E783C0F00
-1C7C700F003C3EE03F80383FC03F80387F803F80787F803F00707F003F00707F001C00F0
-7E000000E0FE000000E0FC000000E0FC00000000FC00000001FC00000001F800000001F8
-00000001F800000003F800000003F000000003F000000003F000000007F000000007E000
-000007E000000007E00000000FE00000000FC00000000FC00000000FC00000001FC00000
-001F800000001F800000001F800000003F800000003F000000000E00000000212679A423
->I<0000FE000007FF80000F83C0003E00E0007C00F00078007000F800F001F803F001F0
-03F001F003F001F003E003F001C003F8000003FC000003FFC00001FFF80001FFFE0000FF
-FF00007FFF80003FFF80000FFFC00000FFC000003FC000001FC000000FC03E000FC07E00
-0FC0FE000F80FE000F80FE000F80FC001F00E0001F00F0003E0070007C003800F8001E03
-E0000FFFC00001FE00001C267AA422>I<0003800007C0000FC0000FC0000FC0000FC000
-1FC0001F80001F80001F80003F80003F00003F00003F00007F00007E007FFFFF7FFFFFFF
-FFFF00FC0000FC0000FC0001FC0001F80001F80001F80003F80003F00003F00003F00007
-F00007E00007E00007E0000FE0000FC0000FC0000FC0001FC0001F801C1F801C1F803C3F
-80383F00783F00703F00F03F00E03F01C03E03C01F07800F0F0007FC0001F000183579B3
-1C>I<00F800000003FE0001C0078F0003E00E0F8007E01E0F8007E01C0F8007E0380F80
-0FE0381F800FE0781F800FC0701F800FC0703F801FC0F03F001FC0E03F001F80E07F001F
-80007E003F80007E003F8000FE003F0000FC003F0000FC007F0001FC007F0001F8007E00
-01F8007E0001F800FE0003F800FE0003F000FC0E03F000FC0E03F001FC1E03F001FC1C03
-F001F81C03E001F81C03E001F83C03F003F83803F007F83801F007F07001F01EF8F000F8
-3C78E0003FF03FC0000FC00F00272679A42D>I<00F0000E0003FC003F00071E007F800E
-1F007F801C1F007F803C1F007F80381F003F80383F001F80703F000F80703F000F80707F
-000F80F07E000F00E07E000700E0FE00070000FC000F0000FC000E0001FC000E0001F800
-0E0001F8001E0003F8001C0003F0001C0003F0001C0003F0003C0007F000380007E00038
-0007E000700007E000700007E000700007E000E00007E000E00007E001C00007E003C000
-03E003800003F007000001F00E000000F83C0000007FF80000000FC00000212679A426>
-I<00F0000000070003FC0003801F80071E0007C03FC00E1F000FC03FC01C1F000FC03FC0
-3C1F000FC03FC0381F001FC01FC0383F001F800FC0703F001F8007C0703F001F8007C070
-7F003F8007C0F07E003F800780E07E003F000380E0FE003F00038000FC007F00078000FC
-007F00070001FC007E00070001F8007E00070001F800FE000F0003F800FE000E0003F000
-FC000E0003F000FC000E0003F000FC001E0007F001FC001C0007E001F8001C0007E001F8
-003C0007E001F800380007E001F800380007E001F800780007E001F800700007E003F800
-F00007E003F800E00003E007F801E00003F00FFC03C00001F01E7C07800000FC3C3E0F00
-00003FF81FFE0000000FE003F00000322679A437>I<0007E007C0001FF81FF800787C38
-3C00F03E703C01E01EE0FE03C01FE0FE03801FC0FE07001FC0FC0F001F80FC0E001F8070
-0E003F80001E003F00001C003F00001C003F000000007F000000007F000000007E000000
-007E00000000FE00000000FE00000000FC00000000FC00000001FC00000001FC00000001
-F800700001F800700003F800F00003F800E01C03F000E07E03F001E07E07F001C0FE07F0
-0380FE0FF00780FE0EF00F00781CF81E0078387C3C003FF03FF00007C00FC00027267CA4
-27>I<00F000000003FC0001C0071E0003E00E1F0007E01C1F0007E03C1F0007E0381F00
-0FE0383F000FC0703F000FC0703F000FC0707F001FC0F07E001F80E07E001F80E0FE001F
-8000FC003F8000FC003F0001FC003F0001F8003F0001F8007F0003F8007E0003F0007E00
-03F0007E0003F000FE0007F000FC0007E000FC0007E000FC0007E001FC0007E001F80007
-E001F80007E001F80007E003F80007E003F00007E007F00003E00FF00003F01FF00001F8
-7FE000007FF7E000001FC7E00000000FE00000000FC00000000FC00000001FC0003F001F
-80007F003F80007F003F00007F007E00007F007C00007E00FC00007001F800007003E000
-003807C000003C1F8000000FFE00000003F0000000233679A428>I<0003C00380000FF0
-0780001FF80700003FFC0F00007FFC0E0000FFFE1E0000F83FFC0001F007F80001E000F0
-0001C000E00001C001E000000003C000000007800000000F000000001E000000003C0000
-00007800000000F000000001E000000003C000000007800000000F000000001E00000000
-3C0000000078001C0000F0001C0001E0003C0003C00038000380007800078000F8000FF8
-01F0001FFF07E0003E1FFFE0003C0FFFC000780FFF80007007FF0000F003FC0000E000F0
-000021267BA422>I E
+FFF000FFFFFFFFFFE00038397BB838>I<0007FFFFFFFFFE0007FFFFFFFFFE0007FFFFFF
+FFFE00000FF00007FE00000FE00000FE00000FE000007C00001FE000003C00001FE00000
+3C00001FC000003C00001FC000003C00003FC000003C00003FC000003C00003F8000003C
+00003F8000003800007F8000003800007F8000003800007F0000003800007F0003803800
+00FF000780380000FF000780000000FE000700000000FE000700000001FE000F00000001
+FE000F00000001FC001E00000001FC003E00000003FC00FE00000003FFFFFE00000003FF
+FFFC00000003FFFFFC00000007F800FC00000007F8007C00000007F0007800000007F000
+780000000FF000780000000FF000780000000FE000700000000FE000700000001FE000F0
+0000001FE000F00000001FC000000000001FC000000000003FC000000000003FC0000000
+00003F8000000000003F8000000000007F8000000000007F8000000000007F0000000000
+007F000000000000FF000000000000FF000000000000FE000000000001FF0000000000FF
+FFFF00000000FFFFFF00000000FFFFFF0000000037397BB836>I<0003FFFFF80FFFFFE0
+0003FFFFF80FFFFFE00003FFFFF80FFFFFE0000007F800001FE000000007F000001FC000
+000007F000001FC00000000FF000003FC00000000FF000003F800000000FE000003F8000
+00000FE000003F800000001FE000007F800000001FE000007F000000001FC000007F0000
+00001FC000007F000000003FC00000FF000000003FC00000FE000000003F800000FE0000
+00003F800000FE000000007F800001FE000000007F800001FC000000007F000001FC0000
+00007F000001FC00000000FF000003FC00000000FF000003F800000000FE000003F80000
+0000FE000003F800000001FFFFFFFFF800000001FFFFFFFFF000000001FFFFFFFFF00000
+0001FC000007F000000003FC00000FF000000003FC00000FE000000003F800000FE00000
+0003F800000FE000000007F800001FE000000007F800001FC000000007F000001FC00000
+0007F000001FC00000000FF000003FC00000000FF000003F800000000FE000003F800000
+000FE000003F800000001FE000007F800000001FE000007F000000001FC000007F000000
+001FC000007F000000003FC00000FF000000003FC00000FE000000003F800000FE000000
+003F800000FE000000007F800001FE000000007F800001FC000000007F000001FC000000
+00FF000003FC0000007FFFFE01FFFFF80000FFFFFE03FFFFF80000FFFFFE03FFFFF80000
+43397CB83E>72 D<0003FFFFF80003FFFFF80003FFFFF8000007F800000007F000000007
+F00000000FF00000000FF00000000FE00000000FE00000001FE00000001FE00000001FC0
+0000001FC00000003FC00000003FC00000003F800000003F800000007F800000007F8000
+00007F000000007F00000000FF00000000FF00000000FE00000000FE00000001FE000000
+01FE00000001FC00000001FC00000003FC00000003FC00000003F800000003F800000007
+F800000007F800000007F000000007F00000000FF00000000FF00000000FE00000000FE0
+0000001FE00000001FE00000001FC00000001FC00000003FC00000003FC00000003F8000
+00003F800000007F800000007F800000007F00000000FF800000FFFFFF0000FFFFFF0000
+FFFFFE000025397CB820>I<0007FFFFFC000007FFFFFC000007FFFFF80000000FF80000
+00000FF0000000000FE0000000001FE0000000001FE0000000001FC0000000001FC00000
+00003FC0000000003FC0000000003F80000000003F80000000007F80000000007F800000
+00007F00000000007F0000000000FF0000000000FF0000000000FE0000000000FE000000
+0001FE0000000001FE0000000001FC0000000001FC0000000003FC0000000003FC000000
+0003F80000000003F80000000007F80000000007F80000000007F00000000007F0000000
+000FF0000000000FF000000C000FE000001C000FE000001C001FE000003C001FE0000038
+001FC0000078001FC0000078003FC0000070003FC00000F0003F800000E0003F800001E0
+007F800003E0007F800003C0007F000007C0007F00000FC000FF00001F8000FF00003F80
+00FE0000FF8001FE0007FF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFE002E397BB834>
+76 D<0007FFF800000007FFF00007FFF80000000FFFF00007FFF80000001FFFE000000F
+F80000001FF00000000FF80000003FE00000000FF80000003FE00000001FF80000007FE0
+0000001FF8000000EFC00000001DF8000000EFC00000001CFC000001CFC00000003CFC00
+0001DFC00000003CFC0000039F8000000038FC0000071F8000000038FC0000071F800000
+0078FC00000E3F8000000078FC00000E3F0000000070FC00001C3F0000000070FC00001C
+3F00000000F0FC0000387F00000000F0FC0000707E00000000E0FC0000707E00000000E0
+7E0000E07E00000001E07E0000E0FE00000001E07E0001C0FC00000001C07E000380FC00
+000001C07E000380FC00000003C07E000701FC00000003C07E000701F800000003807E00
+0E01F800000003807E000E01F800000007807E001C03F800000007807E003803F0000000
+07007E003803F000000007003F007003F00000000F003F007007F00000000F003F00E007
+E00000000E003F01C007E00000000E003F01C007E00000001E003F03800FE00000001E00
+3F03800FC00000001C003F07000FC00000001C003F07000FC00000003C003F0E001FC000
+00003C003F1C001F8000000038003F1C001F8000000038001FB8001F8000000078001FB8
+003F8000000078001FF0003F0000000070001FE0003F0000000070001FE0003F00000000
+F0001FC0007F00000000F0001FC0007E00000001F0001F80007E00000007F8001F8000FE
+000000FFFFC01F007FFFFC0000FFFFC01E007FFFFC0000FFFFC00E007FFFFC00004C397A
+B84A>I<0003FFF80000FFFFE00003FFF80000FFFFE00003FFFC0000FFFFE0000007FC00
+0007F800000007FE000003F000000007FE000003E00000000FFE000003C00000000FFF00
+0003C00000000E7F000003800000000E7F000003800000001E7F800007800000001E3F80
+0007000000001C3F800007000000001C3FC00007000000003C1FC0000F000000003C1FE0
+000E00000000380FE0000E00000000380FE0000E00000000780FF0001E000000007807F0
+001C000000007007F0001C000000007007F8001C00000000F003F8003C00000000F003FC
+003800000000E003FC003800000000E001FC003800000001E001FE007800000001E000FE
+007000000001C000FE007000000001C000FF007000000003C0007F00F000000003C0007F
+00E00000000380007F80E00000000380003F80E00000000780003FC1E00000000780001F
+C1C00000000700001FC1C00000000700001FE1C00000000F00000FE3C00000000F00000F
+E3800000000E00000FF3800000000E000007F3800000001E000007FF800000001E000007
+FF000000001C000003FF000000001C000003FF000000003C000001FF000000003C000001
+FE0000000038000001FE0000000038000000FE0000000078000000FE0000000078000000
+FC00000000F80000007C00000003FC0000007C0000007FFFE000003C000000FFFFE00000
+38000000FFFFE000003800000043397CB83E>I<00000003FE00000000003FFFC0000000
+00FC07F000000003E001F80000000F80007C0000003F00003E0000007E00001F000000F8
+00001F800001F000000FC00007E000000FC0000FC0000007E0001FC0000007E0001F8000
+0007F0003F00000003F0007E00000003F000FE00000003F801FC00000003F801FC000000
+03F803F800000003F803F800000003F807F000000003F807F000000003F80FF000000003
+F80FE000000003F81FE000000007F81FC000000007F83FC000000007F83FC000000007F8
+3FC000000007F87F800000000FF07F800000000FF07F800000000FF07F800000000FF0FF
+000000001FE0FF000000001FE0FF000000001FE0FF000000003FC0FF000000003FC0FF00
+0000003F80FF000000007F80FF000000007F00FF00000000FF00FF00000000FE00FF0000
+0001FE00FF00000001FC007F00000003F8007F00000007F0007F00000007F0007F000000
+0FE0003F0000001FC0003F8000003F80001F8000003F00001FC000007E00000FC00000FC
+000007E00003F0000003F00007E0000001F8000F80000000FC003F000000003F01FC0000
+00001FFFE00000000001FF00000000353D74BA40>I<0007FFFFFFF8000007FFFFFFFF00
+0007FFFFFFFF8000000FF0003FE000000FE0000FF000000FE00003F800001FE00003F800
+001FE00001FC00001FC00001FC00001FC00001FC00003FC00001FE00003FC00001FE0000
+3F800001FE00003F800001FE00007F800001FE00007F800003FC00007F000003FC00007F
+000003FC0000FF000003F80000FF000007F80000FE000007F00000FE00000FE00001FE00
+000FE00001FE00001FC00001FC00003F800001FC0000FE000003FC0001FC000003FC000F
+F0000003FFFFFFC0000003FFFFFE00000007F8000000000007F8000000000007F0000000
+000007F000000000000FF000000000000FF000000000000FE000000000000FE000000000
+001FE000000000001FE000000000001FC000000000001FC000000000003FC00000000000
+3FC000000000003F8000000000003F8000000000007F8000000000007F8000000000007F
+0000000000007F000000000000FF000000000000FF000000000000FE000000000001FE00
+00000000FFFFFC00000000FFFFFC00000000FFFFFC0000000037397BB838>I<0003FFFF
+FFF0000003FFFFFFFE000003FFFFFFFF80000007F8003FC0000007F0000FF0000007F000
+07F000000FF00003F800000FF00001FC00000FE00001FC00000FE00001FC00001FE00001
+FE00001FE00001FE00001FC00001FE00001FC00001FE00003FC00001FE00003FC00003FC
+00003F800003FC00003F800003FC00007F800007F800007F800007F000007F00000FF000
+007F00000FE00000FF00001FC00000FF00003F000000FE0000FE000000FE0001F8000001
+FE000FE0000001FFFFFF80000001FFFFFC00000001FC003F00000003FC000F80000003FC
+000FC0000003F80007E0000003F80007F0000007F80003F0000007F80003F0000007F000
+03F0000007F00003F800000FF00007F800000FF00007F000000FE00007F000000FE00007
+F000001FE0000FF000001FE0000FF000001FC0000FF000001FC0000FF000003FC0000FF0
+00003FC0001FF000003F80001FE007003F80001FE007007F80001FE00F007F80001FE00E
+007F00001FE00E00FF00000FE01C7FFFFE000FE03CFFFFFE0007F078FFFFFE0003F0F000
+00000000FFE000000000003F80383B7CB83D>82 D<0000003FC00E000001FFF01C000007
+FFFC1C00001FC07E3C00003F001F7C00007C000FF80000F80007F80001F00003F80003E0
+0003F80007C00001F00007C00001F0000F800001F0000F800001F0001F800001E0001F00
+0001E0001F000001E0001F000001E0003F000001C0003F000001C0003F000001C0003F80
+000000003F80000000003FC0000000001FE0000000001FFC000000001FFF800000000FFF
+F00000000FFFFE00000007FFFF80000003FFFFE0000000FFFFF00000003FFFF800000007
+FFF8000000007FFC000000000FFC0000000003FC0000000001FC0000000001FC00000000
+00FC0000000000FC00000000007C000E0000007C000E0000007C000E0000007C001E0000
+00FC001E000000F8001E000000F8001E000000F8003E000001F0003E000001F0003E0000
+03E0003E000003E0007F000007C0007F00000F80007F80001F00007FC0003E0000F9F000
+FC0000F8FC03F80000F07FFFE00000E01FFF800000C003FC0000002F3D7ABA2F>I<07FF
+FFFFFFFFE007FFFFFFFFFFE00FFFFFFFFFFFE00FF800FF001FE00FC000FE0007C01F8000
+FE0007C01F0001FE0003C01E0001FE0003C01C0001FC0003C03C0001FC0003803C0003FC
+000380380003FC000380780003F8000380700003F8000780700007F8000780F00007F800
+0700E00007F0000700E00007F0000700E0000FF000070000000FF000000000000FE00000
+0000000FE000000000001FE000000000001FE000000000001FC000000000001FC0000000
+00003FC000000000003FC000000000003F8000000000003F8000000000007F8000000000
+007F8000000000007F0000000000007F000000000000FF000000000000FF000000000000
+FE000000000000FE000000000001FE000000000001FE000000000001FC000000000001FC
+000000000003FC000000000003FC000000000003F8000000000003F8000000000007F800
+0000000007F8000000000007F0000000000007F000000000000FF000000000000FF00000
+0000000FE000000000003FF0000000007FFFFFF8000000FFFFFFF8000000FFFFFFF80000
+00333971B83B>I<3FFFFF800FFFFE3FFFFF800FFFFE3FFFFF800FFFFE007F8000007F80
+007F0000003F00007F0000003E0000FF0000003C0000FF0000003C0000FE000000380000
+FE000000380001FE000000780001FE000000700001FC000000700001FC000000700003FC
+000000F00003FC000000E00003F8000000E00003F8000000E00007F8000001E00007F800
+0001C00007F0000001C00007F0000001C0000FF0000003C0000FF000000380000FE00000
+0380000FE000000380001FE000000780001FE000000700001FC000000700001FC0000007
+00003FC000000F00003FC000000E00003F8000000E00003F8000000E00007F8000001E00
+007F8000001C00007F0000001C00007F0000001C00007F0000003C0000FF000000380000
+FE000000380000FE000000780000FE000000700000FE000000700000FE000000F00000FE
+000001E00000FE000001C00000FE000003C000007E0000078000007E00000F0000007E00
+000E0000003F00003E0000001F80007C0000001F8000F00000000FC003E000000007F01F
+C000000001FFFF00000000007FFC00000000001FE000000000373B70B83E>I<FFFFF800
+03FFFEFFFFF80003FFFEFFFFF80003FFFC03FE0000007FC003FC0000003F0001FC000000
+3E0001FC0000003C0001FC000000380001FC000000700001FC000000700001FC000000E0
+0001FC000001E00001FC000001C00001FE000003800001FE000003800000FE0000070000
+00FE00000F000000FE00000E000000FE00001C000000FE00001C000000FE000038000000
+FE000038000000FE000070000000FE0000E0000000FE0000E0000000FF0001C00000007F
+0001C00000007F0003800000007F0007800000007F0007000000007F000E000000007F00
+0E000000007F001C000000007F003C000000007F0038000000007F0070000000007F8070
+000000003F80E0000000003F81E0000000003F81C0000000003F8380000000003F838000
+0000003F8700000000003F8700000000003F8E00000000003F9E00000000003F9C000000
+00003FF800000000003FF800000000001FF000000000001FF000000000001FE000000000
+001FC000000000001FC000000000001F8000000000001F8000000000001F000000000000
+1E0000000000001E0000000000373B6FB83E>I<FFFFF80FFFFF001FFFF0FFFFF80FFFFF
+003FFFF0FFFFF00FFFFF003FFFE007FE00007FE00003FE0003F800003F800001FC0003F8
+00003F800000F00003F800003F800000F00003F800003F800001E00003F800003F800001
+C00003F800003F800003C00003F800003F800003800003F800003F800007800003F80000
+7F800007000003F800007F80000E000003F80000FF80000E000003F80001FF80001C0000
+03F80001FF80001C000003F80003BF800038000003FC0003BF800038000001FC00073F80
+0070000001FC00073F800070000001FC000E3F8000E0000001FC000E3FC000E0000001FC
+001C1FC001C0000001FC001C1FC003C0000001FC00381FC00380000001FC00381FC00700
+000001FC00701FC00700000001FC00F01FC00E00000001FC00E01FC00E00000001FC01C0
+1FC01C00000001FC01C01FC01C00000001FC03801FC03800000001FC03801FC038000000
+01FC07001FC07000000001FC07001FC07000000001FC0E001FC0E000000001FC0E001FC1
+E000000001FC1C001FC1C000000001FC1C001FC38000000001FC38001FC38000000001FC
+78001FC70000000001FC70001FC70000000001FCE0001FCE0000000001FEE0001FCE0000
+000000FFC0001FDC0000000000FFC0001FDC0000000000FF80001FF80000000000FF8000
+1FF80000000000FF00001FF00000000000FF00000FF00000000000FE00000FE000000000
+00FE00000FC00000000000FC00000FC00000000000FC00000F800000000000F800000F80
+0000000000F000000F000000000000F000000F000000000000E000000E00000000004C3B
+6FB853>I<FFFFF80003FFFEFFFFF80003FFFEFFFFF80003FFFE03FE0000007FC001FE00
+00003F0001FE0000003E0001FE000000780000FE000000F00000FF000000E00000FF0000
+01C000007F000003C000007F8000078000007F8000070000007F80000E0000003F80001C
+0000003FC0003C0000003FC000780000001FC000700000001FE000E00000001FE001C000
+00000FE003C00000000FF007800000000FF007000000000FF00E0000000007F01C000000
+0007F83C0000000007F8780000000003F8F00000000003FCE00000000003FDC000000000
+01FF800000000001FF800000000001FF000000000001FE000000000000FC000000000001
+FC000000000001FC000000000001FC000000000001F8000000000003F8000000000003F8
+000000000003F8000000000003F0000000000007F0000000000007F0000000000007F000
+0000000007E000000000000FE000000000000FE000000000000FE000000000000FC00000
+0000001FC000000000001FC000000000003FC0000000001FFFFF800000003FFFFF800000
+003FFFFF8000000037396FB83E>89 D<FFFFFFFFFFFCFFFFFFFFFFFEFFFFFFFFFFFEFFFF
+FFFFFFFC2F047C7040>95 D<0000F800000007FE0000001F871C00003E03FE00007C03FE
+0000F801FE0001F801FE0003F000FC0007E000FC000FE000FC000FC001FC001FC001F800
+1FC001F8003F8001F8003F8003F8007F8003F0007F0003F0007F0003F0007F0007F000FF
+0007E000FE0007E000FE0007E000FE000FE000FE000FC000FC000FC1C0FC000FC1C0FC00
+1FC1C0FC001F83C0FC001F8380FC003F8380FC003F87807C007F87007C00FF07003E01FF
+0F003E038F8E001F0F079E0007FE03FC0001F000F000222677A42A>97
+D<003F00001FFF00001FFF00001FFF0000007F0000007E0000007E0000007E000000FE00
+0000FC000000FC000000FC000001FC000001F8000001F8000001F8000003F8000003F000
+0003F0000003F0000007F0000007E0F80007E7FE0007EF0F800FFC07C00FF807C00FF003
+E00FE003E01FC003F01FC003F01F8003F01F8003F03F8003F03F0003F03F0003F03F0007
+F07F0007F07E0007F07E0007F07E000FF0FE000FF0FC000FE0FC000FE0FC001FE0FC001F
+C0F8001FC0F8003F80F8003F80F8003F00F8007F00F8007E00F800FC007801F8007C01F0
+003C03E0003E07C0001E1F80000FFE000001F000001C3B77B926>I<00007F000003FFC0
+000FC1E0001F0070007E007800FC003801F801F803F003F807F003F807E003F80FE003F8
+1FC003F01FC000003F8000003F8000007F8000007F0000007F0000007F000000FF000000
+FE000000FE000000FE000000FE000000FC000000FC000000FC000000FC000030FC000038
+FC0000787C0000F07E0001E03E0003C03E000F801F003E000F81F80003FFE00000FF0000
+1D2677A426>I<00000001F8000000FFF8000000FFF8000000FFF800000003F800000003
+F000000003F000000007F000000007F000000007E000000007E00000000FE00000000FE0
+0000000FC00000000FC00000001FC00000001FC00000001F800000001F800000003F8000
+00003F800000F83F000007FE3F00001F877F00003E03FF00007C03FE0000F801FE0001F8
+01FE0003F000FE0007E000FC000FE000FC000FC001FC001FC001FC001FC001F8003F8001
+F8003F8003F8007F8003F8007F0003F0007F0003F0007F0007F000FF0007F000FE0007E0
+00FE0007E000FE000FE000FE000FE000FC000FC1C0FC000FC1C0FC001FC1C0FC001FC3C0
+FC001F8380FC003F8380FC003F87807C007F87007C00FF07003E01FF0F003E038F8E001F
+0F079E0007FE03FC0001F000F000253B77B92A>I<00007F000003FFC0000FC1E0003F00
+F0007E007800FC007801F8007803F0007807E000780FE000780FC000F81FC000F03F8001
+F03F8007E03F801F807F81FF007FFFF8007FFF80007F000000FF000000FE000000FE0000
+00FE000000FE000000FE000000FC000000FC000000FC0000307C0000387C0000787E0000
+F03E0001E03E0003C01F000F800F003E000781F80003FFE00000FF00001D2677A426>I<
+00000007C00000001FF00000003E380000007C3C000000F8FC000000F9FC000001F9FC00
+0001F1FC000003F1F8000003F0F0000003F000000007F000000007E000000007E0000000
+07E000000007E00000000FE00000000FC00000000FC00000000FC00000000FC00000001F
+C00000001F8000000FFFFFC0001FFFFFC0001FFFFF8000003F800000003F000000003F00
+0000003F000000003F000000007F000000007E000000007E000000007E000000007E0000
+0000FE00000000FC00000000FC00000000FC00000000FC00000001FC00000001F8000000
+01F800000001F800000001F800000003F800000003F000000003F000000003F000000003
+F000000007F000000007E000000007E000000007E000000007E00000000FE00000000FC0
+0000000FC00000000FC00000001FC00000001F800000001F800000001F800000001F0000
+00003F0000001C3F0000007E3E0000007E3E000000FE3C000000FE7C000000FE78000000
+F8F000000078F00000003FC00000000F80000000264C82BA19>I<000007C00000003FF0
+000000FC38E00001F01FF00003E01FF00007C00FF0000F800FF0001F8007F0003F0007E0
+007F0007E0007E000FE000FE000FE000FC000FC001FC000FC001FC001FC003FC001FC003
+F8001F8003F8001F8003F8003F8007F8003F8007F0003F0007F0003F0007F0007F0007F0
+007F0007E0007E0007E0007E0007E000FE0007E000FE0007E000FC0003E001FC0003E003
+FC0003E007FC0001F00FF80000F01FF80000787BF800003FF3F800000FC3F000000003F0
+00000007F000000007F000000007E000000007E00000000FE00000000FC0001C000FC000
+7E001FC0007E001F8000FE003F0000FE007E0000FE00FC00007801F800007C07E000001F
+FF80000003FE00000024367CA426>I<0003F0000001FFF0000001FFF0000001FFF00000
+0007F000000007E000000007E000000007E00000000FE00000000FC00000000FC0000000
+0FC00000001FC00000001F800000001F800000001F800000003F800000003F000000003F
+000000003F000000007F000000007E07F000007E1FFC00007E783E0000FFE01F0000FFC0
+1F8000FF800F8000FF000F8001FE000F8001FE000FC001FC000FC001F8001F8003F8001F
+8003F0001F8003F0001F8003F0003F8007F0003F0007E0003F0007E0003F0007E0007F00
+0FE0007E000FC0007E000FC000FE000FC000FC001FC000FC001F8001FC1C1F8001F81C1F
+8001F83C3F8003F8383F0003F0383F0003F0383F0003F0707F0003E0707E0003E0F07E00
+03E0E07E0003E1C0FE0001E380FC0000FF003800003C00263B7BB92A>I<0001C00007E0
+0007F0000FF0000FE00007E0000380000000000000000000000000000000000000000000
+00000000000000000000000000F00003FC00071E000E1F001C1F001C1F00381F00383F00
+703F00703F00707F00F07E00E07E00E0FE0000FC0000FC0001FC0001F80003F80003F800
+03F00007F00007E00007E0000FE0E00FC0E00FC1E01FC1C01F81C01F81C01F83801F0380
+1F07001F07001F0E000F1C0007F80001E000143879B619>I<0000000E0000003F000000
+7F0000007F0000007F0000007E0000001C00000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000001F8000007FC00000F1
+F00001C0F0000380F8000780F8000701F8000F01F8000E01F8001E01F8001C03F8003C03
+F8003803F0003803F0000007F0000007F0000007E0000007E000000FE000000FE000000F
+C000000FC000001FC000001FC000001F8000001F8000003F8000003F8000003F0000003F
+0000007F0000007F0000007E0000007E000000FE000000FE000000FC000000FC000001FC
+000001FC000001F8000001F8000003F8000003F0001C03F0007E07E0007E07E000FE0FC0
+00FE0F8000FE1F0000F83E0000787C00003FF000000FC00000204883B619>I<0003F000
+0001FFF0000001FFF0000001FFF000000007F000000007E000000007E000000007E00000
+000FE00000000FC00000000FC00000000FC00000001FC00000001F800000001F80000000
+1F800000003F800000003F000000003F000000003F000000007F000000007E000F80007E
+003FE0007E00F0E000FE01C1F000FC0387F000FC0707F000FC0E07F001FC1C07E001F838
+07E001F830038001F870000003F8E0000003F1C0000003F380000003FF00000007FC0000
+0007FE00000007FFC0000007E7F800000FE1FC00000FC07E00000FC07F00000FC03F0000
+1FC03F80001F801F81C01F801F81C01F801F83C03F803F83803F003F03803F003F03803F
+003F07807F003F07007E003E07007E001E0E007E001E1E00FE000F3C00FC0007F8003800
+01E000243B7BB926>I<000FC007FFC007FFC007FFC0001FC0001F80001F80003F80003F
+80003F00003F00007F00007F00007E00007E0000FE0000FE0000FC0000FC0001FC0001FC
+0001F80001F80003F80003F80003F00003F00007F00007F00007E00007E0000FE0000FE0
+000FC0000FC0001FC0001FC0001F80001F80003F80003F80003F00003F00007F00007F00
+007E0E007E0E00FE0E00FE1E00FC1C00FC1C00FC3C00FC3800F83800F878007870007CE0
+001FE0000F8000123B79B915>I<01E000FE0007F00007F803FF801FFC000E3C0F07C078
+3E001E3E3C03E1E01F001C1F7803F3C01F80383FF001F7800F80383FE001F7000F80783F
+C001FE000F80703FC001FE000FC0703F8001FC000FC0703F0003F8001F80F07F0003F800
+1F80E07E0003F0001F80E07E0003F0001F80007E0007F0003F8000FE0007F0003F0000FC
+0007E0003F0000FC0007E0003F0000FC000FE0007F0001FC000FE0007E0001F8000FC000
+7E0001F8000FC000FE0001F8001FC000FC0003F8001FC000FC0003F0001F8001FC1C03F0
+001F8001F81C03F0003F8001F83C07F0003F8003F83807E0003F0003F03807E0003F0003
+F03807E0007F0003F0700FE0007F0003E0700FC0007E0003E0F00FC0007E0003E0E00FC0
+00FE0003E1C01FC000FE0001E3C01F8000FC0000FF000700003800003C003E2679A444>
+I<01E000FE000007F803FF80000E3C0F07C0001E3E3C03E0001C1F7803F000383FF001F0
+00383FE001F000783FC001F000703FC001F800703F8001F800703F0003F000F07F0003F0
+00E07E0003F000E07E0003F000007E0007F00000FE0007E00000FC0007E00000FC0007E0
+0000FC000FE00001FC000FC00001F8000FC00001F8001FC00001F8001F800003F8001F80
+0003F0003F838003F0003F038003F0003F078007F0007F070007E0007E070007E0007E07
+0007E0007E0E000FE0007C0E000FC0007C1E000FC0007C1C000FC0007C38001FC0003C78
+001F80001FE000070000078000292679A42F>I<00007F000003FFC0000FC1F0001F00F8
+007E007C00FC007C01F8007E03F0003E07F0003F07E0003F0FE0003F1FC0003F1FC0003F
+3F80003F3F80007F7F80007F7F00007F7F00007F7F0000FFFF0000FFFE0000FEFE0000FE
+FE0001FEFE0001FCFC0001FCFC0003F8FC0003F8FC0007F0FC0007E0FC000FE07C000FC0
+7E001F803E003F003E007E001F00F8000F83F00003FFC00000FE0000202677A42A>I<00
+078007C000001FE03FF000003CF0787C000038F8E03E0000787FC03E0000707F801F0000
+70FF001F0000F0FE001F8000E0FE001F8000E0FC001F8001E1FC001F8001C1FC001F8001
+C1F8001F8001C1F8001F800003F8003F800003F8003F800003F0003F800003F0003F8000
+07F0007F800007F0007F800007E0007F000007E0007F00000FE000FF00000FE000FE0000
+0FC000FE00000FC001FC00001FC001FC00001FC001F800001F8003F800001F8003F00000
+3F8007E000003FC00FC000003FC00F8000003FE01F0000007FE03E0000007F70FC000000
+7E3FF00000007E0F80000000FE0000000000FE0000000000FC0000000000FC0000000001
+FC0000000001FC0000000001F80000000001F80000000003F80000000003F80000000003
+F00000000007F000000000FFFFC0000000FFFFC0000000FFFFC0000000293580A42A>I<
+0000F8030007FE07001F871F003E03BF007C03FE00F801FE01F801FE03F000FE07E000FC
+0FE000FC0FC000FC1FC001FC1FC001F83F8001F83F8001F87F8003F87F0003F07F0003F0
+7F0003F0FF0007F0FE0007E0FE0007E0FE0007E0FE000FE0FC000FC0FC000FC0FC000FC0
+FC001FC0FC001F80FC003F80FC003F807C007F807C00FF003E01FF003E03BF001F0F7F00
+07FE7E0001F07E0000007E000000FE000000FC000000FC000000FC000001FC000001F800
+0001F8000001F8000003F8000003F0000007F00001FFFFC001FFFFC001FFFFC0203577A4
+26>I<03C003F0000FF01FFC001E783C0F001C7C700F003C3EE03F80383FC03F80387F80
+3F80787F803F00707F003F00707F001C00F07E000000E0FE000000E0FC000000E0FC0000
+0000FC00000001FC00000001F800000001F800000001F800000003F800000003F0000000
+03F000000003F000000007F000000007E000000007E000000007E00000000FE00000000F
+C00000000FC00000000FC00000001FC00000001F800000001F800000001F800000003F80
+0000003F000000000E00000000212679A423>I<0000FE000007FF80000F83C0003E00E0
+007C00F00078007000F800F001F803F001F003F001F003F001F003E003F001C003F80000
+03FC000003FFC00001FFF80001FFFE0000FFFF00007FFF80003FFF80000FFFC00000FFC0
+00003FC000001FC000000FC03E000FC07E000FC0FE000F80FE000F80FE000F80FC001F00
+E0001F00F0003E0070007C003800F8001E03E0000FFFC00001FE00001C267AA422>I<00
+03800007C0000FC0000FC0000FC0000FC0001FC0001F80001F80001F80003F80003F0000
+3F00003F00007F00007E007FFFFF7FFFFFFFFFFF00FC0000FC0000FC0001FC0001F80001
+F80001F80003F80003F00003F00003F00007F00007E00007E00007E0000FE0000FC0000F
+C0000FC0001FC0001F801C1F801C1F803C3F80383F00783F00703F00F03F00E03F01C03E
+03C01F07800F0F0007FC0001F000183579B31C>I<00F800000003FE0001C0078F0003E0
+0E0F8007E01E0F8007E01C0F8007E0380F800FE0381F800FE0781F800FC0701F800FC070
+3F801FC0F03F001FC0E03F001F80E07F001F80007E003F80007E003F8000FE003F0000FC
+003F0000FC007F0001FC007F0001F8007E0001F8007E0001F800FE0003F800FE0003F000
+FC0E03F000FC0E03F001FC1E03F001FC1C03F001F81C03E001F81C03E001F83C03F003F8
+3803F007F83801F007F07001F01EF8F000F83C78E0003FF03FC0000FC00F00272679A42D
+>I<00F0000E0003FC003F00071E007F800E1F007F801C1F007F803C1F007F80381F003F
+80383F001F80703F000F80703F000F80707F000F80F07E000F00E07E000700E0FE000700
+00FC000F0000FC000E0001FC000E0001F8000E0001F8001E0003F8001C0003F0001C0003
+F0001C0003F0003C0007F000380007E000380007E000700007E000700007E000700007E0
+00E00007E000E00007E001C00007E003C00003E003800003F007000001F00E000000F83C
+0000007FF80000000FC00000212679A426>I<00F0000000070003FC0003801F80071E00
+07C03FC00E1F000FC03FC01C1F000FC03FC03C1F000FC03FC0381F001FC01FC0383F001F
+800FC0703F001F8007C0703F001F8007C0707F003F8007C0F07E003F800780E07E003F00
+0380E0FE003F00038000FC007F00078000FC007F00070001FC007E00070001F8007E0007
+0001F800FE000F0003F800FE000E0003F000FC000E0003F000FC000E0003F000FC001E00
+07F001FC001C0007E001F8001C0007E001F8003C0007E001F800380007E001F800380007
+E001F800780007E001F800700007E003F800F00007E003F800E00003E007F801E00003F0
+0FFC03C00001F01E7C07800000FC3C3E0F0000003FF81FFE0000000FE003F00000322679
+A437>I<0007E007C0001FF81FF800787C383C00F03E703C01E01EE0FE03C01FE0FE0380
+1FC0FE07001FC0FC0F001F80FC0E001F80700E003F80001E003F00001C003F00001C003F
+000000007F000000007F000000007E000000007E00000000FE00000000FE00000000FC00
+000000FC00000001FC00000001FC00000001F800700001F800700003F800F00003F800E0
+1C03F000E07E03F001E07E07F001C0FE07F00380FE0FF00780FE0EF00F00781CF81E0078
+387C3C003FF03FF00007C00FC00027267CA427>I<00F000000003FC0001C0071E0003E0
+0E1F0007E01C1F0007E03C1F0007E0381F000FE0383F000FC0703F000FC0703F000FC070
+7F001FC0F07E001F80E07E001F80E0FE001F8000FC003F8000FC003F0001FC003F0001F8
+003F0001F8007F0003F8007E0003F0007E0003F0007E0003F000FE0007F000FC0007E000
+FC0007E000FC0007E001FC0007E001F80007E001F80007E001F80007E003F80007E003F0
+0007E007F00003E00FF00003F01FF00001F87FE000007FF7E000001FC7E00000000FE000
+00000FC00000000FC00000001FC0003F001F80007F003F80007F003F00007F007E00007F
+007C00007E00FC00007001F800007003E000003807C000003C1F8000000FFE00000003F0
+000000233679A428>I<0003C00380000FF00780001FF80700003FFC0F00007FFC0E0000
+FFFE1E0000F83FFC0001F007F80001E000F00001C000E00001C001E000000003C0000000
+07800000000F000000001E000000003C000000007800000000F000000001E000000003C0
+00000007800000000F000000001E000000003C0000000078001C0000F0001C0001E0003C
+0003C00038000380007800078000F8000FF801F0001FFF07E0003E1FFFE0003C0FFFC000
+780FFF80007007FF0000F003FC0000E000F0000021267BA422>I
+E
 %EndDVIPSBitmapFont
 %DVIPSBitmapFont: Fd ectt1200 12 11
 /Fd 11 122 df<7FFFF8000000FFFFFC000000FFFFFE000000FFFFFE000000FFFFFC0000
@@ -730,8 +790,8 @@
 000000FFFFFF80000000FFFFFF80000000FFFFFF80000000FFFFFF800000007FFFFF0000
 0000344F7DB33D>112 D E
 %EndDVIPSBitmapFont
-%DVIPSBitmapFont: Ff ecss1000 10 54
-/Ff 54 122 df<FFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFF
+%DVIPSBitmapFont: Ff ecss1000 10 55
+/Ff 55 122 df<FFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFF
 FFFFFFC0FFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFC05205809853>22
 D<0001F807F00007FE07F0000FFE07F0001FFE07F0003FFE07F0007F0E07F0007E0207F0
 00FE00000000FC00000000FC00000001FC00000001FC00000001FC00000001FC00000001
@@ -1105,28 +1165,33 @@
 FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001
 FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001
 FCFE0003FCFE0003FCFE0007FCFF001FFC7F807FFC7FFFFFFC3FFFF9FC3FFFF1FC0FFFC1
-FC03FC00001E267AA42B>I<FE0001FE0001FC7F0001FE0001F87F0003FE0003F87F0003
-FE0003F87F8003DF0003F83F8003DF0007F03F8007DF0007F03F80079F8007F01FC0079F
-8007E01FC00F9F800FE01FC00F8F800FE00FE00F8FC00FC00FE00F0FC01FC00FE01F0FC0
-1FC00FE01F07E01FC007F01F07E01F8007F01E07E03F8007F03E07E03F8003F03E03F03F
-0003F83E03F03F0003F83C03F07F0001F87C03F07E0001F87C01F87E0001FC7C01F87E00
-01FC7801F8FE0000FCF800F8FC0000FCF800F8FC0000FCF000FCFC00007CF000FCF80000
-7CF0007DF800007EF0007DF800007EE0007DF800003EE0003DF000003FE0003FF000003F
-C0003FF000001FC0003FE000001FC0001FE00036257FA439>119
-D<7F80000FE03F80001FC01FC0003FC01FE0007F800FF0007F0007F000FE0003F801FC00
-01FC03FC0001FE03F80000FF07F000007F0FE000003F9FC000001FDFC000000FFF800000
-0FFF00000007FE00000003FC00000001FC00000001FC00000003FE00000007FE0000000F
-FF0000000FDF8000001F9FC000003F0FE000007F07F00000FE03F00000FC03F80001FC01
-FC0003F800FE0007F0007F000FF0007F000FE0003F801FC0001FC03F80001FE07F80000F
-F0FF000007F8252580A426>I<FF00000FE07F00001FC07F00001FC03F80001FC03F8000
-3F803FC0003F801FC0007F001FC0007F000FE0007F000FE000FE000FF000FE0007F000FC
-0007F001FC0003F801FC0003F801F80003FC03F80001FC03F80001FC03F00000FE07F000
-00FE07E000007E07E000007E0FE000007F0FC000003F0FC000003F0FC000001F9F800000
-1F9F8000001F9F0000000F9F0000000F9F000000079E00000007DE00000007DE00000003
-FC00000003FC00000001F800000001F800000001F800000001F000000003F000000003E0
-00000003E000000007E000000007C00000000FC00000000FC00000001F800000201F8000
-00383F0000003FFE0000003FFE0000003FFC0000003FF80000000FE000000023367FA426
->I E
+FC03FC00001E267AA42B>I<FF00000FE07F00001FC07F00001FC07F80001FC03F80003F
+803F80003F803FC0003F801FC0007F001FC0007F000FE0007E000FE000FE000FE000FE00
+07F001FC0007F001FC0007F001FC0003F803F80003F803F80003F803F80001FC03F00001
+FC07F00000FC07E00000FE07E00000FE0FE000007E0FC000007F0FC000007F1FC000003F
+1F8000003F1F8000003F9F8000001FBF0000001FBF0000001FBF0000000FBE0000000FFE
+00000007FC00000007FC00000007FC000023257FA426>I<FE0001FE0001FC7F0001FE00
+01F87F0003FE0003F87F0003FE0003F87F8003DF0003F83F8003DF0007F03F8007DF0007
+F03F80079F8007F01FC0079F8007E01FC00F9F800FE01FC00F8F800FE00FE00F8FC00FC0
+0FE00F0FC01FC00FE01F0FC01FC00FE01F07E01FC007F01F07E01F8007F01E07E03F8007
+F03E07E03F8003F03E03F03F0003F83E03F03F0003F83C03F07F0001F87C03F07E0001F8
+7C01F87E0001FC7C01F87E0001FC7801F8FE0000FCF800F8FC0000FCF800F8FC0000FCF0
+00FCFC00007CF000FCF800007CF0007DF800007EF0007DF800007EE0007DF800003EE000
+3DF000003FE0003FF000003FC0003FF000001FC0003FE000001FC0001FE00036257FA439
+>I<7F80000FE03F80001FC01FC0003FC01FE0007F800FF0007F0007F000FE0003F801FC
+0001FC03FC0001FE03F80000FF07F000007F0FE000003F9FC000001FDFC000000FFF8000
+000FFF00000007FE00000003FC00000001FC00000001FC00000003FE00000007FE000000
+0FFF0000000FDF8000001F9FC000003F0FE000007F07F00000FE03F00000FC03F80001FC
+01FC0003F800FE0007F0007F000FF0007F000FE0003F801FC0001FC03F80001FE07F8000
+0FF0FF000007F8252580A426>I<FF00000FE07F00001FC07F00001FC03F80001FC03F80
+003F803FC0003F801FC0007F001FC0007F000FE0007F000FE000FE000FF000FE0007F000
+FC0007F001FC0003F801FC0003F801F80003FC03F80001FC03F80001FC03F00000FE07F0
+0000FE07E000007E07E000007E0FE000007F0FC000003F0FC000003F0FC000001F9F8000
+001F9F8000001F9F0000000F9F0000000F9F000000079E00000007DE00000007DE000000
+03FC00000003FC00000001F800000001F800000001F800000001F000000003F000000003
+E000000003E000000007E000000007C00000000FC00000000FC00000001F800000201F80
+0000383F0000003FFE0000003FFE0000003FFC0000003FF80000000FE000000023367FA4
+26>I E
 %EndDVIPSBitmapFont
 %DVIPSBitmapFont: Fg ecrm0800 8 26
 /Fg 26 122 df<0000FF00000007FFE000001F80F000003E003800007C007C0000F800FC
@@ -1831,463 +1896,470 @@
 001F807C001F80FE001F80FE001F80FE001F00FC003F0078003E0070007C003800F8001F
 01F00007FFC00000FF000019277DA521>I E
 %EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fl ectt1000 10 69
-/Fl 69 123 df<3C001E007F007F00FF007F80FF007F80FF007F80FF007F80FF007F80FF
-007F807F007F007F007F007F007F007F007F007F007F007F007F007E003F007E003F007E
-003F007E003F007E003F007E003F003E003E003E003E003E003E003C001E001C001C0019
-1977B32C>34 D<0000380000FC0001FC0003FC0007F8000FF0001FC0003F80007F0000FE
-0001FC0003F80003F00007F00007E0000FE0000FC0001F80001F80003F80003F00003F00
-007F00007E00007E00007E0000FE0000FC0000FC0000FC0000FC0000FC0000FC0000FC00
-00FC0000FC0000FC0000FC0000FC0000FE00007E00007E00007E00007F00003F00003F00
-003F80001F80001F80000FC0000FE00007E00007F00003F00003F80001FC0000FE00007F
-00003F80001FC0000FF00007F80003FC0001FC0000FC000038164272B92C>40
-D<700000FC0000FE0000FF00007F80003FC0000FE00007F00003F80001FC0000FE00007F
-00003F00003F80001F80001FC0000FC00007E00007E00007F00003F00003F00003F80001
-F80001F80001F80001FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000
-FC0000FC0000FC0000FC0001FC0001F80001F80001F80003F80003F00003F00007F00007
-E00007E0000FC0001FC0001F80003F80003F00007F0000FE0001FC0003F80007F0000FE0
-003FC0007F8000FF0000FE0000FC0000700000164279B92C>I<000380000007C0000007
-C0000007C0000007C0000007C0000007C0002007C008F807C03EFE07C0FEFF07C1FEFFC7
-C7FEFFE7CFFE3FFFFFF80FFFFFE003FFFF8001FFFF00007FFC00007FFC0001FFFF0003FF
-FF800FFFFFE03FFFFFF8FFE7CFFEFFC7C7FEFF07C1FEFE07C0FEF807C03E2007C0080007
-C0000007C0000007C0000007C0000007C0000007C000000380001F247AAA2C>I<0F801F
-E03FF07FF87FF87FFC7FFC7FFC3FFC1FFC0FFC00FC00F800F801F803F007F01FE07FC0FF
-80FF00FC0070000E17718A2C>44 D<7FFFFFF0FFFFFFF8FFFFFFF8FFFFFFF87FFFFFF01D
-0579942C>I<1F003F807FC0FFE0FFE0FFE0FFE0FFE07FC03F801F000B0B708A2C>I<0000
-0007000000000F800000000F800000001F800000001F000000003F000000003E00000000
-7E000000007C000000007C00000000FC00000000F800000001F800000001F000000003F0
-00000003E000000007E000000007C00000000FC00000000F800000001F800000001F0000
-00003F000000003E000000003E000000007E000000007C00000000FC00000000F8000000
-01F800000001F000000003F000000003E000000007E000000007C00000000FC00000000F
-800000001F800000001F000000003F000000003E000000003E000000007E000000007C00
-000000FC00000000F800000001F800000001F000000003F000000003E000000007E00000
-0007C00000000FC00000000F800000001F800000001F000000001F000000003F00000000
-3E000000007E000000007C00000000FC00000000F800000000F800000000700000000021
-417BB92C>I<0003F80000000FFE0000003FFF8000007FFFC00000FFFFE00001FE0FF000
-03F803F80007F001FC0007E000FC000FC0007E000FC0007E001F80003F001F80003F003F
-00001F803F00001F803E00000F807E00000FC07E00000FC07E00000FC07C000007C0FC00
-0007E0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC0000
-07E0FC000007E0FC000007E0FC000007E0FC000007E0FE00000FE07E00000FC07E00000F
-C07E00000FC07E00000FC03F00001F803F00001F803F00001F801F80003F001F80003F00
-0FC0007E000FE000FE0007E000FC0007F001FC0003F803F80001FE0FF00000FFFFE00000
-7FFFC000003FFF8000000FFE00000003F8000023357CB32C>I<00070000000F8000000F
-8000001F8000001F8000003F8000007F800000FF800001FF800007FF80007FFF8000FFFF
-8000FFDF8000FF9F80007C1F8000001F8000001F8000001F8000001F8000001F8000001F
-8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F
-8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F
-8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80007FFF
-FFE0FFFFFFF0FFFFFFF0FFFFFFF07FFFFFE01C3477B32C>I<000FF80000007FFF800001
-FFFFE00007FFFFF0000FFFFFFC001FF80FFE003FE001FF003F80007F007F00003F807E00
-001F80FE00001FC0FE00000FC0FF00000FE0FF000007E0FF000007E0FF000007E07E0000
-07E03C000007E000000007E000000007E00000000FE00000000FC00000001FC00000001F
-800000003F800000003F000000007F00000000FE00000001FC00000003FC00000007F800
-00000FF00000001FE00000003FC0000000FF80000001FE00000003FC00000007F8000000
-0FF00000003FE00000007F80000000FF00000001FE00000003FC0003C007F80007E01FE0
-0007E03FC00007E07FFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE07FFFFFFFC023347C
-B32C>I<000FFC0000007FFF800001FFFFE00007FFFFF8000FFFFFFC001FF807FE001FC0
-00FE003F80007F003FC0003F003FC0003F803FC0001F803FC0001F801F80001F800F0000
-1F800000001F800000003F800000003F000000007F00000000FE00000001FE00000003FC
-0000001FF800001FFFF000003FFFE000003FFFE000003FFFF800001FFFFC00000007FE00
-000000FF000000007F000000003F800000001FC00000000FC00000000FC00000000FE000
-000007E000000007E03C000007E07E000007E0FF000007E0FF00000FE0FF00000FC0FF00
-000FC0FE00001FC07F00003F807F80007F003FC000FF001FF807FE000FFFFFFC0007FFFF
-F80003FFFFE000007FFF8000000FFC000023357CB32C>I<000007F00000000FF8000000
-1FF80000003FF80000003FF80000007EF80000007EF8000000FCF8000001F8F8000001F8
-F8000003F0F8000007E0F8000007E0F800000FC0F800001F80F800001F80F800003F00F8
-00007E00F800007E00F80000FC00F80001F800F80001F800F80003F000F80003E000F800
-07E000F8000FC000F8000FC000F8001F8000F8003F0000F8003F0000F8007E0000F800FC
-0000F800FFFFFFFFFCFFFFFFFFFEFFFFFFFFFEFFFFFFFFFE7FFFFFFFFC000000F8000000
-00F800000000F800000000F800000000F800000000F800000000F800000000F800000000
-F800000000F80000007FFFF00000FFFFF80000FFFFF80000FFFFF800007FFFF027347EB3
-2C>I<0FFFFFFE001FFFFFFF001FFFFFFF001FFFFFFF001FFFFFFE001F800000001F8000
-00001F800000001F800000001F800000001F800000001F800000001F800000001F800000
-001F800000001F800000001F800000001F800000001F83FE00001F9FFF80001FFFFFE000
-1FFFFFF8001FFFFFFC001FFE03FE001FF000FF001FC0007F001F80003F801F00001F800F
-00001FC00000000FC00000000FC000000007E000000007E000000007E000000007E03C00
-0007E07E000007E0FF000007E0FF00000FE0FF00000FC0FF00000FC0FE00001FC07E0000
-3F807F00007F003F8000FF003FC001FE001FF80FFC000FFFFFF80007FFFFF00001FFFFC0
-00007FFF0000000FF8000023347CB22C>I<00003FC0000001FFF8000007FFFC00001FFF
-FE00003FFFFF00007FE07F0000FF003F8001FE007F8003F8007F8007F0007F8007E0007F
-800FE0003F001FC0001E001F800000003F800000003F000000003F000000007F00000000
-7E000000007E03FE00007E1FFF8000FC7FFFE000FDFFFFF000FFFFFFF800FFFE07FC00FF
-F001FE00FFC0007F00FF80003F80FF00001F80FF00001FC0FE00000FC0FE00000FE0FE00
-0007E0FE000007E0FE000007E07E000007E07E000007E07E000007E07E000007E03F0000
-07E03F00000FE03F80000FC01F80001FC01FC0001F800FC0003F800FE0007F0007F801FE
-0003FE07FC0001FFFFF80000FFFFF000007FFFE000001FFF80000007FC000023357CB32C
->I<7800000000FFFFFFFFC0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFC0FC00003F
-80FC00007F00FC0000FE00780000FC00000001FC00000003F800000007F000000007E000
-00000FE00000000FC00000001F800000003F800000003F000000007F000000007E000000
-00FE00000000FC00000001FC00000001F800000001F800000003F000000003F000000007
-F000000007E000000007E000000007E00000000FC00000000FC00000000FC00000000FC0
-0000001F800000001F800000001F800000001F800000001F800000003F800000003F0000
-00003F000000003F000000003F000000003F000000003F000000003F000000003F000000
-003F000000003F000000001E00000023357CB32C>I<0007FC0000003FFF000000FFFFC0
-0001FFFFE00003FFFFF00007FC07F8000FF001FC001FE000FE003F80007E003F80007F00
-7F00003F007E00001F80FE00001F80FC00001F80FC00000FC0FC00000FC0FC00000FC0FC
-00000FC0FC00000FE0FC00000FE0FC00000FE0FE00000FE07E00000FE07F00001FE03F00
-001FE03F80003FE01FC0007FE00FF001FFE007FC0FFFE003FFFFFFE001FFFFF7E000FFFF
-C7E0003FFF0FE0000FF80FC00000000FC00000000FC00000001FC00000001F800000003F
-800000003F000F00007F001F80007E003FC000FE003FC001FC003FC003F8003FC007F800
-3F801FF0001FE07FE0001FFFFFC0000FFFFF000007FFFE000001FFF80000007FC0000023
-357CB32C>57 D<0000FE00000001FF00000001FF00000001FF00000001FF00000003FF80
-000003FF80000003EF80000003EF80000007EF80000007EFC0000007EFC0000007C7C000
-0007C7C000000FC7E000000FC7E000000FC7E000000FC3E000001F83F000001F83F00000
-1F83F000001F83F000001F83F000003F01F800003F01F800003F01F800003F01F800007E
-00FC00007E00FC00007E00FC00007E00FC00007E00FC0000FC007E0000FFFFFE0000FFFF
-FE0000FFFFFE0001FFFFFF0001FFFFFF0001F8003F0001F8003F0001F8003F0003F0001F
-8003F0001F8003F0001F8003F0001F8007F0001FC007E0000FC07FFE00FFFC7FFF01FFFC
-FFFF01FFFE7FFF01FFFC7FFE00FFFC27347EB32C>65 D<7FFFFFE0007FFFFFF800FFFFFF
-FE007FFFFFFF007FFFFFFFC003F0003FC003F0000FE003F00007F003F00003F003F00003
-F003F00001F803F00001F803F00001F803F00001F803F00001F803F00001F803F00003F0
-03F00003F003F00007F003F0000FE003F0001FC003F000FF8003FFFFFF0003FFFFFE0003
-FFFFFC0003FFFFFF0003FFFFFFC003F0001FE003F00007F003F00003F803F00001F803F0
-0000FC03F00000FC03F00000FE03F000007E03F000007E03F000007E03F000007E03F000
-007E03F000007E03F00000FE03F00000FC03F00001FC03F00003F803F0000FF803F0003F
-F07FFFFFFFE07FFFFFFFC0FFFFFFFF807FFFFFFE007FFFFFF00027337FB22C>I<0000FF
-00700007FFE0F8000FFFF9F8003FFFFDF8007FFFFFF800FF81FFF801FE007FF803FC001F
-F807F0000FF807F00007F80FE00007F80FC00003F81F800003F81F800001F83F000001F8
-3F000001F87F000001F87E000000F07E000000007E00000000FE00000000FC00000000FC
-00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00
-000000FC00000000FC00000000FE000000007E000000007E000000007E000000007F0000
-00F03F000001F83F000001F81F800001F81F800001F80FC00003F80FE00003F007F00007
-F007F00007E003FC001FE001FE003FC000FF81FF80007FFFFF00003FFFFE00000FFFFC00
-0007FFF0000000FF800025357DB32C>I<7FFFFF0000FFFFFFC000FFFFFFF000FFFFFFF8
-007FFFFFFC0007E003FE0007E000FF0007E0007F8007E0003F8007E0001FC007E0000FE0
-07E0000FE007E00007E007E00007F007E00003F007E00003F807E00001F807E00001F807
-E00001F807E00001F807E00000FC07E00000FC07E00000FC07E00000FC07E00000FC07E0
-0000FC07E00000FC07E00000FC07E00000FC07E00000FC07E00000FC07E00000FC07E000
-01F807E00001F807E00001F807E00003F807E00003F007E00003F007E00007F007E00007
-E007E0000FE007E0001FC007E0003FC007E0007F8007E000FF0007E003FE007FFFFFFC00
-FFFFFFF800FFFFFFF000FFFFFFC0007FFFFF000026337EB22C>I<7FFFFFFFF0FFFFFFFF
-F8FFFFFFFFF8FFFFFFFFF87FFFFFFFF803F00001F803F00001F803F00001F803F00001F8
-03F00001F803F00001F803F00001F803F00000F003F000000003F000000003F000000003
-F000000003F001E00003F003F00003F003F00003F003F00003F003F00003FFFFF00003FF
-FFF00003FFFFF00003FFFFF00003FFFFF00003F003F00003F003F00003F003F00003F003
-F00003F001E00003F000000003F000000003F000000003F000000003F000000003F00000
-3C03F000007E03F000007E03F000007E03F000007E03F000007E03F000007E03F000007E
-03F000007E7FFFFFFFFEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFE7FFFFFFFFC27337EB22C>
-I<7FFFFFFFF8FFFFFFFFFCFFFFFFFFFCFFFFFFFFFC7FFFFFFFFC03F00000FC03F00000FC
-03F00000FC03F00000FC03F00000FC03F00000FC03F00000FC03F000007803F000000003
-F000000003F000000003F000000003F000000003F000F00003F001F80003F001F80003F0
-01F80003F001F80003FFFFF80003FFFFF80003FFFFF80003FFFFF80003FFFFF80003F001
-F80003F001F80003F001F80003F001F80003F000F00003F000000003F000000003F00000
-0003F000000003F000000003F000000003F000000003F000000003F000000003F0000000
-03F000000003F000000003F00000007FFFE00000FFFFE00000FFFFF00000FFFFE000007F
-FFE0000026337EB22C>I<0001FC0380000FFF87C0001FFFEFC0007FFFFFC000FFFFFFC0
-01FF07FFC003FC01FFC003F800FFC007F0007FC00FE0003FC00FC0001FC01FC0001FC01F
-80001FC03F80000FC03F00000FC03F00000FC07E00000FC07E000007807E000000007E00
-000000FE00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC0000
-0000FC00000000FC00000000FC0003FFF8FC0007FFFCFC0007FFFCFE0007FFFC7E0003FF
-F87E00000FC07E00000FC07E00000FC03F00001FC03F00001FC03F80001FC01F80001FC0
-1FC0003FC00FC0003FC00FE0007FC007F0007FC003F800FFC003FC01FFC001FF07FFC000
-FFFFFFC0007FFFEFC0001FFFCFC0000FFF07800001FC000026357DB32C>I<7FFE00FFFC
-FFFF01FFFEFFFF01FFFEFFFF01FFFE7FFE00FFFC07E0000FC007E0000FC007E0000FC007
-E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0
-000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007FFFF
-FFC007FFFFFFC007FFFFFFC007FFFFFFC007FFFFFFC007E0000FC007E0000FC007E0000F
-C007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC0
-07E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007
-E0000FC007E0000FC07FFE00FFFCFFFF01FFFEFFFF01FFFEFFFF01FFFE7FFE00FFFC2733
-7EB22C>I<7FFFFFF8FFFFFFFCFFFFFFFCFFFFFFFC7FFFFFF8000FC000000FC000000FC0
-00000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0
-00000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0
-00000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0
-00000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0
-00000FC000000FC0007FFFFFF8FFFFFFFCFFFFFFFCFFFFFFFC7FFFFFF81E3379B22C>I<
-7FFC007FF8FFFE00FFFCFFFE00FFFCFFFE00FFFC7FFC007FF807C0001F8007C0003F8007
-C0007F0007C0007E0007C000FC0007C001F80007C003F80007C007F00007C007E00007C0
-0FC00007C01F800007C03F800007C07F000007C07E000007C0FC000007C1F8000007C3F8
-000007C7FC000007C7FC000007CFFE000007DFBE000007FFBF000007FF1F000007FE1F80
-0007FC0FC00007F80FC00007F807E00007F003E00007E003F00007C001F00007C001F800
-07C000FC0007C000FC0007C0007E0007C0003E0007C0003F0007C0001F0007C0001F8007
-C0000FC007C0000FC007C00007E07FFC001FFCFFFE003FFEFFFE003FFEFFFE003FFE7FFC
-001FFC27337EB22C>75 D<7FFFE00000FFFFF00000FFFFF00000FFFFF000007FFFE00000
+%DVIPSBitmapFont: Fl ectt1000 10 71
+/Fl 71 123 df<007000001C01F800007E03F80000FE07F80001FE0FF00003FC1FC00007
+F03F80000FE03F00000FC07E00001F807C00001F00FC00003F00F800003E00FFC0003FF0
+FFE0003FF8FFF0003FFCFFF8003FFEFFF8003FFEFFF8003FFE7FF8001FFE7FF8001FFE3F
+F0000FFC1FE00007F807C00001F027177FB22C>16 D<1F000007C03FC0000FF07FE0001F
+F8FFF0003FFCFFF0003FFCFFF8003FFEFFF8003FFEFFF8003FFE7FF8001FFE3FF8000FFE
+1FF80007FE00F800003E01F800007E01F000007C03F00000FC07E00001F80FE00003F81F
+C00007F07F80001FE0FF00003FC0FE00003F80FC00003F007000001C0027177DB22C>I<
+3C001E007F007F00FF007F80FF007F80FF007F80FF007F80FF007F80FF007F807F007F00
+7F007F007F007F007F007F007F007F007F007F007E003F007E003F007E003F007E003F00
+7E003F007E003F003E003E003E003E003E003E003C001E001C001C00191977B32C>34
+D<0000380000FC0001FC0003FC0007F8000FF0001FC0003F80007F0000FE0001FC0003F8
+0003F00007F00007E0000FE0000FC0001F80001F80003F80003F00003F00007F00007E00
+007E00007E0000FE0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC00
+00FC0000FC0000FC0000FE00007E00007E00007E00007F00003F00003F00003F80001F80
+001F80000FC0000FE00007E00007F00003F00003F80001FC0000FE00007F00003F80001F
+C0000FF00007F80003FC0001FC0000FC000038164272B92C>40 D<700000FC0000FE0000
+FF00007F80003FC0000FE00007F00003F80001FC0000FE00007F00003F00003F80001F80
+001FC0000FC00007E00007E00007F00003F00003F00003F80001F80001F80001F80001FC
+0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC
+0001FC0001F80001F80001F80003F80003F00003F00007F00007E00007E0000FC0001FC0
+001F80003F80003F00007F0000FE0001FC0003F80007F0000FE0003FC0007F8000FF0000
+FE0000FC0000700000164279B92C>I<000380000007C0000007C0000007C0000007C000
+0007C0000007C0002007C008F807C03EFE07C0FEFF07C1FEFFC7C7FEFFE7CFFE3FFFFFF8
+0FFFFFE003FFFF8001FFFF00007FFC00007FFC0001FFFF0003FFFF800FFFFFE03FFFFFF8
+FFE7CFFEFFC7C7FEFF07C1FEFE07C0FEF807C03E2007C0080007C0000007C0000007C000
+0007C0000007C0000007C000000380001F247AAA2C>I<0F801FE03FF07FF87FF87FFC7F
+FC7FFC3FFC1FFC0FFC00FC00F800F801F803F007F01FE07FC0FF80FF00FC0070000E1771
+8A2C>44 D<7FFFFFF0FFFFFFF8FFFFFFF8FFFFFFF87FFFFFF01D0579942C>I<1F003F80
+7FC0FFE0FFE0FFE0FFE0FFE07FC03F801F000B0B708A2C>I<00000007000000000F8000
+00000F800000001F800000001F000000003F000000003E000000007E000000007C000000
+007C00000000FC00000000F800000001F800000001F000000003F000000003E000000007
+E000000007C00000000FC00000000F800000001F800000001F000000003F000000003E00
+0000003E000000007E000000007C00000000FC00000000F800000001F800000001F00000
+0003F000000003E000000007E000000007C00000000FC00000000F800000001F80000000
+1F000000003F000000003E000000003E000000007E000000007C00000000FC00000000F8
+00000001F800000001F000000003F000000003E000000007E000000007C00000000FC000
+00000F800000001F800000001F000000001F000000003F000000003E000000007E000000
+007C00000000FC00000000F800000000F800000000700000000021417BB92C>I<0003F8
+0000000FFE0000003FFF8000007FFFC00000FFFFE00001FE0FF00003F803F80007F001FC
+0007E000FC000FC0007E000FC0007E001F80003F001F80003F003F00001F803F00001F80
+3E00000F807E00000FC07E00000FC07E00000FC07C000007C0FC000007E0FC000007E0FC
+000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC00
+0007E0FC000007E0FC000007E0FE00000FE07E00000FC07E00000FC07E00000FC07E0000
+0FC03F00001F803F00001F803F00001F801F80003F001F80003F000FC0007E000FE000FE
+0007E000FC0007F001FC0003F803F80001FE0FF00000FFFFE000007FFFC000003FFF8000
+000FFE00000003F8000023357CB32C>I<00070000000F8000000F8000001F8000001F80
+00003F8000007F800000FF800001FF800007FF80007FFF8000FFFF8000FFDF8000FF9F80
+007C1F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80
+00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80
+00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80
+00001F8000001F8000001F8000001F8000001F8000001F80007FFFFFE0FFFFFFF0FFFFFF
+F0FFFFFFF07FFFFFE01C3477B32C>I<000FF80000007FFF800001FFFFE00007FFFFF000
+0FFFFFFC001FF80FFE003FE001FF003F80007F007F00003F807E00001F80FE00001FC0FE
+00000FC0FF00000FE0FF000007E0FF000007E0FF000007E07E000007E03C000007E00000
+0007E000000007E00000000FE00000000FC00000001FC00000001F800000003F80000000
+3F000000007F00000000FE00000001FC00000003FC00000007F80000000FF00000001FE0
+0000003FC0000000FF80000001FE00000003FC00000007F80000000FF00000003FE00000
+007F80000000FF00000001FE00000003FC0003C007F80007E01FE00007E03FC00007E07F
+FFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE07FFFFFFFC023347CB32C>I<000FFC0000
+007FFF800001FFFFE00007FFFFF8000FFFFFFC001FF807FE001FC000FE003F80007F003F
+C0003F003FC0003F803FC0001F803FC0001F801F80001F800F00001F800000001F800000
+003F800000003F000000007F00000000FE00000001FE00000003FC0000001FF800001FFF
+F000003FFFE000003FFFE000003FFFF800001FFFFC00000007FE00000000FF000000007F
+000000003F800000001FC00000000FC00000000FC00000000FE000000007E000000007E0
+3C000007E07E000007E0FF000007E0FF00000FE0FF00000FC0FF00000FC0FE00001FC07F
+00003F807F80007F003FC000FF001FF807FE000FFFFFFC0007FFFFF80003FFFFE000007F
+FF8000000FFC000023357CB32C>I<000007F00000000FF80000001FF80000003FF80000
+003FF80000007EF80000007EF8000000FCF8000001F8F8000001F8F8000003F0F8000007
+E0F8000007E0F800000FC0F800001F80F800001F80F800003F00F800007E00F800007E00
+F80000FC00F80001F800F80001F800F80003F000F80003E000F80007E000F8000FC000F8
+000FC000F8001F8000F8003F0000F8003F0000F8007E0000F800FC0000F800FFFFFFFFFC
+FFFFFFFFFEFFFFFFFFFEFFFFFFFFFE7FFFFFFFFC000000F800000000F800000000F80000
+0000F800000000F800000000F800000000F800000000F800000000F800000000F8000000
+7FFFF00000FFFFF80000FFFFF80000FFFFF800007FFFF027347EB32C>I<0FFFFFFE001F
+FFFFFF001FFFFFFF001FFFFFFF001FFFFFFE001F800000001F800000001F800000001F80
+0000001F800000001F800000001F800000001F800000001F800000001F800000001F8000
+00001F800000001F800000001F83FE00001F9FFF80001FFFFFE0001FFFFFF8001FFFFFFC
+001FFE03FE001FF000FF001FC0007F001F80003F801F00001F800F00001FC00000000FC0
+0000000FC000000007E000000007E000000007E000000007E03C000007E07E000007E0FF
+000007E0FF00000FE0FF00000FC0FF00000FC0FE00001FC07E00003F807F00007F003F80
+00FF003FC001FE001FF80FFC000FFFFFF80007FFFFF00001FFFFC000007FFF0000000FF8
+000023347CB22C>I<00003FC0000001FFF8000007FFFC00001FFFFE00003FFFFF00007F
+E07F0000FF003F8001FE007F8003F8007F8007F0007F8007E0007F800FE0003F001FC000
+1E001F800000003F800000003F000000003F000000007F000000007E000000007E03FE00
+007E1FFF8000FC7FFFE000FDFFFFF000FFFFFFF800FFFE07FC00FFF001FE00FFC0007F00
+FF80003F80FF00001F80FF00001FC0FE00000FC0FE00000FE0FE000007E0FE000007E0FE
+000007E07E000007E07E000007E07E000007E07E000007E03F000007E03F00000FE03F80
+000FC01F80001FC01FC0001F800FC0003F800FE0007F0007F801FE0003FE07FC0001FFFF
+F80000FFFFF000007FFFE000001FFF80000007FC000023357CB32C>I<7800000000FFFF
+FFFFC0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFC0FC00003F80FC00007F00FC0000
+FE00780000FC00000001FC00000003F800000007F000000007E00000000FE00000000FC0
+0000001F800000003F800000003F000000007F000000007E00000000FE00000000FC0000
+0001FC00000001F800000001F800000003F000000003F000000007F000000007E0000000
+07E000000007E00000000FC00000000FC00000000FC00000000FC00000001F800000001F
+800000001F800000001F800000001F800000003F800000003F000000003F000000003F00
+0000003F000000003F000000003F000000003F000000003F000000003F000000003F0000
+00001E00000023357CB32C>I<0007FC0000003FFF000000FFFFC00001FFFFE00003FFFF
+F00007FC07F8000FF001FC001FE000FE003F80007E003F80007F007F00003F007E00001F
+80FE00001F80FC00001F80FC00000FC0FC00000FC0FC00000FC0FC00000FC0FC00000FE0
+FC00000FE0FC00000FE0FE00000FE07E00000FE07F00001FE03F00001FE03F80003FE01F
+C0007FE00FF001FFE007FC0FFFE003FFFFFFE001FFFFF7E000FFFFC7E0003FFF0FE0000F
+F80FC00000000FC00000000FC00000001FC00000001F800000003F800000003F000F0000
+7F001F80007E003FC000FE003FC001FC003FC003F8003FC007F8003F801FF0001FE07FE0
+001FFFFFC0000FFFFF000007FFFE000001FFF80000007FC0000023357CB32C>57
+D<0000FE00000001FF00000001FF00000001FF00000001FF00000003FF80000003FF8000
+0003EF80000003EF80000007EF80000007EFC0000007EFC0000007C7C0000007C7C00000
+0FC7E000000FC7E000000FC7E000000FC3E000001F83F000001F83F000001F83F000001F
+83F000001F83F000003F01F800003F01F800003F01F800003F01F800007E00FC00007E00
+FC00007E00FC00007E00FC00007E00FC0000FC007E0000FFFFFE0000FFFFFE0000FFFFFE
+0001FFFFFF0001FFFFFF0001F8003F0001F8003F0001F8003F0003F0001F8003F0001F80
+03F0001F8003F0001F8007F0001FC007E0000FC07FFE00FFFC7FFF01FFFCFFFF01FFFE7F
+FF01FFFC7FFE00FFFC27347EB32C>65 D<7FFFFFE0007FFFFFF800FFFFFFFE007FFFFFFF
+007FFFFFFFC003F0003FC003F0000FE003F00007F003F00003F003F00003F003F00001F8
+03F00001F803F00001F803F00001F803F00001F803F00001F803F00003F003F00003F003
+F00007F003F0000FE003F0001FC003F000FF8003FFFFFF0003FFFFFE0003FFFFFC0003FF
+FFFF0003FFFFFFC003F0001FE003F00007F003F00003F803F00001F803F00000FC03F000
+00FC03F00000FE03F000007E03F000007E03F000007E03F000007E03F000007E03F00000
+7E03F00000FE03F00000FC03F00001FC03F00003F803F0000FF803F0003FF07FFFFFFFE0
+7FFFFFFFC0FFFFFFFF807FFFFFFE007FFFFFF00027337FB22C>I<0000FF00700007FFE0
+F8000FFFF9F8003FFFFDF8007FFFFFF800FF81FFF801FE007FF803FC001FF807F0000FF8
+07F00007F80FE00007F80FC00003F81F800003F81F800001F83F000001F83F000001F87F
+000001F87E000000F07E000000007E00000000FE00000000FC00000000FC00000000FC00
+000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC0000
+0000FC00000000FE000000007E000000007E000000007E000000007F000000F03F000001
+F83F000001F81F800001F81F800001F80FC00003F80FE00003F007F00007F007F00007E0
+03FC001FE001FE003FC000FF81FF80007FFFFF00003FFFFE00000FFFFC000007FFF00000
+00FF800025357DB32C>I<7FFFFF0000FFFFFFC000FFFFFFF000FFFFFFF8007FFFFFFC00
+07E003FE0007E000FF0007E0007F8007E0003F8007E0001FC007E0000FE007E0000FE007
+E00007E007E00007F007E00003F007E00003F807E00001F807E00001F807E00001F807E0
+0001F807E00000FC07E00000FC07E00000FC07E00000FC07E00000FC07E00000FC07E000
+00FC07E00000FC07E00000FC07E00000FC07E00000FC07E00000FC07E00001F807E00001
+F807E00001F807E00003F807E00003F007E00003F007E00007F007E00007E007E0000FE0
+07E0001FC007E0003FC007E0007F8007E000FF0007E003FE007FFFFFFC00FFFFFFF800FF
+FFFFF000FFFFFFC0007FFFFF000026337EB22C>I<7FFFFFFFF0FFFFFFFFF8FFFFFFFFF8
+FFFFFFFFF87FFFFFFFF803F00001F803F00001F803F00001F803F00001F803F00001F803
+F00001F803F00001F803F00000F003F000000003F000000003F000000003F000000003F0
+01E00003F003F00003F003F00003F003F00003F003F00003FFFFF00003FFFFF00003FFFF
+F00003FFFFF00003FFFFF00003F003F00003F003F00003F003F00003F003F00003F001E0
+0003F000000003F000000003F000000003F000000003F000000003F000003C03F000007E
+03F000007E03F000007E03F000007E03F000007E03F000007E03F000007E03F000007E7F
+FFFFFFFEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFE7FFFFFFFFC27337EB22C>I<7FFFFFFFF8
+FFFFFFFFFCFFFFFFFFFCFFFFFFFFFC7FFFFFFFFC03F00000FC03F00000FC03F00000FC03
+F00000FC03F00000FC03F00000FC03F00000FC03F000007803F000000003F000000003F0
+00000003F000000003F000000003F000F00003F001F80003F001F80003F001F80003F001
+F80003FFFFF80003FFFFF80003FFFFF80003FFFFF80003FFFFF80003F001F80003F001F8
+0003F001F80003F001F80003F000F00003F000000003F000000003F000000003F0000000
 03F000000003F000000003F000000003F000000003F000000003F000000003F000000003
+F000000003F00000007FFFE00000FFFFE00000FFFFF00000FFFFE000007FFFE000002633
+7EB22C>I<0001FC0380000FFF87C0001FFFEFC0007FFFFFC000FFFFFFC001FF07FFC003
+FC01FFC003F800FFC007F0007FC00FE0003FC00FC0001FC01FC0001FC01F80001FC03F80
+000FC03F00000FC03F00000FC07E00000FC07E000007807E000000007E00000000FE0000
+0000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC000000
+00FC00000000FC0003FFF8FC0007FFFCFC0007FFFCFE0007FFFC7E0003FFF87E00000FC0
+7E00000FC07E00000FC03F00001FC03F00001FC03F80001FC01F80001FC01FC0003FC00F
+C0003FC00FE0007FC007F0007FC003F800FFC003FC01FFC001FF07FFC000FFFFFFC0007F
+FFEFC0001FFFCFC0000FFF07800001FC000026357DB32C>I<7FFE00FFFCFFFF01FFFEFF
+FF01FFFEFFFF01FFFE7FFE00FFFC07E0000FC007E0000FC007E0000FC007E0000FC007E0
+000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E000
+0FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007FFFFFFC007FFFFFF
+C007FFFFFFC007FFFFFFC007FFFFFFC007E0000FC007E0000FC007E0000FC007E0000FC0
+07E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007
+E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0
+000FC07FFE00FFFCFFFF01FFFEFFFF01FFFEFFFF01FFFE7FFE00FFFC27337EB22C>I<7F
+FFFFF8FFFFFFFCFFFFFFFCFFFFFFFC7FFFFFF8000FC000000FC000000FC000000FC00000
+0FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC00000
+0FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC00000
+0FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC00000
+0FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC00000
+0FC0007FFFFFF8FFFFFFFCFFFFFFFCFFFFFFFC7FFFFFF81E3379B22C>I<7FFC007FF8FF
+FE00FFFCFFFE00FFFCFFFE00FFFC7FFC007FF807C0001F8007C0003F8007C0007F0007C0
+007E0007C000FC0007C001F80007C003F80007C007F00007C007E00007C00FC00007C01F
+800007C03F800007C07F000007C07E000007C0FC000007C1F8000007C3F8000007C7FC00
+0007C7FC000007CFFE000007DFBE000007FFBF000007FF1F000007FE1F800007FC0FC000
+07F80FC00007F807E00007F003E00007E003F00007C001F00007C001F80007C000FC0007
+C000FC0007C0007E0007C0003E0007C0003F0007C0001F0007C0001F8007C0000FC007C0
+000FC007C00007E07FFC001FFCFFFE003FFEFFFE003FFEFFFE003FFE7FFC001FFC27337E
+B22C>75 D<7FFFE00000FFFFF00000FFFFF00000FFFFF000007FFFE0000003F000000003
 F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0
 00000003F000000003F000000003F000000003F000000003F000000003F000000003F000
 000003F000000003F000000003F000000003F000000003F000000003F000000003F00000
-0003F000000003F000000003F000000003F00000F003F00001F803F00001F803F00001F8
-03F00001F803F00001F803F00001F803F00001F803F00001F87FFFFFFFF8FFFFFFFFF8FF
-FFFFFFF8FFFFFFFFF87FFFFFFFF025337DB22C>I<7FE0000FFCFFF0001FFEFFF0001FFE
-FFF8003FFE7FF8003FFC0FF8003FE00FBC007BE00FBC007BE00FBC007BE00FBC007BE00F
-9E00F3E00F9E00F3E00F9E00F3E00F9F01F3E00F9F01F3E00F8F01E3E00F8F01E3E00F8F
-83E3E00F8F83E3E00F8783C3E00F87C7C3E00F87C7C3E00F83C783E00F83C783E00F83EF
-83E00F83EF83E00F81EF03E00F81EF03E00F81FF03E00F80FE03E00F80FE03E00F80FE03
-E00F807C03E00F803803E00F800003E00F800003E00F800003E00F800003E00F800003E0
-0F800003E00F800003E00F800003E00F800003E00F800003E00F800003E00F800003E07F
-F0001FFCFFF8003FFEFFF8003FFEFFF8003FFE7FF0001FFC27337EB22C>I<7FF0007FFC
-FFF800FFFEFFF800FFFEFFFC00FFFE7FFC007FFC07FE0007C007DE0007C007DE0007C007
-DF0007C007CF0007C007CF0007C007CF8007C007C78007C007C7C007C007C7C007C007C3
-C007C007C3E007C007C3E007C007C1E007C007C1F007C007C1F007C007C0F007C007C0F8
-07C007C0F807C007C07C07C007C07C07C007C07C07C007C03E07C007C03E07C007C01E07
-C007C01F07C007C01F07C007C00F07C007C00F87C007C00F87C007C00787C007C007C7C0
-07C007C7C007C003C7C007C003E7C007C001E7C007C001E7C007C001F7C007C000F7C007
-C000F7C007C000FFC07FFC007FC0FFFE007FC0FFFE003FC0FFFE003FC07FFC001F802733
-7EB22C>I<007FFF000003FFFFE0000FFFFFF8001FFFFFFC003FFFFFFE003FE003FE003F
-8000FE007F00007F007F00007F007E00003F007E00003F007E00003F00FE00003F80FC00
-001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC0000
+0003F000000003F000000003F000000003F000000003F000000003F000000003F0000000
+03F000000003F000000003F00000F003F00001F803F00001F803F00001F803F00001F803
+F00001F803F00001F803F00001F803F00001F87FFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFF
+FFFFF87FFFFFFFF025337DB22C>I<7FE0000FFCFFF0001FFEFFF0001FFEFFF8003FFE7F
+F8003FFC0FF8003FE00FBC007BE00FBC007BE00FBC007BE00FBC007BE00F9E00F3E00F9E
+00F3E00F9E00F3E00F9F01F3E00F9F01F3E00F8F01E3E00F8F01E3E00F8F83E3E00F8F83
+E3E00F8783C3E00F87C7C3E00F87C7C3E00F83C783E00F83C783E00F83EF83E00F83EF83
+E00F81EF03E00F81EF03E00F81FF03E00F80FE03E00F80FE03E00F80FE03E00F807C03E0
+0F803803E00F800003E00F800003E00F800003E00F800003E00F800003E00F800003E00F
+800003E00F800003E00F800003E00F800003E00F800003E00F800003E07FF0001FFCFFF8
+003FFEFFF8003FFEFFF8003FFE7FF0001FFC27337EB22C>I<7FF0007FFCFFF800FFFEFF
+F800FFFEFFFC00FFFE7FFC007FFC07FE0007C007DE0007C007DE0007C007DF0007C007CF
+0007C007CF0007C007CF8007C007C78007C007C7C007C007C7C007C007C3C007C007C3E0
+07C007C3E007C007C1E007C007C1F007C007C1F007C007C0F007C007C0F807C007C0F807
+C007C07C07C007C07C07C007C07C07C007C03E07C007C03E07C007C01E07C007C01F07C0
+07C01F07C007C00F07C007C00F87C007C00F87C007C00787C007C007C7C007C007C7C007
+C003C7C007C003E7C007C001E7C007C001E7C007C001F7C007C000F7C007C000F7C007C0
+00FFC07FFC007FC0FFFE007FC0FFFE003FC0FFFE003FC07FFC001F8027337EB22C>I<00
+7FFF000003FFFFE0000FFFFFF8001FFFFFFC003FFFFFFE003FE003FE003F8000FE007F00
+007F007F00007F007E00003F007E00003F007E00003F00FE00003F80FC00001F80FC0000
 1F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F
 80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80
-FC00001F80FC00001F80FC00001F80FC00001F80FE00003F80FE00003F807E00003F007E
-00003F007E00003F007F00007F007F00007F003F8000FE003FF007FE003FFFFFFE001FFF
-FFFC000FFFFFF80003FFFFE000007FFF000021357BB32C>I<7FFFFFC000FFFFFFF800FF
-FFFFFC00FFFFFFFF007FFFFFFF8003F000FFC003F0003FC003F0000FE003F00007F003F0
-0007F003F00003F003F00003F803F00001F803F00001F803F00001F803F00001F803F000
-01F803F00001F803F00003F803F00003F003F00007F003F00007F003F0000FE003F0003F
-C003F000FFC003FFFFFF8003FFFFFF0003FFFFFC0003FFFFF80003FFFFC00003F0000000
-03F000000003F000000003F000000003F000000003F000000003F000000003F000000003
+FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC
+00001F80FC00001F80FC00001F80FE00003F80FE00003F807E00003F007E00003F007E00
+003F007F00007F007F00007F003F8000FE003FF007FE003FFFFFFE001FFFFFFC000FFFFF
+F80003FFFFE000007FFF000021357BB32C>I<7FFFFFC000FFFFFFF800FFFFFFFC00FFFF
+FFFF007FFFFFFF8003F000FFC003F0003FC003F0000FE003F00007F003F00007F003F000
+03F003F00003F803F00001F803F00001F803F00001F803F00001F803F00001F803F00001
+F803F00003F803F00003F003F00007F003F00007F003F0000FE003F0003FC003F000FFC0
+03FFFFFF8003FFFFFF0003FFFFFC0003FFFFF80003FFFFC00003F000000003F000000003
 F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0
-0000007FFF800000FFFFC00000FFFFC00000FFFFC000007FFF80000025337EB22C>I<7F
-FFFC000000FFFFFF800000FFFFFFE00000FFFFFFF800007FFFFFFC000007E007FE000007
-E001FE000007E0007F000007E0003F800007E0001F800007E0001F800007E0000FC00007
-E0000FC00007E0000FC00007E0000FC00007E0000FC00007E0000FC00007E0001F800007
-E0001F800007E0003F800007E0007F000007E001FE000007E007FE000007FFFFFC000007
-FFFFF8000007FFFFE0000007FFFFF0000007FFFFF8000007E007FC000007E001FE000007
-E000FE000007E0007F000007E0003F000007E0003F000007E0003F000007E0003F000007
-E0003F000007E0003F000007E0003F000007E0003F000007E0003F0F0007E0003F1F8007
-E0003F1F8007E0003F1F8007E0003F1F8007E0003F1F807FFE001FBF80FFFF001FFF00FF
-FF000FFF00FFFF000FFE007FFE0007FC0000000001F00029347EB22C>82
-D<001FF8070000FFFF0F8001FFFFCF8007FFFFFF800FFFFFFF801FF01FFF803FC003FF80
-3F8001FF807F0000FF807E00007F80FE00003F80FC00003F80FC00001F80FC00001F80FC
-00001F80FC00001F80FE00000F007E000000007F000000007F800000003FE00000001FFC
-0000001FFFC000000FFFFC000003FFFFC00001FFFFF000007FFFF8000007FFFC0000007F
-FE00000007FF00000000FF800000003F800000001FC00000001FC00000000FE00000000F
-E078000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FE00000FC0
-FE00000FC0FF00001F80FF80003F80FFE0007F00FFFE01FF00FFFFFFFE00FFFFFFFC00F9
-FFFFF000F83FFFC0007007FF000023357CB32C>I<7FFFFFFFFCFFFFFFFFFEFFFFFFFFFE
-FFFFFFFFFEFFFFFFFFFEFC007E007EFC007E007EFC007E007EFC007E007EFC007E007EFC
-007E007EFC007E007E78007E003C00007E000000007E000000007E000000007E00000000
-7E000000007E000000007E000000007E000000007E000000007E000000007E000000007E
-000000007E000000007E000000007E000000007E000000007E000000007E000000007E00
+00000003F000000003F000000003F000000003F000000003F000000003F00000007FFF80
+0000FFFFC00000FFFFC00000FFFFC000007FFF80000025337EB22C>I<7FFFFC000000FF
+FFFF800000FFFFFFE00000FFFFFFF800007FFFFFFC000007E007FE000007E001FE000007
+E0007F000007E0003F800007E0001F800007E0001F800007E0000FC00007E0000FC00007
+E0000FC00007E0000FC00007E0000FC00007E0000FC00007E0001F800007E0001F800007
+E0003F800007E0007F000007E001FE000007E007FE000007FFFFFC000007FFFFF8000007
+FFFFE0000007FFFFF0000007FFFFF8000007E007FC000007E001FE000007E000FE000007
+E0007F000007E0003F000007E0003F000007E0003F000007E0003F000007E0003F000007
+E0003F000007E0003F000007E0003F000007E0003F0F0007E0003F1F8007E0003F1F8007
+E0003F1F8007E0003F1F8007E0003F1F807FFE001FBF80FFFF001FFF00FFFF000FFF00FF
+FF000FFE007FFE0007FC0000000001F00029347EB22C>82 D<001FF8070000FFFF0F8001
+FFFFCF8007FFFFFF800FFFFFFF801FF01FFF803FC003FF803F8001FF807F0000FF807E00
+007F80FE00003F80FC00003F80FC00001F80FC00001F80FC00001F80FC00001F80FE0000
+0F007E000000007F000000007F800000003FE00000001FFC0000001FFFC000000FFFFC00
+0003FFFFC00001FFFFF000007FFFF8000007FFFC0000007FFE00000007FF00000000FF80
+0000003F800000001FC00000001FC00000000FE00000000FE078000007E0FC000007E0FC
+000007E0FC000007E0FC000007E0FC000007E0FE00000FC0FE00000FC0FF00001F80FF80
+003F80FFE0007F00FFFE01FF00FFFFFFFE00FFFFFFFC00F9FFFFF000F83FFFC0007007FF
+000023357CB32C>I<7FFFFFFFFCFFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFC00
+7E007EFC007E007EFC007E007EFC007E007EFC007E007EFC007E007EFC007E007E78007E
+003C00007E000000007E000000007E000000007E000000007E000000007E000000007E00
 0000007E000000007E000000007E000000007E000000007E000000007E000000007E0000
 00007E000000007E000000007E000000007E000000007E000000007E000000007E000000
-3FFFFC00003FFFFC00007FFFFE00003FFFFC00003FFFFC0027337EB22C>I<7FFF803FFF
-C0FFFFC07FFFE0FFFFC07FFFE0FFFFC07FFFE07FFF803FFFC003F00001F80003F00001F8
+007E000000007E000000007E000000007E000000007E000000007E000000007E00000000
+7E000000007E000000007E000000007E000000007E0000003FFFFC00003FFFFC00007FFF
+FE00003FFFFC00003FFFFC0027337EB22C>I<7FFF803FFFC0FFFFC07FFFE0FFFFC07FFF
+E0FFFFC07FFFE07FFF803FFFC003F00001F80003F00001F80003F00001F80003F00001F8
 0003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F8
 0003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F8
 0003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F8
 0003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F8
-0003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F8
-0003F00001F80003F80003F80001F80003F00001F80003F00001FC0007F00000FC0007E0
-0000FE000FE000007F001FC000003F803F8000003FE0FF8000001FFFFF0000000FFFFE00
-000003FFF800000001FFF0000000003F8000002B3480B22C>I<7FFC007FFCFFFE00FFFE
-FFFE00FFFEFFFE00FFFE7FFC007FFC0FC00007E00FE0000FE007E0000FC007E0000FC007
-E0000FC007F0001FC003F0001F8003F0001F8003F0001F8003F8003F8001F8003F0001F8
-003F0001F8003F0001FC007F0000FC007E0000FC007E0000FC007E0000FC007E00007E00
-FC00007E00FC00007E00FC00007E00FC00003F01F800003F01F800003F01F800003F01F8
-00001F83F000001F83F000001F83F000001F83F000000F83E000000FC7E000000FC7E000
-000FC7E0000007C7C0000007C7C0000007EFC0000007EFC0000003EF80000003EF800000
-03FF80000003FF80000001FF00000001FF00000001FF00000001FF00000000FE00002734
-7EB22C>I<7FF00007FF00FFF8000FFF80FFF8000FFF80FFF8000FFF807FF00007FF001F
-0000007C001F0000007C001F0000007C001F0000007C000F800000F8000F800000F8000F
-800000F8000F800000F8000F800000F8000F800000F8000F800000F80007C00001F00007
-C00001F00007C00001F00007C00001F00007C03E01F00007C07F01F00007C07F01F00007
-C07F01F00003E0FF83E00003E0FF83E00003E0F783E00003E0F783E00003E1F7C3E00003
-E1F7C3E00003E1F7C3E00001E1E3C3C00001E1E3C3C00001F1E3C7C00001F3E3E7C00001
-F3E3E7C00001F3E3E7C00001F3C1E7C00001F3C1E7C00000F3C1E7800000F3C1E7800000
-F7C1F7800000F780F7800000F780F7800000F780F7800000FF80FF8000007F80FF000000
-7F007F0000007F007F0000007F007F0000007F007F0000003E003E000029347FB22C>I<
-3FFF03FFE07FFF07FFF07FFF87FFF07FFF07FFF03FFF03FFE001F800FE0001FC00FE0000
-FC01FC0000FE01FC00007E01F800007F03F800003F03F000003F87F000001F87E000001F
-CFE000000FCFC000000FFFC0000007FF80000007FF80000003FF00000003FF00000001FE
-00000001FE00000000FC00000000FC00000001FE00000001FE00000003FF00000003FF00
-000007FF80000007FFC000000FCFC000000FCFE000001FC7E000001F87F000003F83F000
-003F03F800007F01F800007E01FC0000FE00FC0000FC00FE0001FC007E0001F8007F0003
-F8003F0003F0003F8003F0001F807FFE00FFFC7FFF01FFFCFFFF01FFFE7FFF01FFFC7FFE
-00FFFC27337EB22C>I<7FFC007FFCFFFE00FFFEFFFE00FFFEFFFE00FFFE7FFC007FFC07
-F0000FC007F0001FC003F0001F8003F8003F8001F8003F8001FC007F0000FC007F0000FE
-007E00007E00FE00007F00FC00003F01FC00003F81F800001F81F800001F83F000000FC3
-F000000FC7F0000007E7E0000007E7E0000003E7C0000003EFC0000001FF80000001FF80
-000001FF00000000FF00000000FE000000007E000000007E000000007E000000007E0000
-00007E000000007E000000007E000000007E000000007E000000007E000000007E000000
-007E000000007E000000007E000000007E000000007E00000007FFE000000FFFF000000F
-FFF000000FFFF0000007FFE00027337EB22C>I<3FFFFFFFC07FFFFFFFE07FFFFFFFE07F
-FFFFFFE07FFFFFFFE07E00001FC07E00003F807E00003F807E00007F007E00007E007E00
-00FE007E0001FC003C0001F800000003F800000007F000000007F00000000FE00000001F
-C00000001FC00000003F800000007F000000007F00000000FE00000001FC00000001FC00
-000003F800000007F000000007F00000000FE00000001FC00000001FC00000003F800000
-007F000000007F00000000FE00000001FC00000001FC00000003F80003C003F00007E007
-F00007E00FE00007E00FC00007E01FC00007E03F800007E03F800007E07F000007E0FFFF
-FFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE07FFFFFFFC023337CB22C>I<7000000000F8
-00000000F800000000FC000000007C000000007E000000003E000000003F000000001F00
-0000001F000000001F800000000F800000000FC000000007C000000007E000000003E000
-000003F000000001F000000001F800000000F800000000FC000000007C000000007E0000
-00003E000000003E000000003F000000001F000000001F800000000F800000000FC00000
-0007C000000007E000000003E000000003F000000001F000000001F800000000F8000000
-00FC000000007C000000007E000000003E000000003E000000003F000000001F00000000
-1F800000000F800000000FC000000007C000000007E000000003E000000003F000000001
-F000000001F800000000F800000000FC000000007C000000007C000000007E000000003E
-000000003F000000001F000000001F800000000F800000000F80000000070021417BB92C
->92 D<7FFFFFFF00FFFFFFFF80FFFFFFFF80FFFFFFFF80FFFFFFFF807FFFFFFF0021067B
-7D2C>95 D<01FFF0000007FFFE00001FFFFF80001FFFFFE0003FFFFFF0003FC01FF8003F
-C007F8003FC001FC001F8000FC00060000FE000000007E000000007E000000007E000000
-FFFE00001FFFFE0000FFFFFE0003FFFFFE000FFFFFFE001FFF807E003FF8007E007FC000
-7E007F00007E00FE00007E00FC00007E00FC00007E00FC00007E00FC00007E00FE00007E
-007F0000FE007F8003FE003FE01FFE001FFFFFFFFC0FFFFFFFFE07FFFFBFFE01FFFE1FFE
-003FF007FC27247CA32C>97 D<7FF0000000FFF8000000FFF8000000FFF80000007FF800
-000001F800000001F800000001F800000001F800000001F800000001F800000001F80000
-0001F800000001F800000001F800000001F81FE00001F8FFF80001FBFFFE0001FFFFFF00
-01FFFFFF8001FFF07FC001FF801FE001FF0007F001FE0003F801FC0003F801FC0001FC01
-F80000FC01F80000FC01F80000FE01F800007E01F800007E01F800007E01F800007E01F8
-00007E01F800007E01F800007E01F800007E01F80000FE01FC0000FC01FC0000FC01FC00
-01F801FE0003F801FF0007F001FF000FF001FF801FE001FFE07FC001FFFFFF8001FFFFFF
-0001FBFFFE0001F8FFF80000F03FC00027337FB22C>I<0003FFE000001FFFF800007FFF
-FE0001FFFFFE0003FFFFFF0007FE00FF000FF000FF001FE000FF001FC0007E003F800018
-003F000000007F000000007E000000007E00000000FC00000000FC00000000FC00000000
-FC00000000FC00000000FC00000000FC00000000FC000000007E000000007E000000007F
-000000003F00000F003F80001F801FC0001F801FE0003F800FF0007F0007FE03FF0003FF
-FFFE0001FFFFFC00007FFFF800001FFFE0000003FF000021247AA32C>I<00000FFE0000
-001FFF0000001FFF0000001FFF0000000FFF000000003F000000003F000000003F000000
-003F000000003F000000003F000000003F000000003F000000003F000000003F000007F8
-3F00003FFE3F0000FFFFBF0001FFFFFF0003FFFFFF0007FC0FFF000FF003FF001FE001FF
-001FC000FF003F80007F003F00007F007E00003F007E00003F00FE00003F00FC00003F00
-FC00003F00FC00003F00FC00003F00FC00003F00FC00003F00FC00003F00FC00003F00FE
-00003F007E00007F007E00007F007F0000FF003F8000FF003F8001FF001FC003FF000FF0
-07FF0007FC1FFF0003FFFFFFFC01FFFFBFFE00FFFF3FFE003FFC3FFE000FF01FFC27337D
-B22C>I<0003FE0000001FFFC000007FFFF00001FFFFF80003FFFFFC0007FE03FE000FF8
-00FF001FE0003F801FC0003F803F80001FC03F00000FC07F00000FC07E00000FE07E0000
-07E0FC000007E0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFC0FC000000
-00FE000000007E000000007E000000007F000000003F000003C03F800007E01FC00007E0
-0FF0000FE007F8003FC007FF00FFC001FFFFFF8000FFFFFF00003FFFFC00000FFFF00000
-01FF800023247CA32C>I<00000FF80000003FFE000000FFFF000001FFFF800003FFFF80
-0007FC7F800007F07F80000FE03F00000FC03F00000FC00000000FC00000000FC0000000
-0FC00000000FC00000000FC000007FFFFFFE00FFFFFFFF00FFFFFFFF00FFFFFFFF007FFF
-FFFE00000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC0
-0000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC000
-00000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000
-000FC00000000FC00000000FC00000000FC00000000FC000003FFFFFF0007FFFFFF8007F
-FFFFF8007FFFFFF8003FFFFFF00021337DB22C>I<00000003F80007F80FFC001FFE3FFE
-007FFFFFFF01FFFFFFFF03FFFFFE7F03FC0FF87F07F003F83E0FE001FC1C0FC000FC001F
-C000FE001F80007E001F80007E001F80007E001F80007E001F80007E001F80007E001FC0
-00FE000FC000FC000FE001FC0007F003F80003FC0FF00007FFFFF00007FFFFE0000FFFFF
-80000F9FFE00000F87F800000F800000000F800000000F800000000FC000000007E00000
-0007FFFFF00003FFFFFE0007FFFFFF800FFFFFFFE01FFFFFFFF03FC0001FF87F000003FC
-7E000000FC7C0000007CFC0000007EF80000003EF80000003EF80000003EF80000003EFC
-0000007E7E000000FC7F800003FC3FE0000FF81FFC007FF00FFFFFFFE003FFFFFF8001FF
-FFFF00003FFFF8000007FFC00028387EA42C>I<7FF000000000FFF800000000FFF80000
-0000FFF8000000007FF80000000001F80000000001F80000000001F80000000001F80000
-000001F80000000001F80000000001F80000000001F80000000001F80000000001F80000
-000001F81FE0000001F87FFC000001F9FFFE000001FBFFFF000001FFFFFF000001FFF03F
-800001FFC01F800001FF801FC00001FF000FC00001FE000FC00001FC000FC00001FC000F
-C00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000F
-C00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000F
-C00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000F
-C00001F8000FC0007FFFE0FFFF00FFFFF1FFFF80FFFFF1FFFF80FFFFF1FFFF807FFFE0FF
-FF0029337FB22C>I<00070000001FC000001FC000003FE000003FE000003FE000001FC0
-00001FC00000070000000000000000000000000000000000000000000000000000000000
-007FFFC0007FFFE000FFFFE0007FFFE0007FFFE0000007E0000007E0000007E0000007E0
-000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0
-000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0
-000007E0000007E0000007E0000007E0007FFFFFFCFFFFFFFEFFFFFFFEFFFFFFFE7FFFFF
-FC1F3479B32C>I<00000E0000003F8000003F8000007FC000007FC000007FC000003F80
-00003F8000000E0000000000000000000000000000000000000000000000000000000000
-01FFFF8003FFFFC003FFFFC003FFFFC001FFFFC000000FC000000FC000000FC000000FC0
-00000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0
-00000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0
-00000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0
-00000FC000000FC000000FC000000FC000000FC000000FC000000FC000001FC03C001F80
-7E003F80FF003F00FF007F00FF01FE00FFFFFC007FFFF8007FFFF0001FFFE00007FF0000
-1A467CB32C>I<7FE0000000FFF0000000FFF0000000FFF00000007FF000000001F00000
-0001F000000001F000000001F000000001F000000001F000000001F000000001F0000000
-01F000000001F000000001F01FFFF001F03FFFF801F03FFFF801F03FFFF801F01FFFF001
-F000FE0001F001FC0001F003F80001F007F00001F00FE00001F01FC00001F03F800001F0
-7F000001F0FE000001F1FC000001F3FC000001F7FE000001FFFF000001FFFF000001FF9F
-800001FF0FC00001FE0FE00001FC07E00001F803F00001F001F80001F001FC0001F000FC
-0001F0007E0001F0003F0001F0003F8001F0001F807FFFC0FFFCFFFFE1FFFEFFFFE1FFFE
-FFFFE1FFFE7FFFC0FFFC27337EB22C>I<7FFFE00000FFFFF00000FFFFF00000FFFFF000
-007FFFF000000003F000000003F000000003F000000003F000000003F000000003F00000
-0003F000000003F000000003F000000003F000000003F000000003F000000003F0000000
-03F000000003F000000003F000000003F000000003F000000003F000000003F000000003
-F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0
-00000003F000000003F000000003F000000003F000000003F000000003F000000003F000
-000003F000000003F000000003F000000003F000000003F000000003F000007FFFFFFF80
-FFFFFFFFC0FFFFFFFFC0FFFFFFFFC07FFFFFFF8022337BB22C>I<7F83F007E0007FCFFC
-1FF800FFDFFE3FFC007FFFFEFFFC007FFFFFFFFE0007FE1FFC3E0007FC1FF83F0007F80F
-F01F0007F00FE01F0007E00FC01F0007E00FC01F0007E00FC01F0007C00F801F0007C00F
-801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F
-801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F
-801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F007FFC3F
-F87FF07FFC7FF8FFF0FFFE7FFCFFF87FFC7FF8FFF07FFC3FF87FF02D2481A32C>I<7FF0
-1FE00000FFF87FFC0000FFF9FFFE0000FFFBFFFF00007FFFFFFF000001FFF03F800001FF
-C01F800001FF801FC00001FF000FC00001FE000FC00001FC000FC00001FC000FC00001F8
-000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8
-000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8
-000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8
-000FC0007FFFE0FFFF00FFFFF1FFFF80FFFFF1FFFF80FFFFF1FFFF807FFFE0FFFF002924
-7FA32C>I<0007FC0000001FFF0000007FFFC00001FFFFF00003FFFFF80007FC07FC000F
-F001FE001FE000FF001F80003F003F80003F803F00001F807E00000FC07E00000FC07E00
-000FC0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC0000
-07E0FE00000FE07E00000FC07E00000FC07F00001FC03F00001F803F80003F801FC0007F
-001FE000FF000FF001FE0007FC07FC0003FFFFF80001FFFFF000007FFFC000001FFF0000
-0007FC000023247CA32C>I<7FF01FE000FFF8FFF800FFFBFFFE00FFFFFFFF007FFFFFFF
+0003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F80003F8
+0001F80003F00001F80003F00001FC0007F00000FC0007E00000FE000FE000007F001FC0
+00003F803F8000003FE0FF8000001FFFFF0000000FFFFE00000003FFF800000001FFF000
+0000003F8000002B3480B22C>I<7FFC007FFCFFFE00FFFEFFFE00FFFEFFFE00FFFE7FFC
+007FFC0FC00007E00FE0000FE007E0000FC007E0000FC007E0000FC007F0001FC003F000
+1F8003F0001F8003F0001F8003F8003F8001F8003F0001F8003F0001F8003F0001FC007F
+0000FC007E0000FC007E0000FC007E0000FC007E00007E00FC00007E00FC00007E00FC00
+007E00FC00003F01F800003F01F800003F01F800003F01F800001F83F000001F83F00000
+1F83F000001F83F000000F83E000000FC7E000000FC7E000000FC7E0000007C7C0000007
+C7C0000007EFC0000007EFC0000003EF80000003EF80000003FF80000003FF80000001FF
+00000001FF00000001FF00000001FF00000000FE000027347EB22C>I<7FF00007FF00FF
+F8000FFF80FFF8000FFF80FFF8000FFF807FF00007FF001F0000007C001F0000007C001F
+0000007C001F0000007C000F800000F8000F800000F8000F800000F8000F800000F8000F
+800000F8000F800000F8000F800000F80007C00001F00007C00001F00007C00001F00007
+C00001F00007C03E01F00007C07F01F00007C07F01F00007C07F01F00003E0FF83E00003
+E0FF83E00003E0F783E00003E0F783E00003E1F7C3E00003E1F7C3E00003E1F7C3E00001
+E1E3C3C00001E1E3C3C00001F1E3C7C00001F3E3E7C00001F3E3E7C00001F3E3E7C00001
+F3C1E7C00001F3C1E7C00000F3C1E7800000F3C1E7800000F7C1F7800000F780F7800000
+F780F7800000F780F7800000FF80FF8000007F80FF0000007F007F0000007F007F000000
+7F007F0000007F007F0000003E003E000029347FB22C>I<3FFF03FFE07FFF07FFF07FFF
+87FFF07FFF07FFF03FFF03FFE001F800FE0001FC00FE0000FC01FC0000FE01FC00007E01
+F800007F03F800003F03F000003F87F000001F87E000001FCFE000000FCFC000000FFFC0
+000007FF80000007FF80000003FF00000003FF00000001FE00000001FE00000000FC0000
+0000FC00000001FE00000001FE00000003FF00000003FF00000007FF80000007FFC00000
+0FCFC000000FCFE000001FC7E000001F87F000003F83F000003F03F800007F01F800007E
+01FC0000FE00FC0000FC00FE0001FC007E0001F8007F0003F8003F0003F0003F8003F000
+1F807FFE00FFFC7FFF01FFFCFFFF01FFFE7FFF01FFFC7FFE00FFFC27337EB22C>I<7FFC
+007FFCFFFE00FFFEFFFE00FFFEFFFE00FFFE7FFC007FFC07F0000FC007F0001FC003F000
+1F8003F8003F8001F8003F8001FC007F0000FC007F0000FE007E00007E00FE00007F00FC
+00003F01FC00003F81F800001F81F800001F83F000000FC3F000000FC7F0000007E7E000
+0007E7E0000003E7C0000003EFC0000001FF80000001FF80000001FF00000000FF000000
+00FE000000007E000000007E000000007E000000007E000000007E000000007E00000000
+7E000000007E000000007E000000007E000000007E000000007E000000007E000000007E
+000000007E000000007E00000007FFE000000FFFF000000FFFF000000FFFF0000007FFE0
+0027337EB22C>I<3FFFFFFFC07FFFFFFFE07FFFFFFFE07FFFFFFFE07FFFFFFFE07E0000
+1FC07E00003F807E00003F807E00007F007E00007E007E0000FE007E0001FC003C0001F8
+00000003F800000007F000000007F00000000FE00000001FC00000001FC00000003F8000
+00007F000000007F00000000FE00000001FC00000001FC00000003F800000007F0000000
+07F00000000FE00000001FC00000001FC00000003F800000007F000000007F00000000FE
+00000001FC00000001FC00000003F80003C003F00007E007F00007E00FE00007E00FC000
+07E01FC00007E03F800007E03F800007E07F000007E0FFFFFFFFE0FFFFFFFFE0FFFFFFFF
+E0FFFFFFFFE07FFFFFFFC023337CB22C>I<7000000000F800000000F800000000FC0000
+00007C000000007E000000003E000000003F000000001F000000001F000000001F800000
+000F800000000FC000000007C000000007E000000003E000000003F000000001F0000000
+01F800000000F800000000FC000000007C000000007E000000003E000000003E00000000
+3F000000001F000000001F800000000F800000000FC000000007C000000007E000000003
+E000000003F000000001F000000001F800000000F800000000FC000000007C000000007E
+000000003E000000003E000000003F000000001F000000001F800000000F800000000FC0
+00000007C000000007E000000003E000000003F000000001F000000001F800000000F800
+000000FC000000007C000000007C000000007E000000003E000000003F000000001F0000
+00001F800000000F800000000F80000000070021417BB92C>92 D<7FFFFFFF00FFFFFFFF
+80FFFFFFFF80FFFFFFFF80FFFFFFFF807FFFFFFF0021067B7D2C>95
+D<01FFF0000007FFFE00001FFFFF80001FFFFFE0003FFFFFF0003FC01FF8003FC007F800
+3FC001FC001F8000FC00060000FE000000007E000000007E000000007E000000FFFE0000
+1FFFFE0000FFFFFE0003FFFFFE000FFFFFFE001FFF807E003FF8007E007FC0007E007F00
+007E00FE00007E00FC00007E00FC00007E00FC00007E00FC00007E00FE00007E007F0000
+FE007F8003FE003FE01FFE001FFFFFFFFC0FFFFFFFFE07FFFFBFFE01FFFE1FFE003FF007
+FC27247CA32C>97 D<7FF0000000FFF8000000FFF8000000FFF80000007FF800000001F8
+00000001F800000001F800000001F800000001F800000001F800000001F800000001F800
+000001F800000001F800000001F81FE00001F8FFF80001FBFFFE0001FFFFFF0001FFFFFF
 8001FFF07FC001FF801FE001FF0007F001FE0003F801FC0003F801FC0001FC01F80000FC
 01F80000FC01F80000FE01F800007E01F800007E01F800007E01F800007E01F800007E01
 F800007E01F800007E01F800007E01F80000FE01FC0000FC01FC0000FC01FC0001F801FE
 0003F801FF0007F001FF000FF001FF801FE001FFE07FC001FFFFFF8001FFFFFF0001FBFF
-FE0001F8FFF80001F83FC00001F800000001F800000001F800000001F800000001F80000
-0001F800000001F800000001F800000001F800000001F800000001F800000001F8000000
-01F80000007FFFE00000FFFFF00000FFFFF00000FFFFF000007FFFE0000027367FA32C>
-I<0003FC078000001FFF0FC000007FFFCFC00001FFFFEFC00003FFFFFFC00007FE07FFC0
-000FF001FFC0001FE000FFC0001FC0007FC0003F80003FC0003F00003FC0007F00001FC0
-007E00001FC0007E00000FC000FC00000FC000FC00000FC000FC00000FC000FC00000FC0
-00FC00000FC000FC00000FC000FC00000FC000FC00000FC000FE00000FC0007E00001FC0
-007E00001FC0003F00003FC0003F80003FC0001FC0007FC0001FE000FFC0000FF003FFC0
-0007FC0FFFC00003FFFFFFC00001FFFFEFC000007FFF8FC000003FFF0FC0000007F80FC0
-000000000FC0000000000FC0000000000FC0000000000FC0000000000FC0000000000FC0
-000000000FC0000000000FC0000000000FC0000000000FC0000000000FC0000000000FC0
-000000000FC000000003FFFF00000007FFFF80000007FFFF80000007FFFF80000003FFFF
-0029367DA32C>I<7FFE003FC0FFFF01FFF0FFFF07FFF8FFFF1FFFFC7FFF3FFFFC003F7F
-E1FC003FFF01FC003FFC00F8003FF80070003FF00000003FE00000003FE00000003FC000
-00003F800000003F800000003F800000003F000000003F000000003F000000003F000000
-003F000000003F000000003F000000003F000000003F000000003F000000003F00000000
-3F000000003F000000003F000000003F0000007FFFFFE000FFFFFFF000FFFFFFF000FFFF
-FFF0007FFFFFE00026247EA32C>I<007FF87003FFFFF80FFFFFF81FFFFFF83FFFFFF87F
-C00FF87E0003F8FC0001F8F80001F8F80001F8F80001F8FC0000F07F0000007FF000003F
-FFC0001FFFFE000FFFFF8003FFFFE0007FFFF80001FFFC000007FC000000FE7800007FFC
-00003FFC00001FFE00001FFE00001FFF00003FFF80003EFFC000FEFFF007FCFFFFFFFCFF
-FFFFF8FFFFFFE0F8FFFF80701FFC0020247AA32C>I<001E000000003F000000003F0000
+FE0001F8FFF80000F03FC00027337FB22C>I<0003FFE000001FFFF800007FFFFE0001FF
+FFFE0003FFFFFF0007FE00FF000FF000FF001FE000FF001FC0007E003F800018003F0000
+00007F000000007E000000007E00000000FC00000000FC00000000FC00000000FC000000
+00FC00000000FC00000000FC00000000FC000000007E000000007E000000007F00000000
+3F00000F003F80001F801FC0001F801FE0003F800FF0007F0007FE03FF0003FFFFFE0001
+FFFFFC00007FFFF800001FFFE0000003FF000021247AA32C>I<00000FFE0000001FFF00
+00001FFF0000001FFF0000000FFF000000003F000000003F000000003F000000003F0000
+00003F000000003F000000003F000000003F000000003F000000003F000007F83F00003F
+FE3F0000FFFFBF0001FFFFFF0003FFFFFF0007FC0FFF000FF003FF001FE001FF001FC000
+FF003F80007F003F00007F007E00003F007E00003F00FE00003F00FC00003F00FC00003F
+00FC00003F00FC00003F00FC00003F00FC00003F00FC00003F00FC00003F00FE00003F00
+7E00007F007E00007F007F0000FF003F8000FF003F8001FF001FC003FF000FF007FF0007
+FC1FFF0003FFFFFFFC01FFFFBFFE00FFFF3FFE003FFC3FFE000FF01FFC27337DB22C>I<
+0003FE0000001FFFC000007FFFF00001FFFFF80003FFFFFC0007FE03FE000FF800FF001F
+E0003F801FC0003F803F80001FC03F00000FC07F00000FC07E00000FE07E000007E0FC00
+0007E0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFC0FC00000000FE0000
+00007E000000007E000000007F000000003F000003C03F800007E01FC00007E00FF0000F
+E007F8003FC007FF00FFC001FFFFFF8000FFFFFF00003FFFFC00000FFFF0000001FF8000
+23247CA32C>I<00000FF80000003FFE000000FFFF000001FFFF800003FFFF800007FC7F
+800007F07F80000FE03F00000FC03F00000FC00000000FC00000000FC00000000FC00000
+000FC00000000FC000007FFFFFFE00FFFFFFFF00FFFFFFFF00FFFFFFFF007FFFFFFE0000
+0FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000F
+C00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC0
+0000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC000
+00000FC00000000FC00000000FC00000000FC000003FFFFFF0007FFFFFF8007FFFFFF800
+7FFFFFF8003FFFFFF00021337DB22C>I<00000003F80007F80FFC001FFE3FFE007FFFFF
+FF01FFFFFFFF03FFFFFE7F03FC0FF87F07F003F83E0FE001FC1C0FC000FC001FC000FE00
+1F80007E001F80007E001F80007E001F80007E001F80007E001F80007E001FC000FE000F
+C000FC000FE001FC0007F003F80003FC0FF00007FFFFF00007FFFFE0000FFFFF80000F9F
+FE00000F87F800000F800000000F800000000F800000000FC000000007E000000007FFFF
+F00003FFFFFE0007FFFFFF800FFFFFFFE01FFFFFFFF03FC0001FF87F000003FC7E000000
+FC7C0000007CFC0000007EF80000003EF80000003EF80000003EF80000003EFC0000007E
+7E000000FC7F800003FC3FE0000FF81FFC007FF00FFFFFFFE003FFFFFF8001FFFFFF0000
+3FFFF8000007FFC00028387EA42C>I<7FF000000000FFF800000000FFF800000000FFF8
+000000007FF80000000001F80000000001F80000000001F80000000001F80000000001F8
+0000000001F80000000001F80000000001F80000000001F80000000001F80000000001F8
+1FE0000001F87FFC000001F9FFFE000001FBFFFF000001FFFFFF000001FFF03F800001FF
+C01F800001FF801FC00001FF000FC00001FE000FC00001FC000FC00001FC000FC00001F8
+000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8
+000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8
+000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8
+000FC0007FFFE0FFFF00FFFFF1FFFF80FFFFF1FFFF80FFFFF1FFFF807FFFE0FFFF002933
+7FB22C>I<00070000001FC000001FC000003FE000003FE000003FE000001FC000001FC0
+0000070000000000000000000000000000000000000000000000000000000000007FFFC0
+007FFFE000FFFFE0007FFFE0007FFFE0000007E0000007E0000007E0000007E0000007E0
+000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0
+000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0
+000007E0000007E0000007E0007FFFFFFCFFFFFFFEFFFFFFFEFFFFFFFE7FFFFFFC1F3479
+B32C>I<00000E0000003F8000003F8000007FC000007FC000007FC000003F8000003F80
+00000E000000000000000000000000000000000000000000000000000000000001FFFF80
+03FFFFC003FFFFC003FFFFC001FFFFC000000FC000000FC000000FC000000FC000000FC0
+00000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0
+00000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0
+00000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0
+00000FC000000FC000000FC000000FC000000FC000000FC000001FC03C001F807E003F80
+FF003F00FF007F00FF01FE00FFFFFC007FFFF8007FFFF0001FFFE00007FF00001A467CB3
+2C>I<7FE0000000FFF0000000FFF0000000FFF00000007FF000000001F000000001F000
+000001F000000001F000000001F000000001F000000001F000000001F000000001F00000
+0001F000000001F01FFFF001F03FFFF801F03FFFF801F03FFFF801F01FFFF001F000FE00
+01F001FC0001F003F80001F007F00001F00FE00001F01FC00001F03F800001F07F000001
+F0FE000001F1FC000001F3FC000001F7FE000001FFFF000001FFFF000001FF9F800001FF
+0FC00001FE0FE00001FC07E00001F803F00001F001F80001F001FC0001F000FC0001F000
+7E0001F0003F0001F0003F8001F0001F807FFFC0FFFCFFFFE1FFFEFFFFE1FFFEFFFFE1FF
+FE7FFFC0FFFC27337EB22C>I<7FFFE00000FFFFF00000FFFFF00000FFFFF000007FFFF0
+00000003F000000003F000000003F000000003F000000003F000000003F000000003F000
+000003F000000003F000000003F000000003F000000003F000000003F000000003F00000
+0003F000000003F000000003F000000003F000000003F000000003F000000003F0000000
+03F000000003F000000003F000000003F000000003F000000003F000000003F000000003
+F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0
+00000003F000000003F000000003F000000003F000000003F000007FFFFFFF80FFFFFFFF
+C0FFFFFFFFC0FFFFFFFFC07FFFFFFF8022337BB22C>I<7F83F007E0007FCFFC1FF800FF
+DFFE3FFC007FFFFEFFFC007FFFFFFFFE0007FE1FFC3E0007FC1FF83F0007F80FF01F0007
+F00FE01F0007E00FC01F0007E00FC01F0007E00FC01F0007C00F801F0007C00F801F0007
+C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007
+C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007
+C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F007FFC3FF87FF07F
+FC7FF8FFF0FFFE7FFCFFF87FFC7FF8FFF07FFC3FF87FF02D2481A32C>I<7FF01FE00000
+FFF87FFC0000FFF9FFFE0000FFFBFFFF00007FFFFFFF000001FFF03F800001FFC01F8000
+01FF801FC00001FF000FC00001FE000FC00001FC000FC00001FC000FC00001F8000FC000
+01F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC000
+01F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC000
+01F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC000
+7FFFE0FFFF00FFFFF1FFFF80FFFFF1FFFF80FFFFF1FFFF807FFFE0FFFF0029247FA32C>
+I<0007FC0000001FFF0000007FFFC00001FFFFF00003FFFFF80007FC07FC000FF001FE00
+1FE000FF001F80003F003F80003F803F00001F807E00000FC07E00000FC07E00000FC0FC
+000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FE00
+000FE07E00000FC07E00000FC07F00001FC03F00001F803F80003F801FC0007F001FE000
+FF000FF001FE0007FC07FC0003FFFFF80001FFFFF000007FFFC000001FFF00000007FC00
+0023247CA32C>I<7FF01FE000FFF8FFF800FFFBFFFE00FFFFFFFF007FFFFFFF8001FFF0
+7FC001FF801FE001FF0007F001FE0003F801FC0003F801FC0001FC01F80000FC01F80000
+FC01F80000FE01F800007E01F800007E01F800007E01F800007E01F800007E01F800007E
+01F800007E01F800007E01F80000FE01FC0000FC01FC0000FC01FC0001F801FE0003F801
+FF0007F001FF000FF001FF801FE001FFE07FC001FFFFFF8001FFFFFF0001FBFFFE0001F8
+FFF80001F83FC00001F800000001F800000001F800000001F800000001F800000001F800
+000001F800000001F800000001F800000001F800000001F800000001F800000001F80000
+007FFFE00000FFFFF00000FFFFF00000FFFFF000007FFFE0000027367FA32C>I<0003FC
+078000001FFF0FC000007FFFCFC00001FFFFEFC00003FFFFFFC00007FE07FFC0000FF001
+FFC0001FE000FFC0001FC0007FC0003F80003FC0003F00003FC0007F00001FC0007E0000
+1FC0007E00000FC000FC00000FC000FC00000FC000FC00000FC000FC00000FC000FC0000
+0FC000FC00000FC000FC00000FC000FC00000FC000FE00000FC0007E00001FC0007E0000
+1FC0003F00003FC0003F80003FC0001FC0007FC0001FE000FFC0000FF003FFC00007FC0F
+FFC00003FFFFFFC00001FFFFEFC000007FFF8FC000003FFF0FC0000007F80FC000000000
+0FC0000000000FC0000000000FC0000000000FC0000000000FC0000000000FC000000000
+0FC0000000000FC0000000000FC0000000000FC0000000000FC0000000000FC000000000
+0FC000000003FFFF00000007FFFF80000007FFFF80000007FFFF80000003FFFF0029367D
+A32C>I<7FFE003FC0FFFF01FFF0FFFF07FFF8FFFF1FFFFC7FFF3FFFFC003F7FE1FC003F
+FF01FC003FFC00F8003FF80070003FF00000003FE00000003FE00000003FC00000003F80
+0000003F800000003F800000003F000000003F000000003F000000003F000000003F0000
 00003F000000003F000000003F000000003F000000003F000000003F000000003F000000
-7FFFFFFF00FFFFFFFF80FFFFFFFF80FFFFFFFF807FFFFFFF00003F000000003F00000000
+003F000000003F000000003F0000007FFFFFE000FFFFFFF000FFFFFFF000FFFFFFF0007F
+FFFFE00026247EA32C>I<007FF87003FFFFF80FFFFFF81FFFFFF83FFFFFF87FC00FF87E
+0003F8FC0001F8F80001F8F80001F8F80001F8FC0000F07F0000007FF000003FFFC0001F
+FFFE000FFFFF8003FFFFE0007FFFF80001FFFC000007FC000000FE7800007FFC00003FFC
+00001FFE00001FFE00001FFF00003FFF80003EFFC000FEFFF007FCFFFFFFFCFFFFFFF8FF
+FFFFE0F8FFFF80701FFC0020247AA32C>I<001E000000003F000000003F000000003F00
+0000003F000000003F000000003F000000003F000000003F000000003F0000007FFFFFFF
+00FFFFFFFF80FFFFFFFF80FFFFFFFF807FFFFFFF00003F000000003F000000003F000000
+003F000000003F000000003F000000003F000000003F000000003F000000003F00000000
 3F000000003F000000003F000000003F000000003F000000003F000000003F000000003F
-000000003F000000003F000000003F000000003F000000003F000000003F000000003F00
-0000003F0003C0003F0007E0003F0007E0003F0007E0003F0007E0003F0007E0003F800F
-E0001F801FC0001FE07FC0000FFFFF80000FFFFF000003FFFE000001FFF80000003FE000
-232E7EAD2C>I<7FF003FF8000FFF807FFC000FFF807FFC000FFF807FFC0007FF803FFC0
-0001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC0
-0001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC0
-0001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC0
-0001F8000FC00001F8000FC00001F8000FC00001F8001FC00001F8001FC00001F8003FC0
-0001FC007FC00000FE03FFC00000FFFFFFFF00007FFFFFFF80003FFFFFFF80001FFFCFFF
-800003FE07FF0029247FA32C>I<7FFF01FFFCFFFF01FFFEFFFF83FFFEFFFF01FFFE7FFF
-01FFFC03E0000F8003E0000F8003F0001F8001F0001F0001F0001F0001F8003F0000F800
-3E0000F8003E0000FC007E00007C007C00007C007C00007E00FC00003E00F800003E00F8
-00003F01F800001F01F000001F01F000001F83F000000F83E000000F83E000000FC7E000
-0007C7C0000007C7C0000007EFC0000003EF80000003EF80000003FF80000001FF000000
-01FF00000000FE000000007C000027247EA32C>I<7FFF007FFF007FFF80FFFF00FFFF80
-FFFF807FFF80FFFF007FFF007FFF0007C00001F00007C00001F00007C00001F00007C000
-01F00007C00001F00007C00001F00003E00003E00003E00003E00003E00003E00003E03E
-03E00003E07F03E00003E07F03E00001F07F07C00001F0FF87C00001F0FF87C00001F0F7
-87C00001F0F787C00001F1F7C7C00000F1F7C7800000F9E3CF800000F9E3CF800000FBE3
-EF800000FBE3EF800000FBE3EF8000007BC1EF0000007FC1FF0000007FC1FF0000007F80
-FF0000007F80FF0000003F80FE0000001F007C000029247FA32C>I<3FFF03FFF07FFF87
-FFF87FFF87FFF87FFF87FFF83FFF03FFF000FC007E0000FC00FC00007E01F800003F01F0
-00001F83F000001F87E000000FCFC0000007EF80000003FF80000001FF00000001FE0000
-0000FC000000007C00000000FE00000001FE00000001FF00000003EF80000007CFC00000
-0FC7C000000F83E000001F01F000003F01F800007E00F800007C007C0000F8007E0001F8
-003F007FFF01FFFC7FFF83FFFCFFFF83FFFE7FFF83FFFC7FFF01FFFC27247EA32C>I<7F
-FF01FFFCFFFF81FFFEFFFF83FFFEFFFF81FFFE7FFF01FFFC03E0000F8001F0000F8001F0
-001F8001F8001F0000F8001F0000F8003F0000FC003E00007C003E00007E007E00003E00
-7C00003E007C00003F00FC00001F00F800001F00F800000F81F800000F81F000000F81F0
-000007C1F0000007C3E0000007C3E0000003E3E0000003E7C0000001E7C0000001F7C000
-0001F780000000FF80000000FF80000000FF000000007F000000007F000000003E000000
-003E000000007E000000007C000000007C00000000FC00000000F800000000F800000C01
-F800003F01F000007F83F000007F87E000007E0FE000007E1FC000007FFF8000003FFF00
-00001FFE0000000FFC00000007E000000027367EA32C>I<3FFFFFFFE07FFFFFFFF07FFF
-FFFFF07FFFFFFFF07FFFFFFFF07E00001FE07E00003FC07E00007F807E0000FF007E0001
-FE003C0003FC00000007F80000000FF00000001FE00000003FC00000007F80000000FF00
-000001FC00000003F80000000FF00000001FE00000003FC00000007F80000000FF000000
-01FE0001E003FC0003F007F80003F00FF00003F01FE00003F03FC00003F07F800003F0FF
-FFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF07FFFFFFFE024247DA32C>I
+0003C0003F0007E0003F0007E0003F0007E0003F0007E0003F0007E0003F800FE0001F80
+1FC0001FE07FC0000FFFFF80000FFFFF000003FFFE000001FFF80000003FE000232E7EAD
+2C>I<7FF003FF8000FFF807FFC000FFF807FFC000FFF807FFC0007FF803FFC00001F800
+0FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F800
+0FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F800
+0FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F800
+0FC00001F8000FC00001F8000FC00001F8001FC00001F8001FC00001F8003FC00001FC00
+7FC00000FE03FFC00000FFFFFFFF00007FFFFFFF80003FFFFFFF80001FFFCFFF800003FE
+07FF0029247FA32C>I<7FFF01FFFCFFFF01FFFEFFFF83FFFEFFFF01FFFE7FFF01FFFC03
+E0000F8003E0000F8003F0001F8001F0001F0001F0001F0001F8003F0000F8003E0000F8
+003E0000FC007E00007C007C00007C007C00007E00FC00003E00F800003E00F800003F01
+F800001F01F000001F01F000001F83F000000F83E000000F83E000000FC7E0000007C7C0
+000007C7C0000007EFC0000003EF80000003EF80000003FF80000001FF00000001FF0000
+0000FE000000007C000027247EA32C>I<7FFF007FFF007FFF80FFFF00FFFF80FFFF807F
+FF80FFFF007FFF007FFF0007C00001F00007C00001F00007C00001F00007C00001F00007
+C00001F00007C00001F00003E00003E00003E00003E00003E00003E00003E03E03E00003
+E07F03E00003E07F03E00001F07F07C00001F0FF87C00001F0FF87C00001F0F787C00001
+F0F787C00001F1F7C7C00000F1F7C7800000F9E3CF800000F9E3CF800000FBE3EF800000
+FBE3EF800000FBE3EF8000007BC1EF0000007FC1FF0000007FC1FF0000007F80FF000000
+7F80FF0000003F80FE0000001F007C000029247FA32C>I<3FFF03FFF07FFF87FFF87FFF
+87FFF87FFF87FFF83FFF03FFF000FC007E0000FC00FC00007E01F800003F01F000001F83
+F000001F87E000000FCFC0000007EF80000003FF80000001FF00000001FE00000000FC00
+0000007C00000000FE00000001FE00000001FF00000003EF80000007CFC000000FC7C000
+000F83E000001F01F000003F01F800007E00F800007C007C0000F8007E0001F8003F007F
+FF01FFFC7FFF83FFFCFFFF83FFFE7FFF83FFFC7FFF01FFFC27247EA32C>I<7FFF01FFFC
+FFFF81FFFEFFFF83FFFEFFFF81FFFE7FFF01FFFC03E0000F8001F0000F8001F0001F8001
+F8001F0000F8001F0000F8003F0000FC003E00007C003E00007E007E00003E007C00003E
+007C00003F00FC00001F00F800001F00F800000F81F800000F81F000000F81F0000007C1
+F0000007C3E0000007C3E0000003E3E0000003E7C0000001E7C0000001F7C0000001F780
+000000FF80000000FF80000000FF000000007F000000007F000000003E000000003E0000
+00007E000000007C000000007C00000000FC00000000F800000000F800000C01F800003F
+01F000007F83F000007F87E000007E0FE000007E1FC000007FFF8000003FFF0000001FFE
+0000000FFC00000007E000000027367EA32C>I<3FFFFFFFE07FFFFFFFF07FFFFFFFF07F
+FFFFFFF07FFFFFFFF07E00001FE07E00003FC07E00007F807E0000FF007E0001FE003C00
+03FC00000007F80000000FF00000001FE00000003FC00000007F80000000FF00000001FC
+00000003F80000000FF00000001FE00000003FC00000007F80000000FF00000001FE0001
+E003FC0003F007F80003F00FF00003F01FE00003F03FC00003F07F800003F0FFFFFFFFF0
+FFFFFFFFF0FFFFFFFFF0FFFFFFFFF07FFFFFFFE024247DA32C>I
 E
 %EndDVIPSBitmapFont
 %DVIPSBitmapFont: Fm ecbx1000 10 30
@@ -2324,145 +2396,147 @@
 1E0000FFC0003C0000FFC0007C0000FFC000F80000FFC000FFFFFFFFFF80FFFFFFFFFF80
 FFFFFFFFFF80FFFFFFFFFF80000001FFC000000001FFC000000001FFC000000001FFC000
 000001FFC000000001FFC000000001FFC000000001FFC000000001FFC000000001FFC000
-0003FFFFFF800003FFFFFF800003FFFFFF800003FFFFFF8029367DB530>I<00000FF800
-0000FFFE000003FFFF80000FF80FC0003FE003E0007F8001F000FF000FF001FF001FF803
-FE003FF807FC003FF80FFC003FF80FF8003FF81FF8003FF81FF8003FF83FF8001FF03FF8
-000FE07FF00000007FF00000007FF00000007FF00800007FF07FF000FFF1FFFC00FFF3FF
-FF00FFF780FF80FFFF007FC0FFFE003FE0FFFC003FF0FFFC001FF8FFF8001FF8FFF8001F
-FCFFF8001FFCFFF8001FFCFFF0001FFEFFF0001FFEFFF0001FFEFFF0001FFE7FF0001FFE
-7FF0001FFE7FF0001FFE7FF0001FFE7FF0001FFE3FF0001FFE3FF0001FFC3FF0001FFC1F
-F8001FFC1FF8001FF80FF8003FF80FFC003FF007FC003FE003FE007FC001FF81FF8000FF
-FFFF00003FFFFC00000FFFF0000001FF800027377CB530>54 D<FFFFFFFFFFC00000FFFF
-FFFFFFFC0000FFFFFFFFFFFF0000FFFFFFFFFFFFC000007FF00003FFE000007FF00000FF
-F000007FF000007FF800007FF000003FFC00007FF000001FFC00007FF000001FFE00007F
-F000001FFE00007FF000000FFF00007FF000000FFF00007FF000000FFF00007FF000000F
-FF00007FF000000FFF00007FF000000FFF00007FF000000FFF00007FF000001FFE00007F
-F000001FFE00007FF000001FFC00007FF000003FFC00007FF000007FF800007FF00000FF
-F000007FF00001FFC000007FF0000FFF8000007FFFFFFFFC0000007FFFFFFFFC0000007F
-FFFFFFFF8000007FF00000FFF000007FF000003FF800007FF000001FFC00007FF000000F
-FE00007FF0000007FF00007FF0000007FF80007FF0000003FFC0007FF0000003FFC0007F
-F0000003FFC0007FF0000003FFE0007FF0000003FFE0007FF0000003FFE0007FF0000003
-FFE0007FF0000003FFE0007FF0000003FFE0007FF0000003FFE0007FF0000003FFC0007F
-F0000003FFC0007FF0000007FFC0007FF000000FFF80007FF000000FFF00007FF000001F
-FF00007FF000007FFE00007FF00001FFFC00FFFFFFFFFFFFF000FFFFFFFFFFFFC000FFFF
-FFFFFFFF0000FFFFFFFFFFF000003B397DB844>66 D<FFFFFFFCFFFFFFFCFFFFFFFCFFFF
-FFFC007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007F
-F800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007F
-F800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007F
-F800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007F
-F800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007F
-F800007FF800007FF800007FF800007FF800FFFFFFFCFFFFFFFCFFFFFFFCFFFFFFFC1E39
-7DB824>73 D<FFFFFFFF000000FFFFFFFF000000FFFFFFFF000000FFFFFFFF000000007F
+0003FFFFFF800003FFFFFF800003FFFFFF800003FFFFFF8029367DB530>I<3C00000000
+003E00000000003FE0000000003FFFFFFFFF803FFFFFFFFF803FFFFFFFFF803FFFFFFFFF
+803FFFFFFFFF007FFFFFFFFE007FFFFFFFFC007FFFFFFFF8007FFFFFFFF0007FFFFFFFE0
+007FFFFFFFE0007C00000FC0007800001F80007800003F0000F800007E0000F00000FC00
+00F00000F80000F00001F80000F00003F00000000007E0000000000FC0000000000FC000
+0000001F80000000003F80000000007F00000000007F0000000000FE0000000000FE0000
+000001FE0000000001FC0000000003FC0000000003FC0000000007FC0000000007FC0000
+00000FFC000000000FF8000000000FF8000000001FF8000000001FF8000000001FF80000
+00001FF8000000001FF8000000003FF8000000003FF8000000003FF8000000003FF80000
+00003FF8000000003FF8000000003FF8000000003FF8000000003FF8000000001FF00000
+00000FE00000000007C000000029397BB730>55 D<FFFFFFFFFFC00000FFFFFFFFFFFC00
+00FFFFFFFFFFFF0000FFFFFFFFFFFFC000007FF00003FFE000007FF00000FFF000007FF0
+00007FF800007FF000003FFC00007FF000001FFC00007FF000001FFE00007FF000001FFE
+00007FF000000FFF00007FF000000FFF00007FF000000FFF00007FF000000FFF00007FF0
+00000FFF00007FF000000FFF00007FF000000FFF00007FF000001FFE00007FF000001FFE
+00007FF000001FFC00007FF000003FFC00007FF000007FF800007FF00000FFF000007FF0
+0001FFC000007FF0000FFF8000007FFFFFFFFC0000007FFFFFFFFC0000007FFFFFFFFF80
+00007FF00000FFF000007FF000003FF800007FF000001FFC00007FF000000FFE00007FF0
+000007FF00007FF0000007FF80007FF0000003FFC0007FF0000003FFC0007FF0000003FF
+C0007FF0000003FFE0007FF0000003FFE0007FF0000003FFE0007FF0000003FFE0007FF0
+000003FFE0007FF0000003FFE0007FF0000003FFE0007FF0000003FFC0007FF0000003FF
+C0007FF0000007FFC0007FF000000FFF80007FF000000FFF00007FF000001FFF00007FF0
+00007FFE00007FF00001FFFC00FFFFFFFFFFFFF000FFFFFFFFFFFFC000FFFFFFFFFFFF00
+00FFFFFFFFFFF000003B397DB844>66 D<FFFFFFFCFFFFFFFCFFFFFFFCFFFFFFFC007FF8
+00007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF8
+00007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF8
+00007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF8
+00007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF8
+00007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF8
+00007FF800007FF800007FF800FFFFFFFCFFFFFFFCFFFFFFFCFFFFFFFC1E397DB824>73
+D<FFFFFFFF000000FFFFFFFF000000FFFFFFFF000000FFFFFFFF000000007FF800000000
+007FF800000000007FF800000000007FF800000000007FF800000000007FF80000000000
+7FF800000000007FF800000000007FF800000000007FF800000000007FF800000000007F
 F800000000007FF800000000007FF800000000007FF800000000007FF800000000007FF8
 00000000007FF800000000007FF800000000007FF800000000007FF800000000007FF800
 000000007FF800000000007FF800000000007FF800000000007FF800000000007FF80000
+0000007FF800000000007FF800000000007FF800000000007FF800000780007FF8000007
+80007FF800000780007FF800000780007FF800000780007FF800000F80007FF800000F00
+007FF800000F00007FF800000F00007FF800001F00007FF800001F00007FF800003F0000
+7FF800003F00007FF800007F00007FF80000FF00007FF80001FF00007FF80003FF00007F
+F8000FFE00007FF8007FFE00FFFFFFFFFFFE00FFFFFFFFFFFE00FFFFFFFFFFFE00FFFFFF
+FFFFFE0031397DB839>76 D<000000FFF800000000000FFFFF80000000007FFFFFF00000
+0001FFC01FFC00000007FF0007FF0000001FFC0001FFC000003FF000007FE000007FE000
+003FF00000FFC000001FF80001FF8000000FFC0003FF8000000FFE0007FF00000007FF00
+07FF00000007FF000FFE00000003FF800FFE00000003FF801FFC00000001FFC01FFC0000
+0001FFC03FFC00000001FFE03FFC00000001FFE03FFC00000001FFE07FF800000000FFF0
+7FF800000000FFF07FF800000000FFF07FF800000000FFF0FFF800000000FFF8FFF80000
+0000FFF8FFF800000000FFF8FFF800000000FFF8FFF800000000FFF8FFF800000000FFF8
+FFF800000000FFF8FFF800000000FFF8FFF800000000FFF8FFF800000000FFF8FFF80000
+0000FFF8FFF800000000FFF87FF800000000FFF07FFC00000001FFF07FFC00000001FFF0
+7FFC00000001FFF03FFC00000001FFE03FFC00000001FFE03FFE00000003FFE01FFE0000
+0003FFC01FFE00000003FFC00FFF00000007FF8007FF00000007FF0007FF8000000FFF00
+03FFC000001FFE0001FFC000001FFC0000FFE000003FF800007FF000007FF000003FFC00
+01FFE000001FFF0007FFC0000007FFC01FFF00000001FFFFFFFC000000007FFFFFF00000
+00000FFFFF800000000000FFF80000003D3B7BB948>79 D<FFFFFFFFFF0000FFFFFFFFFF
+F000FFFFFFFFFFFE00FFFFFFFFFFFF80007FF8000FFFC0007FF80001FFE0007FF80000FF
+F0007FF800007FF8007FF800003FFC007FF800003FFC007FF800001FFE007FF800001FFE
+007FF800001FFF007FF800001FFF007FF800001FFF007FF800001FFF007FF800001FFF00
+7FF800001FFF007FF800001FFF007FF800001FFF007FF800001FFE007FF800001FFE007F
+F800003FFC007FF800003FFC007FF800007FF8007FF80000FFF0007FF80001FFE0007FF8
+000FFFC0007FFFFFFFFF00007FFFFFFFFC00007FFFFFFFE000007FF800000000007FF800
+000000007FF800000000007FF800000000007FF800000000007FF800000000007FF80000
 0000007FF800000000007FF800000000007FF800000000007FF800000000007FF8000000
 00007FF800000000007FF800000000007FF800000000007FF800000000007FF800000000
-007FF800000000007FF800000000007FF800000000007FF800000000007FF80000078000
-7FF800000780007FF800000780007FF800000780007FF800000780007FF800000F80007F
-F800000F00007FF800000F00007FF800000F00007FF800001F00007FF800001F00007FF8
-00003F00007FF800003F00007FF800007F00007FF80000FF00007FF80001FF00007FF800
-03FF00007FF8000FFE00007FF8007FFE00FFFFFFFFFFFE00FFFFFFFFFFFE00FFFFFFFFFF
-FE00FFFFFFFFFFFE0031397DB839>76 D<000000FFF800000000000FFFFF80000000007F
-FFFFF000000001FFC01FFC00000007FF0007FF0000001FFC0001FFC000003FF000007FE0
-00007FE000003FF00000FFC000001FF80001FF8000000FFC0003FF8000000FFE0007FF00
-000007FF0007FF00000007FF000FFE00000003FF800FFE00000003FF801FFC00000001FF
-C01FFC00000001FFC03FFC00000001FFE03FFC00000001FFE03FFC00000001FFE07FF800
-000000FFF07FF800000000FFF07FF800000000FFF07FF800000000FFF0FFF800000000FF
-F8FFF800000000FFF8FFF800000000FFF8FFF800000000FFF8FFF800000000FFF8FFF800
-000000FFF8FFF800000000FFF8FFF800000000FFF8FFF800000000FFF8FFF800000000FF
-F8FFF800000000FFF8FFF800000000FFF87FF800000000FFF07FFC00000001FFF07FFC00
-000001FFF07FFC00000001FFF03FFC00000001FFE03FFC00000001FFE03FFE00000003FF
-E01FFE00000003FFC01FFE00000003FFC00FFF00000007FF8007FF00000007FF0007FF80
-00000FFF0003FFC000001FFE0001FFC000001FFC0000FFE000003FF800007FF000007FF0
-00003FFC0001FFE000001FFF0007FFC0000007FFC01FFF00000001FFFFFFFC000000007F
-FFFFF0000000000FFFFF800000000000FFF80000003D3B7BB948>79
-D<FFFFFFFFFF0000FFFFFFFFFFF000FFFFFFFFFFFE00FFFFFFFFFFFF80007FF8000FFFC0
-007FF80001FFE0007FF80000FFF0007FF800007FF8007FF800003FFC007FF800003FFC00
-7FF800001FFE007FF800001FFE007FF800001FFF007FF800001FFF007FF800001FFF007F
-F800001FFF007FF800001FFF007FF800001FFF007FF800001FFF007FF800001FFF007FF8
-00001FFE007FF800001FFE007FF800003FFC007FF800003FFC007FF800007FF8007FF800
-00FFF0007FF80001FFE0007FF8000FFFC0007FFFFFFFFF00007FFFFFFFFC00007FFFFFFF
-E000007FF800000000007FF800000000007FF800000000007FF800000000007FF8000000
-00007FF800000000007FF800000000007FF800000000007FF800000000007FF800000000
-007FF800000000007FF800000000007FF800000000007FF800000000007FF80000000000
-7FF800000000007FF800000000007FF800000000007FF800000000007FF800000000007F
-F800000000007FF800000000FFFFFFFC000000FFFFFFFC000000FFFFFFFC000000FFFFFF
-FC00000038397DB841>I<0007FF000E00003FFFE01E0000FFFFF83E0003FFFFFE7E0007
-FC01FFFE000FF0001FFE001FE0000FFE003FC00003FE003F800001FE007F800000FE007F
-000000FE007F0000007E00FF0000007E00FF0000003E00FF0000003E00FF8000003E00FF
-8000001E00FFC000001E00FFE000001E00FFF000000000FFFC000000007FFFE00000007F
-FFFE0000007FFFFFF000003FFFFFFE00003FFFFFFF80001FFFFFFFC0000FFFFFFFF00007
-FFFFFFF80003FFFFFFFC0000FFFFFFFE00003FFFFFFE00000FFFFFFF000001FFFFFF0000
-000FFFFF800000007FFF800000000FFFC000000003FFC000000001FFC000000000FFC0F0
-0000007FC0F00000007FC0F00000007FC0F00000003FC0F00000003FC0F80000003FC0F8
-0000003F80FC0000003F80FC0000007F80FE0000007F00FF0000007F00FF800000FE00FF
-E00001FC00FFF80003FC00FFFF801FF800FCFFFFFFE000F83FFFFFC000F007FFFE0000E0
-007FF000002A3B7BB935>83 D<003FFE00000003FFFFE000000FFFFFF800001FF00FFE00
-003FF003FF00003FF801FF80003FF800FFC0003FF800FFC0003FF8007FE0003FF8007FE0
-001FF0007FE0000FE0007FE0000380007FE0000000007FE0000000007FE00000003FFFE0
-00000FFFFFE000007FFFFFE00001FFF87FE00007FF807FE0000FFE007FE0003FF8007FE0
-003FF0007FE0007FE0007FE000FFE0007FE000FFC0007FE000FFC0007FE000FFC0007FE0
-00FFC0007FE000FFC000FFE000FFE001FFE0007FE001FFE0003FF007FFF8001FFC1FBFFF
-C00FFFFE1FFFC003FFF80FFFC0003FE003FFC02A257DA42E>97 D<0001FFC000000FFFFC
-00007FFFFF0000FF80FF8003FE00FFC007FC01FFC00FF801FFC01FF801FFC01FF001FFC0
-3FF001FFC03FF000FF807FE0007F007FE0001C007FE0000000FFE0000000FFE0000000FF
-E0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE00000007FE0
-0000007FE00000007FF00000003FF00000003FF00001E01FF80001E01FF80003E00FFC00
-07C007FE00078003FF001F8000FFC07E00007FFFFC00000FFFF0000001FF800023257DA4
-2A>99 D<000000007F800000007FFF800000007FFF800000007FFF800000007FFF800000
-0003FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF800000
-0001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF800000
-0001FF8000000001FF8000000001FF8000000001FF800001FF81FF80000FFFF1FF80003F
-FFFDFF8000FFC07FFF8003FF001FFF8007FC0007FF800FFC0003FF801FF80001FF801FF0
-0001FF803FF00001FF803FF00001FF807FE00001FF807FE00001FF807FE00001FF80FFE0
-0001FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE0
-0001FF80FFE00001FF80FFE00001FF80FFE00001FF807FE00001FF807FE00001FF807FF0
-0001FF803FF00001FF803FF00001FF801FF80003FF800FF80007FF8007FC000FFF8003FE
-001FFFC001FF80FDFFFE007FFFF9FFFE001FFFE1FFFE0001FF01FFFE2F3A7DB935>I<00
-03FF8000001FFFF000007FFFFC0001FF83FE0003FE007F8007FC003F800FF8003FC01FF8
-001FE01FF0001FE03FF0000FF03FF0000FF07FE0000FF07FE0000FF87FE00007F8FFE000
-07F8FFE00007F8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFE0000000FFE0000000FFE00000
-00FFE00000007FE00000007FE00000007FE00000003FF00000003FF00000781FF0000078
-0FF80000F80FFC0000F007FC0003F001FF000FE000FFC07FC0007FFFFF00000FFFFC0000
-01FFE00025257DA42C>I<00001FF0000001FFFC000007FFFF00001FF87F80003FE0FF80
-00FFC1FFC000FFC1FFC001FF81FFC001FF81FFC003FF01FFC003FF00FF8003FF00FF8003
-FF003E0003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF
-00000003FF000000FFFFFF0000FFFFFF0000FFFFFF0000FFFFFF000003FF00000003FF00
-000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF0000
+007FF800000000007FF800000000007FF800000000007FF800000000007FF800000000FF
+FFFFFC000000FFFFFFFC000000FFFFFFFC000000FFFFFFFC00000038397DB841>I<0007
+FF000E00003FFFE01E0000FFFFF83E0003FFFFFE7E0007FC01FFFE000FF0001FFE001FE0
+000FFE003FC00003FE003F800001FE007F800000FE007F000000FE007F0000007E00FF00
+00007E00FF0000003E00FF0000003E00FF8000003E00FF8000001E00FFC000001E00FFE0
+00001E00FFF000000000FFFC000000007FFFE00000007FFFFE0000007FFFFFF000003FFF
+FFFE00003FFFFFFF80001FFFFFFFC0000FFFFFFFF00007FFFFFFF80003FFFFFFFC0000FF
+FFFFFE00003FFFFFFE00000FFFFFFF000001FFFFFF0000000FFFFF800000007FFF800000
+000FFFC000000003FFC000000001FFC000000000FFC0F00000007FC0F00000007FC0F000
+00007FC0F00000003FC0F00000003FC0F80000003FC0F80000003F80FC0000003F80FC00
+00007F80FE0000007F00FF0000007F00FF800000FE00FFE00001FC00FFF80003FC00FFFF
+801FF800FCFFFFFFE000F83FFFFFC000F007FFFE0000E0007FF000002A3B7BB935>83
+D<003FFE00000003FFFFE000000FFFFFF800001FF00FFE00003FF003FF00003FF801FF80
+003FF800FFC0003FF800FFC0003FF8007FE0003FF8007FE0001FF0007FE0000FE0007FE0
+000380007FE0000000007FE0000000007FE00000003FFFE000000FFFFFE000007FFFFFE0
+0001FFF87FE00007FF807FE0000FFE007FE0003FF8007FE0003FF0007FE0007FE0007FE0
+00FFE0007FE000FFC0007FE000FFC0007FE000FFC0007FE000FFC0007FE000FFC000FFE0
+00FFE001FFE0007FE001FFE0003FF007FFF8001FFC1FBFFFC00FFFFE1FFFC003FFF80FFF
+C0003FE003FFC02A257DA42E>97 D<0001FFC000000FFFFC00007FFFFF0000FF80FF8003
+FE00FFC007FC01FFC00FF801FFC01FF801FFC01FF001FFC03FF001FFC03FF000FF807FE0
+007F007FE0001C007FE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE000
+0000FFE0000000FFE0000000FFE0000000FFE00000007FE00000007FE00000007FF00000
+003FF00000003FF00001E01FF80001E01FF80003E00FFC0007C007FE00078003FF001F80
+00FFC07E00007FFFFC00000FFFF0000001FF800023257DA42A>99
+D<000000007F800000007FFF800000007FFF800000007FFF800000007FFF8000000003FF
+8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF
+8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF
+8000000001FF8000000001FF8000000001FF800001FF81FF80000FFFF1FF80003FFFFDFF
+8000FFC07FFF8003FF001FFF8007FC0007FF800FFC0003FF801FF80001FF801FF00001FF
+803FF00001FF803FF00001FF807FE00001FF807FE00001FF807FE00001FF80FFE00001FF
+80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001FF
+80FFE00001FF80FFE00001FF80FFE00001FF807FE00001FF807FE00001FF807FF00001FF
+803FF00001FF803FF00001FF801FF80003FF800FF80007FF8007FC000FFF8003FE001FFF
+C001FF80FDFFFE007FFFF9FFFE001FFFE1FFFE0001FF01FFFE2F3A7DB935>I<0003FF80
+00001FFFF000007FFFFC0001FF83FE0003FE007F8007FC003F800FF8003FC01FF8001FE0
+1FF0001FE03FF0000FF03FF0000FF07FE0000FF07FE0000FF87FE00007F8FFE00007F8FF
+E00007F8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFE0000000FFE0000000FFE0000000FFE0
+0000007FE00000007FE00000007FE00000003FF00000003FF00000781FF00000780FF800
+00F80FFC0000F007FC0003F001FF000FE000FFC07FC0007FFFFF00000FFFFC000001FFE0
+0025257DA42C>I<00001FF0000001FFFC000007FFFF00001FF87F80003FE0FF8000FFC1
+FFC000FFC1FFC001FF81FFC001FF81FFC003FF01FFC003FF00FF8003FF00FF8003FF003E
 0003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF000000
-03FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003
-FF00000003FF00000003FF00000003FF00000003FF00000003FF000000FFFFFE0000FFFF
-FE0000FFFFFE0000FFFFFE0000223A7DB91D>I<000000001F000007FE00FFC0007FFFE3
-FFC001FFFFFFEFE007FE07FF8FE00FF801FF1FE01FF000FF8FE03FF000FFCFE03FE0007F
-C7C03FE0007FC0007FE0007FE0007FE0007FE0007FE0007FE0007FE0007FE0007FE0007F
-E0007FE0007FE0003FE0007FC0003FE0007FC0003FF000FFC0001FF000FF80000FF801FF
-000007FE07FE00000FFFFFF800000F7FFFE000001E07FE0000001E00000000001E000000
-00003E00000000003F00000000003F80000000001FC0000000001FFFFFF800001FFFFFFF
-80001FFFFFFFE0000FFFFFFFF80007FFFFFFFC0003FFFFFFFE0007FFFFFFFE001FFFFFFF
-FF003FC0000FFF007F000000FF80FF0000007F80FE0000007F80FE0000003F80FE000000
-3F80FE0000003F80FF0000007F807F0000007F007F800000FF003FC00001FE001FF00007
-FC0007FE003FF00001FFFFFFC000007FFFFF00000007FFF000002B377DA530>I<00FF00
-000000FFFF00000000FFFF00000000FFFF00000000FFFF0000000007FF0000000003FF00
-00000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF00
-00000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF00
-00000003FF0000000003FF0000000003FF007FC00003FF03FFF80003FF0FFFFE0003FF1F
-03FF0003FF3C01FF8003FF7801FF8003FFF000FF8003FFE000FFC003FFC000FFC003FFC0
-00FFC003FF8000FFC003FF8000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF00
-00FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF00
-00FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF00
-00FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC0FFFFFC
-3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFF303A7DB935>I<01F00007FC000FFE
-000FFE001FFF001FFF001FFF001FFF001FFF000FFE000FFE0007FC0001F0000000000000
-0000000000000000000000000000000000000000000000FF007FFF007FFF007FFF007FFF
-0007FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF
+03FF000000FFFFFF0000FFFFFF0000FFFFFF0000FFFFFF000003FF00000003FF00000003
+FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF
+00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00
+000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF0000
+0003FF00000003FF00000003FF00000003FF00000003FF000000FFFFFE0000FFFFFE0000
+FFFFFE0000FFFFFE0000223A7DB91D>I<000000001F000007FE00FFC0007FFFE3FFC001
+FFFFFFEFE007FE07FF8FE00FF801FF1FE01FF000FF8FE03FF000FFCFE03FE0007FC7C03F
+E0007FC0007FE0007FE0007FE0007FE0007FE0007FE0007FE0007FE0007FE0007FE0007F
+E0007FE0003FE0007FC0003FE0007FC0003FF000FFC0001FF000FF80000FF801FF000007
+FE07FE00000FFFFFF800000F7FFFE000001E07FE0000001E00000000001E00000000003E
+00000000003F00000000003F80000000001FC0000000001FFFFFF800001FFFFFFF80001F
+FFFFFFE0000FFFFFFFF80007FFFFFFFC0003FFFFFFFE0007FFFFFFFE001FFFFFFFFF003F
+C0000FFF007F000000FF80FF0000007F80FE0000007F80FE0000003F80FE0000003F80FE
+0000003F80FF0000007F807F0000007F007F800000FF003FC00001FE001FF00007FC0007
+FE003FF00001FFFFFFC000007FFFFF00000007FFF000002B377DA530>I<00FF00000000
+FFFF00000000FFFF00000000FFFF00000000FFFF0000000007FF0000000003FF00000000
+03FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF00000000
+03FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF00000000
+03FF0000000003FF0000000003FF007FC00003FF03FFF80003FF0FFFFE0003FF1F03FF00
+03FF3C01FF8003FF7801FF8003FFF000FF8003FFE000FFC003FFC000FFC003FFC000FFC0
+03FF8000FFC003FF8000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC0
+03FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC0
+03FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC0
+03FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC0FFFFFC3FFFFF
+FFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFF303A7DB935>I<01F00007FC000FFE000FFE
+001FFF001FFF001FFF001FFF001FFF000FFE000FFE0007FC0001F0000000000000000000
+0000000000000000000000000000000000000000FF007FFF007FFF007FFF007FFF0007FF
 0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF
-0003FF0003FF0003FF0003FF00FFFFF8FFFFF8FFFFF8FFFFF8153B7DBA1B>I<00FF00FF
-FF00FFFF00FFFF00FFFF0007FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003
+0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF
+0003FF0003FF0003FF00FFFFF8FFFFF8FFFFF8FFFFF8153B7DBA1B>I<00FF00FFFF00FF
+FF00FFFF00FFFF0007FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003
 FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003
 FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003
 FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003
-FF0003FF0003FF0003FF0003FF00FFFFFCFFFFFCFFFFFCFFFFFC163A7DB91B>108
+FF0003FF0003FF0003FF00FFFFFCFFFFFCFFFFFCFFFFFC163A7DB91B>108
 D<00FE007FC000FFFE03FFF800FFFE0FFFFE00FFFE1F03FF00FFFE3C01FF8007FE7801FF
 8003FEF000FF8003FFE000FFC003FFC000FFC003FFC000FFC003FF8000FFC003FF8000FF
 C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF
@@ -4618,9 +4692,9 @@
 %%EndSetup
 %%Page: 1 1
 TeXDict begin 1 0 bop 0 83 3901 9 v 1890 451 a Ft(Python)64
-b(Op)5 b(enSSL)64 b(Manual)3394 619 y Fs(Release)34 b(0.10)2927
-974 y Fr(Jean-P)m(aul)i(Calderone)3208 1328 y Fq(No)n(v)n(em)n(b)r(er)
-26 b(13,)h(2009)3014 1475 y Fp(exa)n(rkun@t)n(wistedmatrix.com)1781
+b(Op)5 b(enSSL)64 b(Manual)3299 619 y Fs(Release)33 b(0.11a1)2927
+974 y Fr(Jean-P)m(aul)j(Calderone)3321 1328 y Fq(Octob)r(er)27
+b(7,)g(2010)3014 1475 y Fp(exa)n(rkun@t)n(wistedmatrix.com)1781
 1697 y Fo(Abstract)208 1841 y Fn(This)32 b(mo)r(dule)f(is)h(a)g(rather)
 g(thin)f(wrapp)r(er)h(around)g(\(a)g(subset)f(of)6 b(\))32
 b(the)g(Op)r(enSSL)e(library)-6 b(.)52 b(With)32 b(thin)f(wrapp)r(er)
@@ -4646,14 +4720,14 @@
 (.)h(.)134 b(5)315 3344 y(X509Name)27 b(ob)5 b(jects)57
 b(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)
 f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
-(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)134 b(6)315 3444 y(X509Req)27
+(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)134 b(7)315 3444 y(X509Req)27
 b(ob)5 b(jects)60 b(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
 (.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)
 f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)134
 b(7)315 3543 y(X509Store)26 b(ob)5 b(jects)78 b(.)41
 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h
 (.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)
-f(.)h(.)f(.)h(.)f(.)h(.)134 b(7)315 3643 y(PKey)28 b(ob)5
+f(.)h(.)f(.)h(.)f(.)h(.)134 b(8)315 3643 y(PKey)28 b(ob)5
 b(jects)58 b(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
 (.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)
 f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)134
@@ -4670,31 +4744,38 @@
 b(9)315 4041 y(Netscap)r(eSPKI)28 b(ob)5 b(jects)58 b(.)42
 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f
 (.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)
-f(.)h(.)f(.)h(.)134 b(9)125 4141 y(3.2)83 b Fl(rand)26
-b Fq(\026)i(An)g(in)n(terface)f(to)g(the)h(Op)r(enSSL)g(pseudo)f
-(random)g(n)n(um)n(b)r(er)g(generator)50 b(.)41 b(.)h(.)f(.)h(.)g(.)f
-(.)h(.)f(.)h(.)f(.)h(.)134 b(9)125 4241 y(3.3)83 b Fl(SSL)27
-b Fq(\026)g(An)i(in)n(terface)d(to)i(the)g(SSL-sp)r(eci\034c)f(parts)g
-(of)h(Op)r(enSSL)64 b(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
-h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)93 b(10)315 4340 y(Con)n(text)28
-b(ob)5 b(jects)98 b(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
-(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)
-f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)93
-b(11)315 4440 y(Connection)27 b(ob)5 b(jects)108 b(.)42
-b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g
-(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)
-h(.)f(.)h(.)f(.)h(.)93 b(13)0 4623 y Fm(4)77 b(In)m(ternals)3310
-b(16)125 4722 y Fq(4.1)83 b(Exceptions)i(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g
-(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)
-h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f
-(.)h(.)f(.)h(.)93 b(16)125 4822 y(4.2)83 b(Callbac)n(ks)68
-b(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
-g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f
-(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)93
-b(16)125 4921 y(4.3)83 b(A)n(cessing)27 b(So)r(c)n(k)n(et)g(Metho)r(ds)
-82 b(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f
-(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)
-f(.)h(.)f(.)h(.)93 b(17)p 0 5068 V eop end
+f(.)h(.)f(.)h(.)134 b(9)315 4141 y(CRL)28 b(ob)5 b(jects)87
+b(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)
+h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)93 b(10)315
+4241 y(Rev)n(ok)n(ed)27 b(ob)5 b(jects)83 b(.)42 b(.)f(.)h(.)g(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)
+h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f
+(.)h(.)93 b(10)125 4340 y(3.2)83 b Fl(rand)26 b Fq(\026)i(An)g(in)n
+(terface)f(to)g(the)h(Op)r(enSSL)g(pseudo)f(random)g(n)n(um)n(b)r(er)g
+(generator)50 b(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)93
+b(10)125 4440 y(3.3)83 b Fl(SSL)27 b Fq(\026)g(An)i(in)n(terface)d(to)i
+(the)g(SSL-sp)r(eci\034c)f(parts)g(of)h(Op)r(enSSL)64
+b(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)
+h(.)f(.)h(.)93 b(11)315 4540 y(Con)n(text)28 b(ob)5 b(jects)98
+b(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)
+h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)93 b(13)315 4639 y(Connection)27
+b(ob)5 b(jects)108 b(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f
+(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)
+f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)93 b(15)0
+4822 y Fm(4)77 b(In)m(ternals)3310 b(17)125 4921 y Fq(4.1)83
+b(Exceptions)i(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)
+f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)93
+b(17)125 5021 y(4.2)83 b(Callbac)n(ks)68 b(.)42 b(.)f(.)h(.)f(.)h(.)f
+(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)
+g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f
+(.)h(.)f(.)h(.)f(.)h(.)93 b(17)125 5121 y(4.3)83 b(A)n(cessing)27
+b(So)r(c)n(k)n(et)g(Metho)r(ds)82 b(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)g
+(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)93 b(18)p
+0 5268 V eop end
 %%Page: 2 2
 TeXDict begin 2 1 bop 0 85 a Fr(1)114 b(Intro)s(duction)0
 314 y Fq(The)41 b(reason)e(p)n(yOp)r(enSSL)i(w)n(as)e(created)h(is)h
@@ -4823,934 +4904,1004 @@
 b(is)i(presen)n(t,)h(it)f(should)f(b)r(e)h(a)g(base64-enco)r(ded)d
 (string)i(represen)n(ting)f(a)h(Netscap)r(eSPKI)208 2989
 y(ob)5 b(ject,)27 b(as)g(returned)g(b)n(y)g(the)h Fl(b64_encode)c
-Fq(metho)r(d.)0 3136 y Fl(FILETYPE_PEM)0 3236 y(FILETYPE_ASN1)208
-3335 y Fq(File)j(t)n(yp)r(e)h(constan)n(ts.)0 3482 y
-Fl(TYPE_RSA)0 3582 y(TYPE_DSA)208 3681 y Fq(Key)e(t)n(yp)r(e)i(constan)
-n(ts.)0 3828 y Fm(exception)k Fl(Error)208 3928 y Fq(Generic)27
-b(exception)g(used)g(in)h(the)g Fl(crypto)d Fq(mo)r(dule.)0
-4075 y Fl(dump_certificate)o(\()p Fc(t)o(yp)l(e,)g(c)l(ert)8
-b Fl(\))208 4174 y Fq(Dump)28 b(the)g(certi\034cate)f
+Fq(metho)r(d.)0 3136 y Fm(class)31 b Fl(CRL\(\))208 3236
+y Fq(A)c(class)g(represen)n(ting)f(Certifcate)h(Rev)n(o)r(cation)g
+(List)g(ob)5 b(jects.)0 3383 y Fm(class)31 b Fl(Revoked\(\))208
+3482 y Fq(A)c(class)g(represen)n(ting)f(Rev)n(o)r(cation)g(ob)5
+b(jects)27 b(of)h(CRL.)0 3629 y Fl(FILETYPE_PEM)0 3729
+y(FILETYPE_ASN1)208 3828 y Fq(File)f(t)n(yp)r(e)h(constan)n(ts.)0
+3975 y Fl(TYPE_RSA)0 4075 y(TYPE_DSA)208 4174 y Fq(Key)e(t)n(yp)r(e)i
+(constan)n(ts.)0 4321 y Fm(exception)k Fl(Error)208 4421
+y Fq(Generic)27 b(exception)g(used)g(in)h(the)g Fl(crypto)d
+Fq(mo)r(dule.)0 4568 y Fl(dump_certificate)o(\()p Fc(t)o(yp)l(e,)g(c)l
+(ert)8 b Fl(\))208 4667 y Fq(Dump)28 b(the)g(certi\034cate)f
 Fc(c)l(ert)35 b Fq(in)n(to)27 b(a)h(bu\033er)f(string)g(enco)r(ded)h
-(with)g(the)g(t)n(yp)r(e)f Fc(typ)l(e)6 b Fq(.)0 4321
+(with)g(the)g(t)n(yp)r(e)f Fc(typ)l(e)6 b Fq(.)0 4814
 y Fl(dump_certificate)o(_r)o(equ)o(es)o(t\()o Fc(typ)l(e,)25
-b(r)l(e)l(q)7 b Fl(\))208 4421 y Fq(Dump)28 b(the)g(certi\034cate)f
+b(r)l(e)l(q)7 b Fl(\))208 4914 y Fq(Dump)28 b(the)g(certi\034cate)f
 (request)g Fc(r)l(e)l(q)35 b Fq(in)n(to)27 b(a)g(bu\033er)h(string)f
 (enco)r(ded)g(with)h(the)g(t)n(yp)r(e)g Fc(typ)l(e)6
-b Fq(.)0 4582 y Fl(dump_privatekey\()o Fc(typ)l(e,)25
+b Fq(.)0 5075 y Fl(dump_privatekey\()o Fc(typ)l(e,)25
 b(pkey)7 b Fb([)p Fc(,)31 b(cipher,)h(p)l(assphr)l(ase)19
-b Fb(])p Fl(\))208 4682 y Fq(Dump)39 b(the)f(priv)-5
+b Fb(])p Fl(\))208 5175 y Fq(Dump)39 b(the)f(priv)-5
 b(ate)38 b(k)n(ey)h Fc(pkey)46 b Fq(in)n(to)38 b(a)g(bu\033er)g(string)
 g(enco)r(ded)g(with)g(the)h(t)n(yp)r(e)f Fc(typ)l(e)6
 b Fq(,)42 b(optionally)37 b(\(if)45 b Fc(typ)l(e)g Fq(is)208
-4781 y Fl(FILETYPE_PEM)p Fq(\))22 b(encrypting)27 b(it)h(using)h
+5274 y Fl(FILETYPE_PEM)p Fq(\))22 b(encrypting)27 b(it)h(using)h
 Fc(cipher)38 b Fq(and)27 b Fc(p)l(assphr)l(ase)6 b Fq(.)208
-4907 y Fc(p)l(assphr)l(ase)35 b Fq(m)n(ust)28 b(b)r(e)g(either)f(a)g
+5400 y Fc(p)l(assphr)l(ase)35 b Fq(m)n(ust)28 b(b)r(e)g(either)f(a)g
 (string)g(or)g(a)g(callbac)n(k)f(for)h(pro)n(viding)f(the)i(pass)f
-(phrase.)0 5054 y Fl(load_certificate)o(\()p Fc(t)o(yp)l(e,)e(bu\033er)
-9 b Fl(\))208 5154 y Fq(Load)26 b(a)h(certi\034cate)g(\(X509\))g(from)h
-(the)f(string)h Fc(bu\033er)37 b Fq(enco)r(ded)27 b(with)h(the)g(t)n
-(yp)r(e)g Fc(typ)l(e)6 b Fq(.)0 5300 y Fl(load_certificate)o(_r)o(equ)o
-(es)o(t\()o Fc(typ)l(e,)25 b(bu\033er)9 b Fl(\))208 5400
-y Fq(Load)26 b(a)h(certi\034cate)g(request)g(\(X509Req\))g(from)g(the)h
-(string)g Fc(bu\033er)37 b Fq(enco)r(ded)27 b(with)h(the)g(t)n(yp)r(e)g
-Fc(typ)l(e)6 b Fq(.)p 0 5549 3901 4 v 0 5649 a Ff(4)2239
-b(3)83 b Fl(OpenSSL)24 b Ff(\026)k(Python)f(interface)h(to)f(Op)r
-(enSSL)p eop end
-%%Page: 5 5
-TeXDict begin 5 4 bop 0 90 a Fl(load_privatekey\()o Fc(typ)l(e,)25
-b(bu\033er)9 b Fb([)p Fc(,)29 b(p)l(assphr)l(ase)20 b
-Fb(])p Fl(\))208 189 y Fq(Load)43 b(a)h(priv)-5 b(ate)44
-b(k)n(ey)f(\(PKey\))i(from)f(the)h(string)g Fc(bu\033er)53
-b Fq(enco)r(ded)44 b(with)h(the)f(t)n(yp)r(e)h Fc(typ)l(e)51
-b Fq(\(m)n(ust)45 b(b)r(e)f(one)g(of)208 289 y Fl(FILETYPE_PEM)22
-b Fq(and)28 b Fl(FILETYPE_ASN1)p Fq(\).)208 422 y Fc(p)l(assphr)l(ase)
-35 b Fq(m)n(ust)28 b(b)r(e)g(either)f(a)g(string)g(or)g(a)g(callbac)n
-(k)f(for)h(pro)n(viding)f(the)i(pass)f(phrase.)0 569
-y Fl(load_pkcs7_data\()o Fc(typ)l(e,)e(bu\033er)9 b Fl(\))208
-668 y Fq(Load)26 b(pk)n(cs7)h(data)g(from)g(the)h(string)g
-Fc(bu\033er)36 b Fq(enco)r(ded)28 b(with)g(the)g(t)n(yp)r(e)g
-Fc(typ)l(e)6 b Fq(.)0 829 y Fl(load_pkcs12\()p Fc(bu\033er)j
-Fb([)p Fc(,)24 b(p)l(assphr)l(ase)c Fb(])p Fl(\))208
-929 y Fq(Load)30 b(pk)n(cs12)f(data)h(from)h(the)g(string)g
-Fc(bu\033er)9 b Fq(.)47 b(If)31 b(the)h(pk)n(cs12)d(structure)h(is)h
-(encrypted,)g(a)g Fc(p)l(assphr)l(ase)39 b Fq(m)n(ust)31
-b(b)r(e)208 1029 y(included.)37 b(The)27 b(MA)n(C)h(is)g(alw)n(a)n(ys)d
-(c)n(hec)n(k)n(ed)i(and)g(th)n(us)h(required.)208 1161
-y(See)f(also)g(the)h(man)f(page)g(for)g(the)h(C)f(function)h
-Fl(PKCS12_parse)p Fq(.)0 1424 y Ff(X509)f(objects)0 1625
-y Fq(X509)f(ob)5 b(jects)27 b(ha)n(v)n(e)g(the)h(follo)n(wing)e(metho)r
-(ds:)0 1772 y Fl(get_issuer\(\))208 1871 y Fq(Return)h(an)h(X509Name)e
-(ob)5 b(ject)27 b(represen)n(ting)f(the)i(issuer)f(of)g(the)h
-(certi\034cate.)0 2018 y Fl(get_pubkey\(\))208 2118 y
-Fq(Return)f(a)g(PKey)h(ob)5 b(ject)27 b(represen)n(ting)f(the)i(public)
-g(k)n(ey)f(of)g(the)h(certi\034cate.)0 2265 y Fl(get_serial_numbe)o
-(r\()o(\))208 2364 y Fq(Return)f(the)h(certi\034cate)f(serial)g(n)n(um)
-n(b)r(er.)0 2511 y Fl(get_subject\(\))208 2611 y Fq(Return)g(an)h
-(X509Name)e(ob)5 b(ject)27 b(represen)n(ting)f(the)i(sub)5
-b(ject)28 b(of)f(the)h(certi\034cate.)0 2758 y Fl(get_version\(\))208
-2857 y Fq(Return)f(the)h(certi\034cate)f(v)n(ersion.)0
-3004 y Fl(get_notBefore\(\))208 3104 y Fq(Return)f(a)h(string)f(giving)
-f(the)j(time)f(b)r(efore)f(whic)n(h)h(the)g(certi\034cate)f(is)g(not)h
-(v)-5 b(alid.)37 b(The)26 b(string)g(is)h(formatted)f(as)g(an)208
-3204 y(ASN1)h(GENERALIZEDTIME:)1110 3428 y Fi(YYYYMMDDhhmmssZ)1110
-3519 y(YYYYMMDDhhmmss+hhmm)1110 3610 y(YYYYMMDDhhmmss-hhmm)208
-3767 y Fq(If)h(no)f(v)-5 b(alue)27 b(exists)g(for)g(this)h(\034eld,)g
-Fl(None)e Fq(is)i(returned.)0 3914 y Fl(get_notAfter\(\))208
-4014 y Fq(Return)h(a)g(string)g(giving)g(the)g(time)h(after)f(whic)n(h)
-h(the)g(certi\034cate)e(is)i(not)f(v)-5 b(alid.)43 b(The)29
-b(string)g(is)g(formatted)h(as)e(an)208 4113 y(ASN1)f(GENERALIZEDTIME:)
-1110 4337 y Fi(YYYYMMDDhhmmssZ)1110 4429 y(YYYYMMDDhhmmss+hhmm)1110
-4520 y(YYYYMMDDhhmmss-hhmm)208 4677 y Fq(If)h(no)f(v)-5
-b(alue)27 b(exists)g(for)g(this)h(\034eld,)g Fl(None)e
-Fq(is)i(returned.)0 4824 y Fl(set_notBefore\()p Fc(when)6
-b Fl(\))208 4923 y Fq(Change)35 b(the)i(time)f(b)r(efore)g(whic)n(h)g
-(the)h(certi\034cate)f(is)g(not)g(v)-5 b(alid.)63 b Fc(when)43
-b Fq(is)36 b(a)g(string)f(formatted)h(as)g(an)g(ASN1)208
-5023 y(GENERALIZEDTIME:)p 0 5549 3901 4 v 0 5649 a Ff(3.1)82
-b Fl(crypto)25 b Ff(\026)j(Generic)g(cryptographic)e(mo)r(dule)2234
-b(5)p eop end
-%%Page: 6 6
-TeXDict begin 6 5 bop 1110 174 a Fi(YYYYMMDDhhmmssZ)1110
-266 y(YYYYMMDDhhmmss+hhmm)1110 357 y(YYYYMMDDhhmmss-hhmm)0
-562 y Fl(set_notAfter\()p Fc(when)6 b Fl(\))208 661 y
-Fq(Change)38 b(the)h(time)h(after)e(whic)n(h)h(the)h(certi\034cate)e
-(is)h(not)g(v)-5 b(alid.)71 b Fc(when)46 b Fq(is)39 b(a)g(string)f
-(formatted)h(as)f(an)h(ASN1)208 761 y(GENERALIZEDTIME:)1110
-985 y Fi(YYYYMMDDhhmmssZ)1110 1076 y(YYYYMMDDhhmmss+hhmm)1110
-1168 y(YYYYMMDDhhmmss-hhmm)0 1372 y Fl(gmtime_adj_notBe)o(fo)o(re\()o
-Fc(time)6 b Fl(\))208 1472 y Fq(A)n(djust)28 b(the)g(timestamp)g(\(in)g
-(GMT\))g(when)g(the)f(certi\034cate)g(starts)g(b)r(eing)h(v)-5
-b(alid.)0 1619 y Fl(gmtime_adj_notAf)o(te)o(r\()p Fc(t)o(ime)6
-b Fl(\))208 1718 y Fq(A)n(djust)28 b(the)g(timestamp)g(\(in)g(GMT\))g
-(when)g(the)f(certi\034cate)g(stops)g(b)r(eing)h(v)-5
-b(alid.)0 1865 y Fl(has_expired\(\))208 1965 y Fq(Chec)n(ks)32
-b(the)h(certi\034cate's)f(time)i(stamp)f(against)f(curren)n(t)g(time.)
-54 b(Returns)33 b(true)g(if)g(the)h(certi\034cate)e(has)h(expired)208
-2064 y(and)27 b(false)g(otherwise.)0 2211 y Fl(set_issuer\()p
-Fc(issuer)9 b Fl(\))208 2311 y Fq(Set)28 b(the)f(issuer)g(of)h(the)g
-(certi\034cate)f(to)g Fc(issuer)9 b Fq(.)0 2458 y Fl(set_pubkey\()p
-Fc(pkey)e Fl(\))208 2557 y Fq(Set)28 b(the)f(public)h(k)n(ey)f(of)h
-(the)g(certi\034cate)f(to)g Fc(pkey)7 b Fq(.)0 2704 y
-Fl(set_serial_numbe)o(r\()o Fc(serialno)e Fl(\))208 2804
-y Fq(Set)28 b(the)f(serial)g(n)n(um)n(b)r(er)g(of)h(the)g
-(certi\034cate)f(to)g Fc(serialno)5 b Fq(.)0 2951 y Fl(set_subject\()p
-Fc(subje)l(ct)j Fl(\))208 3050 y Fq(Set)28 b(the)f(sub)5
-b(ject)28 b(of)g(the)g(certi\034cate)f(to)g Fc(subje)l(ct)8
-b Fq(.)0 3197 y Fl(set_version\()p Fc(version)e Fl(\))208
-3297 y Fq(Set)28 b(the)f(certi\034cate)g(v)n(ersion)f(to)i
-Fc(version)6 b Fq(.)0 3444 y Fl(sign\()p Fc(pkey,)29
-b(digest)8 b Fl(\))208 3543 y Fq(Sign)22 b(the)h(certi\034cate,)f
-(using)g(the)h(k)n(ey)g Fc(pkey)31 b Fq(and)22 b(the)h(message)e
-(digest)h(algorithm)f(iden)n(ti\034ed)i(b)n(y)f(the)h(string)f
-Fc(digest)8 b Fq(.)0 3690 y Fl(subject_name_has)o(h\()o(\))208
-3790 y Fq(Return)27 b(the)h(hash)f(of)h(the)g(certi\034cate)f(sub)5
-b(ject.)0 3937 y Fl(digest\()p Fc(digest_name)h Fl(\))208
-4036 y Fq(Return)38 b(a)f(digest)h(of)g(the)g(certi\034cate,)i(using)e
-(the)g Fc(digest_name)45 b Fq(metho)r(d.)69 b Fc(digest_name)45
-b Fq(m)n(ust)38 b(b)r(e)g(a)g(string)208 4136 y(describing)28
-b(a)i(digest)f(algorithm)f(supp)r(orted)i(b)n(y)f(Op)r(enSSL)h(\(b)n(y)
-g(EVP_get_digestb)n(yname,)f(sp)r(eci\034cally\).)43
-b(F)-7 b(or)208 4236 y(example,)27 b Fl("md5")e Fq(or)i
-Fl("sha1")p Fq(.)0 4382 y Fl(add_extensions\()p Fc(ex)o(tensions)7
-b Fl(\))208 4482 y Fq(A)n(dd)27 b(the)h(extensions)f(in)h(the)g
-(sequence)f Fc(extensions)34 b Fq(to)27 b(the)h(certi\034cate.)0
-4745 y Ff(X509Name)e(objects)0 4946 y Fq(X509Name)g(ob)5
-b(jects)27 b(ha)n(v)n(e)g(the)h(follo)n(wing)e(metho)r(ds:)0
-5092 y Fl(hash\(\))208 5192 y Fq(Return)e(an)g(in)n(teger)f(giving)g
-(the)i(\034rst)f(four)g(b)n(ytes)f(of)h(the)h(MD5)f(digest)g(of)g(the)h
-(DER)g(represen)n(tation)e(of)h(the)g(name.)0 5339 y
-Fl(der\(\))p 0 5549 3901 4 v 0 5649 a Ff(6)2239 b(3)83
+(phrase.)p 0 5549 3901 4 v 0 5649 a Ff(4)2239 b(3)83
 b Fl(OpenSSL)24 b Ff(\026)k(Python)f(interface)h(to)f(Op)r(enSSL)p
 eop end
-%%Page: 7 7
-TeXDict begin 7 6 bop 208 83 a Fq(Return)27 b(a)g(string)g(giving)g
-(the)h(DER)h(represen)n(tation)c(of)j(the)g(name.)0 230
-y Fl(get_components\(\))208 330 y Fq(Return)f(a)g(list)h(of)g(t)n(w)n
-(o-tuples)e(of)i(strings)e(giving)h(the)h(comp)r(onen)n(ts)f(of)h(the)g
-(name.)0 476 y(X509Name)e(ob)5 b(jects)27 b(ha)n(v)n(e)g(the)h(follo)n
-(wing)e(mem)n(b)r(ers:)0 623 y Fl(countryName)208 723
-y Fq(The)h(coun)n(try)g(of)g(the)h(en)n(tit)n(y)-7 b(.)37
-b Fl(C)27 b Fq(ma)n(y)g(b)r(e)h(used)g(as)f(an)g(alias)f(for)h
-Fl(countryName)p Fq(.)0 870 y Fl(stateOrProvinceN)o(am)o(e)208
-969 y Fq(The)g(state)h(or)e(pro)n(vince)g(of)i(the)g(en)n(tit)n(y)-7
-b(.)37 b Fl(ST)27 b Fq(ma)n(y)f(b)r(e)i(used)g(as)f(an)g(alias)g(for)g
-Fl(stateOrProvince)o(Na)o(me)p Fq(\267)0 1116 y Fl(localityName)208
-1216 y Fq(The)g(lo)r(calit)n(y)g(of)h(the)f(en)n(tit)n(y)-7
-b(.)37 b Fl(L)28 b Fq(ma)n(y)e(b)r(e)i(used)g(as)f(an)g(alias)g(for)g
-Fl(localityName)p Fq(.)0 1363 y Fl(organizationName)208
-1462 y Fq(The)g(organization)e(name)j(of)f(the)h(en)n(tit)n(y)-7
-b(.)37 b Fl(O)27 b Fq(ma)n(y)g(b)r(e)h(used)g(as)e(an)i(alias)e(for)h
-Fl(organizationName)p Fq(.)0 1609 y Fl(organizationalUn)o(it)o(Nam)o(e)
-208 1709 y Fq(The)g(organizational)e(unit)j(of)g(the)g(en)n(tit)n(y)-7
-b(.)36 b Fl(OU)27 b Fq(ma)n(y)g(b)r(e)h(used)g(as)f(an)g(alias)f(for)h
-Fl(organizationalUni)o(tN)o(am)o(e)p Fq(.)0 1856 y Fl(commonName)208
-1955 y Fq(The)g(common)g(name)h(of)f(the)h(en)n(tit)n(y)-7
-b(.)37 b Fl(CN)27 b Fq(ma)n(y)f(b)r(e)i(used)g(as)f(an)g(alias)g(for)g
-Fl(commonName)p Fq(.)0 2102 y Fl(emailAddress)208 2202
-y Fq(The)g(e-mail)g(address)f(of)i(the)g(en)n(tit)n(y)-7
-b(.)0 2465 y Ff(X509Req)26 b(objects)0 2665 y Fq(X509Req)g(ob)5
-b(jects)27 b(ha)n(v)n(e)g(the)h(follo)n(wing)e(metho)r(ds:)0
-2812 y Fl(get_pubkey\(\))208 2912 y Fq(Return)h(a)g(PKey)h(ob)5
+%%Page: 5 5
+TeXDict begin 5 4 bop 0 83 a Fl(load_certificate)o(\()p
+Fc(t)o(yp)l(e,)25 b(bu\033er)9 b Fl(\))208 183 y Fq(Load)26
+b(a)h(certi\034cate)g(\(X509\))g(from)h(the)f(string)h
+Fc(bu\033er)37 b Fq(enco)r(ded)27 b(with)h(the)g(t)n(yp)r(e)g
+Fc(typ)l(e)6 b Fq(.)0 330 y Fl(load_certificate)o(_r)o(equ)o(es)o(t\()o
+Fc(typ)l(e,)25 b(bu\033er)9 b Fl(\))208 429 y Fq(Load)26
+b(a)h(certi\034cate)g(request)g(\(X509Req\))g(from)g(the)h(string)g
+Fc(bu\033er)37 b Fq(enco)r(ded)27 b(with)h(the)g(t)n(yp)r(e)g
+Fc(typ)l(e)6 b Fq(.)0 595 y Fl(load_privatekey\()o Fc(typ)l(e,)25
+b(bu\033er)9 b Fb([)p Fc(,)29 b(p)l(assphr)l(ase)20 b
+Fb(])p Fl(\))208 695 y Fq(Load)43 b(a)h(priv)-5 b(ate)44
+b(k)n(ey)f(\(PKey\))i(from)f(the)h(string)g Fc(bu\033er)53
+b Fq(enco)r(ded)44 b(with)h(the)f(t)n(yp)r(e)h Fc(typ)l(e)51
+b Fq(\(m)n(ust)45 b(b)r(e)f(one)g(of)208 794 y Fl(FILETYPE_PEM)22
+b Fq(and)28 b Fl(FILETYPE_ASN1)p Fq(\).)208 927 y Fc(p)l(assphr)l(ase)
+35 b Fq(m)n(ust)28 b(b)r(e)g(either)f(a)g(string)g(or)g(a)g(callbac)n
+(k)f(for)h(pro)n(viding)f(the)i(pass)f(phrase.)0 1074
+y Fl(load_crl\()p Fc(typ)l(e,)g(bu\033er)9 b Fl(\))208
+1174 y Fq(Load)25 b(Certi\034cate)i(Rev)n(o)r(cation)e(List)i(\(CRL\))h
+(data)e(from)g(a)h(string)g Fc(bu\033er)9 b Fq(.)37 b
+Fc(bu\033er)e Fq(enco)r(ded)27 b(with)g(the)g(t)n(yp)r(e)g
+Fc(typ)l(e)6 b Fq(.)208 1273 y(The)27 b(t)n(yp)r(e)h
+Fc(typ)l(e)34 b Fq(m)n(ust)28 b(either)f Fl(FILETYPE_PEM)c
+Fq(or)j Fl(FILETYPE_ASN1)p Fq(\).)0 1420 y Fl(load_pkcs7_data\()o
+Fc(typ)l(e,)f(bu\033er)9 b Fl(\))208 1520 y Fq(Load)26
+b(pk)n(cs7)h(data)g(from)g(the)h(string)g Fc(bu\033er)36
+b Fq(enco)r(ded)28 b(with)g(the)g(t)n(yp)r(e)g Fc(typ)l(e)6
+b Fq(.)0 1681 y Fl(load_pkcs12\()p Fc(bu\033er)j Fb([)p
+Fc(,)24 b(p)l(assphr)l(ase)c Fb(])p Fl(\))208 1781 y
+Fq(Load)30 b(pk)n(cs12)f(data)h(from)h(the)g(string)g
+Fc(bu\033er)9 b Fq(.)47 b(If)31 b(the)h(pk)n(cs12)d(structure)h(is)h
+(encrypted,)g(a)g Fc(p)l(assphr)l(ase)39 b Fq(m)n(ust)31
+b(b)r(e)208 1880 y(included.)37 b(The)27 b(MA)n(C)h(is)g(alw)n(a)n(ys)d
+(c)n(hec)n(k)n(ed)i(and)g(th)n(us)h(required.)208 2013
+y(See)f(also)g(the)h(man)f(page)g(for)g(the)h(C)f(function)h
+Fl(PKCS12_parse)p Fq(.)0 2160 y Fl(sign\()p Fc(key,)h(data,)i(digest)8
+b Fl(\))208 2260 y Fq(Sign)27 b(a)g(data)g(string)g(using)g(the)h(giv)n
+(en)f(k)n(ey)g(and)g(message)f(digest.)208 2392 y Fc(key)31
+b Fq(is)23 b(a)g Fl(PKey)f Fq(instance.)35 b Fc(data)c
+Fq(is)23 b(a)g Fl(str)g Fq(instance.)35 b Fc(digest)d
+Fq(is)23 b(a)g Fl(str)g Fq(naming)g(a)g(supp)r(orted)g(message)f
+(digest)h(t)n(yp)r(e,)208 2492 y(for)k(example)g Fl(\020sha1\021)p
+Fq(.)71 b(New)28 b(in)g(v)n(ersion)e(0.11.)0 2639 y Fl(verify\()p
+Fc(c)l(erti\034c)l(ate,)h(signatur)l(e,)j(data,)h(digest)8
+b Fl(\))208 2738 y Fq(V)-7 b(erify)27 b(the)h(signature)e(for)i(a)f
+(data)g(string.)208 2871 y Fc(c)l(erti\034c)l(ate)i Fq(is)24
+b(a)f Fl(X509)f Fq(instance)h(corresp)r(onding)e(to)j(the)g(priv)-5
+b(ate)23 b(k)n(ey)f(whic)n(h)i(generated)e(the)i(signature.)34
+b Fc(signatur)l(e)208 2971 y Fq(is)22 b(a)g Fc(str)31
+b Fq(instance)23 b(giving)e(the)i(signature)f(itself.)35
+b Fc(data)30 b Fq(is)23 b(a)f Fc(str)31 b Fq(instance)23
+b(giving)e(the)i(data)f(to)h(whic)n(h)f(the)h(signature)208
+3071 y(applies.)36 b Fc(digest)f Fq(is)27 b(a)g Fc(str)35
+b Fq(instance)27 b(naming)g(the)g(message)e(digest)i(t)n(yp)r(e)g(of)g
+(the)h(signature,)e(for)g(example)g Fl(\020sha1\021)p
+Fq(.)208 3170 y(New)h(in)h(v)n(ersion)e(0.11.)0 3433
+y Ff(X509)h(objects)0 3634 y Fq(X509)f(ob)5 b(jects)27
+b(ha)n(v)n(e)g(the)h(follo)n(wing)e(metho)r(ds:)0 3781
+y Fl(get_issuer\(\))208 3880 y Fq(Return)h(an)h(X509Name)e(ob)5
+b(ject)27 b(represen)n(ting)f(the)i(issuer)f(of)g(the)h(certi\034cate.)
+0 4027 y Fl(get_pubkey\(\))208 4127 y Fq(Return)f(a)g(PKey)h(ob)5
 b(ject)27 b(represen)n(ting)f(the)i(public)g(k)n(ey)f(of)g(the)h
-(certi\034cate)f(request.)0 3059 y Fl(get_subject\(\))208
-3158 y Fq(Return)g(an)h(X509Name)e(ob)5 b(ject)27 b(represen)n(ting)f
+(certi\034cate.)0 4274 y Fl(get_serial_numbe)o(r\()o(\))208
+4373 y Fq(Return)f(the)h(certi\034cate)f(serial)g(n)n(um)n(b)r(er.)0
+4520 y Fl(get_subject\(\))208 4620 y Fq(Return)g(an)h(X509Name)e(ob)5
+b(ject)27 b(represen)n(ting)f(the)i(sub)5 b(ject)28 b(of)f(the)h
+(certi\034cate.)0 4767 y Fl(get_version\(\))208 4866
+y Fq(Return)f(the)h(certi\034cate)f(v)n(ersion.)0 5013
+y Fl(get_notBefore\(\))208 5113 y Fq(Return)f(a)h(string)f(giving)f
+(the)j(time)f(b)r(efore)f(whic)n(h)h(the)g(certi\034cate)f(is)g(not)h
+(v)-5 b(alid.)37 b(The)26 b(string)g(is)h(formatted)f(as)g(an)208
+5212 y(ASN1)h(GENERALIZEDTIME:)p 0 5549 3901 4 v 0 5649
+a Ff(3.1)82 b Fl(crypto)25 b Ff(\026)j(Generic)g(cryptographic)e(mo)r
+(dule)2234 b(5)p eop end
+%%Page: 6 6
+TeXDict begin 6 5 bop 1110 174 a Fi(YYYYMMDDhhmmssZ)1110
+266 y(YYYYMMDDhhmmss+hhmm)1110 357 y(YYYYMMDDhhmmss-hhmm)208
+514 y Fq(If)28 b(no)f(v)-5 b(alue)27 b(exists)g(for)g(this)h(\034eld,)g
+Fl(None)e Fq(is)i(returned.)0 661 y Fl(get_notAfter\(\))208
+760 y Fq(Return)h(a)g(string)g(giving)g(the)g(time)h(after)f(whic)n(h)h
+(the)g(certi\034cate)e(is)i(not)f(v)-5 b(alid.)43 b(The)29
+b(string)g(is)g(formatted)h(as)e(an)208 860 y(ASN1)f(GENERALIZEDTIME:)
+1110 1084 y Fi(YYYYMMDDhhmmssZ)1110 1175 y(YYYYMMDDhhmmss+hhmm)1110
+1267 y(YYYYMMDDhhmmss-hhmm)208 1424 y Fq(If)h(no)f(v)-5
+b(alue)27 b(exists)g(for)g(this)h(\034eld,)g Fl(None)e
+Fq(is)i(returned.)0 1570 y Fl(set_notBefore\()p Fc(when)6
+b Fl(\))208 1670 y Fq(Change)35 b(the)i(time)f(b)r(efore)g(whic)n(h)g
+(the)h(certi\034cate)f(is)g(not)g(v)-5 b(alid.)63 b Fc(when)43
+b Fq(is)36 b(a)g(string)f(formatted)h(as)g(an)g(ASN1)208
+1770 y(GENERALIZEDTIME:)1110 1994 y Fi(YYYYMMDDhhmmssZ)1110
+2085 y(YYYYMMDDhhmmss+hhmm)1110 2176 y(YYYYMMDDhhmmss-hhmm)0
+2381 y Fl(set_notAfter\()p Fc(when)6 b Fl(\))208 2481
+y Fq(Change)38 b(the)h(time)h(after)e(whic)n(h)h(the)h(certi\034cate)e
+(is)h(not)g(v)-5 b(alid.)71 b Fc(when)46 b Fq(is)39 b(a)g(string)f
+(formatted)h(as)f(an)h(ASN1)208 2580 y(GENERALIZEDTIME:)1110
+2804 y Fi(YYYYMMDDhhmmssZ)1110 2896 y(YYYYMMDDhhmmss+hhmm)1110
+2987 y(YYYYMMDDhhmmss-hhmm)0 3192 y Fl(gmtime_adj_notBe)o(fo)o(re\()o
+Fc(time)6 b Fl(\))208 3291 y Fq(A)n(djust)28 b(the)g(timestamp)g(\(in)g
+(GMT\))g(when)g(the)f(certi\034cate)g(starts)g(b)r(eing)h(v)-5
+b(alid.)0 3438 y Fl(gmtime_adj_notAf)o(te)o(r\()p Fc(t)o(ime)6
+b Fl(\))208 3538 y Fq(A)n(djust)28 b(the)g(timestamp)g(\(in)g(GMT\))g
+(when)g(the)f(certi\034cate)g(stops)g(b)r(eing)h(v)-5
+b(alid.)0 3685 y Fl(has_expired\(\))208 3784 y Fq(Chec)n(ks)32
+b(the)h(certi\034cate's)f(time)i(stamp)f(against)f(curren)n(t)g(time.)
+54 b(Returns)33 b(true)g(if)g(the)h(certi\034cate)e(has)h(expired)208
+3884 y(and)27 b(false)g(otherwise.)0 4031 y Fl(set_issuer\()p
+Fc(issuer)9 b Fl(\))208 4130 y Fq(Set)28 b(the)f(issuer)g(of)h(the)g
+(certi\034cate)f(to)g Fc(issuer)9 b Fq(.)0 4277 y Fl(set_pubkey\()p
+Fc(pkey)e Fl(\))208 4377 y Fq(Set)28 b(the)f(public)h(k)n(ey)f(of)h
+(the)g(certi\034cate)f(to)g Fc(pkey)7 b Fq(.)0 4524 y
+Fl(set_serial_numbe)o(r\()o Fc(serialno)e Fl(\))208 4623
+y Fq(Set)28 b(the)f(serial)g(n)n(um)n(b)r(er)g(of)h(the)g
+(certi\034cate)f(to)g Fc(serialno)5 b Fq(.)0 4770 y Fl(set_subject\()p
+Fc(subje)l(ct)j Fl(\))208 4870 y Fq(Set)28 b(the)f(sub)5
+b(ject)28 b(of)g(the)g(certi\034cate)f(to)g Fc(subje)l(ct)8
+b Fq(.)0 5017 y Fl(set_version\()p Fc(version)e Fl(\))208
+5116 y Fq(Set)28 b(the)f(certi\034cate)g(v)n(ersion)f(to)i
+Fc(version)6 b Fq(.)0 5263 y Fl(sign\()p Fc(pkey,)29
+b(digest)8 b Fl(\))208 5363 y Fq(Sign)22 b(the)h(certi\034cate,)f
+(using)g(the)h(k)n(ey)g Fc(pkey)31 b Fq(and)22 b(the)h(message)e
+(digest)h(algorithm)f(iden)n(ti\034ed)i(b)n(y)f(the)h(string)f
+Fc(digest)8 b Fq(.)p 0 5549 3901 4 v 0 5649 a Ff(6)2239
+b(3)83 b Fl(OpenSSL)24 b Ff(\026)k(Python)f(interface)h(to)f(Op)r
+(enSSL)p eop end
+%%Page: 7 7
+TeXDict begin 7 6 bop 0 83 a Fl(subject_name_has)o(h\()o(\))208
+183 y Fq(Return)27 b(the)h(hash)f(of)h(the)g(certi\034cate)f(sub)5
+b(ject.)0 330 y Fl(digest\()p Fc(digest_name)h Fl(\))208
+429 y Fq(Return)38 b(a)f(digest)h(of)g(the)g(certi\034cate,)i(using)e
+(the)g Fc(digest_name)45 b Fq(metho)r(d.)69 b Fc(digest_name)45
+b Fq(m)n(ust)38 b(b)r(e)g(a)g(string)208 529 y(describing)28
+b(a)i(digest)f(algorithm)f(supp)r(orted)i(b)n(y)f(Op)r(enSSL)h(\(b)n(y)
+g(EVP_get_digestb)n(yname,)f(sp)r(eci\034cally\).)43
+b(F)-7 b(or)208 628 y(example,)27 b Fl("md5")e Fq(or)i
+Fl("sha1")p Fq(.)0 775 y Fl(add_extensions\()p Fc(ex)o(tensions)7
+b Fl(\))208 875 y Fq(A)n(dd)27 b(the)h(extensions)f(in)h(the)g
+(sequence)f Fc(extensions)34 b Fq(to)27 b(the)h(certi\034cate.)0
+1138 y Ff(X509Name)e(objects)0 1338 y Fq(X509Name)g(ob)5
+b(jects)27 b(ha)n(v)n(e)g(the)h(follo)n(wing)e(metho)r(ds:)0
+1485 y Fl(hash\(\))208 1585 y Fq(Return)e(an)g(in)n(teger)f(giving)g
+(the)i(\034rst)f(four)g(b)n(ytes)f(of)h(the)h(MD5)f(digest)g(of)g(the)h
+(DER)g(represen)n(tation)e(of)h(the)g(name.)0 1732 y
+Fl(der\(\))208 1831 y Fq(Return)j(a)g(string)g(giving)g(the)h(DER)h
+(represen)n(tation)c(of)j(the)g(name.)0 1978 y Fl(get_components\(\))
+208 2078 y Fq(Return)f(a)g(list)h(of)g(t)n(w)n(o-tuples)e(of)i(strings)
+e(giving)h(the)h(comp)r(onen)n(ts)f(of)h(the)g(name.)0
+2225 y(X509Name)e(ob)5 b(jects)27 b(ha)n(v)n(e)g(the)h(follo)n(wing)e
+(mem)n(b)r(ers:)0 2372 y Fl(countryName)208 2471 y Fq(The)h(coun)n(try)
+g(of)g(the)h(en)n(tit)n(y)-7 b(.)37 b Fl(C)27 b Fq(ma)n(y)g(b)r(e)h
+(used)g(as)f(an)g(alias)f(for)h Fl(countryName)p Fq(.)0
+2618 y Fl(stateOrProvinceN)o(am)o(e)208 2718 y Fq(The)g(state)h(or)e
+(pro)n(vince)g(of)i(the)g(en)n(tit)n(y)-7 b(.)37 b Fl(ST)27
+b Fq(ma)n(y)f(b)r(e)i(used)g(as)f(an)g(alias)g(for)g
+Fl(stateOrProvince)o(Na)o(me)p Fq(\267)0 2865 y Fl(localityName)208
+2964 y Fq(The)g(lo)r(calit)n(y)g(of)h(the)f(en)n(tit)n(y)-7
+b(.)37 b Fl(L)28 b Fq(ma)n(y)e(b)r(e)i(used)g(as)f(an)g(alias)g(for)g
+Fl(localityName)p Fq(.)0 3111 y Fl(organizationName)208
+3211 y Fq(The)g(organization)e(name)j(of)f(the)h(en)n(tit)n(y)-7
+b(.)37 b Fl(O)27 b Fq(ma)n(y)g(b)r(e)h(used)g(as)e(an)i(alias)e(for)h
+Fl(organizationName)p Fq(.)0 3358 y Fl(organizationalUn)o(it)o(Nam)o(e)
+208 3457 y Fq(The)g(organizational)e(unit)j(of)g(the)g(en)n(tit)n(y)-7
+b(.)36 b Fl(OU)27 b Fq(ma)n(y)g(b)r(e)h(used)g(as)f(an)g(alias)f(for)h
+Fl(organizationalUni)o(tN)o(am)o(e)p Fq(.)0 3604 y Fl(commonName)208
+3704 y Fq(The)g(common)g(name)h(of)f(the)h(en)n(tit)n(y)-7
+b(.)37 b Fl(CN)27 b Fq(ma)n(y)f(b)r(e)i(used)g(as)f(an)g(alias)g(for)g
+Fl(commonName)p Fq(.)0 3851 y Fl(emailAddress)208 3950
+y Fq(The)g(e-mail)g(address)f(of)i(the)g(en)n(tit)n(y)-7
+b(.)0 4213 y Ff(X509Req)26 b(objects)0 4414 y Fq(X509Req)g(ob)5
+b(jects)27 b(ha)n(v)n(e)g(the)h(follo)n(wing)e(metho)r(ds:)0
+4561 y Fl(get_pubkey\(\))208 4660 y Fq(Return)h(a)g(PKey)h(ob)5
+b(ject)27 b(represen)n(ting)f(the)i(public)g(k)n(ey)f(of)g(the)h
+(certi\034cate)f(request.)0 4807 y Fl(get_subject\(\))208
+4907 y Fq(Return)g(an)h(X509Name)e(ob)5 b(ject)27 b(represen)n(ting)f
 (the)i(sub)5 b(ject)28 b(of)f(the)h(certi\034cate.)0
-3305 y Fl(set_pubkey\()p Fc(pkey)7 b Fl(\))208 3405 y
+5054 y Fl(set_pubkey\()p Fc(pkey)7 b Fl(\))208 5153 y
 Fq(Set)28 b(the)f(public)h(k)n(ey)f(of)h(the)g(certi\034cate)f(request)
-g(to)g Fc(pkey)7 b Fq(.)0 3552 y Fl(sign\()p Fc(pkey,)29
-b(digest)8 b Fl(\))208 3651 y Fq(Sign)36 b(the)g(certi\034cate)g
+g(to)g Fc(pkey)7 b Fq(.)0 5300 y Fl(sign\()p Fc(pkey,)29
+b(digest)8 b Fl(\))208 5400 y Fq(Sign)36 b(the)g(certi\034cate)g
 (request,)h(using)f(the)g(k)n(ey)h Fc(pkey)45 b Fq(and)36
-b(the)g(message)f(digest)g(algorithm)g(iden)n(ti\034ed)i(b)n(y)f(the)
-208 3751 y(string)28 b Fc(digest)8 b Fq(.)0 3898 y Fl(verify\()p
-Fc(pkey)f Fl(\))208 3997 y Fq(V)-7 b(erify)27 b(a)g(certi\034cate)g
-(request)g(using)g(the)h(public)g(k)n(ey)g Fc(pkey)7
-b Fq(.)0 4144 y Fl(set_version\()p Fc(version)f Fl(\))208
-4244 y Fq(Set)28 b(the)f(v)n(ersion)f(\(RF)n(C)i(2459,)e(4.1.2.1\))g
-(of)i(the)g(certi\034cate)f(request)f(to)i Fc(version)6
-b Fq(.)0 4391 y Fl(get_version\(\))208 4490 y Fq(Get)28
-b(the)f(v)n(ersion)f(\(RF)n(C)i(2459,)e(4.1.2.1\))g(of)i(the)g
-(certi\034cate)f(request.)0 4753 y Ff(X509Sto)n(re)f(objects)0
-4954 y Fq(The)i(X509Store)d(ob)5 b(ject)28 b(has)f(curren)n(tly)f(just)
-i(one)g(metho)r(d:)0 5101 y Fl(add_cert\()p Fc(c)l(ert)8
-b Fl(\))208 5200 y Fq(A)n(dd)27 b(the)h(certi\034cate)f
-Fc(c)l(ert)36 b Fq(to)27 b(the)h(certi\034cate)f(store.)p
+b(the)g(message)f(digest)g(algorithm)g(iden)n(ti\034ed)i(b)n(y)f(the)p
 0 5549 3901 4 v 0 5649 a Ff(3.1)82 b Fl(crypto)25 b Ff(\026)j(Generic)g
 (cryptographic)e(mo)r(dule)2234 b(7)p eop end
 %%Page: 8 8
-TeXDict begin 8 7 bop 0 83 a Ff(PKey)27 b(objects)0 283
-y Fq(The)h(PKey)f(ob)5 b(ject)27 b(has)g(the)h(follo)n(wing)f(metho)r
-(ds:)0 430 y Fl(bits\(\))208 530 y Fq(Return)g(the)h(n)n(um)n(b)r(er)f
-(of)h(bits)g(of)f(the)h(k)n(ey)-7 b(.)0 677 y Fl(generate_key\()p
-Fc(typ)l(e,)25 b(bits)7 b Fl(\))208 776 y Fq(Generate)22
+TeXDict begin 8 7 bop 208 83 a Fq(string)28 b Fc(digest)8
+b Fq(.)0 230 y Fl(verify\()p Fc(pkey)f Fl(\))208 330
+y Fq(V)-7 b(erify)27 b(a)g(certi\034cate)g(request)g(using)g(the)h
+(public)g(k)n(ey)g Fc(pkey)7 b Fq(.)0 476 y Fl(set_version\()p
+Fc(version)f Fl(\))208 576 y Fq(Set)28 b(the)f(v)n(ersion)f(\(RF)n(C)i
+(2459,)e(4.1.2.1\))g(of)i(the)g(certi\034cate)f(request)f(to)i
+Fc(version)6 b Fq(.)0 723 y Fl(get_version\(\))208 823
+y Fq(Get)28 b(the)f(v)n(ersion)f(\(RF)n(C)i(2459,)e(4.1.2.1\))g(of)i
+(the)g(certi\034cate)f(request.)0 1082 y Ff(X509Sto)n(re)f(objects)0
+1283 y Fq(The)i(X509Store)d(ob)5 b(ject)28 b(has)f(curren)n(tly)f(just)
+i(one)g(metho)r(d:)0 1429 y Fl(add_cert\()p Fc(c)l(ert)8
+b Fl(\))208 1529 y Fq(A)n(dd)27 b(the)h(certi\034cate)f
+Fc(c)l(ert)36 b Fq(to)27 b(the)h(certi\034cate)f(store.)0
+1789 y Ff(PKey)g(objects)0 1989 y Fq(The)h(PKey)f(ob)5
+b(ject)27 b(has)g(the)h(follo)n(wing)f(metho)r(ds:)0
+2136 y Fl(bits\(\))208 2236 y Fq(Return)g(the)h(n)n(um)n(b)r(er)f(of)h
+(bits)g(of)f(the)h(k)n(ey)-7 b(.)0 2383 y Fl(generate_key\()p
+Fc(typ)l(e,)25 b(bits)7 b Fl(\))208 2482 y Fq(Generate)22
 b(a)h(public/priv)-5 b(ate)23 b(k)n(ey)f(pair)h(of)g(the)h(t)n(yp)r(e)f
 Fc(typ)l(e)30 b Fq(\(one)23 b(of)30 b Fl(TYPE_RSA)19
 b Fq(and)24 b Fl(TYPE_DSA)p Fq(\))c(with)j(the)h(size)f
-Fc(bits)7 b Fq(.)0 923 y Fl(type\(\))208 1023 y Fq(Return)27
-b(the)h(t)n(yp)r(e)g(of)f(the)h(k)n(ey)-7 b(.)0 1282
-y Ff(PK)n(CS7)27 b(objects)0 1483 y Fq(PK)n(CS7)g(ob)5
+Fc(bits)7 b Fq(.)0 2629 y Fl(type\(\))208 2729 y Fq(Return)27
+b(the)h(t)n(yp)r(e)g(of)f(the)h(k)n(ey)-7 b(.)0 2988
+y Ff(PK)n(CS7)27 b(objects)0 3189 y Fq(PK)n(CS7)g(ob)5
 b(jects)27 b(ha)n(v)n(e)f(the)i(follo)n(wing)f(metho)r(ds:)0
-1630 y Fl(type_is_signed\(\))208 1729 y Fq(FIXME)0 1876
-y Fl(type_is_envelope)o(d\()o(\))208 1976 y Fq(FIXME)0
-2123 y Fl(type_is_signedAn)o(dE)o(nve)o(lo)o(pe)o(d\(\))208
-2222 y Fq(FIXME)0 2369 y Fl(type_is_data\(\))208 2469
-y Fq(FIXME)0 2616 y Fl(get_type_name\(\))208 2715 y Fq(Get)h(the)f(t)n
-(yp)r(e)h(name)g(of)f(the)h(PK)n(CS7.)0 2975 y Ff(PK)n(CS12)e(objects)0
-3175 y Fq(PK)n(CS12)g(ob)5 b(jects)28 b(ha)n(v)n(e)e(the)i(follo)n
-(wing)e(metho)r(ds:)0 3336 y Fl(export\()p Fb([)p Fc(p)l(assphr)l
+3336 y Fl(type_is_signed\(\))208 3435 y Fq(FIXME)0 3582
+y Fl(type_is_envelope)o(d\()o(\))208 3682 y Fq(FIXME)0
+3829 y Fl(type_is_signedAn)o(dE)o(nve)o(lo)o(pe)o(d\(\))208
+3928 y Fq(FIXME)0 4075 y Fl(type_is_data\(\))208 4175
+y Fq(FIXME)0 4322 y Fl(get_type_name\(\))208 4421 y Fq(Get)h(the)f(t)n
+(yp)r(e)h(name)g(of)f(the)h(PK)n(CS7.)0 4681 y Ff(PK)n(CS12)e(objects)0
+4881 y Fq(PK)n(CS12)g(ob)5 b(jects)28 b(ha)n(v)n(e)e(the)i(follo)n
+(wing)e(metho)r(ds:)0 5043 y Fl(export\()p Fb([)p Fc(p)l(assphr)l
 (ase=None)16 b Fb(][)p Fc(,)29 b(iter=2048)c Fb(][)p
-Fc(,)k(maciter=1)24 b Fb(])p Fl(\))208 3436 y Fq(Returns)j(a)g(PK)n
-(CS12)g(ob)5 b(ject)27 b(as)g(a)g(string.)208 3564 y(The)g(optional)g
+Fc(,)k(maciter=1)24 b Fb(])p Fl(\))208 5142 y Fq(Returns)j(a)g(PK)n
+(CS12)g(ob)5 b(ject)27 b(as)g(a)g(string.)208 5271 y(The)g(optional)g
 Fc(p)l(assphr)l(ase)35 b Fq(m)n(ust)28 b(b)r(e)g(a)f(string)g(not)h(a)f
-(callbac)n(k.)208 3693 y(See)g(also)g(the)h(man)f(page)g(for)g(the)h(C)
-f(function)h Fl(PKCS12_create)p Fq(.)0 3840 y Fl(get_ca_certifica)o(te)
-o(s\(\))208 3939 y Fq(Return)i(CA)h(certi\034cates)f(within)h(the)g(PK)
-n(CS12)f(ob)5 b(ject)30 b(as)g(a)h(tuple.)46 b(Returns)31
-b Fl(None)e Fq(if)i(no)f(CA)h(certi\034cates)f(are)208
-4039 y(presen)n(t.)0 4186 y Fl(get_certificate\()o(\))208
-4286 y Fq(Return)d(certi\034cate)g(p)r(ortion)g(of)h(the)g(PK)n(CS12)e
-(structure.)0 4432 y Fl(get_friendlyname)o(\(\))208 4532
-y Fq(Return)h(friendlyName)h(p)r(ortion)f(of)g(the)h(PK)n(CS12)f
-(structure.)0 4679 y Fl(get_privatekey\(\))208 4778 y
-Fq(Return)g(priv)-5 b(ate)27 b(k)n(ey)g(p)r(ortion)g(of)h(the)g(PK)n
-(CS12)e(structure)0 4925 y Fl(set_ca_certifica)o(te)o(s\()p
-Fc(c)-5 b(ac)l(erts)7 b Fl(\))208 5025 y Fq(Replace)27
-b(or)f(set)i(the)g(CA)g(certi\034cates)e(within)j(the)f(PK)n(CS12)e(ob)
-5 b(ject)27 b(with)h(the)g(sequence)f Fc(c)l(ac)l(erts)7
-b Fq(.)208 5154 y(Set)28 b Fc(c)l(ac)l(erts)34 b Fq(to)27
-b Fl(None)f Fq(to)i(remo)n(v)n(e)e(all)h(CA)h(certi\034cates.)0
-5300 y Fl(set_certificate\()o Fc(c)l(ert)8 b Fl(\))208
-5400 y Fq(Replace)27 b(or)f(set)i(the)g(certi\034cate)f(p)r(ortion)g
-(of)g(the)h(PK)n(CS12)f(structure.)p 0 5549 3901 4 v
-0 5649 a Ff(8)2239 b(3)83 b Fl(OpenSSL)24 b Ff(\026)k(Python)f
+(callbac)n(k.)208 5400 y(See)g(also)g(the)h(man)f(page)g(for)g(the)h(C)
+f(function)h Fl(PKCS12_create)p Fq(.)p 0 5549 3901 4
+v 0 5649 a Ff(8)2239 b(3)83 b Fl(OpenSSL)24 b Ff(\026)k(Python)f
 (interface)h(to)f(Op)r(enSSL)p eop end
 %%Page: 9 9
-TeXDict begin 9 8 bop 0 83 a Fl(set_friendlyname)o(\()p
-Fc(n)o(ame)6 b Fl(\))208 183 y Fq(Replace)27 b(or)f(set)i(the)g
+TeXDict begin 9 8 bop 0 83 a Fl(get_ca_certifica)o(te)o(s\(\))208
+183 y Fq(Return)30 b(CA)h(certi\034cates)f(within)h(the)g(PK)n(CS12)f
+(ob)5 b(ject)30 b(as)g(a)h(tuple.)46 b(Returns)31 b Fl(None)e
+Fq(if)i(no)f(CA)h(certi\034cates)f(are)208 282 y(presen)n(t.)0
+429 y Fl(get_certificate\()o(\))208 529 y Fq(Return)d(certi\034cate)g
+(p)r(ortion)g(of)h(the)g(PK)n(CS12)e(structure.)0 676
+y Fl(get_friendlyname)o(\(\))208 775 y Fq(Return)h(friendlyName)h(p)r
+(ortion)f(of)g(the)h(PK)n(CS12)f(structure.)0 922 y Fl
+(get_privatekey\(\))208 1022 y Fq(Return)g(priv)-5 b(ate)27
+b(k)n(ey)g(p)r(ortion)g(of)h(the)g(PK)n(CS12)e(structure)0
+1169 y Fl(set_ca_certifica)o(te)o(s\()p Fc(c)-5 b(ac)l(erts)7
+b Fl(\))208 1268 y Fq(Replace)27 b(or)f(set)i(the)g(CA)g
+(certi\034cates)e(within)j(the)f(PK)n(CS12)e(ob)5 b(ject)27
+b(with)h(the)g(sequence)f Fc(c)l(ac)l(erts)7 b Fq(.)208
+1401 y(Set)28 b Fc(c)l(ac)l(erts)34 b Fq(to)27 b Fl(None)f
+Fq(to)i(remo)n(v)n(e)e(all)h(CA)h(certi\034cates.)0 1548
+y Fl(set_certificate\()o Fc(c)l(ert)8 b Fl(\))208 1648
+y Fq(Replace)27 b(or)f(set)i(the)g(certi\034cate)f(p)r(ortion)g(of)g
+(the)h(PK)n(CS12)f(structure.)0 1794 y Fl(set_friendlyname)o(\()p
+Fc(n)o(ame)6 b Fl(\))208 1894 y Fq(Replace)27 b(or)f(set)i(the)g
 (friendlyName)f(p)r(ortion)g(of)h(the)g(PK)n(CS12)e(structure.)0
-330 y Fl(set_privatekey\()p Fc(pkey)7 b Fl(\))208 429
+2041 y Fl(set_privatekey\()p Fc(pkey)7 b Fl(\))208 2141
 y Fq(Replace)27 b(or)f(set)i(priv)-5 b(ate)27 b(k)n(ey)g(p)r(ortion)g
-(of)h(the)g(PK)n(CS12)e(structure)0 692 y Ff(X509Extension)f(objects)0
-893 y Fq(X509Extension)h(ob)5 b(jects)27 b(ha)n(v)n(e)g(sev)n(eral)f
-(metho)r(ds:)0 1040 y Fl(get_critical\(\))208 1139 y
+(of)h(the)g(PK)n(CS12)e(structure)0 2404 y Ff(X509Extension)f(objects)0
+2604 y Fq(X509Extension)h(ob)5 b(jects)27 b(ha)n(v)n(e)g(sev)n(eral)f
+(metho)r(ds:)0 2751 y Fl(get_critical\(\))208 2851 y
 Fq(Return)h(the)h(critical)f(\034eld)h(of)f(the)h(extension)f(ob)5
-b(ject.)0 1286 y Fl(get_short_name\(\))208 1386 y Fq(Return)27
+b(ject.)0 2997 y Fl(get_short_name\(\))208 3097 y Fq(Return)27
 b(the)h(short)f(t)n(yp)r(e)h(name)f(of)h(the)g(extension)f(ob)5
-b(ject.)0 1649 y Ff(Netscap)r(eSPKI)27 b(objects)0 1849
+b(ject.)0 3360 y Ff(Netscap)r(eSPKI)27 b(objects)0 3561
 y Fq(Netscap)r(eSPKI)h(ob)5 b(jects)27 b(ha)n(v)n(e)f(the)i(follo)n
-(wing)e(metho)r(ds:)0 1996 y Fl(b64_encode\(\))208 2096
+(wing)e(metho)r(ds:)0 3707 y Fl(b64_encode\(\))208 3807
 y Fq(Return)h(a)g(base64-enco)r(ded)f(string)h(represen)n(tation)e(of)j
-(the)g(ob)5 b(ject.)0 2242 y Fl(get_pubkey\(\))208 2342
+(the)g(ob)5 b(ject.)0 3954 y Fl(get_pubkey\(\))208 4054
 y Fq(Return)27 b(the)h(public)g(k)n(ey)f(of)h(ob)5 b(ject.)0
-2489 y Fl(set_pubkey\()p Fc(key)i Fl(\))208 2589 y Fq(Set)28
+4200 y Fl(set_pubkey\()p Fc(key)i Fl(\))208 4300 y Fq(Set)28
 b(the)f(public)h(k)n(ey)f(of)h(the)g(ob)5 b(ject)27 b(to)h
-Fc(key)7 b Fq(.)0 2735 y Fl(sign\()p Fc(key,)29 b(digest_name)6
-b Fl(\))208 2835 y Fq(Sign)30 b(the)h(Netscap)r(eSPKI)f(ob)5
+Fc(key)7 b Fq(.)0 4447 y Fl(sign\()p Fc(key,)29 b(digest_name)6
+b Fl(\))208 4547 y Fq(Sign)30 b(the)h(Netscap)r(eSPKI)f(ob)5
 b(ject)30 b(using)g(the)h(giv)n(en)f Fc(key)38 b Fq(and)31
 b Fc(digest_name)6 b Fq(.)46 b Fc(digest_name)37 b Fq(m)n(ust)31
-b(b)r(e)g(a)f(string)208 2935 y(describing)e(a)i(digest)f(algorithm)f
+b(b)r(e)g(a)f(string)208 4646 y(describing)e(a)i(digest)f(algorithm)f
 (supp)r(orted)i(b)n(y)f(Op)r(enSSL)h(\(b)n(y)g(EVP_get_digestb)n
-(yname,)f(sp)r(eci\034cally\).)43 b(F)-7 b(or)208 3034
+(yname,)f(sp)r(eci\034cally\).)43 b(F)-7 b(or)208 4746
 y(example,)27 b Fl("md5")e Fq(or)i Fl("sha1")p Fq(.)0
-3181 y Fl(verify\()p Fc(key)7 b Fl(\))208 3281 y Fq(V)-7
+4893 y Fl(verify\()p Fc(key)7 b Fl(\))208 4992 y Fq(V)-7
 b(erify)27 b(the)h(Netscap)r(eSPKI)g(ob)5 b(ject)27 b(using)g(the)h
-(giv)n(en)f Fc(key)7 b Fq(.)0 3560 y Fj(3.2)97 b Fd(rand)34
-b Fj(\026)e(An)h(interface)g(to)g(the)g(Op)s(enSSL)f(pseudo)h(random)g
-(numb)s(er)g(generato)m(r)0 3761 y Fq(This)28 b(mo)r(dule)f(handles)h
-(the)f(Op)r(enSSL)h(pseudo)f(random)g(n)n(um)n(b)r(er)g(generator)f
-(\(PRNG\))j(and)e(declares)f(the)i(follo)n(wing:)0 3908
-y Fl(add\()p Fc(string,)g(entr)l(opy)7 b Fl(\))208 4007
-y Fq(Mix)22 b(b)n(ytes)g(from)g Fc(string)30 b Fq(in)n(to)22
-b(the)h(PRNG)h(state.)35 b(The)22 b Fc(entr)l(opy)30
-b Fq(argumen)n(t)22 b(is)g(\(the)h(lo)n(w)n(er)e(b)r(ound)i(of)6
-b(\))23 b(an)f(estimate)208 4107 y(of)f(ho)n(w)g(m)n(uc)n(h)h
-(randomness)e(is)h(con)n(tained)g(in)h Fc(string)7 b
-Fq(,)23 b(measured)e(in)h(b)n(ytes.)34 b(F)-7 b(or)21
-b(more)g(information,)h(see)g(e.g.)34 b(RF)n(C)208 4207
-y(1750.)0 4354 y Fl(bytes\()p Fc(num_bytes)7 b Fl(\))208
-4453 y Fq(Get)28 b(some)e(random)h(b)n(ytes)g(from)g(the)h(PRNG)h(as)e
-(a)g(string.)208 4586 y(This)g(is)h(a)f(wrapp)r(er)f(for)h(the)h(C)g
-(function)g Fl(RAND_bytes)p Fq(.)0 4733 y Fl(cleanup\(\))208
-4833 y Fq(Erase)e(the)i(memory)f(used)h(b)n(y)f(the)h(PRNG.)208
-4965 y(This)f(is)h(a)f(wrapp)r(er)f(for)h(the)h(C)g(function)g
-Fl(RAND_cleanup)p Fq(.)0 5129 y Fl(egd\()p Fc(p)l(ath)6
-b Fb([)p Fc(,)29 b(bytes)19 b Fb(])p Fl(\))208 5229 y
-Fq(Query)29 b(the)j(En)n(trop)n(y)e(Gathering)g(Daemon)1629
-5198 y Fk(2)1697 5229 y Fq(on)h(so)r(c)n(k)n(et)f Fc(p)l(ath)38
-b Fq(for)30 b Fc(bytes)38 b Fq(b)n(ytes)31 b(of)g(random)f(data)g(and)h
-(and)g(uses)p 0 5298 1560 4 v 92 5352 a Fh(2)127 5375
-y Fg(See)24 b Fp(http://www.lotha)n(r.com/tech/crypto/)p
-0 5549 3901 4 v 0 5649 a Ff(3.2)82 b Fl(rand)26 b Ff(\026)i(An)g
-(interface)f(to)g(the)h(Op)r(enSSL)g(pseudo)e(random)h(numb)r(er)h
-(generato)n(r)1148 b(9)p eop end
+(giv)n(en)f Fc(key)7 b Fq(.)p 0 5549 3901 4 v 0 5649
+a Ff(3.1)82 b Fl(crypto)25 b Ff(\026)j(Generic)g(cryptographic)e(mo)r
+(dule)2234 b(9)p eop end
 %%Page: 10 10
-TeXDict begin 10 9 bop 208 83 a Fl(add)26 b Fq(to)h(seed)h(the)g(PRNG.)
-g(The)g(default)g(v)-5 b(alue)27 b(of)34 b Fc(bytes)h
-Fq(is)27 b(255.)0 244 y Fl(load_file\()p Fc(p)l(ath)6
-b Fb([)p Fc(,)26 b(bytes)19 b Fb(])p Fl(\))208 344 y
-Fq(Read)29 b Fc(bytes)38 b Fq(b)n(ytes)30 b(\(or)f(all)h(of)g(it,)i(if)
-37 b Fc(bytes)g Fq(is)31 b(negativ)n(e\))e(of)h(data)g(from)g(the)g
-(\034le)h Fc(p)l(ath)37 b Fq(to)30 b(seed)g(the)h(PRNG.)g(The)208
-444 y(default)d(v)-5 b(alue)27 b(of)34 b Fc(bytes)h Fq(is)27
-b(-1.)0 590 y Fl(screen\(\))208 690 y Fq(A)n(dd)g(the)h(curren)n(t)f
+TeXDict begin 10 9 bop 0 83 a Ff(CRL)27 b(objects)0 283
+y Fq(CRL)h(ob)5 b(jects)27 b(ha)n(v)n(e)f(the)i(follo)n(wing)e(metho)r
+(ds:)0 430 y Fl(add_revoked\()p Fc(r)l(evoke)l(d)9 b
+Fl(\))208 530 y Fq(A)n(dd)27 b(a)h(Rev)n(ok)n(ed)e(ob)5
+b(ject)27 b(to)g(the)h(CRL,)g(b)n(y)f(v)-5 b(alue)28
+b(not)f(reference.)0 691 y Fl(export\()p Fc(c)l(ert,)g(key)7
+b Fb([)p Fc(,)31 b(typ)l(e=FILETYPE_PEM)c Fb(][)p Fc(,)i(days=100)c
+Fb(])p Fl(\))208 791 y Fq(Use)i Fc(c)l(ert)36 b Fq(and)28
+b Fc(key)36 b Fq(to)27 b(sign)h(the)g(CRL)g(and)g(return)f(the)h(CRL)g
+(as)g(a)f(string.)37 b Fc(days)f Fq(is)28 b(the)g(n)n(um)n(b)r(er)g(of)
+g(da)n(ys)e(b)r(efore)208 890 y(the)i(next)f(CRL)h(is)f(due.)0
+1037 y Fl(get_revoked\(\))208 1137 y Fq(Return)g(a)g(tuple)i(of)e(Rev)n
+(ok)n(ed)f(ob)5 b(jects,)27 b(b)n(y)h(v)-5 b(alue)27
+b(not)h(reference.)0 1400 y Ff(Revok)n(ed)e(objects)0
+1600 y Fq(Rev)n(ok)n(ed)g(ob)5 b(jects)27 b(ha)n(v)n(e)g(the)h(follo)n
+(wing)e(metho)r(ds:)0 1747 y Fl(all_reasons\(\))208 1847
+y Fq(Return)h(a)g(list)h(of)g(all)f(supp)r(orted)g(reasons.)0
+1994 y Fl(get_reason\(\))208 2093 y Fq(Return)g(the)h(rev)n(o)r(cation)
+e(reason)g(as)h(a)g(str.)36 b(Can)28 b(b)r(e)g(None,)f(whic)n(h)h
+(di\033ers)f(from)g("Unsp)r(eci\034ed".)0 2240 y Fl(get_rev_date\(\))
+208 2340 y Fq(Return)g(the)h(rev)n(o)r(cation)e(date)h(as)g(a)g(str.)37
+b(The)27 b(string)g(is)h(formatted)f(as)g(an)g(ASN1)h(GENERALIZEDTIME.)
+0 2487 y Fl(get_serial\(\))208 2586 y Fq(Return)f(a)g(str)h(con)n
+(taining)e(a)h(hex)h(n)n(um)n(b)r(er)f(of)h(the)f(serial)g(of)g(the)h
+(rev)n(ok)n(ed)e(certi\034cate.)0 2733 y Fl(set_reason\()p
+Fc(r)l(e)l(ason)6 b Fl(\))208 2833 y Fq(Set)32 b(the)g(rev)n(o)r
+(cation)e(reason.)47 b Fc(r)l(e)l(ason)39 b Fq(m)n(ust)32
+b(b)r(e)g(None)f(or)g(a)g(string,)i(but)f(the)g(v)-5
+b(alues)31 b(are)g(limited.)50 b(Spaces)31 b(and)208
+2933 y(case)26 b(are)h(ignored.)35 b(See)28 b Fl(all_reasons)p
+Fq(.)0 3079 y Fl(set_rev_date\()p Fc(date)6 b Fl(\))208
+3179 y Fq(Set)28 b(the)f(rev)n(o)r(cation)f(date.)37
+b(The)28 b(string)e(is)i(formatted)f(as)g(an)g(ASN1)h(GENERALIZEDTIME.)
+0 3326 y Fl(set_serial\()p Fc(serial)9 b Fl(\))208 3426
+y Fc(serial)37 b Fq(is)27 b(a)h(string)f(con)n(taining)f(a)h(hex)h(n)n
+(um)n(b)r(er)f(of)g(the)h(serial)f(of)g(the)h(rev)n(ok)n(ed)e
+(certi\034cate.)0 3705 y Fj(3.2)97 b Fd(rand)34 b Fj(\026)e(An)h
+(interface)g(to)g(the)g(Op)s(enSSL)f(pseudo)h(random)g(numb)s(er)g
+(generato)m(r)0 3906 y Fq(This)28 b(mo)r(dule)f(handles)h(the)f(Op)r
+(enSSL)h(pseudo)f(random)g(n)n(um)n(b)r(er)g(generator)f(\(PRNG\))j
+(and)e(declares)f(the)i(follo)n(wing:)0 4053 y Fl(add\()p
+Fc(string,)g(entr)l(opy)7 b Fl(\))208 4152 y Fq(Mix)22
+b(b)n(ytes)g(from)g Fc(string)30 b Fq(in)n(to)22 b(the)h(PRNG)h(state.)
+35 b(The)22 b Fc(entr)l(opy)30 b Fq(argumen)n(t)22 b(is)g(\(the)h(lo)n
+(w)n(er)e(b)r(ound)i(of)6 b(\))23 b(an)f(estimate)208
+4252 y(of)f(ho)n(w)g(m)n(uc)n(h)h(randomness)e(is)h(con)n(tained)g(in)h
+Fc(string)7 b Fq(,)23 b(measured)e(in)h(b)n(ytes.)34
+b(F)-7 b(or)21 b(more)g(information,)h(see)g(e.g.)34
+b(RF)n(C)208 4351 y(1750.)0 4498 y Fl(bytes\()p Fc(num_bytes)7
+b Fl(\))208 4598 y Fq(Get)28 b(some)e(random)h(b)n(ytes)g(from)g(the)h
+(PRNG)h(as)e(a)g(string.)208 4731 y(This)g(is)h(a)f(wrapp)r(er)f(for)h
+(the)h(C)g(function)g Fl(RAND_bytes)p Fq(.)0 4878 y Fl(cleanup\(\))208
+4977 y Fq(Erase)e(the)i(memory)f(used)h(b)n(y)f(the)h(PRNG.)208
+5110 y(This)f(is)h(a)f(wrapp)r(er)f(for)h(the)h(C)g(function)g
+Fl(RAND_cleanup)p Fq(.)0 5274 y Fl(egd\()p Fc(p)l(ath)6
+b Fb([)p Fc(,)29 b(bytes)19 b Fb(])p Fl(\))p 0 5549 3901
+4 v 0 5649 a Ff(10)2197 b(3)83 b Fl(OpenSSL)24 b Ff(\026)k(Python)f
+(interface)h(to)f(Op)r(enSSL)p eop end
+%%Page: 11 11
+TeXDict begin 11 10 bop 208 83 a Fq(Query)29 b(the)j(En)n(trop)n(y)e
+(Gathering)g(Daemon)1629 53 y Fk(2)1697 83 y Fq(on)h(so)r(c)n(k)n(et)f
+Fc(p)l(ath)38 b Fq(for)30 b Fc(bytes)38 b Fq(b)n(ytes)31
+b(of)g(random)f(data)g(and)h(and)g(uses)208 183 y Fl(add)26
+b Fq(to)h(seed)h(the)g(PRNG.)g(The)g(default)g(v)-5 b(alue)27
+b(of)34 b Fc(bytes)h Fq(is)27 b(255.)0 344 y Fl(load_file\()p
+Fc(p)l(ath)6 b Fb([)p Fc(,)26 b(bytes)19 b Fb(])p Fl(\))208
+444 y Fq(Read)29 b Fc(bytes)38 b Fq(b)n(ytes)30 b(\(or)f(all)h(of)g
+(it,)i(if)37 b Fc(bytes)g Fq(is)31 b(negativ)n(e\))e(of)h(data)g(from)g
+(the)g(\034le)h Fc(p)l(ath)37 b Fq(to)30 b(seed)g(the)h(PRNG.)g(The)208
+543 y(default)d(v)-5 b(alue)27 b(of)34 b Fc(bytes)h Fq(is)27
+b(-1.)0 690 y Fl(screen\(\))208 790 y Fq(A)n(dd)g(the)h(curren)n(t)f
 (con)n(ten)n(ts)g(of)g(the)h(screen)f(to)g(the)h(PRNG)h(state.)37
-b(A)-9 b(v)k(ailabilit)n(y:)36 b(Windo)n(ws.)0 837 y
-Fl(seed\()p Fc(string)7 b Fl(\))208 937 y Fq(This)27
+b(A)-9 b(v)k(ailabilit)n(y:)36 b(Windo)n(ws.)0 937 y
+Fl(seed\()p Fc(string)7 b Fl(\))208 1036 y Fq(This)27
 b(is)h(equiv)-5 b(alen)n(t)27 b(to)g(calling)h Fl(add)f
 Fq(with)h Fc(entr)l(opy)35 b Fq(as)27 b(the)h(length)f(of)h(the)g
-(string.)0 1083 y Fl(status\(\))208 1183 y Fq(Returns)f(true)g(if)i
+(string.)0 1183 y Fl(status\(\))208 1283 y Fq(Returns)f(true)g(if)i
 (the)e(PRNG)i(has)e(b)r(een)h(seeded)f(with)h(enough)f(data,)g(and)h
-(false)f(otherwise.)0 1330 y Fl(write_file\()p Fc(p)l(ath)6
-b Fl(\))208 1430 y Fq(W)-7 b(rite)34 b(a)g(n)n(um)n(b)r(er)g(of)h
+(false)f(otherwise.)0 1430 y Fl(write_file\()p Fc(p)l(ath)6
+b Fl(\))208 1529 y Fq(W)-7 b(rite)34 b(a)g(n)n(um)n(b)r(er)g(of)h
 (random)e(b)n(ytes)h(\(curren)n(tly)g(1024\))f(to)h(the)h(\034le)f
 Fc(p)l(ath)6 b Fq(.)59 b(This)34 b(\034le)h(can)f(then)g(b)r(e)h(used)g
-(with)208 1529 y Fl(load_file)23 b Fq(to)28 b(seed)f(the)h(PRNG)h
-(again.)0 1676 y Fm(exception)j Fl(Error)208 1776 y Fq(If)i(the)g
+(with)208 1629 y Fl(load_file)23 b Fq(to)28 b(seed)f(the)h(PRNG)h
+(again.)0 1776 y Fm(exception)j Fl(Error)208 1875 y Fq(If)i(the)g
 (curren)n(t)f(RAND)i(metho)r(d)f(supp)r(orts)f(an)n(y)g(errors,)h(this)
 g(is)f(raised)g(when)h(needed.)56 b(The)33 b(default)i(metho)r(d)208
-1875 y(do)r(es)27 b(not)g(raise)g(this)h(when)f(the)h(en)n(trop)n(y)e
-(p)r(o)r(ol)i(is)f(depleted.)208 2000 y(Whenev)n(er)36
+1975 y(do)r(es)27 b(not)g(raise)g(this)h(when)f(the)h(en)n(trop)n(y)e
+(p)r(o)r(ol)i(is)f(depleted.)208 2104 y(Whenev)n(er)36
 b(this)h(exception)g(is)g(raised)f(directly)-7 b(,)40
 b(it)d(has)g(a)f(list)i(of)f(error)e(messages)g(from)i(the)h(Op)r
-(enSSL)f(error)208 2100 y(queue,)k(where)d(eac)n(h)f(item)i(is)g(a)f
+(enSSL)f(error)208 2204 y(queue,)k(where)d(eac)n(h)f(item)i(is)g(a)f
 (tuple)h Fl(\()p Fc(lib)5 b Fl(,)44 b Fc(function)6 b
 Fl(,)43 b Fc(r)l(e)l(ason)6 b Fl(\))p Fq(.)70 b(Here)38
 b Fc(lib)5 b Fq(,)43 b Fc(function)h Fq(and)39 b Fc(r)l(e)l(ason)45
-b Fq(are)37 b(all)208 2200 y(strings,)26 b(describing)h(where)g(and)g
+b Fq(are)37 b(all)208 2303 y(strings,)26 b(describing)h(where)g(and)g
 (what)h(the)g(problem)f(is.)36 b(See)28 b Fc(err)p Fq(\(3\))g(for)f
-(more)g(information.)0 2473 y Fj(3.3)97 b Fd(SSL)33 b
+(more)g(information.)0 2580 y Fj(3.3)97 b Fd(SSL)33 b
 Fj(\026)f(An)h(interface)h(to)e(the)h(SSL-sp)s(eci\034c)h(pa)m(rts)f
-(of)f(Op)s(enSSL)0 2673 y Fq(This)c(mo)r(dule)f(handles)h(things)f(sp)r
+(of)f(Op)s(enSSL)0 2780 y Fq(This)c(mo)r(dule)f(handles)h(things)f(sp)r
 (eci\034c)h(to)f(SSL.)h(There)f(are)f(t)n(w)n(o)h(ob)5
 b(jects)27 b(de\034ned:)38 b(Con)n(text,)27 b(Connection.)0
-2820 y Fl(SSLv2_METHOD)0 2920 y(SSLv3_METHOD)0 3019 y(SSLv23_METHOD)0
-3119 y(TLSv1_METHOD)208 3218 y Fq(These)g(constan)n(ts)f(represen)n(t)h
+2927 y Fl(SSLv2_METHOD)0 3027 y(SSLv3_METHOD)0 3126 y(SSLv23_METHOD)0
+3226 y(TLSv1_METHOD)208 3326 y Fq(These)g(constan)n(ts)f(represen)n(t)h
 (the)h(di\033eren)n(t)f(SSL)h(metho)r(ds)g(to)f(use)h(when)f(creating)g
-(a)g(con)n(text)g(ob)5 b(ject.)0 3365 y Fl(VERIFY_NONE)0
-3465 y(VERIFY_PEER)0 3565 y(VERIFY_FAIL_IF_N)o(O_)o(PEE)o(R_)o(CE)o(RT)
-208 3664 y Fq(These)27 b(constan)n(ts)f(represen)n(t)h(the)h(v)n
+(a)g(con)n(text)g(ob)5 b(ject.)0 3473 y Fl(VERIFY_NONE)0
+3572 y(VERIFY_PEER)0 3672 y(VERIFY_FAIL_IF_N)o(O_)o(PEE)o(R_)o(CE)o(RT)
+208 3771 y Fq(These)27 b(constan)n(ts)f(represen)n(t)h(the)h(v)n
 (eri\034cation)e(mo)r(de)h(used)h(b)n(y)f(the)h(Con)n(text)f(ob)5
-b(ject's)27 b Fl(set_verify)d Fq(metho)r(d.)0 3811 y
-Fl(FILETYPE_PEM)0 3911 y(FILETYPE_ASN1)208 4010 y Fq(File)41
+b(ject's)27 b Fl(set_verify)d Fq(metho)r(d.)0 3918 y
+Fl(FILETYPE_PEM)0 4018 y(FILETYPE_ASN1)208 4118 y Fq(File)41
 b(t)n(yp)r(e)g(constan)n(ts)f(used)h(with)g(the)h Fl(use_certificate)o
 (_f)o(ile)34 b Fq(and)41 b Fl(use_privatekey_f)o(il)o(e)35
-b Fq(metho)r(ds)41 b(of)208 4110 y(Con)n(text)27 b(ob)5
-b(jects.)0 4257 y Fl(OP_SINGLE_DH_USE)0 4356 y(OP_EPHEMERAL_RSA)0
-4456 y(OP_NO_SSLv2)0 4556 y(OP_NO_SSLv3)0 4655 y(OP_NO_TLSv1)208
-4755 y Fq(Constan)n(ts)30 b(used)i(with)g Fl(set_options)26
+b Fq(metho)r(ds)41 b(of)208 4217 y(Con)n(text)27 b(ob)5
+b(jects.)0 4364 y Fl(OP_SINGLE_DH_USE)0 4464 y(OP_EPHEMERAL_RSA)0
+4563 y(OP_NO_SSLv2)0 4663 y(OP_NO_SSLv3)0 4763 y(OP_NO_TLSv1)208
+4862 y Fq(Constan)n(ts)30 b(used)i(with)g Fl(set_options)26
 b Fq(of)32 b(Con)n(text)f(ob)5 b(jects.)48 b Fl(OP_SINGLE_DH_USE)25
-b Fq(means)31 b(to)g(alw)n(a)n(ys)f(create)g(a)208 4855
+b Fq(means)31 b(to)g(alw)n(a)n(ys)f(create)g(a)208 4962
 y(new)19 b(k)n(ey)f(when)h(using)g(ephemeral)f(Di\036e-Hellman.)34
 b Fl(OP_EPHEMERAL_RSA)13 b Fq(means)18 b(to)h(alw)n(a)n(ys)e(use)i
-(ephemeral)g(RSA)208 4954 y(k)n(eys)f(when)h(doing)f(RSA)i(op)r
+(ephemeral)g(RSA)208 5061 y(k)n(eys)f(when)h(doing)f(RSA)i(op)r
 (erations.)33 b Fl(OP_NO_SSLv2)p Fq(,)16 b Fl(OP_NO_SSLv3)f
 Fq(and)k Fl(OP_NO_TLSv1)14 b Fq(means)19 b(to)g(disable)f(those)208
-5054 y(sp)r(eci\034c)29 b(proto)r(cols.)39 b(This)29
+5161 y(sp)r(eci\034c)29 b(proto)r(cols.)39 b(This)29
 b(is)g(in)n(teresting)g(if)g(y)n(ou're)f(using)g(e.g.)41
 b Fl(SSLv23_METHOD)24 b Fq(to)29 b(get)g(an)f(SSLv2-compatible)208
-5154 y(handshak)n(e,)e(but)i(don't)g(w)n(an)n(t)f(to)g(use)h(SSLv2.)0
-5300 y Fl(ContextType)208 5400 y Fq(See)f Fl(Context)p
-Fq(.)p 0 5549 3901 4 v 0 5649 a Ff(10)2197 b(3)83 b Fl(OpenSSL)24
-b Ff(\026)k(Python)f(interface)h(to)f(Op)r(enSSL)p eop
-end
-%%Page: 11 11
-TeXDict begin 11 10 bop 0 83 a Fm(class)31 b Fl(Context\()p
-Fc(metho)l(d)9 b Fl(\))208 183 y Fq(A)27 b(class)g(represen)n(ting)f
+5261 y(handshak)n(e,)e(but)i(don't)g(w)n(an)n(t)f(to)g(use)h(SSLv2.)p
+0 5323 1560 4 v 92 5377 a Fh(2)127 5400 y Fg(See)c Fp(http://www.lotha)
+n(r.com/tech/crypto/)p 0 5549 3901 4 v 0 5649 a Ff(3.3)82
+b Fl(SSL)26 b Ff(\026)i(An)g(interface)g(to)f(the)g(SSL-sp)r(eci\034c)h
+(pa)n(rts)f(of)h(Op)r(enSSL)1611 b(11)p eop end
+%%Page: 12 12
+TeXDict begin 12 11 bop 0 83 a Fl(ContextType)208 183
+y Fq(See)27 b Fl(Context)p Fq(.)0 330 y Fm(class)k Fl(Context\()p
+Fc(metho)l(d)9 b Fl(\))208 429 y Fq(A)27 b(class)g(represen)n(ting)f
 (SSL)i(con)n(texts.)36 b(Con)n(texts)27 b(de\034ne)h(the)g(parameters)d
-(of)j(one)f(or)g(more)f(SSL)i(connections.)208 315 y
+(of)j(one)f(or)g(more)f(SSL)i(connections.)208 562 y
 Fc(metho)l(d)36 b Fq(should)28 b(b)r(e)g Fl(SSLv2_METHOD)p
 Fq(,)22 b Fl(SSLv3_METHOD)p Fq(,)h Fl(SSLv23_METHOD)f
-Fq(or)27 b Fl(TLSv1_METHOD)p Fq(.)0 462 y Fl(ConnectionType)208
-562 y Fq(See)g Fl(Connection)p Fq(.)0 709 y Fm(class)k
+Fq(or)27 b Fl(TLSv1_METHOD)p Fq(.)0 709 y Fl(ConnectionType)208
+808 y Fq(See)g Fl(Connection)p Fq(.)0 955 y Fm(class)k
 Fl(Connection\()p Fc(c)l(ontext,)25 b(so)l(cket)8 b Fl(\))208
-808 y Fq(A)27 b(class)g(represen)n(ting)f(SSL)i(connections.)208
-941 y Fc(c)l(ontext)44 b Fq(should)37 b(b)r(e)g(an)g(instance)g(of)44
+1055 y Fq(A)27 b(class)g(represen)n(ting)f(SSL)i(connections.)208
+1188 y Fc(c)l(ontext)44 b Fq(should)37 b(b)r(e)g(an)g(instance)g(of)44
 b Fl(Context)34 b Fq(and)j Fc(so)l(cket)46 b Fq(should)37
-b(b)r(e)g(a)g(so)r(c)n(k)n(et)2978 911 y Fk(3)3053 941
+b(b)r(e)g(a)g(so)r(c)n(k)n(et)2978 1158 y Fk(3)3053 1188
 y Fq(ob)5 b(ject.)66 b Fc(so)l(cket)45 b Fq(ma)n(y)37
-b(b)r(e)208 1041 y Fc(None)6 b Fq(;)27 b(in)h(this)g(case,)e(the)i
+b(b)r(e)208 1287 y Fc(None)6 b Fq(;)27 b(in)h(this)g(case,)e(the)i
 (Connection)f(is)g(created)g(with)h(a)f(memory)g(BIO:)f(see)h(the)h
-Fl(bio_read)p Fq(,)c Fl(bio_write)p Fq(,)g(and)208 1141
-y Fl(bio_shutdown)e Fq(metho)r(ds.)0 1287 y Fm(exception)32
-b Fl(Error)208 1387 y Fq(This)i(exception)g(is)h(used)f(as)g(a)h(base)e
+Fl(bio_read)p Fq(,)c Fl(bio_write)p Fq(,)g(and)208 1387
+y Fl(bio_shutdown)e Fq(metho)r(ds.)0 1534 y Fm(exception)32
+b Fl(Error)208 1634 y Fq(This)i(exception)g(is)h(used)f(as)g(a)h(base)e
 (class)h(for)g(the)h(other)f(SSL-related)g(exceptions,)i(but)f(ma)n(y)f
-(also)f(b)r(e)i(raised)208 1487 y(directly)-7 b(.)208
-1620 y(Whenev)n(er)36 b(this)h(exception)g(is)g(raised)f(directly)-7
+(also)f(b)r(e)i(raised)208 1733 y(directly)-7 b(.)208
+1866 y(Whenev)n(er)36 b(this)h(exception)g(is)g(raised)f(directly)-7
 b(,)40 b(it)d(has)g(a)f(list)i(of)f(error)e(messages)g(from)i(the)h(Op)
-r(enSSL)f(error)208 1719 y(queue,)k(where)d(eac)n(h)f(item)i(is)g(a)f
+r(enSSL)f(error)208 1966 y(queue,)k(where)d(eac)n(h)f(item)i(is)g(a)f
 (tuple)h Fl(\()p Fc(lib)5 b Fl(,)44 b Fc(function)6 b
 Fl(,)43 b Fc(r)l(e)l(ason)6 b Fl(\))p Fq(.)70 b(Here)38
 b Fc(lib)5 b Fq(,)43 b Fc(function)h Fq(and)39 b Fc(r)l(e)l(ason)45
-b Fq(are)37 b(all)208 1819 y(strings,)26 b(describing)h(where)g(and)g
+b Fq(are)37 b(all)208 2065 y(strings,)26 b(describing)h(where)g(and)g
 (what)h(the)g(problem)f(is.)36 b(See)28 b Fc(err)p Fq(\(3\))g(for)f
-(more)g(information.)0 1966 y Fm(exception)32 b Fl(ZeroReturnError)208
-2065 y Fq(This)g(exception)g(matc)n(hes)g(the)h(error)d(return)i(co)r
+(more)g(information.)0 2212 y Fm(exception)32 b Fl(ZeroReturnError)208
+2312 y Fq(This)g(exception)g(matc)n(hes)g(the)h(error)d(return)i(co)r
 (de)h Fl(SSL_ERROR_ZERO_)o(RE)o(TUR)o(N)p Fq(,)26 b(and)33
-b(is)f(raised)f(when)i(the)g(SSL)208 2165 y(Connection)c(has)g(b)r(een)
+b(is)f(raised)f(when)i(the)g(SSL)208 2411 y(Connection)c(has)g(b)r(een)
 h(closed.)43 b(In)29 b(SSL)h(3.0)f(and)h(TLS)g(1.0,)f(this)h(only)f(o)r
 (ccurs)g(if)h(a)g(closure)e(alert)h(has)g(o)r(ccurred)208
-2265 y(in)g(the)g(proto)r(col,)f(i.e.)41 b(the)29 b(connection)f(has)g
+2511 y(in)g(the)g(proto)r(col,)f(i.e.)41 b(the)29 b(connection)f(has)g
 (b)r(een)i(closed)e(cleanly)-7 b(.)40 b(Note)29 b(that)g(this)g(do)r
-(es)f(not)h(necessarily)e(mean)208 2364 y(that)g(the)h(transp)r(ort)f
+(es)f(not)h(necessarily)e(mean)208 2611 y(that)g(the)h(transp)r(ort)f
 (la)n(y)n(er)f(\(e.g.)36 b(a)28 b(so)r(c)n(k)n(et\))e(has)h(b)r(een)h
-(closed.)208 2497 y(It)k(ma)n(y)f(seem)h(a)f(little)i(strange)e(that)h
+(closed.)208 2743 y(It)k(ma)n(y)f(seem)h(a)f(little)i(strange)e(that)h
 (this)g(is)g(an)g(exception,)g(but)h(it)f(do)r(es)g(matc)n(h)g(an)f
-Fl(SSL_ERROR)e Fq(co)r(de,)j(and)g(is)208 2597 y(v)n(ery)26
-b(con)n(v)n(enien)n(t.)0 2743 y Fm(exception)32 b Fl(WantReadError)208
-2843 y Fq(The)i(op)r(eration)e(did)j(not)f(complete;)j(the)d(same)g
+Fl(SSL_ERROR)e Fq(co)r(de,)j(and)g(is)208 2843 y(v)n(ery)26
+b(con)n(v)n(enien)n(t.)0 2990 y Fm(exception)32 b Fl(WantReadError)208
+3090 y Fq(The)i(op)r(eration)e(did)j(not)f(complete;)j(the)d(same)g
 (I/O)f(metho)r(d)h(should)g(b)r(e)g(called)g(again)f(later,)i(with)f
-(the)h(same)208 2943 y(argumen)n(ts.)g(An)n(y)28 b(I/O)e(metho)r(d)i
+(the)h(same)208 3189 y(argumen)n(ts.)g(An)n(y)28 b(I/O)e(metho)r(d)i
 (can)f(lead)h(to)f(this)h(since)f(new)h(handshak)n(es)e(can)h(o)r(ccur)
-g(at)g(an)n(y)g(time.)208 3076 y(The)44 b(w)n(an)n(ted)h(read)f(is)g
+g(at)g(an)n(y)g(time.)208 3322 y(The)44 b(w)n(an)n(ted)h(read)f(is)g
 (for)h Fc(dirty)g Fq(data)g(sen)n(t)f(o)n(v)n(er)f(the)j(net)n(w)n
 (ork,)h(not)e(the)h Fc(cle)l(an)f Fq(data)f(inside)h(the)g(tunnel.)208
-3175 y(F)-7 b(or)39 b(a)i(so)r(c)n(k)n(et)e(based)h(SSL)h(connection,)i
+3422 y(F)-7 b(or)39 b(a)i(so)r(c)n(k)n(et)e(based)h(SSL)h(connection,)i
 Fc(r)l(e)l(ad)e Fq(means)f(data)g(coming)g(at)g(us)h(o)n(v)n(er)e(the)i
-(net)n(w)n(ork.)74 b(Un)n(til)41 b(that)208 3275 y(read)d(succeeds,)k
+(net)n(w)n(ork.)74 b(Un)n(til)41 b(that)208 3521 y(read)d(succeeds,)k
 (the)d(attempted)h Fl(OpenSSL.SSL.Conn)o(ect)o(io)o(n.)o(rec)o(v)p
 Fq(,)c Fl(OpenSSL.SSL.Conn)o(ec)o(tio)o(n.)o(se)o(nd)p
-Fq(,)g(or)208 3374 y Fl(OpenSSL.SSL.Con)o(ne)o(ct)o(ion)o(.d)o(o_h)o
+Fq(,)g(or)208 3621 y Fl(OpenSSL.SSL.Con)o(ne)o(ct)o(ion)o(.d)o(o_h)o
 (an)o(ds)o(hak)o(e)15 b Fq(is)22 b(prev)n(en)n(ted)e(or)h(incomplete.)
 35 b(Y)-7 b(ou)22 b(probably)e(w)n(an)n(t)h(to)g Fl(select\(\))208
-3474 y Fq(on)27 b(the)h(so)r(c)n(k)n(et)e(b)r(efore)h(trying)g(again.)0
-3621 y Fm(exception)32 b Fl(WantWriteError)208 3721 y
+3721 y Fq(on)27 b(the)h(so)r(c)n(k)n(et)e(b)r(efore)h(trying)g(again.)0
+3867 y Fm(exception)32 b Fl(WantWriteError)208 3967 y
 Fq(See)27 b Fl(WantReadError)p Fq(.)32 b(The)27 b(so)r(c)n(k)n(et)g
 (send)g(bu\033er)h(ma)n(y)f(b)r(e)h(to)r(o)f(full)h(to)g(write)f(more)g
-(data.)0 3867 y Fm(exception)32 b Fl(WantX509LookupE)o(rr)o(or)208
-3967 y Fq(The)24 b(op)r(eration)g(did)h(not)g(complete)f(b)r(ecause)g
+(data.)0 4114 y Fm(exception)32 b Fl(WantX509LookupE)o(rr)o(or)208
+4214 y Fq(The)24 b(op)r(eration)g(did)h(not)g(complete)f(b)r(ecause)g
 (an)h(application)f(callbac)n(k)f(has)h(ask)n(ed)g(to)g(b)r(e)h(called)
-g(again.)34 b(The)25 b(I/O)208 4067 y(metho)r(d)f(should)h(b)r(e)f
+g(again.)34 b(The)25 b(I/O)208 4313 y(metho)r(d)f(should)h(b)r(e)f
 (called)g(again)g(later,)g(with)h(the)g(same)e(argumen)n(ts.)35
 b(Note:)g(This)24 b(w)n(on't)h(o)r(ccur)e(in)i(this)g(v)n(ersion,)208
-4166 y(as)h(there)i(are)e(no)i(suc)n(h)f(callbac)n(ks)f(in)i(this)f(v)n
-(ersion.)0 4313 y Fm(exception)32 b Fl(SysCallError)208
-4413 y Fq(The)25 b Fl(SysCallError)20 b Fq(o)r(ccurs)k(when)i(there's)e
+4413 y(as)h(there)i(are)e(no)i(suc)n(h)f(callbac)n(ks)f(in)i(this)f(v)n
+(ersion.)0 4560 y Fm(exception)32 b Fl(SysCallError)208
+4659 y Fq(The)25 b Fl(SysCallError)20 b Fq(o)r(ccurs)k(when)i(there's)e
 (an)h(I/O)g(error)e(and)i(Op)r(enSSL's)g(error)e(queue)i(do)r(es)g(not)
-g(con)n(tain)g(an)n(y)208 4512 y(information.)59 b(This)36
+g(con)n(tain)g(an)n(y)208 4759 y(information.)59 b(This)36
 b(can)f(mean)g(t)n(w)n(o)g(things:)52 b(An)36 b(error)d(in)j(the)g
 (transp)r(ort)e(proto)r(col,)i(or)f(an)g(end)h(of)f(\034le)h(that)208
-4612 y(violates)26 b(the)i(proto)r(col.)36 b(The)27 b(parameter)f(to)i
+4859 y(violates)26 b(the)i(proto)r(col.)36 b(The)27 b(parameter)f(to)i
 (the)g(exception)f(is)g(alw)n(a)n(ys)f(a)h(pair)g Fl(\()p
-Fc(errnum)6 b Fl(,)42 b Fc(errstr)9 b Fl(\))p Fq(.)0
-4875 y Ff(Context)27 b(objects)0 5076 y Fq(Con)n(text)g(ob)5
-b(jects)27 b(ha)n(v)n(e)g(the)h(follo)n(wing)e(metho)r(ds:)p
-0 5145 1560 4 v 92 5198 a Fh(3)127 5222 y Fg(A)n(ctually)-6
+Fc(errnum)6 b Fl(,)42 b Fc(errstr)9 b Fl(\))p Fq(.)p
+0 4928 1560 4 v 92 4981 a Fh(3)127 5005 y Fg(A)n(ctually)-6
 b(,)25 b(all)e(that)j(is)d(required)j(is)e(an)g(ob)t(ject)h(that)h
 Fa(b)l(ehaves)e Fg(lik)n(e)g(a)h(so)r(c)n(k)n(et,)g(y)n(ou)g(could)g
 (ev)n(en)g(use)f(\034les,)g(ev)n(en)i(though)f(it'd)f(b)r(e)h(tric)n
-(ky)g(to)0 5301 y(get)g(the)f(handshak)n(es)h(righ)n(t!)p
-0 5549 3901 4 v 0 5649 a Ff(3.3)82 b Fl(SSL)26 b Ff(\026)i(An)g
-(interface)g(to)f(the)g(SSL-sp)r(eci\034c)h(pa)n(rts)f(of)h(Op)r(enSSL)
-1611 b(11)p eop end
-%%Page: 12 12
-TeXDict begin 12 11 bop 0 83 a Fl(check_privatekey)o(\(\))208
-199 y Fq(Chec)n(k)30 b(if)i(the)g(priv)-5 b(ate)31 b(k)n(ey)f(\(loaded)
-h(with)h Fl(use_privatekey)p Fb([)p Fl(_)o(fi)o(le)11
-b Fb(])p Fq(\))26 b(matc)n(hes)k(the)i(certi\034cate)f(\(loaded)g(with)
-208 327 y Fl(use_certificate)o Fb([)p Fl(_)o(fil)o(e)11
-b Fb(])p Fq(\).)31 b(Returns)d Fl(None)e Fq(if)i(they)f(matc)n(h,)h
-(raises)e Fl(Error)g Fq(otherwise.)0 474 y Fl(get_app_data\(\))208
-573 y Fq(Retriev)n(e)g(application)h(data)g(as)g(set)h(b)n(y)g
-Fl(set_app_data)p Fq(.)0 720 y Fl(get_cert_store\(\))208
-820 y Fq(Retriev)n(e)34 b(the)i(certi\034cate)f(store)f(\(a)h
-(X509Store)f(ob)5 b(ject\))35 b(that)h(the)f(con)n(text)g(uses.)60
-b(This)35 b(can)g(b)r(e)h(used)f(to)g(add)208 920 y("trusted")26
-b(certi\034cates)h(without)h(using)f(the.)37 b Fl(load_verify_loca)o
-(tio)o(ns)o(\(\))21 b Fq(metho)r(d.)0 1066 y Fl(get_timeout\(\))208
-1166 y Fq(Retriev)n(e)26 b(session)h(timeout,)h(as)f(set)g(b)n(y)i
-Fl(set_timeout)p Fq(.)j(The)c(default)g(is)f(300)f(seconds.)0
-1313 y Fl(get_verify_depth)o(\(\))208 1413 y Fq(Retriev)n(e)g(the)i
-(Con)n(text)f(ob)5 b(ject's)28 b(v)n(erify)e(depth,)j(as)d(set)i(b)n(y)
-g Fl(set_verify_depth)p Fq(.)0 1559 y Fl(get_verify_mode\()o(\))208
-1659 y Fq(Retriev)n(e)e(the)i(Con)n(text)f(ob)5 b(ject's)28
-b(v)n(erify)e(mo)r(de,)i(as)f(set)h(b)n(y)g Fl(set_verify)p
-Fq(.)0 1806 y Fl(load_client_ca\()p Fc(p)l(em\034le)6
-b Fl(\))208 1906 y Fq(Read)33 b(a)g(\034le)h(with)g(PEM-formatted)g
-(certi\034cates)f(that)h(will)g(b)r(e)g(sen)n(t)f(to)h(the)g(clien)n(t)
-f(when)h(requesting)f(a)g(clien)n(t)208 2005 y(certi\034cate.)0
-2152 y Fl(set_client_ca_li)o(st)o(\()p Fc(c)l(erti\034c)l(ate_au)o
-(thorities)7 b Fl(\))208 2252 y Fq(Replace)23 b(the)h(curren)n(t)g
-(list)g(of)g(preferred)f(certi\034cate)g(signers)g(that)h(w)n(ould)f(b)
-r(e)i(sen)n(t)f(to)g(the)g(clien)n(t)g(when)g(requesting)208
-2351 y(a)j(clien)n(t)g(certi\034cate)g(with)h(the)g Fc(c)l(erti\034c)l
-(ate_authorities)35 b Fq(sequence)27 b(of)34 b Fl(OpenSSL.crypto.X5)o
-(09)o(Na)o(me)p Fq(s)o(.)208 2484 y(New)27 b(in)h(v)n(ersion)e(0.10.)0
-2631 y Fl(add_client_ca\()p Fc(c)l(erti\034c)l(ate_aut)o(hority)7
-b Fl(\))208 2731 y Fq(Extract)22 b(a)g Fl(OpenSSL.crypto.X)o(50)o(9Na)o
-(me)16 b Fq(from)22 b(the)h Fc(c)l(erti\034c)l(ate_authority)30
-b Fl(OpenSSL.crypto.X)o(509)16 b Fq(certi\034cate)208
-2830 y(and)k(add)g(it)h(to)f(the)h(list)f(of)h(preferred)e
-(certi\034cate)h(signers)f(sen)n(t)h(to)g(the)h(clien)n(t)f(when)h
-(requesting)e(a)h(clien)n(t)h(certi\034cate.)208 2963
-y(New)27 b(in)h(v)n(ersion)e(0.10.)0 3110 y Fl(load_verify_loca)o(ti)o
-(ons)o(\()p Fc(p)l(em\034le,)e(c)l(ap)l(ath)6 b Fl(\))208
-3210 y Fq(Sp)r(ecify)24 b(where)f(CA)g(certi\034cates)g(for)g(v)n
-(eri\034cation)f(purp)r(oses)h(are)f(lo)r(cated.)35 b(These)23
-b(are)g(trusted)g(certi\034cates.)35 b(Note)208 3309
-y(that)c(the)g(certi\034cates)f(ha)n(v)n(e)f(to)i(b)r(e)g(in)g(PEM)h
-(format.)46 b(If)31 b(capath)f(is)h(passed,)f(it)i(m)n(ust)e(b)r(e)i(a)
-e(directory)f(prepared)208 3409 y(using)i(the)h Fl(c_rehash)c
-Fq(to)r(ol)j(included)h(with)g(Op)r(enSSL.)g(Either,)h(but)f(not)g(b)r
-(oth,)h(of)38 b Fc(p)l(em\034le)g Fq(or)31 b Fc(c)l(ap)l(ath)39
-b Fq(ma)n(y)31 b(b)r(e)208 3509 y Fl(None)p Fq(.)0 3655
-y Fl(set_default_veri)o(fy)o(_pa)o(th)o(s\()o(\))208
-3755 y Fq(Sp)r(ecify)20 b(that)h(the)g(platform)f(pro)n(vided)f(CA)h
-(certi\034cates)g(are)f(to)h(b)r(e)h(used)f(for)g(v)n(eri\034cation)f
-(purp)r(oses.)33 b(This)21 b(metho)r(d)208 3855 y(ma)n(y)26
-b(not)i(w)n(ork)e(prop)r(erly)h(on)g(OS)g(X.)0 4002 y
-Fl(load_tmp_dh\()p Fc(dh\034le)6 b Fl(\))208 4101 y Fq(Load)26
-b(parameters)g(for)h(Ephemeral)g(Di\036e-Hellman)h(from)g
-Fc(dh\034le)6 b Fq(.)0 4248 y Fl(set_app_data\()p Fc(data)g
-Fl(\))208 4348 y Fq(Asso)r(ciate)25 b Fc(data)33 b Fq(with)27
-b(this)f(Con)n(text)f(ob)5 b(ject.)36 b Fc(data)e Fq(can)25
-b(b)r(e)i(retriev)n(ed)d(later)i(using)f(the)i Fl(get_app_data)21
-b Fq(metho)r(d.)0 4495 y Fl(set_cipher_list\()o Fc(ciphers)7
-b Fl(\))208 4594 y Fq(Set)28 b(the)g(list)h(of)f(ciphers)f(to)h(b)r(e)g
-(used)g(in)g(this)h(con)n(text.)37 b(See)28 b(the)h(Op)r(enSSL)f(man)n
-(ual)f(for)h(more)f(information)g(\(e.g.)208 4694 y(ciphers\(1\)\))0
-4841 y Fl(set_info_callbac)o(k\()o Fc(c)l(al)t(lb)l(ack)9
-b Fl(\))208 4940 y Fq(Set)33 b(the)f(information)g(callbac)n(k)f(to)i
-Fc(c)l(al)t(lb)l(ack)9 b Fq(.)54 b(This)32 b(function)h(will)g(b)r(e)g
-(called)f(from)g(time)h(to)g(time)g(during)f(SSL)208
-5040 y(handshak)n(es.)49 b Fc(c)l(al)t(lb)l(ack)43 b
-Fq(should)32 b(tak)n(e)g(three)g(argumen)n(ts:)45 b(a)32
-b(Connection)g(ob)5 b(ject)32 b(and)g(t)n(w)n(o)g(in)n(tegers.)50
-b(The)32 b(\034rst)208 5140 y(in)n(teger)f(sp)r(eci\034es)g(where)h(in)
-g(the)g(SSL)g(handshak)n(e)f(the)h(function)h(w)n(as)e(called,)h(and)g
-(the)g(other)g(the)g(return)f(co)r(de)208 5239 y(from)c(a)g(\(p)r
-(ossibly)g(failed\))h(in)n(ternal)f(function)h(call.)0
-5386 y Fl(set_options\()p Fc(options)7 b Fl(\))p 0 5549
-3901 4 v 0 5649 a Ff(12)2197 b(3)83 b Fl(OpenSSL)24 b
-Ff(\026)k(Python)f(interface)h(to)f(Op)r(enSSL)p eop
+(ky)g(to)0 5084 y(get)g(the)f(handshak)n(es)h(righ)n(t!)p
+0 5549 3901 4 v 0 5649 a Ff(12)2197 b(3)83 b Fl(OpenSSL)24
+b Ff(\026)k(Python)f(interface)h(to)f(Op)r(enSSL)p eop
 end
 %%Page: 13 13
-TeXDict begin 13 12 bop 208 83 a Fq(A)n(dd)28 b(SSL)h(options.)38
-b(Options)28 b(y)n(ou)f(ha)n(v)n(e)g(set)i(b)r(efore)f(are)f(not)h
-(cleared!)38 b(This)28 b(metho)r(d)h(should)f(b)r(e)h(used)f(with)h
-(the)208 183 y Fl(OP_*)d Fq(constan)n(ts.)0 330 y Fl(set_passwd_cb\()p
+TeXDict begin 13 12 bop 0 83 a Ff(Context)27 b(objects)0
+283 y Fq(Con)n(text)g(ob)5 b(jects)27 b(ha)n(v)n(e)g(the)h(follo)n
+(wing)e(metho)r(ds:)0 430 y Fl(check_privatekey)o(\(\))208
+547 y Fq(Chec)n(k)k(if)i(the)g(priv)-5 b(ate)31 b(k)n(ey)f(\(loaded)h
+(with)h Fl(use_privatekey)p Fb([)p Fl(_)o(fi)o(le)11
+b Fb(])p Fq(\))26 b(matc)n(hes)k(the)i(certi\034cate)f(\(loaded)g(with)
+208 674 y Fl(use_certificate)o Fb([)p Fl(_)o(fil)o(e)11
+b Fb(])p Fq(\).)31 b(Returns)d Fl(None)e Fq(if)i(they)f(matc)n(h,)h
+(raises)e Fl(Error)g Fq(otherwise.)0 821 y Fl(get_app_data\(\))208
+921 y Fq(Retriev)n(e)g(application)h(data)g(as)g(set)h(b)n(y)g
+Fl(set_app_data)p Fq(.)0 1068 y Fl(get_cert_store\(\))208
+1167 y Fq(Retriev)n(e)34 b(the)i(certi\034cate)f(store)f(\(a)h
+(X509Store)f(ob)5 b(ject\))35 b(that)h(the)f(con)n(text)g(uses.)60
+b(This)35 b(can)g(b)r(e)h(used)f(to)g(add)208 1267 y("trusted")26
+b(certi\034cates)h(without)h(using)f(the.)37 b Fl(load_verify_loca)o
+(tio)o(ns)o(\(\))21 b Fq(metho)r(d.)0 1414 y Fl(get_timeout\(\))208
+1513 y Fq(Retriev)n(e)26 b(session)h(timeout,)h(as)f(set)g(b)n(y)i
+Fl(set_timeout)p Fq(.)j(The)c(default)g(is)f(300)f(seconds.)0
+1660 y Fl(get_verify_depth)o(\(\))208 1760 y Fq(Retriev)n(e)g(the)i
+(Con)n(text)f(ob)5 b(ject's)28 b(v)n(erify)e(depth,)j(as)d(set)i(b)n(y)
+g Fl(set_verify_depth)p Fq(.)0 1907 y Fl(get_verify_mode\()o(\))208
+2006 y Fq(Retriev)n(e)e(the)i(Con)n(text)f(ob)5 b(ject's)28
+b(v)n(erify)e(mo)r(de,)i(as)f(set)h(b)n(y)g Fl(set_verify)p
+Fq(.)0 2153 y Fl(load_client_ca\()p Fc(p)l(em\034le)6
+b Fl(\))208 2253 y Fq(Read)33 b(a)g(\034le)h(with)g(PEM-formatted)g
+(certi\034cates)f(that)h(will)g(b)r(e)g(sen)n(t)f(to)h(the)g(clien)n(t)
+f(when)h(requesting)f(a)g(clien)n(t)208 2353 y(certi\034cate.)0
+2499 y Fl(set_client_ca_li)o(st)o(\()p Fc(c)l(erti\034c)l(ate_au)o
+(thorities)7 b Fl(\))208 2599 y Fq(Replace)23 b(the)h(curren)n(t)g
+(list)g(of)g(preferred)f(certi\034cate)g(signers)g(that)h(w)n(ould)f(b)
+r(e)i(sen)n(t)f(to)g(the)g(clien)n(t)g(when)g(requesting)208
+2699 y(a)j(clien)n(t)g(certi\034cate)g(with)h(the)g Fc(c)l(erti\034c)l
+(ate_authorities)35 b Fq(sequence)27 b(of)34 b Fl(OpenSSL.crypto.X5)o
+(09)o(Na)o(me)p Fq(s)o(.)208 2832 y(New)27 b(in)h(v)n(ersion)e(0.10.)0
+2978 y Fl(add_client_ca\()p Fc(c)l(erti\034c)l(ate_aut)o(hority)7
+b Fl(\))208 3078 y Fq(Extract)22 b(a)g Fl(OpenSSL.crypto.X)o(50)o(9Na)o
+(me)16 b Fq(from)22 b(the)h Fc(c)l(erti\034c)l(ate_authority)30
+b Fl(OpenSSL.crypto.X)o(509)16 b Fq(certi\034cate)208
+3178 y(and)k(add)g(it)h(to)f(the)h(list)f(of)h(preferred)e
+(certi\034cate)h(signers)f(sen)n(t)h(to)g(the)h(clien)n(t)f(when)h
+(requesting)e(a)h(clien)n(t)h(certi\034cate.)208 3310
+y(New)27 b(in)h(v)n(ersion)e(0.10.)0 3457 y Fl(load_verify_loca)o(ti)o
+(ons)o(\()p Fc(p)l(em\034le,)e(c)l(ap)l(ath)6 b Fl(\))208
+3557 y Fq(Sp)r(ecify)24 b(where)f(CA)g(certi\034cates)g(for)g(v)n
+(eri\034cation)f(purp)r(oses)h(are)f(lo)r(cated.)35 b(These)23
+b(are)g(trusted)g(certi\034cates.)35 b(Note)208 3657
+y(that)c(the)g(certi\034cates)f(ha)n(v)n(e)f(to)i(b)r(e)g(in)g(PEM)h
+(format.)46 b(If)31 b(capath)f(is)h(passed,)f(it)i(m)n(ust)e(b)r(e)i(a)
+e(directory)f(prepared)208 3756 y(using)i(the)h Fl(c_rehash)c
+Fq(to)r(ol)j(included)h(with)g(Op)r(enSSL.)g(Either,)h(but)f(not)g(b)r
+(oth,)h(of)38 b Fc(p)l(em\034le)g Fq(or)31 b Fc(c)l(ap)l(ath)39
+b Fq(ma)n(y)31 b(b)r(e)208 3856 y Fl(None)p Fq(.)0 4003
+y Fl(set_default_veri)o(fy)o(_pa)o(th)o(s\()o(\))208
+4102 y Fq(Sp)r(ecify)20 b(that)h(the)g(platform)f(pro)n(vided)f(CA)h
+(certi\034cates)g(are)f(to)h(b)r(e)h(used)f(for)g(v)n(eri\034cation)f
+(purp)r(oses.)33 b(This)21 b(metho)r(d)208 4202 y(ma)n(y)26
+b(not)i(w)n(ork)e(prop)r(erly)h(on)g(OS)g(X.)0 4349 y
+Fl(load_tmp_dh\()p Fc(dh\034le)6 b Fl(\))208 4448 y Fq(Load)26
+b(parameters)g(for)h(Ephemeral)g(Di\036e-Hellman)h(from)g
+Fc(dh\034le)6 b Fq(.)0 4595 y Fl(set_app_data\()p Fc(data)g
+Fl(\))208 4695 y Fq(Asso)r(ciate)25 b Fc(data)33 b Fq(with)27
+b(this)f(Con)n(text)f(ob)5 b(ject.)36 b Fc(data)e Fq(can)25
+b(b)r(e)i(retriev)n(ed)d(later)i(using)f(the)i Fl(get_app_data)21
+b Fq(metho)r(d.)0 4842 y Fl(set_cipher_list\()o Fc(ciphers)7
+b Fl(\))208 4941 y Fq(Set)28 b(the)g(list)h(of)f(ciphers)f(to)h(b)r(e)g
+(used)g(in)g(this)h(con)n(text.)37 b(See)28 b(the)h(Op)r(enSSL)f(man)n
+(ual)f(for)h(more)f(information)g(\(e.g.)208 5041 y(ciphers\(1\)\))0
+5188 y Fl(set_info_callbac)o(k\()o Fc(c)l(al)t(lb)l(ack)9
+b Fl(\))208 5288 y Fq(Set)33 b(the)f(information)g(callbac)n(k)f(to)i
+Fc(c)l(al)t(lb)l(ack)9 b Fq(.)54 b(This)32 b(function)h(will)g(b)r(e)g
+(called)f(from)g(time)h(to)g(time)g(during)f(SSL)208
+5387 y(handshak)n(es.)49 b Fc(c)l(al)t(lb)l(ack)43 b
+Fq(should)32 b(tak)n(e)g(three)g(argumen)n(ts:)45 b(a)32
+b(Connection)g(ob)5 b(ject)32 b(and)g(t)n(w)n(o)g(in)n(tegers.)50
+b(The)32 b(\034rst)p 0 5549 3901 4 v 0 5649 a Ff(3.3)82
+b Fl(SSL)26 b Ff(\026)i(An)g(interface)g(to)f(the)g(SSL-sp)r(eci\034c)h
+(pa)n(rts)f(of)h(Op)r(enSSL)1611 b(13)p eop end
+%%Page: 14 14
+TeXDict begin 14 13 bop 208 83 a Fq(in)n(teger)31 b(sp)r(eci\034es)g
+(where)h(in)g(the)g(SSL)g(handshak)n(e)f(the)h(function)h(w)n(as)e
+(called,)h(and)g(the)g(other)g(the)g(return)f(co)r(de)208
+183 y(from)c(a)g(\(p)r(ossibly)g(failed\))h(in)n(ternal)f(function)h
+(call.)0 330 y Fl(set_options\()p Fc(options)7 b Fl(\))208
+429 y Fq(A)n(dd)28 b(SSL)h(options.)38 b(Options)28 b(y)n(ou)f(ha)n(v)n
+(e)g(set)i(b)r(efore)f(are)f(not)h(cleared!)38 b(This)28
+b(metho)r(d)h(should)f(b)r(e)h(used)f(with)h(the)208
+529 y Fl(OP_*)d Fq(constan)n(ts.)0 676 y Fl(set_passwd_cb\()p
 Fc(c)l(al)t(lb)l(ack)9 b Fb([)p Fc(,)25 b(user)l(data)19
-b Fb(])p Fl(\))208 429 y Fq(Set)42 b(the)g(passphrase)f(callbac)n(k)f
+b Fb(])p Fl(\))208 775 y Fq(Set)42 b(the)g(passphrase)f(callbac)n(k)f
 (to)i Fc(c)l(al)t(lb)l(ack)9 b Fq(.)82 b(This)42 b(function)h(will)f(b)
 r(e)g(called)g(when)g(a)g(priv)-5 b(ate)42 b(k)n(ey)f(with)h(a)208
-529 y(passphrase)32 b(is)i(loaded.)56 b Fc(c)l(al)t(lb)l(ack)45
+875 y(passphrase)32 b(is)i(loaded.)56 b Fc(c)l(al)t(lb)l(ack)45
 b Fq(m)n(ust)34 b(accept)g(three)g(p)r(ositional)f(argumen)n(ts.)56
-b(First,)35 b(an)f(in)n(teger)f(giving)h(the)208 628
+b(First,)35 b(an)f(in)n(teger)f(giving)h(the)208 975
 y(maxim)n(um)e(length)i(of)f(the)g(passphrase)f(it)h(ma)n(y)g(return.)
 53 b(If)33 b(the)h(returned)e(passphrase)g(is)h(longer)f(than)h(this,)i
-(it)208 728 y(will)29 b(b)r(e)h(truncated.)43 b(Second,)30
+(it)208 1074 y(will)29 b(b)r(e)h(truncated.)43 b(Second,)30
 b(a)f(b)r(o)r(olean)g(v)-5 b(alue)29 b(whic)n(h)h(will)g(b)r(e)g(true)f
 (if)h(the)g(user)f(should)g(b)r(e)h(prompted)g(for)f(the)208
-828 y(passphrase)k(t)n(wice)h(and)h(the)g(callbac)n(k)f(should)g(v)n
+1174 y(passphrase)k(t)n(wice)h(and)h(the)g(callbac)n(k)f(should)g(v)n
 (erify)h(that)g(the)g(t)n(w)n(o)f(v)-5 b(alues)35 b(supplied)g(are)f
-(equal.)58 b(Third,)37 b(the)208 927 y(v)-5 b(alue)27
+(equal.)58 b(Third,)37 b(the)208 1273 y(v)-5 b(alue)27
 b(giv)n(en)g(as)g(the)h Fc(user)l(data)35 b Fq(parameter)26
 b(to)h Fl(set_passwd_cb)p Fq(.)32 b(If)c(an)g(error)d(o)r(ccurs,)i
 Fc(c)l(al)t(lb)l(ack)39 b Fq(should)27 b(return)g(a)208
-1027 y(false)g(v)-5 b(alue)27 b(\(e.g.)37 b(an)27 b(empt)n(y)h
-(string\).)0 1174 y Fl(set_session_id\()p Fc(n)o(ame)6
-b Fl(\))208 1273 y Fq(Set)33 b(the)h(con)n(text)f Fc(name)39
+1373 y(false)g(v)-5 b(alue)27 b(\(e.g.)37 b(an)27 b(empt)n(y)h
+(string\).)0 1520 y Fl(set_session_id\()p Fc(n)o(ame)6
+b Fl(\))208 1620 y Fq(Set)33 b(the)h(con)n(text)f Fc(name)39
 b Fq(within)34 b(whic)n(h)f(a)g(session)f(can)h(b)r(e)h(reused)e(for)h
 (this)g(Con)n(text)g(ob)5 b(ject.)54 b(This)33 b(is)g(needed)208
-1373 y(when)e(doing)g(session)g(resumption,)h(b)r(ecause)g(there)f(is)h
+1719 y(when)e(doing)g(session)g(resumption,)h(b)r(ecause)g(there)f(is)h
 (no)f(w)n(a)n(y)g(for)g(a)g(stored)g(session)f(to)i(kno)n(w)f(whic)n(h)
-g(Con)n(text)208 1473 y(ob)5 b(ject)27 b(it)h(is)f(asso)r(ciated)g
+g(Con)n(text)208 1819 y(ob)5 b(ject)27 b(it)h(is)f(asso)r(ciated)g
 (with.)37 b Fc(name)d Fq(ma)n(y)27 b(b)r(e)h(an)n(y)e(binary)h(data.)0
-1620 y Fl(set_timeout\()p Fc(time)l(out)8 b Fl(\))208
-1719 y Fq(Set)29 b(the)g(timeout)h(for)e(newly)h(created)f(sessions)g
+1966 y Fl(set_timeout\()p Fc(time)l(out)8 b Fl(\))208
+2065 y Fq(Set)29 b(the)g(timeout)h(for)e(newly)h(created)f(sessions)g
 (for)h(this)g(Con)n(text)g(ob)5 b(ject)28 b(to)h Fc(time)l(out)8
 b Fq(.)41 b Fc(time)l(out)36 b Fq(m)n(ust)29 b(b)r(e)h(giv)n(en)208
-1819 y(in)f(\(whole\))f(seconds.)40 b(The)29 b(default)g(v)-5
+2165 y(in)f(\(whole\))f(seconds.)40 b(The)29 b(default)g(v)-5
 b(alue)28 b(is)h(300)e(seconds.)40 b(See)29 b(the)g(Op)r(enSSL)g(man)n
-(ual)f(for)g(more)g(information)208 1918 y(\(e.g.)36
-b(SSL_CTX_set_timeout\(3\)\).)0 2065 y Fl(set_verify\()p
-Fc(mo)l(de,)26 b(c)l(al)t(lb)l(ack)9 b Fl(\))208 2165
+(ual)f(for)g(more)g(information)208 2265 y(\(e.g.)36
+b(SSL_CTX_set_timeout\(3\)\).)0 2411 y Fl(set_verify\()p
+Fc(mo)l(de,)26 b(c)l(al)t(lb)l(ack)9 b Fl(\))208 2511
 y Fq(Set)36 b(the)h(v)n(eri\034cation)e(\035ags)g(for)h(this)h(Con)n
 (text)f(ob)5 b(ject)36 b(to)g Fc(mo)l(de)44 b Fq(and)36
 b(sp)r(ecify)g(that)h Fc(c)l(al)t(lb)l(ack)47 b Fq(should)36
-b(b)r(e)h(used)208 2265 y(for)30 b(v)n(eri\034cation)g(callbac)n(ks.)45
+b(b)r(e)h(used)208 2611 y(for)30 b(v)n(eri\034cation)g(callbac)n(ks.)45
 b Fc(mo)l(de)38 b Fq(should)31 b(b)r(e)h(one)e(of)38
 b Fl(VERIFY_NONE)26 b Fq(and)31 b Fl(VERIFY_PEER)p Fq(.)c(If)38
-b Fl(VERIFY_PEER)26 b Fq(is)208 2364 y(used,)j Fc(mo)l(de)36
+b Fl(VERIFY_PEER)26 b Fq(is)208 2710 y(used,)j Fc(mo)l(de)36
 b Fq(can)29 b(b)r(e)g(OR:ed)g(with)g Fl(VERIFY_FAIL_IF_NO)o(_P)o(EE)o
 (R_C)o(ER)o(T)23 b Fq(and)29 b Fl(VERIFY_CLIENT_O)o(NCE)22
-b Fq(to)29 b(further)208 2464 y(con)n(trol)23 b(the)j(b)r(eha)n(viour.)
+b Fq(to)29 b(further)208 2810 y(con)n(trol)23 b(the)j(b)r(eha)n(viour.)
 34 b Fc(c)l(al)t(lb)l(ack)i Fq(should)25 b(tak)n(e)f(\034v)n(e)h
 (argumen)n(ts:)34 b(A)25 b(Connection)g(ob)5 b(ject,)25
-b(an)g(X509)f(ob)5 b(ject,)25 b(and)208 2563 y(three)e(in)n(teger)g(v)
+b(an)g(X509)f(ob)5 b(ject,)25 b(and)208 2910 y(three)e(in)n(teger)g(v)
 -5 b(ariables,)23 b(whic)n(h)h(are)f(in)h(turn)g(p)r(oten)n(tial)g
 (error)d(n)n(um)n(b)r(er,)k(error)c(depth)k(and)f(return)f(co)r(de.)35
-b Fc(c)l(al)t(lb)l(ack)208 2663 y Fq(should)27 b(return)g(true)g(if)h
+b Fc(c)l(al)t(lb)l(ack)208 3009 y Fq(should)27 b(return)g(true)g(if)h
 (v)n(eri\034cation)f(passes)f(and)h(false)h(otherwise.)0
-2810 y Fl(set_verify_depth)o(\()p Fc(depth)6 b Fl(\))208
-2910 y Fq(Set)36 b(the)g(maxim)n(um)f(depth)h(for)g(the)g
+3156 y Fl(set_verify_depth)o(\()p Fc(depth)6 b Fl(\))208
+3256 y Fq(Set)36 b(the)g(maxim)n(um)f(depth)h(for)g(the)g
 (certi\034cate)f(c)n(hain)g(v)n(eri\034cation)f(that)i(shall)f(b)r(e)h
-(allo)n(w)n(ed)e(for)i(this)f(Con)n(text)208 3009 y(ob)5
-b(ject.)0 3156 y Fl(use_certificate\()o Fc(c)l(ert)j
-Fl(\))208 3256 y Fq(Use)27 b(the)h(certi\034cate)f Fc(c)l(ert)35
+(allo)n(w)n(ed)e(for)i(this)f(Con)n(text)208 3355 y(ob)5
+b(ject.)0 3502 y Fl(use_certificate\()o Fc(c)l(ert)j
+Fl(\))208 3602 y Fq(Use)27 b(the)h(certi\034cate)f Fc(c)l(ert)35
 b Fq(whic)n(h)28 b(has)f(to)g(b)r(e)h(a)f(X509)g(ob)5
-b(ject.)0 3403 y Fl(add_extra_chain_)o(ce)o(rt\()o Fc(c)l(ert)j
-Fl(\))208 3502 y Fq(A)n(dds)32 b(the)h(certi\034cate)f
+b(ject.)0 3749 y Fl(add_extra_chain_)o(ce)o(rt\()o Fc(c)l(ert)j
+Fl(\))208 3848 y Fq(A)n(dds)32 b(the)h(certi\034cate)f
 Fc(c)l(ert)8 b Fq(,)34 b(whic)n(h)f(has)f(to)g(b)r(e)i(a)e(X509)f(ob)5
 b(ject,)34 b(to)f(the)g(certi\034cate)f(c)n(hain)g(presen)n(ted)g
-(together)208 3602 y(with)c(the)g(certi\034cate.)0 3749
+(together)208 3948 y(with)c(the)g(certi\034cate.)0 4095
 y Fl(use_certificate_)o(ch)o(ain)o(_f)o(il)o(e\()p Fc(\034)o(le)6
-b Fl(\))208 3848 y Fq(Load)26 b(a)h(certi\034cate)g(c)n(hain)g(from)h
+b Fl(\))208 4194 y Fq(Load)26 b(a)h(certi\034cate)g(c)n(hain)g(from)h
 Fc(\034le)34 b Fq(whic)n(h)27 b(m)n(ust)h(b)r(e)g(PEM)g(enco)r(ded.)0
-3995 y Fl(use_privatekey\()p Fc(pkey)7 b Fl(\))208 4095
+4341 y Fl(use_privatekey\()p Fc(pkey)7 b Fl(\))208 4441
 y Fq(Use)27 b(the)h(priv)-5 b(ate)27 b(k)n(ey)h Fc(pkey)36
 b Fq(whic)n(h)28 b(has)f(to)g(b)r(e)h(a)f(PKey)h(ob)5
-b(ject.)0 4256 y Fl(use_certificate_)o(fi)o(le\()o Fc(\034le)h
-Fb([)p Fc(,)24 b(format)d Fb(])p Fl(\))208 4356 y Fq(Load)i(the)h
+b(ject.)0 4602 y Fl(use_certificate_)o(fi)o(le\()o Fc(\034le)h
+Fb([)p Fc(,)24 b(format)d Fb(])p Fl(\))208 4702 y Fq(Load)i(the)h
 (\034rst)g(certi\034cate)f(found)h(in)h Fc(\034le)6 b
 Fq(.)36 b(The)24 b(certi\034cate)f(m)n(ust)h(b)r(e)h(in)f(the)g(format)
 g(sp)r(eci\034ed)g(b)n(y)h Fc(format)8 b Fq(,)25 b(whic)n(h)208
-4455 y(is)i(either)g Fl(FILETYPE_PEM)c Fq(or)k Fl(FILETYPE_ASN1)p
+4801 y(is)i(either)g Fl(FILETYPE_PEM)c Fq(or)k Fl(FILETYPE_ASN1)p
 Fq(.)k(The)d(default)g(is)f Fl(FILETYPE_PEM)p Fq(.)0
-4602 y Fl(use_privatekey_f)o(il)o(e\()p Fc(\034)o(le)6
-b Fb([)p Fc(,)25 b(format)20 b Fb(])p Fl(\))208 4702
+4948 y Fl(use_privatekey_f)o(il)o(e\()p Fc(\034)o(le)6
+b Fb([)p Fc(,)25 b(format)20 b Fb(])p Fl(\))208 5048
 y Fq(Load)31 b(the)h(\034rst)g(priv)-5 b(ate)31 b(k)n(ey)g(found)i(in)f
 Fc(\034le)6 b Fq(.)50 b(The)32 b(priv)-5 b(ate)32 b(k)n(ey)f(m)n(ust)h
 (b)r(e)g(in)h(the)f(format)f(sp)r(eci\034ed)i(b)n(y)f
-Fc(format)8 b Fq(,)208 4801 y(whic)n(h)27 b(is)g(either)h
+Fc(format)8 b Fq(,)208 5148 y(whic)n(h)27 b(is)g(either)h
 Fl(FILETYPE_PEM)22 b Fq(or)27 b Fl(FILETYPE_ASN1)p Fq(.)32
-b(The)27 b(default)h(is)g Fl(FILETYPE_PEM)p Fq(.)0 5064
-y Ff(Connection)e(objects)0 5265 y Fq(Connection)h(ob)5
-b(jects)27 b(ha)n(v)n(e)f(the)i(follo)n(wing)f(metho)r(ds:)p
-0 5549 3901 4 v 0 5649 a Ff(3.3)82 b Fl(SSL)26 b Ff(\026)i(An)g
-(interface)g(to)f(the)g(SSL-sp)r(eci\034c)h(pa)n(rts)f(of)h(Op)r(enSSL)
-1611 b(13)p eop end
-%%Page: 14 14
-TeXDict begin 14 13 bop 0 83 a Fl(accept\(\))208 183
-y Fq(Call)33 b(the)g Fl(accept)e Fq(metho)r(d)j(of)f(the)h(underlying)f
-(so)r(c)n(k)n(et)f(and)h(set)h(up)g(SSL)f(on)g(the)h(returned)f(so)r(c)
-n(k)n(et,)h(using)f(the)208 282 y(Con)n(text)22 b(ob)5
-b(ject)22 b(supplied)h(to)f(this)h(Connection)f(ob)5
-b(ject)22 b(at)h(creation.)34 b(Returns)22 b(a)g(pair)g
-Fl(\()p Fc(c)l(onn)6 b Fl(,)43 b Fc(addr)l(ess)7 b Fl(\))p
-Fq(.)36 b(where)208 382 y Fc(c)l(onn)d Fq(is)28 b(the)g(new)f
-(Connection)g(ob)5 b(ject)28 b(created,)e(and)i Fc(addr)l(ess)35
-b Fq(is)28 b(as)f(returned)g(b)n(y)g(the)h(so)r(c)n(k)n(et's)e
-Fl(accept)p Fq(.)0 529 y Fl(bind\()p Fc(addr)l(ess)7
-b Fl(\))208 628 y Fq(Call)27 b(the)h Fl(bind)e Fq(metho)r(d)i(of)f(the)
-h(underlying)f(so)r(c)n(k)n(et.)0 775 y Fl(close\(\))208
-875 y Fq(Call)i(the)h Fl(close)e Fq(metho)r(d)i(of)g(the)g(underlying)f
-(so)r(c)n(k)n(et.)43 b(Note:)e(If)31 b(y)n(ou)e(w)n(an)n(t)g(correct)f
-(SSL)i(closure,)f(y)n(ou)g(need)h(to)208 975 y(call)d(the)h
-Fl(shutdown)c Fq(metho)r(d)k(\034rst.)0 1121 y Fl(connect\()p
-Fc(addr)l(ess)7 b Fl(\))208 1221 y Fq(Call)31 b(the)h
+b(The)27 b(default)h(is)g Fl(FILETYPE_PEM)p Fq(.)p 0
+5549 3901 4 v 0 5649 a Ff(14)2197 b(3)83 b Fl(OpenSSL)24
+b Ff(\026)k(Python)f(interface)h(to)f(Op)r(enSSL)p eop
+end
+%%Page: 15 15
+TeXDict begin 15 14 bop 0 83 a Ff(Connection)26 b(objects)0
+283 y Fq(Connection)h(ob)5 b(jects)27 b(ha)n(v)n(e)f(the)i(follo)n
+(wing)f(metho)r(ds:)0 430 y Fl(accept\(\))208 530 y Fq(Call)33
+b(the)g Fl(accept)e Fq(metho)r(d)j(of)f(the)h(underlying)f(so)r(c)n(k)n
+(et)f(and)h(set)h(up)g(SSL)f(on)g(the)h(returned)f(so)r(c)n(k)n(et,)h
+(using)f(the)208 630 y(Con)n(text)22 b(ob)5 b(ject)22
+b(supplied)h(to)f(this)h(Connection)f(ob)5 b(ject)22
+b(at)h(creation.)34 b(Returns)22 b(a)g(pair)g Fl(\()p
+Fc(c)l(onn)6 b Fl(,)43 b Fc(addr)l(ess)7 b Fl(\))p Fq(.)36
+b(where)208 729 y Fc(c)l(onn)d Fq(is)28 b(the)g(new)f(Connection)g(ob)5
+b(ject)28 b(created,)e(and)i Fc(addr)l(ess)35 b Fq(is)28
+b(as)f(returned)g(b)n(y)g(the)h(so)r(c)n(k)n(et's)e Fl(accept)p
+Fq(.)0 876 y Fl(bind\()p Fc(addr)l(ess)7 b Fl(\))208
+976 y Fq(Call)27 b(the)h Fl(bind)e Fq(metho)r(d)i(of)f(the)h
+(underlying)f(so)r(c)n(k)n(et.)0 1123 y Fl(close\(\))208
+1222 y Fq(Call)i(the)h Fl(close)e Fq(metho)r(d)i(of)g(the)g(underlying)
+f(so)r(c)n(k)n(et.)43 b(Note:)e(If)31 b(y)n(ou)e(w)n(an)n(t)g(correct)f
+(SSL)i(closure,)f(y)n(ou)g(need)h(to)208 1322 y(call)d(the)h
+Fl(shutdown)c Fq(metho)r(d)k(\034rst.)0 1469 y Fl(connect\()p
+Fc(addr)l(ess)7 b Fl(\))208 1568 y Fq(Call)31 b(the)h
 Fl(connect)e Fq(metho)r(d)i(of)g(the)g(underlying)g(so)r(c)n(k)n(et)e
 (and)i(set)g(up)g(SSL)h(on)e(the)i(so)r(c)n(k)n(et,)f(using)f(the)h
-(Con)n(text)208 1321 y(ob)5 b(ject)27 b(supplied)h(to)f(this)h
-(Connection)f(ob)5 b(ject)27 b(at)h(creation.)0 1468
-y Fl(connect_ex\()p Fc(addr)l(ess)7 b Fl(\))208 1567
+(Con)n(text)208 1668 y(ob)5 b(ject)27 b(supplied)h(to)f(this)h
+(Connection)f(ob)5 b(ject)27 b(at)h(creation.)0 1815
+y Fl(connect_ex\()p Fc(addr)l(ess)7 b Fl(\))208 1914
 y Fq(Call)24 b(the)g Fl(connect_ex)c Fq(metho)r(d)25
 b(of)f(the)h(underlying)f(so)r(c)n(k)n(et)f(and)h(set)g(up)h(SSL)f(on)g
 (the)h(so)r(c)n(k)n(et,)f(using)g(the)g(Con)n(text)208
-1667 y(ob)5 b(ject)35 b(supplied)g(to)h(this)f(Connection)g(ob)5
+2014 y(ob)5 b(ject)35 b(supplied)g(to)h(this)f(Connection)g(ob)5
 b(ject)36 b(at)f(creation.)59 b(Note)36 b(that)f(if)h(the)g
-Fl(connect_ex)31 b Fq(metho)r(d)36 b(of)g(the)208 1766
+Fl(connect_ex)31 b Fq(metho)r(d)36 b(of)g(the)208 2114
 y(so)r(c)n(k)n(et)26 b(do)r(esn't)i(return)f(0,)g(SSL)h(w)n(on't)f(b)r
-(e)h(initialized.)0 1913 y Fl(do_handshake\(\))208 2013
+(e)h(initialized.)0 2261 y Fl(do_handshake\(\))208 2360
 y Fq(P)n(erform)49 b(an)h(SSL)g(handshak)n(e)f(\(usually)h(called)g
 (after)f Fl(renegotiate)d Fq(or)j(one)h(of)57 b Fl(set_accept_stat)o(e)
-44 b Fq(or)208 2113 y Fl(set_accept_stat)o(e)p Fq(\).)31
+44 b Fq(or)208 2460 y Fl(set_accept_stat)o(e)p Fq(\).)31
 b(This)d(can)f(raise)f(the)i(same)f(exceptions)g(as)g
-Fl(send)f Fq(and)h Fl(recv)p Fq(.)0 2259 y Fl(fileno\(\))208
-2359 y Fq(Retriev)n(e)f(the)i(\034le)g(descriptor)e(n)n(um)n(b)r(er)i
-(for)f(the)h(underlying)e(so)r(c)n(k)n(et.)0 2506 y Fl(listen\()p
-Fc(b)l(acklo)l(g)7 b Fl(\))208 2606 y Fq(Call)27 b(the)h
+Fl(send)f Fq(and)h Fl(recv)p Fq(.)0 2607 y Fl(fileno\(\))208
+2706 y Fq(Retriev)n(e)f(the)i(\034le)g(descriptor)e(n)n(um)n(b)r(er)i
+(for)f(the)h(underlying)e(so)r(c)n(k)n(et.)0 2853 y Fl(listen\()p
+Fc(b)l(acklo)l(g)7 b Fl(\))208 2953 y Fq(Call)27 b(the)h
 Fl(listen)d Fq(metho)r(d)j(of)f(the)h(underlying)f(so)r(c)n(k)n(et.)0
-2752 y Fl(get_app_data\(\))208 2852 y Fq(Retriev)n(e)f(application)h
-(data)g(as)g(set)h(b)n(y)g Fl(set_app_data)p Fq(.)0 2999
-y Fl(get_cipher_list\()o(\))208 3099 y Fq(Retriev)n(e)23
+3100 y Fl(get_app_data\(\))208 3199 y Fq(Retriev)n(e)f(application)h
+(data)g(as)g(set)h(b)n(y)g Fl(set_app_data)p Fq(.)0 3346
+y Fl(get_cipher_list\()o(\))208 3446 y Fq(Retriev)n(e)23
 b(the)h(list)g(of)g(ciphers)g(used)g(b)n(y)f(the)i(Connection)e(ob)5
 b(ject.)36 b(W)-9 b(ARNING:)25 b(This)f(API)h(has)e(c)n(hanged.)35
-b(It)24 b(used)208 3198 y(to)j(tak)n(e)g(an)g(optional)g(parameter)f
+b(It)24 b(used)208 3545 y(to)j(tak)n(e)g(an)g(optional)g(parameter)f
 (and)h(just)h(return)g(a)f(string,)g(but)h(not)f(it)h(returns)f(the)h
-(en)n(tire)f(list)h(in)g(one)f(go.)0 3345 y Fl(get_client_ca_li)o(st)o
-(\(\))208 3445 y Fq(Retriev)n(e)e(the)i(list)g(of)f(preferred)g(clien)n
+(en)n(tire)f(list)h(in)g(one)f(go.)0 3692 y Fl(get_client_ca_li)o(st)o
+(\(\))208 3792 y Fq(Retriev)n(e)e(the)i(list)g(of)f(preferred)g(clien)n
 (t)g(certi\034cate)g(issuers)g(sen)n(t)g(b)n(y)g(the)h(serv)n(er)e(as)h
-Fl(OpenSSL.crypto.)o(X50)o(9N)o(am)o(e)208 3544 y Fq(ob)5
-b(jects.)208 3677 y(If)25 b(this)g(is)f(a)h(clien)n(t)f
+Fl(OpenSSL.crypto.)o(X50)o(9N)o(am)o(e)208 3892 y Fq(ob)5
+b(jects.)208 4024 y(If)25 b(this)g(is)f(a)h(clien)n(t)f
 Fl(Connection)p Fq(,)e(the)j(list)g(will)g(b)r(e)g(empt)n(y)f(un)n(til)
 h(the)h(connection)e(with)h(the)g(serv)n(er)e(is)h(established.)208
-3810 y(If)33 b(this)g(is)g(a)f(serv)n(er)g Fl(Connection)p
+4157 y(If)33 b(this)g(is)g(a)f(serv)n(er)g Fl(Connection)p
 Fq(,)e(return)i(the)h(list)h(of)e(certi\034cate)h(authorities)f(that)h
-(will)g(b)r(e)h(sen)n(t)e(or)g(has)h(b)r(een)208 3910
+(will)g(b)r(e)h(sen)n(t)e(or)g(has)h(b)r(een)208 4257
 y(sen)n(t)27 b(to)g(the)h(clien)n(t,)g(as)f(con)n(trolled)f(b)n(y)h
 (this)h Fl(Connection)p Fq('s)c Fl(Context)p Fq(.)208
-4042 y(New)j(in)h(v)n(ersion)e(0.10.)0 4189 y Fl(get_context\(\))208
-4289 y Fq(Retriev)n(e)g(the)i(Con)n(text)f(ob)5 b(ject)28
-b(asso)r(ciated)e(with)i(this)g(Connection.)0 4436 y
-Fl(get_peer_certifi)o(ca)o(te\()o(\))208 4535 y Fq(Retriev)n(e)e(the)i
-(other)f(side's)g(certi\034cate)g(\(if)i(an)n(y\))0 4682
-y Fl(getpeername\(\))208 4782 y Fq(Call)e(the)h Fl(getpeername)23
+4390 y(New)j(in)h(v)n(ersion)e(0.10.)0 4537 y Fl(get_context\(\))208
+4636 y Fq(Retriev)n(e)g(the)i(Con)n(text)f(ob)5 b(ject)28
+b(asso)r(ciated)e(with)i(this)g(Connection.)0 4783 y
+Fl(get_peer_certifi)o(ca)o(te\()o(\))208 4883 y Fq(Retriev)n(e)e(the)i
+(other)f(side's)g(certi\034cate)g(\(if)i(an)n(y\))0 5030
+y Fl(getpeername\(\))208 5129 y Fq(Call)e(the)h Fl(getpeername)23
 b Fq(metho)r(d)28 b(of)f(the)h(underlying)f(so)r(c)n(k)n(et.)0
-4929 y Fl(getsockname\(\))208 5028 y Fq(Call)g(the)h
+5276 y Fl(getsockname\(\))208 5376 y Fq(Call)g(the)h
 Fl(getsockname)23 b Fq(metho)r(d)28 b(of)f(the)h(underlying)f(so)r(c)n
-(k)n(et.)0 5192 y Fl(getsockopt\()p Fc(level,)f(optname)6
-b Fb([)p Fc(,)31 b(bu\035en)18 b Fb(])p Fl(\))208 5292
-y Fq(Call)27 b(the)h Fl(getsockopt)23 b Fq(metho)r(d)28
-b(of)g(the)g(underlying)f(so)r(c)n(k)n(et.)p 0 5549 3901
-4 v 0 5649 a Ff(14)2197 b(3)83 b Fl(OpenSSL)24 b Ff(\026)k(Python)f
-(interface)h(to)f(Op)r(enSSL)p eop end
-%%Page: 15 15
-TeXDict begin 15 14 bop 0 83 a Fl(pending\(\))208 183
-y Fq(Retriev)n(e)22 b(the)h(n)n(um)n(b)r(er)g(of)g(b)n(ytes)g(that)h
-(can)e(b)r(e)i(safely)f(read)f(from)h(the)g(SSL)h(bu\033er)f(\()p
-Fc(not)g Fq(the)h(underlying)e(transp)r(ort)208 282 y(bu\033er\).)0
-429 y Fl(recv\()p Fc(bufsize)6 b Fl(\))208 529 y Fq(Receiv)n(e)30
+(k)n(et.)p 0 5549 3901 4 v 0 5649 a Ff(3.3)82 b Fl(SSL)26
+b Ff(\026)i(An)g(interface)g(to)f(the)g(SSL-sp)r(eci\034c)h(pa)n(rts)f
+(of)h(Op)r(enSSL)1611 b(15)p eop end
+%%Page: 16 16
+TeXDict begin 16 15 bop 0 90 a Fl(getsockopt\()p Fc(level,)26
+b(optname)6 b Fb([)p Fc(,)31 b(bu\035en)18 b Fb(])p Fl(\))208
+189 y Fq(Call)27 b(the)h Fl(getsockopt)23 b Fq(metho)r(d)28
+b(of)g(the)g(underlying)f(so)r(c)n(k)n(et.)0 336 y Fl(pending\(\))208
+436 y Fq(Retriev)n(e)22 b(the)h(n)n(um)n(b)r(er)g(of)g(b)n(ytes)g(that)
+h(can)e(b)r(e)i(safely)f(read)f(from)h(the)g(SSL)h(bu\033er)f(\()p
+Fc(not)g Fq(the)h(underlying)e(transp)r(ort)208 535 y(bu\033er\).)0
+682 y Fl(recv\()p Fc(bufsize)6 b Fl(\))208 782 y Fq(Receiv)n(e)30
 b(data)h(from)g(the)h(Connection.)47 b(The)31 b(return)g(v)-5
 b(alue)31 b(is)h(a)e(string)h(represen)n(ting)f(the)h(data)g(receiv)n
-(ed.)47 b(The)208 628 y(maxim)n(um)27 b(amoun)n(t)g(of)g(data)h(to)f(b)
+(ed.)47 b(The)208 881 y(maxim)n(um)27 b(amoun)n(t)g(of)g(data)h(to)f(b)
 r(e)h(receiv)n(ed)e(at)i(once,)f(is)g(sp)r(eci\034ed)h(b)n(y)h
-Fc(bufsize)6 b Fq(.)0 775 y Fl(bio_write\()p Fc(bytes)h
-Fl(\))208 875 y Fq(If)27 b(the)h(Connection)f(w)n(as)f(created)h(with)g
-(a)g(memory)g(BIO,)g(this)g(metho)r(d)h(can)f(b)r(e)h(used)f(to)g(add)g
-(b)n(ytes)g(to)g(the)h(read)208 975 y(end)g(of)g(that)g(memory)f(BIO.)g
-(The)h(Connection)g(can)f(then)i(read)e(the)h(b)n(ytes)g(\(for)f
-(example,)h(in)g(resp)r(onse)f(to)h(a)f(call)208 1074
-y(to)g Fl(recv)p Fq(\).)0 1221 y Fl(renegotiate\(\))208
-1321 y Fq(Renegotiate)f(the)i(SSL)g(session.)36 b(Call)27
+Fc(bufsize)6 b Fq(.)0 1028 y Fl(bio_write\()p Fc(bytes)h
+Fl(\))208 1128 y Fq(If)27 b(the)h(Connection)f(w)n(as)f(created)h(with)
+g(a)g(memory)g(BIO,)g(this)g(metho)r(d)h(can)f(b)r(e)h(used)f(to)g(add)
+g(b)n(ytes)g(to)g(the)h(read)208 1228 y(end)g(of)g(that)g(memory)f
+(BIO.)g(The)h(Connection)g(can)f(then)i(read)e(the)h(b)n(ytes)g(\(for)f
+(example,)h(in)g(resp)r(onse)f(to)h(a)f(call)208 1327
+y(to)g Fl(recv)p Fq(\).)0 1474 y Fl(renegotiate\(\))208
+1574 y Fq(Renegotiate)f(the)i(SSL)g(session.)36 b(Call)27
 b(this)h(if)g(y)n(ou)f(wish)g(to)h(c)n(hange)e(cipher)h(suites)h(or)e
-(an)n(ything)h(lik)n(e)g(that.)0 1468 y Fl(send\()p Fc(string)7
-b Fl(\))208 1567 y Fq(Send)27 b(the)h Fc(string)35 b
-Fq(data)27 b(to)h(the)g(Connection.)0 1714 y Fl(bio_read\()p
-Fc(bufsize)6 b Fl(\))208 1814 y Fq(If)31 b(the)g(Connection)g(w)n(as)f
+(an)n(ything)h(lik)n(e)g(that.)0 1721 y Fl(send\()p Fc(string)7
+b Fl(\))208 1820 y Fq(Send)27 b(the)h Fc(string)35 b
+Fq(data)27 b(to)h(the)g(Connection.)0 1967 y Fl(bio_read\()p
+Fc(bufsize)6 b Fl(\))208 2067 y Fq(If)31 b(the)g(Connection)g(w)n(as)f
 (created)g(with)i(a)e(memory)g(BIO,)h(this)g(metho)r(d)g(can)g(b)r(e)h
-(used)e(to)h(read)f(b)n(ytes)h(from)g(the)208 1913 y(write)d(end)g(of)g
+(used)e(to)h(read)f(b)n(ytes)h(from)g(the)208 2166 y(write)d(end)g(of)g
 (that)h(memory)e(BIO.)h(Man)n(y)f(Connection)h(metho)r(ds)h(will)f(add)
 g(b)n(ytes)g(whic)n(h)g(m)n(ust)g(b)r(e)h(read)e(in)i(this)208
-2013 y(manner)c(or)h(the)g(bu\033er)h(will)f(ev)n(en)n(tually)f(\034ll)
+2266 y(manner)c(or)h(the)g(bu\033er)h(will)f(ev)n(en)n(tually)f(\034ll)
 i(up)g(and)f(the)g(Connection)g(will)g(b)r(e)h(able)f(to)g(tak)n(e)g
-(no)g(further)g(actions.)0 2160 y Fl(sendall\()p Fc(string)7
-b Fl(\))208 2259 y Fq(Send)30 b(all)f(of)h(the)g Fc(string)37
+(no)g(further)g(actions.)0 2413 y Fl(sendall\()p Fc(string)7
+b Fl(\))208 2512 y Fq(Send)30 b(all)f(of)h(the)g Fc(string)37
 b Fq(data)29 b(to)g(the)h(Connection.)43 b(This)30 b(calls)f
 Fl(send)f Fq(rep)r(eatedly)h(un)n(til)h(all)f(data)h(is)f(sen)n(t.)43
-b(If)30 b(an)208 2359 y(error)25 b(o)r(ccurs,)i(it's)h(imp)r(ossible)f
+b(If)30 b(an)208 2612 y(error)25 b(o)r(ccurs,)i(it's)h(imp)r(ossible)f
 (to)g(tell)h(ho)n(w)f(m)n(uc)n(h)h(data)f(has)g(b)r(een)h(sen)n(t.)0
-2506 y Fl(set_accept_state)o(\(\))208 2606 y Fq(Set)20
+2759 y Fl(set_accept_state)o(\(\))208 2859 y Fq(Set)20
 b(the)g(connection)f(to)h(w)n(ork)e(in)i(serv)n(er)e(mo)r(de.)34
 b(The)20 b(handshak)n(e)f(will)h(b)r(e)g(handled)g(automatically)e(b)n
-(y)i(read/write.)0 2752 y Fl(set_app_data\()p Fc(data)6
-b Fl(\))208 2852 y Fq(Asso)r(ciate)39 b Fc(data)47 b
+(y)i(read/write.)0 3005 y Fl(set_app_data\()p Fc(data)6
+b Fl(\))208 3105 y Fq(Asso)r(ciate)39 b Fc(data)47 b
 Fq(with)40 b(this)g(Connection)g(ob)5 b(ject.)73 b Fc(data)47
 b Fq(can)39 b(b)r(e)i(retriev)n(ed)d(later)h(using)h(the)g
-Fl(get_app_data)208 2952 y Fq(metho)r(d.)0 3099 y Fl(set_connect_stat)o
-(e\()o(\))208 3198 y Fq(Set)21 b(the)g(connection)g(to)g(w)n(ork)e(in)i
+Fl(get_app_data)208 3205 y Fq(metho)r(d.)0 3352 y Fl(set_connect_stat)o
+(e\()o(\))208 3451 y Fq(Set)21 b(the)g(connection)g(to)g(w)n(ork)e(in)i
 (clien)n(t)g(mo)r(de.)35 b(The)21 b(handshak)n(e)f(will)h(b)r(e)g
-(handled)g(automatically)f(b)n(y)h(read/write.)0 3345
-y Fl(setblocking\()p Fc(\035ag)7 b Fl(\))208 3445 y Fq(Call)27
+(handled)g(automatically)f(b)n(y)h(read/write.)0 3598
+y Fl(setblocking\()p Fc(\035ag)7 b Fl(\))208 3698 y Fq(Call)27
 b(the)h Fl(setblocking)23 b Fq(metho)r(d)28 b(of)f(the)h(underlying)f
-(so)r(c)n(k)n(et.)0 3591 y Fl(setsockopt\()p Fc(level,)f(optname,)31
-b(value)6 b Fl(\))208 3691 y Fq(Call)27 b(the)h Fl(setsockopt)23
+(so)r(c)n(k)n(et.)0 3845 y Fl(setsockopt\()p Fc(level,)f(optname,)31
+b(value)6 b Fl(\))208 3944 y Fq(Call)27 b(the)h Fl(setsockopt)23
 b Fq(metho)r(d)28 b(of)g(the)g(underlying)f(so)r(c)n(k)n(et.)0
-3838 y Fl(shutdown\(\))208 3938 y Fq(Send)35 b(the)h(sh)n(utdo)n(wn)f
+4091 y Fl(shutdown\(\))208 4191 y Fq(Send)35 b(the)h(sh)n(utdo)n(wn)f
 (message)f(to)h(the)h(Connection.)60 b(Returns)35 b(true)g(if)h(the)g
-(sh)n(utdo)n(wn)e(message)g(exc)n(hange)g(is)208 4037
+(sh)n(utdo)n(wn)e(message)g(exc)n(hange)g(is)208 4290
 y(completed)25 b(and)g(false)h(otherwise)e(\(in)i(whic)n(h)g(case)e(y)n
 (ou)h(call)g Fl(recv\(\))e Fq(or)i Fl(send\(\))e Fq(when)j(the)g
-(connection)f(b)r(ecomes)208 4137 y(readable/writeable.)0
-4284 y Fl(get_shutdown\(\))208 4383 y Fq(Get)70 b(the)g(sh)n(utdo)n(wn)
+(connection)f(b)r(ecomes)208 4390 y(readable/writeable.)0
+4537 y Fl(get_shutdown\(\))208 4636 y Fq(Get)70 b(the)g(sh)n(utdo)n(wn)
 f(state)g(of)h(the)g(Connection.)162 b(Returns)69 b(a)h(bitv)n(ector)e
-(of)i(either)f(or)g(b)r(oth)h(of)208 4483 y Fc(SENT_SHUTDO)n(WN)39
-b Fq(and)27 b Fc(RECEIVED_SHUTDO)n(WN)14 b Fq(.)0 4630
-y Fl(set_shutdown\()p Fc(state)6 b Fl(\))208 4729 y Fq(Set)21
+(of)i(either)f(or)g(b)r(oth)h(of)208 4736 y Fc(SENT_SHUTDO)n(WN)39
+b Fq(and)27 b Fc(RECEIVED_SHUTDO)n(WN)14 b Fq(.)0 4883
+y Fl(set_shutdown\()p Fc(state)6 b Fl(\))208 4983 y Fq(Set)21
 b(the)g(sh)n(utdo)n(wn)g(state)g(of)g(the)g(Connection.)34
 b Fc(state)27 b Fq(is)21 b(a)g(bitv)n(ector)f(of)h(either)g(or)f(b)r
-(oth)i(of)27 b Fc(SENT_SHUTDO)n(WN)208 4829 y Fq(and)g
-Fc(RECEIVED_SHUTDO)n(WN)14 b Fq(.)0 4976 y Fl(sock_shutdown\()p
-Fc(how)9 b Fl(\))208 5076 y Fq(Call)27 b(the)h Fl(shutdown)c
-Fq(metho)r(d)k(of)g(the)g(underlying)e(so)r(c)n(k)n(et.)0
-5222 y Fl(bio_shutdown\(\))208 5322 y Fq(If)j(the)h(Connection)f(w)n
-(as)f(created)g(with)i(a)f(memory)f(BIO,)h(this)h(metho)r(d)f(can)g(b)r
-(e)h(used)f(to)g(indicate)g(that)h(\020end)f(of)p 0 5549
-3901 4 v 0 5649 a Ff(3.3)82 b Fl(SSL)26 b Ff(\026)i(An)g(interface)g
-(to)f(the)g(SSL-sp)r(eci\034c)h(pa)n(rts)f(of)h(Op)r(enSSL)1611
-b(15)p eop end
-%%Page: 16 16
-TeXDict begin 16 15 bop 208 83 a Fq(\034le\021)34 b(has)27
+(oth)i(of)27 b Fc(SENT_SHUTDO)n(WN)208 5082 y Fq(and)g
+Fc(RECEIVED_SHUTDO)n(WN)14 b Fq(.)0 5229 y Fl(sock_shutdown\()p
+Fc(how)9 b Fl(\))208 5329 y Fq(Call)27 b(the)h Fl(shutdown)c
+Fq(metho)r(d)k(of)g(the)g(underlying)e(so)r(c)n(k)n(et.)p
+0 5549 3901 4 v 0 5649 a Ff(16)2197 b(3)83 b Fl(OpenSSL)24
+b Ff(\026)k(Python)f(interface)h(to)f(Op)r(enSSL)p eop
+end
+%%Page: 17 17
+TeXDict begin 17 16 bop 0 83 a Fl(bio_shutdown\(\))208
+183 y Fq(If)29 b(the)h(Connection)f(w)n(as)f(created)g(with)i(a)f
+(memory)f(BIO,)h(this)h(metho)r(d)f(can)g(b)r(e)h(used)f(to)g(indicate)
+g(that)h(\020end)f(of)208 282 y(\034le\021)34 b(has)27
 b(b)r(een)h(reac)n(hed)e(on)h(the)h(read)f(end)h(of)f(that)h(memory)f
-(BIO.)0 230 y Fl(state_string\(\))208 330 y Fq(Retriev)n(e)f(a)i(v)n
+(BIO.)0 429 y Fl(state_string\(\))208 529 y Fq(Retriev)n(e)f(a)i(v)n
 (erb)r(ose)e(string)g(detailing)i(the)g(state)f(of)h(the)f(Connection.)
-0 476 y Fl(client_random\(\))208 576 y Fq(Retriev)n(e)f(the)i(random)f
+0 676 y Fl(client_random\(\))208 775 y Fq(Retriev)n(e)f(the)i(random)f
 (v)-5 b(alue)27 b(used)h(with)g(the)g(clien)n(t)f(hello)h(message.)0
-723 y Fl(server_random\(\))208 823 y Fq(Retriev)n(e)e(the)i(random)f(v)
--5 b(alue)27 b(used)h(with)g(the)g(serv)n(er)e(hello)h(message.)0
-969 y Fl(master_key\(\))208 1069 y Fq(Retriev)n(e)f(the)i(v)-5
+922 y Fl(server_random\(\))208 1022 y Fq(Retriev)n(e)e(the)i(random)f
+(v)-5 b(alue)27 b(used)h(with)g(the)g(serv)n(er)e(hello)h(message.)0
+1169 y Fl(master_key\(\))208 1268 y Fq(Retriev)n(e)f(the)i(v)-5
 b(alue)28 b(of)f(the)h(master)f(k)n(ey)g(for)g(this)h(session.)0
-1216 y Fl(want_read\(\))208 1316 y Fq(Chec)n(ks)e(if)i(more)f(data)g
+1415 y Fl(want_read\(\))208 1515 y Fq(Chec)n(ks)e(if)i(more)f(data)g
 (has)g(to)h(b)r(e)g(read)e(from)i(the)f(transp)r(ort)g(la)n(y)n(er)f
-(to)h(complete)h(an)f(op)r(eration.)0 1462 y Fl(want_write\(\))208
-1562 y Fq(Chec)n(ks)f(if)i(there)g(is)f(data)g(to)h(write)f(to)g(the)h
+(to)h(complete)h(an)f(op)r(eration.)0 1662 y Fl(want_write\(\))208
+1761 y Fq(Chec)n(ks)f(if)i(there)g(is)f(data)g(to)h(write)f(to)g(the)h
 (transp)r(ort)f(la)n(y)n(er)f(to)h(complete)h(an)f(op)r(eration.)0
-1882 y Fr(4)114 b(Internals)0 2111 y Fq(W)-7 b(e)25 b(ran)g(in)n(to)f
+2081 y Fr(4)114 b(Internals)0 2310 y Fq(W)-7 b(e)25 b(ran)g(in)n(to)f
 (three)h(main)g(problems)f(dev)n(eloping)g(this:)36 b(Exceptions,)25
 b(callbac)n(ks)f(and)h(accessing)e(so)r(c)n(k)n(et)h(metho)r(ds.)36
-b(This)0 2210 y(is)27 b(what)h(this)g(c)n(hapter)e(is)i(ab)r(out.)0
-2488 y Fj(4.1)97 b(Exceptions)0 2688 y Fq(W)-7 b(e)52
+b(This)0 2410 y(is)27 b(what)h(this)g(c)n(hapter)e(is)i(ab)r(out.)0
+2687 y Fj(4.1)97 b(Exceptions)0 2887 y Fq(W)-7 b(e)52
 b(realized)f(early)g(that)h(most)g(of)g(the)g(exceptions)f(w)n(ould)h
 (b)r(e)g(raised)f(b)n(y)h(the)g(I/O)f(functions)h(of)g(Op)r(enSSL,)0
-2788 y(so)d(it)i(felt)f(natural)f(to)h(mimic)g(Op)r(enSSL's)g(error)e
+2987 y(so)d(it)i(felt)f(natural)f(to)h(mimic)g(Op)r(enSSL's)g(error)e
 (co)r(de)i(system,)55 b(translating)48 b(them)j(in)n(to)e(Python)i
-(exceptions.)0 2887 y(This)30 b(naturally)e(giv)n(es)h(us)h(the)g
+(exceptions.)0 3087 y(This)30 b(naturally)e(giv)n(es)h(us)h(the)g
 (exceptions)f Fl(SSL.ZeroReturnEr)o(ro)o(r)p Fq(,)24
 b Fl(SSL.WantReadError)o Fq(,)h Fl(SSL.WantWriteEr)o(ro)o(r)p
-Fq(,)0 2987 y Fl(SSL.WantX509Look)o(up)o(Err)o(or)c Fq(and)27
-b Fl(SSL.SysCallError)p Fq(.)0 3134 y(F)-7 b(or)27 b(more)g
+Fq(,)0 3186 y Fl(SSL.WantX509Look)o(up)o(Err)o(or)c Fq(and)27
+b Fl(SSL.SysCallError)p Fq(.)0 3333 y(F)-7 b(or)27 b(more)g
 (information)g(ab)r(out)g(this,)h(see)f(section)g(3.3.)0
-3411 y Fj(4.2)97 b(Callbacks)0 3612 y Fq(There)34 b(are)f(a)h(n)n(um)n
+3611 y Fj(4.2)97 b(Callbacks)0 3811 y Fq(There)34 b(are)f(a)h(n)n(um)n
 (b)r(er)g(of)h(problems)e(with)i(callbac)n(ks.)56 b(First)34
 b(of)g(all,)i(Op)r(enSSL)f(is)f(written)h(as)e(a)h(C)h(library)-7
-b(,)34 b(it's)h(not)0 3711 y(mean)n(t)26 b(to)g(ha)n(v)n(e)e(Python)j
+b(,)34 b(it's)h(not)0 3911 y(mean)n(t)26 b(to)g(ha)n(v)n(e)e(Python)j
 (callbac)n(ks,)d(so)i(a)f(w)n(a)n(y)g(around)g(that)h(is)g(needed.)36
 b(Another)26 b(problem)f(is)h(thread)g(supp)r(ort.)36
-b(A)26 b(lot)0 3811 y(of)h(the)g(Op)r(enSSL)g(I/O)e(functions)i(can)g
+b(A)26 b(lot)0 4010 y(of)h(the)g(Op)r(enSSL)g(I/O)e(functions)i(can)g
 (blo)r(c)n(k)f(if)h(the)g(so)r(c)n(k)n(et)f(is)g(in)h(blo)r(c)n(king)f
 (mo)r(de,)h(and)g(then)g(y)n(ou)f(w)n(an)n(t)g(other)g(Python)0
-3911 y(threads)i(to)g(b)r(e)h(able)g(to)f(do)h(other)f(things.)40
+4110 y(threads)i(to)g(b)r(e)h(able)g(to)f(do)h(other)f(things.)40
 b(The)28 b(real)g(trouble)g(is)h(if)g(y)n(ou'v)n(e)e(released)h(the)h
-(global)e(CPython)i(in)n(terpreter)0 4010 y(lo)r(c)n(k)e(to)h(do)f(a)h
+(global)e(CPython)i(in)n(terpreter)0 4210 y(lo)r(c)n(k)e(to)h(do)f(a)h
 (p)r(oten)n(tially)f(blo)r(c)n(king)g(op)r(eration,)g(and)h(the)g(op)r
 (eration)f(calls)g(a)g(callbac)n(k.)36 b(Then)28 b(w)n(e)g(m)n(ust)g
-(tak)n(e)f(the)h(GIL)0 4110 y(bac)n(k,)f(since)g(calling)g(Python)h
+(tak)n(e)f(the)h(GIL)0 4309 y(bac)n(k,)f(since)g(calling)g(Python)h
 (APIs)g(without)g(holding)f(it)h(is)g(not)f(allo)n(w)n(ed.)0
-4257 y(There)d(are)f(t)n(w)n(o)g(solutions)h(to)g(the)h(\034rst)f
+4456 y(There)d(are)f(t)n(w)n(o)g(solutions)h(to)g(the)h(\034rst)f
 (problem,)g(b)r(oth)h(of)f(whic)n(h)g(are)f(necessary)-7
 b(.)34 b(The)25 b(\034rst)f(solution)f(to)h(use)h(is)f(if)g(the)h(C)0
-4356 y(callbac)n(k)i(allo)n(ws)f(\021userdata\021)33
+4556 y(callbac)n(k)i(allo)n(ws)f(\021userdata\021)33
 b(to)28 b(b)r(e)h(passed)e(to)h(it)g(\(an)g(arbitrary)e(p)r(oin)n(ter)i
 (normally\).)37 b(This)28 b(is)g(great!)37 b(W)-7 b(e)28
-b(can)g(set)g(our)0 4456 y(Python)i(function)g(ob)5 b(ject)29
+b(can)g(set)g(our)0 4655 y(Python)i(function)g(ob)5 b(ject)29
 b(as)f(the)i(real)f(userdata)f(and)h(em)n(ulate)g(userdata)f(for)h(the)
 h(Python)f(function)h(in)g(another)e(w)n(a)n(y)-7 b(.)0
-4556 y(The)24 b(other)g(solution)g(can)g(b)r(e)h(used)g(if)g(an)f(ob)5
+4755 y(The)24 b(other)g(solution)g(can)g(b)r(e)h(used)g(if)g(an)f(ob)5
 b(ject)24 b(with)h(an)f(\021app_data\021)29 b(system)c(alw)n(a)n(ys)d
 (is)j(passed)e(to)h(the)h(callbac)n(k.)35 b(F)-7 b(or)0
-4655 y(example,)26 b(the)h(SSL)f(ob)5 b(ject)26 b(in)h(Op)r(enSSL)f
+4855 y(example,)26 b(the)h(SSL)f(ob)5 b(ject)26 b(in)h(Op)r(enSSL)f
 (has)g(app_data)f(functions)i(and)f(in)h(e.g.)36 b(the)26
 b(v)n(eri\034cation)f(callbac)n(ks,)g(y)n(ou)g(can)0
-4755 y(retriev)n(e)i(the)i(related)f(SSL)h(ob)5 b(ject.)39
+4954 y(retriev)n(e)i(the)i(related)f(SSL)h(ob)5 b(ject.)39
 b(What)29 b(w)n(e)g(do)f(is)g(to)h(set)f(our)g(wrapp)r(er)g
 Fl(Connection)c Fq(ob)5 b(ject)28 b(as)g(app_data)g(for)g(the)0
-4855 y(SSL)g(ob)5 b(ject,)27 b(and)h(w)n(e)f(can)g(easily)g(\034nd)h
-(the)g(Python)g(callbac)n(k.)0 5001 y(The)23 b(other)g(problem)g(is)g
+5054 y(SSL)g(ob)5 b(ject,)27 b(and)h(w)n(e)f(can)g(easily)g(\034nd)h
+(the)g(Python)g(callbac)n(k.)0 5201 y(The)23 b(other)g(problem)g(is)g
 (solv)n(ed)f(using)h(thread)g(lo)r(cal)g(v)-5 b(ariables.)34
 b(Whenev)n(er)22 b(the)i(GIL)g(is)f(released)f(b)r(efore)h(calling)f
-(in)n(to)h(an)0 5101 y(Op)r(enSSL)j(API,)g(the)g(PyThreadState)f(p)r
+(in)n(to)h(an)0 5300 y(Op)r(enSSL)j(API,)g(the)g(PyThreadState)f(p)r
 (oin)n(ter)g(returned)g(b)n(y)h Fl(PyEval_SaveState)19
 b Fq(is)25 b(stored)g(in)g(a)g(global)g(thread)g(lo)r(cal)0
-5201 y(v)-5 b(ariable)27 b(\(using)g(Python's)h(o)n(wn)f(TLS)h(API,)g
+5400 y(v)-5 b(ariable)27 b(\(using)g(Python's)h(o)n(wn)f(TLS)h(API,)g
 Fl(PyThread_set_key_)o(va)o(lue)o Fq(\).)k(When)c(it)g(is)g(necessary)e
-(to)h(re-acquire)f(the)0 5300 y(GIL,)c(either)g(after)g(the)h(Op)r
+(to)h(re-acquire)f(the)p 0 5549 3901 4 v 3817 5649 a
+Ff(17)p eop end
+%%Page: 18 18
+TeXDict begin 18 17 bop 0 83 a Fq(GIL,)22 b(either)g(after)g(the)h(Op)r
 (enSSL)f(API)h(returns)e(or)h(in)g(a)g(C)g(callbac)n(k)f(in)n(v)n(ok)n
 (ed)f(b)n(y)i(that)h(Op)r(enSSL)f(API,)h(the)g(v)-5 b(alue)22
-b(of)g(the)0 5400 y(thread)32 b(lo)r(cal)f(v)-5 b(ariable)32
+b(of)g(the)0 183 y(thread)32 b(lo)r(cal)f(v)-5 b(ariable)32
 b(is)g(retriev)n(ed)f(\()p Fl(PyThread_get_key)o(_va)o(lu)o(e)p
 Fq(\))26 b(and)33 b(used)f(to)g(re-acquire)e(the)j(GIL.)f(This)h(allo)n
-(ws)p 0 5549 3901 4 v 0 5649 a Ff(16)3368 b(4)83 b(Internals)p
-eop end
-%%Page: 17 17
-TeXDict begin 17 16 bop 0 83 a Fq(Python)32 b(threads)e(to)h(execute)h
-(while)f(Op)r(enSSL)g(APIs)h(are)f(running)f(and)i(allo)n(ws)e(use)h
-(of)g(an)n(y)f(particular)g(p)n(yOp)r(enSSL)0 183 y(ob)5
-b(ject)29 b(from)f(an)n(y)g(Python)i(thread,)e(since)h(there)g(is)g(no)
-f(p)r(er-thread)g(state)h(asso)r(ciated)f(with)h(an)n(y)f(of)h(these)g
-(ob)5 b(jects)28 b(and)0 282 y(since)f(Op)r(enSSL)h(is)g(threadsafe)e
-(\(as)h(long)g(as)g(prop)r(erly)g(initialized,)g(as)g(p)n(yOp)r(enSSL)h
-(initializes)f(it\).)0 562 y Fj(4.3)97 b(A)m(cessing)35
-b(So)s(ck)m(et)e(Metho)s(ds)0 762 y Fq(W)-7 b(e)27 b(quic)n(kly)e(sa)n
+(ws)0 282 y(Python)f(threads)e(to)h(execute)h(while)f(Op)r(enSSL)g
+(APIs)h(are)f(running)f(and)i(allo)n(ws)e(use)h(of)g(an)n(y)f
+(particular)g(p)n(yOp)r(enSSL)0 382 y(ob)5 b(ject)29
+b(from)f(an)n(y)g(Python)i(thread,)e(since)h(there)g(is)g(no)f(p)r
+(er-thread)g(state)h(asso)r(ciated)f(with)h(an)n(y)f(of)h(these)g(ob)5
+b(jects)28 b(and)0 482 y(since)f(Op)r(enSSL)h(is)g(threadsafe)e(\(as)h
+(long)g(as)g(prop)r(erly)g(initialized,)g(as)g(p)n(yOp)r(enSSL)h
+(initializes)f(it\).)0 761 y Fj(4.3)97 b(A)m(cessing)35
+b(So)s(ck)m(et)e(Metho)s(ds)0 962 y Fq(W)-7 b(e)27 b(quic)n(kly)e(sa)n
 (w)h(the)g(b)r(ene\034t)h(of)g(wrapping)e(so)r(c)n(k)n(et)g(metho)r(ds)
 h(in)h(the)g Fl(SSL.Connection)20 b Fq(class,)26 b(for)g(an)g(easy)f
-(transition)0 862 y(in)n(to)e(using)f(SSL.)h(The)g(problem)f(here)h(is)
-f(that)h(the)h Fl(socket)c Fq(mo)r(dule)j(lac)n(ks)f(a)g(C)h(API,)h
-(and)e(all)h(the)g(metho)r(ds)g(are)f(declared)0 962
+(transition)0 1061 y(in)n(to)e(using)f(SSL.)h(The)g(problem)f(here)h
+(is)f(that)h(the)h Fl(socket)c Fq(mo)r(dule)j(lac)n(ks)f(a)g(C)h(API,)h
+(and)e(all)h(the)g(metho)r(ds)g(are)f(declared)0 1161
 y(static.)36 b(One)27 b(approac)n(h)d(w)n(ould)i(b)r(e)h(to)f(ha)n(v)n
 (e)g Fl(OpenSSL)d Fq(as)j(a)g(submo)r(dule)h(to)f(the)h
 Fl(socket)d Fq(mo)r(dule,)j(placing)f(all)g(the)h(co)r(de)0
-1061 y(in)j(`)p Fp(so)r(ck)n(etmo)r(dule.c)p Fq(',)h(but)f(this)g(is)g
+1261 y(in)j(`)p Fp(so)r(ck)n(etmo)r(dule.c)p Fq(',)h(but)f(this)g(is)g
 (ob)n(viously)e(not)i(a)f(go)r(o)r(d)g(solution,)h(since)g(y)n(ou)f
 (migh)n(t)g(not)h(w)n(an)n(t)f(to)h(imp)r(ort)g(tonnes)f(of)0
-1161 y(extra)f(stu\033)h(y)n(ou're)e(not)i(going)e(to)i(use)f(when)h
+1360 y(extra)f(stu\033)h(y)n(ou're)e(not)i(going)e(to)i(use)f(when)h
 (imp)r(orting)f(the)i Fl(socket)c Fq(mo)r(dule.)40 b(The)29
-b(other)f(approac)n(h)e(is)j(to)f(someho)n(w)0 1261 y(get)33
+b(other)f(approac)n(h)e(is)j(to)f(someho)n(w)0 1460 y(get)33
 b(a)g(p)r(oin)n(ter)g(to)h(the)f(metho)r(d)h(to)g(b)r(e)f(called,)i
 (either)e(the)h(C)g(function,)h(or)e(a)g(callable)f(Python)i(ob)5
-b(ject.)54 b(This)34 b(is)f(not)0 1360 y(really)26 b(a)i(go)r(o)r(d)f
+b(ject.)54 b(This)34 b(is)f(not)0 1559 y(really)26 b(a)i(go)r(o)r(d)f
 (solution)g(either,)g(since)g(there's)h(a)f(lot)g(of)h(lo)r(okups)f(in)
-n(v)n(olv)n(ed.)0 1507 y(The)h(w)n(a)n(y)f(it)h(w)n(orks)e(is)i(that)h
+n(v)n(olv)n(ed.)0 1706 y(The)h(w)n(a)n(y)f(it)h(w)n(orks)e(is)i(that)h
 (y)n(ou)e(ha)n(v)n(e)g(to)g(supply)h(a)g(\020)7 b Fl(socket)p
 Fq(-lik)n(e\021)31 b(transp)r(ort)c(ob)5 b(ject)28 b(to)f(the)i
-Fl(SSL.Connection)p Fq(.)j(The)0 1607 y(only)24 b(requiremen)n(t)f(of)i
+Fl(SSL.Connection)p Fq(.)j(The)0 1806 y(only)24 b(requiremen)n(t)f(of)i
 (this)f(ob)5 b(ject)24 b(is)h(that)f(it)h(has)f(a)g Fl(fileno\(\))d
 Fq(metho)r(d)k(that)f(returns)g(a)g(\034le)g(descriptor)f(that's)i(v)-5
-b(alid)24 b(at)0 1706 y(the)g(C)g(lev)n(el)f(\(i.e.)36
+b(alid)24 b(at)0 1906 y(the)g(C)g(lev)n(el)f(\(i.e.)36
 b(y)n(ou)23 b(can)h(use)f(the)i(system)e(calls)g(read)g(and)h(write\).)
 35 b(If)25 b(y)n(ou)e(w)n(an)n(t)g(to)h(use)f(the)h Fl(connect\(\))c
-Fq(or)j Fl(accept\(\))0 1806 y Fq(metho)r(ds)29 b(of)h(the)f
+Fq(or)j Fl(accept\(\))0 2005 y Fq(metho)r(ds)29 b(of)h(the)f
 Fl(SSL.Connection)24 b Fq(ob)5 b(ject,)29 b(the)h(transp)r(ort)e(ob)5
 b(ject)29 b(has)f(to)h(supply)h(suc)n(h)f(metho)r(ds)g(to)r(o.)41
-b(Apart)29 b(from)0 1906 y(them,)c(an)n(y)e(metho)r(d)h(lo)r(okups)f
+b(Apart)29 b(from)0 2105 y(them,)c(an)n(y)e(metho)r(d)h(lo)r(okups)f
 (in)h(the)f Fl(SSL.Connection)18 b Fq(ob)5 b(ject)24
 b(that)f(fail)h(are)f(passed)f(on)i(to)f(the)h(underlying)f(transp)r
-(ort)0 2005 y(ob)5 b(ject.)0 2152 y(F)-7 b(uture)25 b(c)n(hanges)f
+(ort)0 2204 y(ob)5 b(ject.)0 2351 y(F)-7 b(uture)25 b(c)n(hanges)f
 (migh)n(t)h(b)r(e)g(to)g(allo)n(w)f(Python-lev)n(el)g(transp)r(ort)g
 (ob)5 b(jects,)25 b(that)g(instead)g(of)g(ha)n(ving)g
-Fl(fileno\(\))d Fq(metho)r(ds,)0 2252 y(ha)n(v)n(e)h
+Fl(fileno\(\))d Fq(metho)r(ds,)0 2451 y(ha)n(v)n(e)h
 Fl(read\(\))g Fq(and)h Fl(write\(\))e Fq(metho)r(ds,)k(so)e(more)f(adv)
 -5 b(anced)24 b(features)h(of)f(Python)h(can)g(b)r(e)g(used.)35
-b(This)25 b(w)n(ould)f(probably)0 2351 y(en)n(tail)36
+b(This)25 b(w)n(ould)f(probably)0 2551 y(en)n(tail)36
 b(some)g(sort)g(of)g(Op)r(enSSL)h(\020BIOs\021,)g(but)g(con)n(v)n
 (erting)e(Python)i(strings)e(bac)n(k)h(and)g(forth)g(is)h(exp)r(ensiv)n
-(e,)h(so)e(this)0 2451 y(shouldn't)f(b)r(e)h(used)f(unless)g(necessary)
+(e,)h(so)e(this)0 2650 y(shouldn't)f(b)r(e)h(used)f(unless)g(necessary)
 -7 b(.)57 b(Other)35 b(nice)g(things)g(w)n(ould)g(b)r(e)g(to)g(b)r(e)h
 (able)e(to)h(pass)g(in)g(di\033eren)n(t)g(transp)r(ort)0
-2551 y(ob)5 b(jects)41 b(for)g(reading)f(and)h(writing,)j(but)e(then)g
+2750 y(ob)5 b(jects)41 b(for)g(reading)f(and)h(writing,)j(but)e(then)g
 (the)g Fl(fileno\(\))c Fq(metho)r(d)k(of)47 b Fl(SSL.Connection)36
-b Fq(b)r(ecomes)41 b(virtually)0 2650 y(useless.)36 b(Also,)27
+b Fq(b)r(ecomes)41 b(virtually)0 2849 y(useless.)36 b(Also,)27
 b(should)h(the)g(metho)r(d)g(resolution)e(b)r(e)i(used)g(on)f(the)h
 (read-transp)r(ort)d(or)i(the)h(write-transp)r(ort?)p
-0 5549 3901 4 v 0 5649 a Ff(4.3)82 b(A)n(cessing)26 b(So)r(ck)n(et)h
-(Metho)r(ds)2744 b(17)p eop end
+0 5549 3901 4 v 0 5649 a Ff(18)3368 b(4)83 b(Internals)p
+eop end
 %%Trailer
 
 userdict /end-hook known{end-hook}if