├── multicore
├── __init__.py
├── cpuInfo.pyc
├── __init__.pyc
└── cpuInfo.py
├── preprocess
├── __init__.py
├── __init__.pyc
├── preprocess.pyc
├── porterStemmer.pyc
├── preprocess.py
├── stopWords.data.back
├── stopWords.data
└── porterStemmer.py
├── dataTools
├── testFunctions.py
├── xlrd
│ ├── xldate.py
│ ├── __init__.py
│ ├── compdoc.py
│ ├── timemachine.py
│ ├── doc
│ │ ├── HISTORY.txt
│ │ ├── compdoc.html
│ │ ├── README.txt
│ │ └── xlrd.html
│ ├── licences.py
│ ├── biffh.py
│ └── sheet.py
├── XLSXreader.py
├── docs
│ └── PythonIO.pdf
├── CSVreader.py
├── README
├── importMatlabData.py
├── importColumns.py
└── testData.mat
├── unittests
├── test_multicore
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── test_cpuInfo.pyc
│ └── test_cpuInfo.py
├── test_preprocess
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── test_tokenizeString.pyc
│ ├── test_tokenizeString.py
│ └── stopWords.data
└── runall.py
├── DimentionalityReduction
├── README
└── cca.py
├── temporary
├── siamak-labels-v14-black.png
└── siamak-labels-v15-black.png
├── README
└── crawlers
└── twitterCrawler.py
/multicore/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/preprocess/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/dataTools/testFunctions.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/unittests/test_multicore/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/unittests/test_preprocess/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/multicore/cpuInfo.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faridani/PyNLP/HEAD/multicore/cpuInfo.pyc
--------------------------------------------------------------------------------
/dataTools/xlrd/xldate.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faridani/PyNLP/HEAD/dataTools/xlrd/xldate.py
--------------------------------------------------------------------------------
/multicore/__init__.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faridani/PyNLP/HEAD/multicore/__init__.pyc
--------------------------------------------------------------------------------
/preprocess/__init__.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faridani/PyNLP/HEAD/preprocess/__init__.pyc
--------------------------------------------------------------------------------
/dataTools/XLSXreader.py:
--------------------------------------------------------------------------------
1 | #
2 | # TODO
3 | # See this
4 | # http://github.com/dilshod/xlsx2csv
5 |
6 |
--------------------------------------------------------------------------------
/dataTools/xlrd/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faridani/PyNLP/HEAD/dataTools/xlrd/__init__.py
--------------------------------------------------------------------------------
/dataTools/xlrd/compdoc.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faridani/PyNLP/HEAD/dataTools/xlrd/compdoc.py
--------------------------------------------------------------------------------
/preprocess/preprocess.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faridani/PyNLP/HEAD/preprocess/preprocess.pyc
--------------------------------------------------------------------------------
/dataTools/docs/PythonIO.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faridani/PyNLP/HEAD/dataTools/docs/PythonIO.pdf
--------------------------------------------------------------------------------
/preprocess/porterStemmer.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faridani/PyNLP/HEAD/preprocess/porterStemmer.pyc
--------------------------------------------------------------------------------
/DimentionalityReduction/README:
--------------------------------------------------------------------------------
1 | use the pca file from here http://folk.uio.no/henninri/pca_module/
2 |
3 |
4 |
--------------------------------------------------------------------------------
/temporary/siamak-labels-v14-black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faridani/PyNLP/HEAD/temporary/siamak-labels-v14-black.png
--------------------------------------------------------------------------------
/temporary/siamak-labels-v15-black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faridani/PyNLP/HEAD/temporary/siamak-labels-v15-black.png
--------------------------------------------------------------------------------
/unittests/test_multicore/__init__.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faridani/PyNLP/HEAD/unittests/test_multicore/__init__.pyc
--------------------------------------------------------------------------------
/unittests/test_preprocess/__init__.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faridani/PyNLP/HEAD/unittests/test_preprocess/__init__.pyc
--------------------------------------------------------------------------------
/unittests/test_multicore/test_cpuInfo.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faridani/PyNLP/HEAD/unittests/test_multicore/test_cpuInfo.pyc
--------------------------------------------------------------------------------
/unittests/test_preprocess/test_tokenizeString.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/faridani/PyNLP/HEAD/unittests/test_preprocess/test_tokenizeString.pyc
--------------------------------------------------------------------------------
/dataTools/CSVreader.py:
--------------------------------------------------------------------------------
1 | #
2 | # TODO
3 | # See: http://docs.python.org/library/csv.html
4 |
5 | import csv
6 | spamReader = csv.reader(open('eggs.csv'), delimiter=' ', quotechar='|')
7 | for row in spamReader:
8 | print ', '.join(row)
9 |
--------------------------------------------------------------------------------
/dataTools/README:
--------------------------------------------------------------------------------
1 |
2 | This folder will contain scripts for importing and exporting different data types.
3 | These types will include:
4 |
5 | - Matlab .mat file (done)
6 | - Columnar data files
7 | - csv files
8 | - R dataframes
9 | - Excel .xls files
10 |
11 | Siamak
12 | July 12, 2010
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/unittests/test_multicore/test_cpuInfo.py:
--------------------------------------------------------------------------------
1 | def test_detectCPUs():
2 | import sys
3 |
4 | try:
5 | sys.path.append("/home/siamak/Desktop/PyNLP/")
6 | except:
7 | print "modify your sys.path.append in test-cpuInfo.py"
8 |
9 |
10 | from multicore.cpuInfo import detectCPUs
11 |
12 | print "Numer of cores: ", detectCPUs()
13 |
14 |
--------------------------------------------------------------------------------
/dataTools/importMatlabData.py:
--------------------------------------------------------------------------------
1 |
2 | ## This script imports Matlab data files ( .mat)
3 | # TODO: make it pythonic
4 | # Blend it with the rest of the code
5 |
6 | import warnings
7 | warnings.filterwarnings("ignore")
8 |
9 | import scipy.io
10 |
11 |
12 | def loadmat(matfile):
13 | #matfile should be without .mat
14 | Yback = scipy.io.loadmat(matfile+'.mat')
15 | Y= Yback[matfile]
16 | return Y
17 |
--------------------------------------------------------------------------------
/dataTools/xlrd/timemachine.py:
--------------------------------------------------------------------------------
1 | # timemachine.py -- adaptation for earlier Pythons e.g. 2.1
2 | # from timemachine import *
3 |
4 | import sys
5 |
6 | python_version = sys.version_info[:2] # e.g. version 2.4 -> (2, 4)
7 |
8 | if python_version < (2, 2):
9 | class object:
10 | pass
11 | False = 0
12 | True = 1
13 |
14 | def int_floor_div(x, y):
15 | return divmod(x, y)[0]
--------------------------------------------------------------------------------
/unittests/runall.py:
--------------------------------------------------------------------------------
1 |
2 |
3 | print "Testing Multicore Package"
4 | print "_________________________"
5 | from test_multicore.test_cpuInfo import test_detectCPUs
6 | test_detectCPUs()
7 |
8 | print "\n\n\n\n\n\n\n"
9 | print "Testing Preprocess Package"
10 | print "_________________________"
11 | from test_preprocess.test_tokenizeString import test_tokenizeString
12 | test_tokenizeString()
13 |
14 |
15 | print "\n\n\n\n\n\n\n"
16 | print "End of tests"
17 | print "_________________________"
18 |
--------------------------------------------------------------------------------
/README:
--------------------------------------------------------------------------------
1 | PyNLP is designed to perform simple NLP procedures (examples include tokenizing, removing stop words, frequency analysis,...)
2 |
3 |
4 | Design Features:
5 | - Light weight
6 | - PyNLP is multi-core friendly. It will utilize all cores for its operations.
7 | - For each module unittests are provided as part of the source code. Unit tests cover most of the functions and modules
8 |
9 |
10 | Ideas for the future:
11 | - Combine Tokenize and Preprocess into one package
12 |
13 | Help:
14 | - preprocess contains functions for tokenizing
15 | - dataTools helps you import your data
16 |
17 |
18 | Please note: This project is still in very early stages. Please report bugs to faridani@berkeley.edu
19 |
20 |
21 |
22 | Siamak Faridani
23 | UC Berkeley
24 | July 2010
25 | faridani@berkeley.edu
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/dataTools/importColumns.py:
--------------------------------------------------------------------------------
1 | """
2 | This script imports columnar data files
3 | TODO: make it pythonic
4 | Blend it with the rest of the code
5 |
6 |
7 | Example
8 | 0.828947 0.664474 0.861842 0.213904 0.657754
9 | 0.171123 0.170856 0.000000 0.004605 0.111497
10 | 0.616071 0.678571 0.616071 0.687500 0.776786
11 | 0.151786 0.526786 0.616071 0.410714 0.750000
12 | 1.000000 0.237433 0.336898 0.301872 0.700535
13 | 0.887576 0.887273 0.662121 0.863636 0.614000
14 | 0.360963 0.705882 0.855615 0.887701 0.941176
15 | 0.000000 0.677632 0.203947 0.500000 0.013158
16 | 0.288770 0.727273 0.283422 0.941176 0.278075
17 | 0.304813 0.385027 0.673797 0.732620 0.561497
18 | 0.269737 0.459893 0.978610 0.646791 0.759358
19 |
20 | """
21 |
22 | def importColumnar(fileName):
23 |
24 | import os.path
25 |
26 | if (not os.path.exists(fileName)):
27 | print "ERROR: incorrect path to file"
28 | if (not os.path.isfile(fileName)): # Does file exist? Is it a file, or a directory?
29 | print "ERROR: file does not exist"
30 |
31 |
32 | from numpy import loadtxt
33 |
34 | f = loadtxt(fileName)
35 | return f
36 |
37 | if __name__=="__main__":
38 | f = importColumnar('testData.mat')
39 | print f
40 |
--------------------------------------------------------------------------------
/multicore/cpuInfo.py:
--------------------------------------------------------------------------------
1 | def detectCPUs():
2 | """
3 | Detects the number of CPUs on a system.
4 | taken from:
5 | http://codeliberates.blogspot.com/2008/05/detecting-cpuscores-in-python.html
6 | Originally by Bruce Eckel
7 |
8 |
9 |
10 | Output: returns the number of cores
11 |
12 | Note: never tested on machines with more than one CPU and 2 cores
13 |
14 |
15 | """
16 |
17 | import os
18 | # Linux, Unix and MacOS:
19 | if hasattr(os, "sysconf"):
20 | if os.sysconf_names.has_key("SC_NPROCESSORS_ONLN"):
21 | # Linux & Unix:
22 | ncpus = os.sysconf("SC_NPROCESSORS_ONLN")
23 | if isinstance(ncpus, int) and ncpus > 0:
24 | return ncpus
25 | else: # OSX:
26 | return int(os.popen2("sysctl -n hw.ncpu")[1].read())
27 | # Windows:
28 | if os.environ.has_key("NUMBER_OF_PROCESSORS"):
29 | ncpus = int(os.environ["NUMBER_OF_PROCESSORS"]);
30 | if ncpus > 0:
31 | return ncpus
32 | return 1 # Default
33 |
34 |
35 |
--------------------------------------------------------------------------------
/unittests/test_preprocess/test_tokenizeString.py:
--------------------------------------------------------------------------------
1 | def test_tokenizeString():
2 | import sys
3 |
4 | try:
5 | sys.path.append("/home/siamak/Desktop/PyNLP/")
6 | except:
7 | print "modify your sys.path.append in test_tokenizeString.py"
8 |
9 |
10 | from preprocess.preprocess import tokenizeString
11 |
12 | test_var = tokenizeString("so, instead, I threw together something from scratch. this doesn't even use NLTK, so you should just be able to drop this script (and the accompanying stopwords file, which is a custom list I use) into whatever directory you like and run with it. I tried to keep this super simple so that (hopefully) you can run it real time. ]it gives you an ordered list of most common words and frequency counts thereof; simple but effective in terms of finding the top most important words.")
13 | if (test_var == ['so', 'instead', 'I', 'threw', 'together', 'something', 'from', 'scratch', 'this', 'doesn', 't', 'even', 'use', 'NLTK', 'so', 'you', 'should', 'just', 'be', 'able', 'to', 'drop', 'this', 'script', 'and', 'the', 'accompanying', 'stopwords', 'file', 'which', 'is', 'a', 'custom', 'list', 'I', 'use', 'into', 'whatever', 'directory', 'you', 'like', 'and', 'run', 'with', 'it', 'I', 'tried', 'to', 'keep', 'this', 'super', 'simple', 'so', 'that', 'hopefully', 'you', 'can', 'run', 'it', 'real', 'time', 'it', 'gives', 'you', 'an', 'ordered', 'list', 'of', 'most', 'common', 'words', 'and', 'frequency', 'counts', 'thereof', 'simple', 'but', 'effective', 'in', 'terms', 'of', 'finding', 'the', 'top', 'most', 'important', 'words']):
14 | print "tokenizeString(inputString) works properly"
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/DimentionalityReduction/cca.py:
--------------------------------------------------------------------------------
1 |
2 | """
3 | Canonical Correlation Analysis
4 |
5 | originally by Magnus Borga, Linköpings universitet in Matlab
6 | modified to Kernel CCA by Taylor Berg-Kirkpatrick
7 | ported to Python by Siamak Faridani
8 |
9 | July 2010
10 | UC Berkeley
11 |
12 | TODO: Make it more like python not Matlab :)
13 |
14 | """
15 | """
16 | % CCA calculate canonical correlations
17 | %
18 | % [Wx Wy r] = cca(X,Y) where Wx and Wy contains the canonical correlation
19 | % vectors as columns and r is a vector with corresponding canonical
20 | % correlations. The correlations are sorted in descending order. X and Y
21 | % are matrices where each column is a sample. Hence, X and Y must have
22 | % the same number of columns.
23 | %
24 | % Example: If X is M*K and Y is N*K there are L=MIN(M,N) solutions. Wx is
25 | % then M*L, Wy is N*L and r is L*1.
26 | %
27 | %
28 | % © 2000 Magnus Borga, Linköpings universitet
29 | """
30 |
31 | function [Wx, Wy, invWx, invWy, P] = kernel_cca(X,Y, reg)
32 |
33 |
34 | n = size(X,2);
35 | sx = size(X,1);
36 | sy = size(Y,1);
37 | L = min(sx,sy);
38 | Kxx = X'*X;
39 | Kyy = Y'*Y;
40 | invKxx = inv(Kxx + reg*eye(n));
41 | invKyy = inv(Kyy + reg*eye(n));
42 |
43 |
44 | [Alpha,r] = eig(invKxx*Kyy*invKyy*Kxx);
45 | r = sqrt(r); % Canonical correlations
46 | Beta = invKyy*Kxx*Alpha;
47 |
48 | Wx = X*Alpha;
49 | Wy = Y*Beta; % Basis in Y
50 |
51 | % --- Sort correlations ---
52 |
53 | Vx = fliplr(Wx); % reverse order of eigenvectors
54 | Vy = fliplr(Wy); % reverse order of eigenvectors
55 | r = flipud(diag(r)); % extract eigenvalues anr reverse their orrer
56 | [r,I]= sort(r); % sort reversed eigenvalues in ascending order
57 | r = flipud(r); % restore sorted eigenvalues into descending order
58 | for j = 1:length(I)
59 | Wx(:,j) = Vx(:,I(j)); % sort reversed eigenvectors in ascending order
60 | Wy(:,j) = Vy(:,I(j)); % sort reversed eigenvectors in ascending order
61 | end
62 | Wx = fliplr(Wx); % restore sorted eigenvectors into descending order
63 | Wy = fliplr(Wy); % restore sorted eigenvectors into descending order
64 |
65 | Wx=Wx(:,1:L);
66 | Wy=Wy(:,1:L);
67 | r = r(1:L);
68 |
69 | Wx = Wx ./repmat(sqrt(diag(Wx'*X*X'*Wx)'),sx,1);
70 | Wy = Wy ./repmat(sqrt(diag(Wy'*Y*Y'*Wy)'),sy,1);
71 |
72 | P = diag(diag(Wx'*X*Y'*Wy));
73 |
74 | % Wx = Wx*sqrt(P);
75 | % Wy = Wy*sqrt(P);
76 |
77 | invWx = (X*X'*Wx)';
78 | invWy = (Y*Y'*Wy)';
79 |
80 | % invWx = ((X*X')*Wx*sqrt(P))';
81 | % invWy = ((Y*Y')*Wy*sqrt(P))';
82 |
--------------------------------------------------------------------------------
/preprocess/preprocess.py:
--------------------------------------------------------------------------------
1 | import re
2 | import string
3 |
4 | stopWords = open('stopWords.data', 'r').readlines()
5 | newstopWords = [' ']
6 | for word in stopWords:
7 | newstopWords.append(word.replace("\n",""))
8 |
9 | stopWords = newstopWords
10 |
11 |
12 | def tokenizeString(inputString):
13 | """
14 | Tokenizes a string (splits the string into words)
15 |
16 | modified from a code by Eric Baumer
17 | """
18 |
19 | # use a regular expression to remove punctuation and line breaks
20 | punct = re.compile('[%s]' % re.escape(string.punctuation))
21 | inputString = punct.sub(' ', inputString)
22 | # and remove line breaks
23 | inputString = inputString.replace('\n', ' ')
24 |
25 | # now split into words and return
26 | return inputString.split()
27 |
28 |
29 |
30 | def isStopWord(inputWord):
31 | """
32 | Returns True if the inputWord is a stopword
33 | """
34 | if inputWord.lower() in stopWords:
35 | return True
36 | else:
37 | return False
38 |
39 |
40 | def removeStopWord(inputString):
41 | """
42 | Removes a stop word from a sentence
43 |
44 | The input can be either a string or a list of words
45 | for example you can insert the output of a stemmer as an input here
46 |
47 | """
48 |
49 | output = []
50 |
51 | if type(inputString)==type(str()):
52 | for item in tokenizeString(inputString):
53 | if not (isStopWord(item)):
54 | output.append(item)
55 | if type(inputString)==type(list()):
56 | for item in inputString:
57 | if not (isStopWord(item)):
58 | output.append(item)
59 |
60 |
61 | return output
62 |
63 |
64 | if __name__=="__main__":
65 | # I write the tests here
66 | # TODO: move them to the test module
67 |
68 |
69 | print
70 | print
71 |
72 | from porterStemmer import Stem
73 | myText = "The Noronha skink is a species of skink from the island of Fernando de Noronha off northeastern Brazil. Perhaps seen by Amerigo Vespucci in 1503, it was first formally described in 1839. Its subsequent taxonomic history has been complex, riddled with confusion with Trachylepis maculata and other species, homonyms, and other problems. "
74 | print "removing stop words"
75 | print removeStopWord((myText))
76 | print
77 | print removeStopWord(removeStopWord(myText))
78 | print
79 | print "Stemming"
80 | print "Stem Sentence"
81 | print Stem(myText)
82 | print
83 | print
84 | print
85 | print "Stem List"
86 | print Stem(removeStopWord(myText))
87 | # StemSentence(
88 |
--------------------------------------------------------------------------------
/preprocess/stopWords.data.back:
--------------------------------------------------------------------------------
1 | a
2 | the
3 | of
4 | and
5 | that
6 | for
7 | by
8 | as
9 | be
10 | or
11 | this
12 | then
13 | we
14 | which
15 | with
16 | at
17 | from
18 | under
19 | such
20 | there
21 | other
22 | if
23 | in
24 | is
25 | it
26 | its
27 | can
28 | now
29 | an
30 | to
31 | but
32 | upon
33 | where
34 | these
35 | when
36 | whether
37 | also
38 | than
39 | after
40 | within
41 | before
42 | because
43 | without
44 | however
45 | therefore
46 | between
47 | those
48 | since
49 | into
50 | out
51 | some
52 | abs
53 | about
54 | accordingly
55 | affecting
56 | affected
57 | again
58 | against
59 | all
60 | almost
61 | already
62 | although
63 | always
64 | among
65 | any
66 | anyone
67 | apparently
68 | are
69 | arise
70 | aside
71 | away
72 | became
73 | become
74 | becomes
75 | been
76 | being
77 | both
78 | briefly
79 | came
80 | cannot
81 | certain
82 | certainly
83 | could
84 | etc
85 | does
86 | done
87 | during
88 | each
89 | either
90 | else
91 | ever
92 | every
93 | following
94 | found
95 | further
96 | gave
97 | gets
98 | give
99 | given
100 | giving
101 | gone
102 | got
103 | had
104 | hardly
105 | has
106 | have
107 | having
108 | here
109 | how
110 | itself
111 | just
112 | keep
113 | kept
114 | kg
115 | knowledge
116 | largely
117 | like
118 | made
119 | mainly
120 | make
121 | many
122 | mg
123 | might
124 | ml
125 | more
126 | most
127 | mostly
128 | much
129 | must
130 | nearly
131 | necessarily
132 | neither
133 | next
134 | none
135 | nor
136 | normally
137 | not
138 | noted
139 | obtain
140 | obtained
141 | often
142 | only
143 | our
144 | put
145 | owing
146 | particularly
147 | past
148 | perhaps
149 | please
150 | poorly
151 | possible
152 | possibly
153 | potentially
154 | predominantly
155 | present
156 | previously
157 | primarily
158 | probably
159 | prompt
160 | promptly
161 | quickly
162 | quite
163 | rather
164 | readily
165 | really
166 | recently
167 | refs
168 | regarding
169 | regardless
170 | relatively
171 | respectively
172 | resulted
173 | resulting
174 | results
175 | said
176 | same
177 | seem
178 | seen
179 | several
180 | shall
181 | should
182 | show
183 | showed
184 | shown
185 | shows
186 | significantly
187 | similar
188 | similarly
189 | slightly
190 | so
191 | sometime
192 | somewhat
193 | soon
194 | specifically
195 | state
196 | states
197 | strongly
198 | substantially
199 | successfully
200 | sufficiently
201 | their
202 | theirs
203 | them
204 | they
205 | though
206 | through
207 | throughout
208 | too
209 | toward
210 | unless
211 | until
212 | use
213 | used
214 | usefully
215 | usefulness
216 | using
217 | usually
218 | various
219 | very
220 | was
221 | were
222 | what
223 | while
224 | who
225 | whose
226 | why
227 | widely
228 | will
229 | would
230 | yet
231 | he
232 | she
233 |
234 |
--------------------------------------------------------------------------------
/unittests/test_preprocess/stopWords.data:
--------------------------------------------------------------------------------
1 | a
2 | the
3 | of
4 | and
5 | that
6 | for
7 | by
8 | as
9 | be
10 | or
11 | this
12 | then
13 | we
14 | which
15 | with
16 | at
17 | from
18 | under
19 | such
20 | there
21 | other
22 | if
23 | in
24 | is
25 | it
26 | its
27 | can
28 | now
29 | an
30 | to
31 | but
32 | upon
33 | where
34 | these
35 | when
36 | whether
37 | also
38 | than
39 | after
40 | within
41 | before
42 | because
43 | without
44 | however
45 | therefore
46 | between
47 | those
48 | since
49 | into
50 | out
51 | some
52 | abs
53 | about
54 | accordingly
55 | affecting
56 | affected
57 | again
58 | against
59 | all
60 | almost
61 | already
62 | although
63 | always
64 | among
65 | any
66 | anyone
67 | apparently
68 | are
69 | arise
70 | aside
71 | away
72 | became
73 | become
74 | becomes
75 | been
76 | being
77 | both
78 | briefly
79 | came
80 | cannot
81 | certain
82 | certainly
83 | could
84 | etc
85 | does
86 | done
87 | during
88 | each
89 | either
90 | else
91 | ever
92 | every
93 | following
94 | found
95 | further
96 | gave
97 | gets
98 | give
99 | given
100 | giving
101 | gone
102 | got
103 | had
104 | hardly
105 | has
106 | have
107 | having
108 | here
109 | how
110 | itself
111 | just
112 | keep
113 | kept
114 | kg
115 | knowledge
116 | largely
117 | like
118 | made
119 | mainly
120 | make
121 | many
122 | mg
123 | might
124 | ml
125 | more
126 | most
127 | mostly
128 | much
129 | must
130 | nearly
131 | necessarily
132 | neither
133 | next
134 | none
135 | nor
136 | normally
137 | not
138 | noted
139 | obtain
140 | obtained
141 | often
142 | only
143 | our
144 | put
145 | owing
146 | particularly
147 | past
148 | perhaps
149 | please
150 | poorly
151 | possible
152 | possibly
153 | potentially
154 | predominantly
155 | present
156 | previously
157 | primarily
158 | probably
159 | prompt
160 | promptly
161 | quickly
162 | quite
163 | rather
164 | readily
165 | really
166 | recently
167 | refs
168 | regarding
169 | regardless
170 | relatively
171 | respectively
172 | resulted
173 | resulting
174 | results
175 | said
176 | same
177 | seem
178 | seen
179 | several
180 | shall
181 | should
182 | show
183 | showed
184 | shown
185 | shows
186 | significantly
187 | similar
188 | similarly
189 | slightly
190 | so
191 | sometime
192 | somewhat
193 | soon
194 | specifically
195 | state
196 | states
197 | strongly
198 | substantially
199 | successfully
200 | sufficiently
201 | their
202 | theirs
203 | them
204 | they
205 | though
206 | through
207 | throughout
208 | too
209 | toward
210 | unless
211 | until
212 | use
213 | used
214 | usefully
215 | usefulness
216 | using
217 | usually
218 | various
219 | very
220 | was
221 | were
222 | what
223 | while
224 | who
225 | whose
226 | why
227 | widely
228 | will
229 | would
230 | yet
231 | he
232 | she
233 |
234 |
--------------------------------------------------------------------------------
/dataTools/xlrd/doc/HISTORY.txt:
--------------------------------------------------------------------------------
1 | Version 0.3a1, 2005-05-15, first public release
2 |
3 | Version 0.4a1, 2005-09-07, released to Laurent T.
4 |
5 | * Book and sheet objects can now be pickled and unpickled.
6 | Instead of reading a large spreadsheet multiple times,
7 | consider pickling it once and loading the saved pickle;
8 | can be much faster. Thanks to Laurent Thioudellet for the
9 | enhancement request.
10 |
11 | * Using the mmap module can be turned off.
12 | But you would only do that for benchmarking purposes.
13 |
14 | * Handling NUMBER records has been made faster
15 |
16 | Version 0.5, 2006-02-07, released to Journyx
17 |
18 | * Now works with Python 2.1. Backporting to Python 2.1 was partially
19 | funded by Journyx - provider of timesheet and project accounting
20 | solutions (http://journyx.com/)
21 |
22 | * open_workbook() can be given the contents of a file
23 | instead of its name. Thanks to Remco Boerma for the suggestion.
24 |
25 | * New module attribute __VERSION__ (as a string; for example "0.5")
26 |
27 | * Minor enhancements to classification of formats as date or not-date.
28 |
29 | * Added warnings about files with inconsistent OLE compound document
30 | structures. Thanks to Roman V. Kiseliov (author of pyexcelerator)
31 | for the tip-off.
32 |
33 | Version 0.5.1, 2006-02-18, released to Journyx
34 |
35 | * Python 2.1 mmap requires file to be opened for update access.
36 | Added fall-back to read-only access withoup mmap if 2.1 open fails
37 | because "permission denied".
38 |
39 | Version 0.5.2a1, 2006-03-06
40 |
41 | * pyXLwriter writes DIMENSIONS record with antique opcode 0x0000
42 | instead of 0x0200; worked around
43 | * A file written by Gnumeric had zeroes in DIMENSIONS record
44 | but data in cell A1; worked around
45 |
46 | Version 0.5.2a2, 2006-03-09
47 |
48 | * Found that Gnumeric writes all DIMENSIONS records with nrows and ncols
49 | each 1 less than they should be (except when it clamps ncols at 256!),
50 | and pyXLwriter doesn't write ROW records. Cell memory pre-allocation was
51 | generalised to use ROW records if available with fall-back to DIMENSIONS records.
52 |
53 | Version 0.5.2a3, 2006-03-13
54 |
55 | * Gnumeric writes user-defined formats with format codes starting at
56 | 50 instead of 164; worked around.
57 |
58 | * Thanks to Didrik Pinte for reporting the need for xlrd to be more tolerant
59 | of the idiosyncracies of other software, for supplying sample files,
60 | and for performing alpha testing.
61 |
62 | * '_' character in a format should be treated like an escape character; fixed.
63 |
64 | * An "empty" formula result means a zero-length string, not an empty cell! Fixed.
65 |
66 | Version 0.5.2, 2006-03-14, public release
67 |
68 | * Updated version numbers, README, HISTORY.
69 |
--------------------------------------------------------------------------------
/dataTools/xlrd/doc/compdoc.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | The compdoc Module
6 |
7 |
8 | The compdoc Module
9 | Implements the mimimal functionality required
10 | to extract a "Workbook" or "Book" stream (as one big string)
11 | from an OLE2 Compound Document file.
12 |
Copyright © 2005-2006 Stephen John Machin, Lingfo Pty Ltd
13 | This module is part of the xlrd package, which is released under a BSD-style licence.
14 | Module Contents
15 |
16 | - CompDoc(mem, logfile=sys.stdout, DEBUG=0) (class) [#]
17 | -
18 |
Compound document handler.
19 |
20 | - mem
21 | -
22 | The raw contents of the file, as a string, or as an mmap.mmap() object. The
23 | only operation it needs to support is slicing.
24 |
25 | For more information about this class, see The CompDoc Class.
26 |
27 | - SIGNATURE (variable) [#]
28 | -
29 |
Magic cookie that should appear in the first 8 bytes of the file.
30 |
31 |
32 |
33 |
34 | - CompDoc(mem, logfile=sys.stdout, DEBUG=0) (class) [#]
35 | -
36 |
Compound document handler.
37 |
38 | - mem
39 | -
40 | The raw contents of the file, as a string, or as an mmap.mmap() object. The
41 | only operation it needs to support is slicing.
42 |
43 |
44 | - get_named_stream(qname) [#]
45 | -
46 |
Interrogate the compound document's directory; return the stream as a string if found, otherwise
47 | return None.
48 |
49 | - qname
50 | -
51 | Name of the desired stream e.g. u'Workbook'. Should be in Unicode or convertible thereto.
52 |
53 |
54 | - locate_named_stream(qname) [#]
55 | -
56 |
Interrogate the compound document's directory.
57 | If the named stream is not found, (None, 0, 0) will be returned.
58 | If the named stream is found and is contiguous within the original byte sequence ("mem")
59 | used when the document was opened,
60 | then (mem, offset_to_start_of_stream, length_of_stream) is returned.
61 | Otherwise a new string is built from the fragments and (new_string, 0, length_of_stream) is returned.
62 |
63 | - qname
64 | -
65 | Name of the desired stream e.g. u'Workbook'. Should be in Unicode or convertible thereto.
66 |
67 |
68 |
69 |
70 |
--------------------------------------------------------------------------------
/dataTools/xlrd/licences.py:
--------------------------------------------------------------------------------
1 | """
2 | Portions copyright (c) 2005-2006, Stephen John Machin, Lingfo Pty Ltd
3 | All rights reserved.
4 |
5 | Redistribution and use in source and binary forms, with or without
6 | modification, are permitted provided that the following conditions are met:
7 |
8 | 1. Redistributions of source code must retain the above copyright notice,
9 | this list of conditions and the following disclaimer.
10 |
11 | 2. Redistributions in binary form must reproduce the above copyright notice,
12 | this list of conditions and the following disclaimer in the documentation
13 | and/or other materials provided with the distribution.
14 |
15 | 3. None of the names of Stephen John Machin, Lingfo Pty Ltd and any
16 | contributors may be used to endorse or promote products derived from this
17 | software without specific prior written permission.
18 |
19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 | PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
23 | BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
29 | THE POSSIBILITY OF SUCH DAMAGE.
30 | """
31 |
32 | """
33 | /*-
34 | * Copyright (c) 2001 David Giffin.
35 | * All rights reserved.
36 | *
37 | * Based on the the Java version: Andrew Khan Copyright (c) 2000.
38 | *
39 | *
40 | * Redistribution and use in source and binary forms, with or without
41 | * modification, are permitted provided that the following conditions
42 | * are met:
43 | *
44 | * 1. Redistributions of source code must retain the above copyright
45 | * notice, this list of conditions and the following disclaimer.
46 | *
47 | * 2. Redistributions in binary form must reproduce the above copyright
48 | * notice, this list of conditions and the following disclaimer in
49 | * the documentation and/or other materials provided with the
50 | * distribution.
51 | *
52 | * 3. All advertising materials mentioning features or use of this
53 | * software must display the following acknowledgment:
54 | * "This product includes software developed by
55 | * David Giffin ."
56 | *
57 | * 4. Redistributions of any form whatsoever must retain the following
58 | * acknowledgment:
59 | * "This product includes software developed by
60 | * David Giffin ."
61 | *
62 | * THIS SOFTWARE IS PROVIDED BY DAVID GIFFIN ``AS IS'' AND ANY
63 | * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
64 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
65 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL DAVID GIFFIN OR
66 | * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
67 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
68 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
69 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
70 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
71 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
72 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
73 | * OF THE POSSIBILITY OF SUCH DAMAGE.
74 | */
75 | """
76 |
--------------------------------------------------------------------------------
/dataTools/xlrd/doc/README.txt:
--------------------------------------------------------------------------------
1 | Python package "xlrd"
2 | ---------------------
3 |
4 | Purpose:
5 |
6 | Provide a library for developers to use to extract data
7 | from Microsoft Excel (tm) spreadsheet files.
8 |
9 | It is not an end-user tool.
10 |
11 | Author: John Machin, Lingfo Pty Ltd (sjmachin@lexicon.net)
12 |
13 | Licence: BSD-style (see licences.py)
14 |
15 | Version of xlrd: 0.5.2
16 |
17 | Version of Python required: 2.1 or later.
18 |
19 | External modules required:
20 | The package itself is pure Python with no dependencies on modules or packages
21 | outside the standard Python distribution. To run the demo script runxlrd.py with
22 | Python 2.2 or 2.1 requires the Optik module (version 1.4.1 or later) from
23 | http://optik.sourceforge.net/
24 |
25 | Versions of Excel supported:
26 | 2004, 2002, XP, 2000, 97, 95, 5.0, 4.0, 3.0.
27 | 2.x could be done readily enough if any demand.
28 |
29 | Outside the current scope: xlrd will safely and reliably ignore any of these
30 | if present in the file:
31 | * Anything to do with the on-screen presentation of the data (fonts, panes,
32 | column widths, row heights, ...)
33 | * Charts, Macros, Pictures, any other embedded object. WARNING: currently
34 | this includes embedded worksheets.
35 | * VBA modules
36 | * Formulas (results of formula calculations are extracted, of course).
37 | * Comments
38 | * Hyperlinks
39 |
40 | Unlikely to be done:
41 | * Handling password-protected (encrypted) files.
42 |
43 | Particular emphasis (refer docs for details):
44 |
45 | * Operability across OS, regions, platforms
46 |
47 | * Handling Excel's date problems, including the Windows / Macintosh
48 | four-year differential.
49 |
50 | Quick start:
51 |
52 | import xlrd
53 | book = xlrd.open_workbook("myfile.xls")
54 | print "The number of worksheets is", book.nsheets
55 | print "Worksheet name(s):", book.sheet_names()
56 | sh = book.sheet_by_index(0)
57 | print sh.name, sh.nrows, sh.ncols
58 | print "Cell D30 is", sh.cell_value(rowx=29, colx=3)
59 | for rx in range(sh.nrows):
60 | print sh.row(rx)
61 | # Refer to docs for more details.
62 | # Feedback on API is welcomed.
63 |
64 | Installation:
65 |
66 | * On Windows: use the installer.
67 |
68 | * Any OS: Starting with either the .zip file or the .tar.gz file, unzip into a suitable directory,
69 | chdir to that directory, then do "python setup.py install".
70 |
71 | Where did it go?
72 |
73 | If is your Python installation directory:
74 | the main files are in /Lib/site-packages/xlrd
75 | (except for Python 2.1 where they will be in /xlrd),
76 | the docs are in the doc subdirectory,
77 | and there's a sample script: /Scripts/runxlrd.py
78 |
79 | If os.sep != "/": make the appropriate adjustments.
80 |
81 | Where did it come from?
82 |
83 | http://www.lexicon.net/sjmachin/xlrd.htm
84 |
85 | Another quick start: This will show the first, second and last rows of each
86 | sheet in each file:
87 |
88 | OS-prompt>python /scripts/runxlrd.py 3rows *blah*.xls
89 |
90 | Acknowledgements:
91 |
92 | * This package started life as a translation from C into Python
93 | of parts of a utility called "xlreader" developed by David Giffin.
94 | "This product includes software developed by David Giffin ."
95 |
96 | * OpenOffice.org has truly excellent documentation of the Microsoft Excel file formats
97 | and Compound Document file format, authored by Daniel Rentz. See http://sc.openoffice.org
98 |
99 | * U+5F20 U+654F: over a decade of inspiration, support, and interesting decoding opportunities.
100 |
101 | * Ksenia Marasanova: sample Macintosh and non-Latin1 files, alpha testing
102 |
103 | * Backporting to Python 2.1 was partially funded by Journyx - provider of
104 | timesheet and project accounting solutions (http://journyx.com/).
105 |
106 | * << a growing list of names; see HISTORY.txt >>: feedback, testing, test files, ...
--------------------------------------------------------------------------------
/preprocess/stopWords.data:
--------------------------------------------------------------------------------
1 | a
2 | a's
3 | able
4 | about
5 | above
6 | according
7 | accordingly
8 | across
9 | actually
10 | after
11 | afterwards
12 | again
13 | against
14 | ain't
15 | all
16 | allow
17 | allows
18 | almost
19 | alone
20 | along
21 | already
22 | also
23 | although
24 | always
25 | am
26 | among
27 | amongst
28 | an
29 | and
30 | another
31 | any
32 | anybody
33 | anyhow
34 | anyone
35 | anything
36 | anyway
37 | anyways
38 | anywhere
39 | apart
40 | appear
41 | appreciate
42 | appropriate
43 | are
44 | aren't
45 | around
46 | as
47 | aside
48 | ask
49 | asking
50 | associated
51 | at
52 | available
53 | away
54 | awfully
55 | b
56 | be
57 | became
58 | because
59 | become
60 | becomes
61 | becoming
62 | been
63 | before
64 | beforehand
65 | behind
66 | being
67 | believe
68 | below
69 | beside
70 | besides
71 | best
72 | better
73 | between
74 | beyond
75 | both
76 | brief
77 | but
78 | by
79 | c
80 | c'mon
81 | c's
82 | came
83 | can
84 | can't
85 | cannot
86 | cant
87 | cause
88 | causes
89 | certain
90 | certainly
91 | changes
92 | clearly
93 | co
94 | com
95 | come
96 | comes
97 | concerning
98 | consequently
99 | consider
100 | considering
101 | contain
102 | containing
103 | contains
104 | corresponding
105 | could
106 | couldn't
107 | course
108 | currently
109 | d
110 | definitely
111 | described
112 | despite
113 | did
114 | didn't
115 | different
116 | do
117 | does
118 | doesn't
119 | doing
120 | don't
121 | done
122 | down
123 | downwards
124 | during
125 | e
126 | each
127 | edu
128 | eg
129 | eight
130 | either
131 | else
132 | elsewhere
133 | enough
134 | entirely
135 | especially
136 | et
137 | etc
138 | even
139 | ever
140 | every
141 | everybody
142 | everyone
143 | everything
144 | everywhere
145 | ex
146 | exactly
147 | example
148 | except
149 | f
150 | far
151 | few
152 | fifth
153 | first
154 | five
155 | followed
156 | following
157 | follows
158 | for
159 | former
160 | formerly
161 | forth
162 | four
163 | from
164 | further
165 | furthermore
166 | g
167 | get
168 | gets
169 | getting
170 | given
171 | gives
172 | go
173 | goes
174 | going
175 | gone
176 | got
177 | gotten
178 | greetings
179 | h
180 | had
181 | hadn't
182 | happens
183 | hardly
184 | has
185 | hasn't
186 | have
187 | haven't
188 | having
189 | he
190 | he's
191 | hello
192 | help
193 | hence
194 | her
195 | here
196 | here's
197 | hereafter
198 | hereby
199 | herein
200 | hereupon
201 | hers
202 | herself
203 | hi
204 | him
205 | himself
206 | his
207 | hither
208 | hopefully
209 | how
210 | howbeit
211 | however
212 | i
213 | i'd
214 | i'll
215 | i'm
216 | i've
217 | ie
218 | if
219 | ignored
220 | immediate
221 | in
222 | inasmuch
223 | inc
224 | indeed
225 | indicate
226 | indicated
227 | indicates
228 | inner
229 | insofar
230 | instead
231 | into
232 | inward
233 | is
234 | isn't
235 | it
236 | it'd
237 | it'll
238 | it's
239 | its
240 | itself
241 | j
242 | just
243 | k
244 | keep
245 | keeps
246 | kept
247 | know
248 | knows
249 | known
250 | l
251 | last
252 | lately
253 | later
254 | latter
255 | latterly
256 | least
257 | less
258 | lest
259 | let
260 | let's
261 | like
262 | liked
263 | likely
264 | little
265 | look
266 | looking
267 | looks
268 | ltd
269 | m
270 | mainly
271 | many
272 | may
273 | maybe
274 | me
275 | mean
276 | meanwhile
277 | merely
278 | might
279 | more
280 | moreover
281 | most
282 | mostly
283 | much
284 | must
285 | my
286 | myself
287 | n
288 | name
289 | namely
290 | nd
291 | near
292 | nearly
293 | necessary
294 | need
295 | needs
296 | neither
297 | never
298 | nevertheless
299 | new
300 | next
301 | nine
302 | no
303 | nobody
304 | non
305 | none
306 | noone
307 | nor
308 | normally
309 | not
310 | nothing
311 | novel
312 | now
313 | nowhere
314 | o
315 | obviously
316 | of
317 | off
318 | often
319 | oh
320 | ok
321 | okay
322 | old
323 | on
324 | once
325 | one
326 | ones
327 | only
328 | onto
329 | or
330 | other
331 | others
332 | otherwise
333 | ought
334 | our
335 | ours
336 | ourselves
337 | out
338 | outside
339 | over
340 | overall
341 | own
342 | p
343 | particular
344 | particularly
345 | per
346 | perhaps
347 | placed
348 | please
349 | plus
350 | possible
351 | presumably
352 | probably
353 | provides
354 | q
355 | que
356 | quite
357 | qv
358 | r
359 | rather
360 | rd
361 | re
362 | really
363 | reasonably
364 | regarding
365 | regardless
366 | regards
367 | relatively
368 | respectively
369 | right
370 | s
371 | said
372 | same
373 | saw
374 | say
375 | saying
376 | says
377 | second
378 | secondly
379 | see
380 | seeing
381 | seem
382 | seemed
383 | seeming
384 | seems
385 | seen
386 | self
387 | selves
388 | sensible
389 | sent
390 | serious
391 | seriously
392 | seven
393 | several
394 | shall
395 | she
396 | should
397 | shouldn't
398 | since
399 | six
400 | so
401 | some
402 | somebody
403 | somehow
404 | someone
405 | something
406 | sometime
407 | sometimes
408 | somewhat
409 | somewhere
410 | soon
411 | sorry
412 | specified
413 | specify
414 | specifying
415 | still
416 | sub
417 | such
418 | sup
419 | sure
420 | t
421 | t's
422 | take
423 | taken
424 | tell
425 | tends
426 | th
427 | than
428 | thank
429 | thanks
430 | thanx
431 | that
432 | that's
433 | thats
434 | the
435 | their
436 | theirs
437 | them
438 | themselves
439 | then
440 | thence
441 | there
442 | there's
443 | thereafter
444 | thereby
445 | therefore
446 | therein
447 | theres
448 | thereupon
449 | these
450 | they
451 | they'd
452 | they'll
453 | they're
454 | they've
455 | think
456 | third
457 | this
458 | thorough
459 | thoroughly
460 | those
461 | though
462 | three
463 | through
464 | throughout
465 | thru
466 | thus
467 | to
468 | together
469 | too
470 | took
471 | toward
472 | towards
473 | tried
474 | tries
475 | truly
476 | try
477 | trying
478 | twice
479 | two
480 | u
481 | un
482 | under
483 | unfortunately
484 | unless
485 | unlikely
486 | until
487 | unto
488 | up
489 | upon
490 | us
491 | use
492 | used
493 | useful
494 | uses
495 | using
496 | usually
497 | uucp
498 | v
499 | value
500 | various
501 | very
502 | via
503 | viz
504 | vs
505 | w
506 | want
507 | wants
508 | was
509 | wasn't
510 | way
511 | we
512 | we'd
513 | we'll
514 | we're
515 | we've
516 | welcome
517 | well
518 | went
519 | were
520 | weren't
521 | what
522 | what's
523 | whatever
524 | when
525 | whence
526 | whenever
527 | where
528 | where's
529 | whereafter
530 | whereas
531 | whereby
532 | wherein
533 | whereupon
534 | wherever
535 | whether
536 | which
537 | while
538 | whither
539 | who
540 | who's
541 | whoever
542 | whole
543 | whom
544 | whose
545 | why
546 | will
547 | willing
548 | wish
549 | with
550 | within
551 | without
552 | won't
553 | wonder
554 | would
555 | would
556 | wouldn't
557 | x
558 | y
559 | yes
560 | yet
561 | you
562 | you'd
563 | you'll
564 | you're
565 | you've
566 | your
567 | yours
568 | yourself
569 | yourselves
570 | z
571 | zero
572 |
--------------------------------------------------------------------------------
/crawlers/twitterCrawler.py:
--------------------------------------------------------------------------------
1 | """
2 | This tweeter crawler is built on top of Django
3 |
4 | Todo: update the MVC model (use another MVC other than Django)
5 | Make it accessible and usable
6 | It is not usable in this form
7 | """
8 |
9 |
10 |
11 |
12 |
13 | # We setup the enviroment variable here
14 |
15 | from django.core.management import setup_environ
16 | import settings
17 | import feedparser
18 |
19 | setup_environ(settings)
20 |
21 | # From now you can use ay Django elements
22 | import time
23 | from urllib2 import urlopen
24 | from BeautifulSoup import BeautifulSoup
25 | import nltk
26 | from nltk.stem.porter import *
27 | stemmer = PorterStemmer()
28 | stopwords = nltk.corpus.stopwords.words('english')
29 | # did not work stopwords.append("\\") #removing \ it cause MySQL problems
30 |
31 | def remove_stopwords(text):
32 | content = ''
33 | text = nltk.word_tokenize(text)
34 | for w in text:
35 | if w.lower() not in stopwords:
36 | content = content + stemmer.stem(w.lower()) + ' '
37 | return content
38 |
39 | def remove_junk(text,wordlist):
40 | #removes the words that are not in the feature vector
41 | content = ''
42 | print "Text============", text
43 | print "wordlist ==========", wordlist
44 | text = nltk.word_tokenize(text)
45 | for w in text:
46 | if w in wordlist:
47 | content = content + w + ' '
48 | print "junk removed ==========", content
49 | return content
50 | def strip_ml_tags(in_text):
51 | """Description: Removes all HTML/XML-like tags from the input text.
52 | Inputs: s --> string of text
53 | Outputs: text string without the tags
54 |
55 | # doctest unit testing framework
56 |
57 | >>> test_text = "Keep this Text KEEP 123"
58 | >>> strip_ml_tags(test_text)
59 | 'Keep this Text KEEP 123'
60 | """
61 | # convert in_text to a mutable object (e.g. list)
62 | s_list = list(in_text)
63 | i,j = 0,0
64 |
65 | while i < len(s_list):
66 | # iterate until a left-angle bracket is found
67 | if s_list[i] == '<':
68 | while s_list[i] != '>':
69 | # pop everything from the the left-angle bracket until the right-angle bracket
70 | s_list.pop(i)
71 |
72 | # pops the right-angle bracket, too
73 | s_list.pop(i)
74 | else:
75 | i=i+1
76 |
77 | # convert the list back into text
78 | join_char=''
79 | return join_char.join(s_list)
80 |
81 |
82 | from socialspace.v1.models import TweeterFeed, TweetsTokenized, TweetsFeaturized
83 | Tweeps = TweeterFeed.objects.all().filter(approvedStatud=1)
84 | print Tweeps
85 | MyLongString = ''
86 | for i in Tweeps:
87 | print i.tweeterID
88 | print i.id
89 | print '-----------'
90 | # Replace USERNAME with your twitter username
91 | url = u'http://twitter.com/'+ i.tweeterID+'?page=%s'
92 |
93 | LongStringForThisProfile = ''
94 |
95 | for x in range(3): #getting only 3 pages
96 | try:
97 | f = urlopen(url % x)
98 | soup = BeautifulSoup(f.read())
99 | f.close()
100 | tweets = soup.findAll('span', {'class': 'entry-content'})
101 | if len(tweets) == 0:
102 | break
103 | for x in tweets:
104 | a = strip_ml_tags(x.renderContents())
105 | #print nltk.word_tokenize(remove_stopwords(a))
106 | b=unicode(remove_stopwords(a))
107 | print b
108 | MyLongString = MyLongString + b + ' '
109 | LongStringForThisProfile = LongStringForThisProfile + b + ' '
110 | # being nice to twitter's servers
111 | time.sleep(1)
112 | except:
113 | print "urllib error gateway"
114 |
115 | try:
116 | ThisTokenized = TweetsTokenized.objects.get(tweeterID=i.id)
117 | print ThisTokenized
118 | ThisTokenized.featureVector = LongStringForThisProfile
119 | ThisTokenized.save()
120 |
121 | except:
122 | # making a new entry in the database
123 | t1=TweetsTokenized(tweeterID=i, featureVector = LongStringForThisProfile)
124 | print "Long string for this tweeter===========", LongStringForThisProfile
125 | t1.save()
126 | print "Making a new row"
127 |
128 | myltext = nltk.Text(nltk.word_tokenize(MyLongString))
129 | print myltext
130 | fdist = nltk.FreqDist(myltext)
131 | vocabulary = fdist.keys()
132 | #print vocabulary[:50]
133 | #print fdist
134 |
135 | #getting top 200 words
136 | numberOfTopWords = 200
137 | print "--------------------------"
138 | print vocabulary[:numberOfTopWords]
139 | finalFeatureWords = vocabulary[:numberOfTopWords]
140 | print "--------------------------"
141 |
142 | from numpy import zeros
143 | print zeros((len(Tweeps),numberOfTopWords))
144 |
145 | FeatureMatrix = zeros((len(Tweeps),numberOfTopWords))
146 | mycounter=0
147 | for i in Tweeps:
148 | print i.tweeterID
149 | print i.id
150 | print '-----------'
151 |
152 | ThisTokenized = TweetsTokenized.objects.get(tweeterID=i.id)
153 | myoutput = remove_junk(ThisTokenized.featureVector,finalFeatureWords)
154 |
155 | print " finaloutput===================", myoutput
156 | finaloutput = nltk.word_tokenize(myoutput)
157 | print "Freq Distifiesd=================", nltk.FreqDist(finaloutput)
158 | myFeatureVector = []
159 | finaloutputfreq = nltk.FreqDist(finaloutput)
160 | for key in finalFeatureWords:
161 | myFeatureVector.append(finaloutputfreq[key])
162 | print "Key=",key," word = ", finaloutputfreq[key]
163 | print "myFeatureVector==================", myFeatureVector
164 | print "------------------------------------------------"
165 | FeatureMatrix[mycounter] = myFeatureVector
166 | mycounter = mycounter+1
167 | try:
168 | ThisFeaturized = TweetsFeaturized.objects.get(tweeterID=i.id)
169 | ThisFeaturized.featureVector = myFeatureVector
170 | ThisFeaturized.save()
171 |
172 | except:
173 | # making a new entry in the database
174 | t1=TweetsFeaturized(tweeterID=i, featureVector = myFeatureVector)
175 | t1.save()
176 | print "Making a new row"
177 |
178 | print "--------------------------------------------"
179 | print FeatureMatrix
180 |
181 | from pca_module import *
182 | T, P, explained_var = PCA_svd(FeatureMatrix, standardize=True)
183 | print "T (scores)=", T
184 | print "--------------------------------------------"
185 | print "P (loadings)=", P
186 | print "--------------------------------------------"
187 | print "explained_var (explained_var)=", explained_var
188 | print "--------------------------------------------"
189 | print T.shape
190 | print P.shape
191 |
192 | import matplotlib.pyplot as plt
193 |
194 |
195 |
196 | fig = plt.figure(num=None, figsize=(24,18), dpi=90)
197 | ax = fig.add_subplot(111) #,axisbg='darkslategray'
198 | x= T[0,:]
199 | y=T[1,:]
200 |
201 | for i in range(0,len(Tweeps)):
202 | plt.annotate(Tweeps[i], (x[i],y[i]), xytext=None, bbox=dict(boxstyle="round", fc="0.8"),size=10, va="center")
203 | #plt.annotate(texts[i], (x[i],y[i]), xytext=None, bbox=dict(boxstyle="round", fc="0.8"),size=20, va="center")
204 |
205 | ax.scatter(x, y, s=950, c=[1,0,0], marker='o', cmap=None, norm=None,
206 | vmin=None, vmax=None, alpha=0.45, linewidths=None,
207 | verts=None)
208 |
209 |
210 | import time
211 | import datetime
212 | n = datetime.datetime.now()
213 |
214 |
215 | filestring = "/home/siamak/media/archive/myfile-"+str(time.mktime(n.timetuple()))+".png"
216 | plt.savefig(filestring)
217 | filestring = "/home/siamak/media/index.png"
218 | plt.savefig(filestring)
219 | #plt.show()
220 |
--------------------------------------------------------------------------------
/dataTools/xlrd/biffh.py:
--------------------------------------------------------------------------------
1 | ##
2 | # Support module for the xlrd package.
3 | ##
4 |
5 | DEBUG = 0
6 |
7 | from struct import unpack
8 | import sys
9 |
10 | class XLRDError(Exception):
11 | pass
12 |
13 | FUN, FDT, FNU, FGE, FTX = range(5) # unknown, date, number, general, text
14 | DATEFORMAT = FDT
15 | NUMBERFORMAT = FNU
16 |
17 | XL_CELL_EMPTY, XL_CELL_TEXT, XL_CELL_NUMBER, XL_CELL_DATE, XL_CELL_BOOLEAN, XL_CELL_ERROR = range(6)
18 |
19 | biff_text_from_num = {
20 | 20: "2",
21 | 30: "3",
22 | 40: "4S",
23 | 45: "4W",
24 | 50: "5",
25 | 70: "7",
26 | 80: "8",
27 | 85: "8X",
28 | }
29 |
30 | ##
31 | # This dictionary can be used to produce a text version of the internal codes
32 | # that Excel uses for error cells. Here are its contents:
33 | #
34 | # 0x00: '#NULL!', # Intersection of two cell ranges is empty
35 | # 0x07: '#DIV/0!', # Division by zero
36 | # 0x0F: '#VALUE!', # Wrong type of operand
37 | # 0x17: '#REF!', # Illegal or deleted cell reference
38 | # 0x1D: '#NAME?', # Wrong function or range name
39 | # 0x24: '#NUM!', # Value range overflow
40 | # 0x2A: '#N/A!', # Argument or function not available
41 | #
42 |
43 | error_text_from_code = {
44 | 0x00: '#NULL!', # Intersection of two cell ranges is empty
45 | 0x07: '#DIV/0!', # Division by zero
46 | 0x0F: '#VALUE!', # Wrong type of operand
47 | 0x17: '#REF!', # Illegal or deleted cell reference
48 | 0x1D: '#NAME?', # Wrong function or range name
49 | 0x24: '#NUM!', # Value range overflow
50 | 0x2A: '#N/A!', # Argument or function not available
51 | }
52 |
53 | BIFF_FIRST_UNICODE = 80
54 |
55 | XL_WORKBOOK_GLOBALS = WBKBLOBAL = 0x5
56 | XL_WORKBOOK_GLOBALS_4W = 0x100
57 | XL_WORKSHEET = WRKSHEET = 0x10
58 |
59 | XL_BOUNDSHEET_WORKSHEET = 0x00
60 | XL_BOUNDSHEET_CHART = 0x02
61 | XL_BOUNDSHEET_VB_MODULE = 0x06
62 |
63 | # XL_RK2 = 0x7e
64 | XL_ARRAY = 0x221
65 | XL_BOF = 0x809
66 | XL_BOOLERR = 0x205
67 | XL_BOUNDSHEET = 0x85
68 | XL_BUILTINFMTCOUNT = 0x56
69 | XL_CODEPAGE = 0x42
70 | XL_CONTINUE = 0x3c
71 | XL_COUNTRY = 0x8C
72 | XL_DATEMODE = 0x22
73 | XL_DIMENSION = 0x200
74 | XL_DIMENSION2 = 0x0
75 | XL_EOF = 0x0a
76 | XL_EXTSST = 0xff
77 | XL_FILEPASS = 0x2f
78 | XL_FORMAT = 0x41e
79 | XL_FORMAT2 = 0x1E # BIFF2, BIFF3
80 | XL_FORMULA = 0x6
81 | XL_FORMULA3 = 0x206
82 | XL_FORMULA4 = 0x406
83 | XL_INDEX = 0x20b
84 | XL_LABEL = 0x204
85 | XL_LABEL2 = 0x04
86 | XL_LABELSST = 0xfd
87 | XL_MSO_DRAWING = 0x00EC
88 | XL_MSO_DRAWING_GROUP = 0x00EB
89 | XL_MSO_DRAWING_SELECTION = 0x00ED
90 | XL_MULRK = 0xbd
91 | XL_NAME = 0x18
92 | XL_NOTE = 0x1c
93 | XL_NUMBER = 0x203
94 | XL_OBJ = 0x5D
95 | XL_RK = 0x27e
96 | XL_ROW = 0x208
97 | XL_RSTRING = 0xd6
98 | XL_SHEETHDR = 0x8F # BIFF4W only
99 | XL_SHEETSOFFSET = 0x8E # BIFF4W only
100 | XL_SHRFMLA = 0x04bc
101 | XL_SST = 0xfc
102 | XL_STRING = 0x207
103 | XL_TABLEOP = 0x236
104 | XL_TABLEOP2 = 0x37
105 | XL_TABLEOP_B2 = 0x36
106 | XL_TXO = 0x1b6
107 | XL_UNCALCED = 0x5e
108 | XL_UNKNOWN = 0xffff
109 | XL_WRITEACCESS = 0x5C
110 | XL_XF = 0xe0
111 | XL_XF2 = 0x0043 # BIFF2 version of XF record
112 | XL_XF3 = 0x0243 # BIFF3 version of XF record
113 | XL_XF4 = 0x0443 # BIFF4 version of XF record
114 |
115 | boflen = {0x0809: 8, 0x0409: 6, 0x0209: 6, 0x0009: 4}
116 | bofcodes = (0x0809, 0x0409, 0x0209, 0x0009)
117 |
118 | _cell_opcode_list = [
119 | XL_BOOLERR,
120 | XL_FORMULA,
121 | XL_FORMULA3,
122 | XL_FORMULA4,
123 | XL_LABEL,
124 | XL_LABELSST,
125 | XL_MULRK,
126 | XL_NUMBER,
127 | XL_RK,
128 | XL_RSTRING,
129 | ]
130 | _cell_opcode_dict = {}
131 | for _cell_opcode in _cell_opcode_list:
132 | _cell_opcode_dict[_cell_opcode] = 1
133 | is_cell_opcode = _cell_opcode_dict.has_key
134 |
135 | def unpack_string(data, pos, encoding, lenlen=1):
136 | nchars = unpack('<' + 'BH'[lenlen-1], data[pos:pos+lenlen])[0]
137 | pos += lenlen
138 | return unicode(data[pos:pos+nchars], encoding)
139 |
140 | def unpack_unicode(data, pos, lenlen=2):
141 | "Return unicode_strg"
142 | nchars = unpack('<' + 'BH'[lenlen-1], data[pos:pos+lenlen])[0]
143 | pos += lenlen
144 | options = ord(data[pos])
145 | pos += 1
146 | # phonetic = options & 0x04
147 | # richtext = options & 0x08
148 | if options & 0x08:
149 | # rt = unpack(' endpos=%d pos=%d endsub=%d substrg=%r' \
346 | % (ofs, dlen, base, endpos, pos, endsub, substrg)
347 | break
348 | hexd = ''.join(["%02x " % ord(c) for c in substrg])
349 | chard = ''
350 | for c in substrg:
351 | if c == '\0':
352 | c = '~'
353 | elif not (' ' <= c <= '~'):
354 | c = '?'
355 | chard += c
356 | print >> fout, "%5d: %-48s %s" % (base+pos-ofs, hexd, chard)
357 | pos = endsub
358 |
359 |
360 | def biff_dump(mem, stream_offset, stream_len, base=0, fout=sys.stdout):
361 | pos = stream_offset
362 | stream_end = stream_offset + stream_len
363 | adj = base - stream_offset
364 | dummies = 0
365 | while stream_end - pos >= 4:
366 | rc, length = unpack('> fout, "%5d: ---- %d zero bytes skipped ----" % (adj+savpos, dummies)
382 | dummies = 0
383 | recname = biff_rec_name_dict.get(rc, '')
384 | print >> fout, "%5d: %04x %s len = %04x (%d)" % (adj+pos, rc, recname, length, length)
385 | pos += 4
386 | hex_char_dump(mem, pos, length, adj+pos, fout)
387 | pos += length
388 | if dummies:
389 | print >> fout, "%5d: ---- %d zero bytes skipped ----" % (adj+savpos, dummies, )
390 | if pos < stream_end:
391 | print >> fout, "%5d: ---- Misc bytes at end ----" % (adj + pos,)
392 | hex_char_dump(mem, pos, stream_end-pos, adj + pos, fout)
393 | elif pos > stream_end:
394 | print >> fout, "Last dumped record has length (%d) that is too large" % length
395 |
396 | encoding_from_codepage = {
397 | 1200 : 'utf_16_le',
398 | 10000: 'mac_roman',
399 | 10006: 'mac_greek', # guess
400 | 10007: 'mac_cyrillic', # guess
401 | 10029: 'mac_latin2', # guess
402 | 10079: 'mac_iceland', # guess
403 | 10081: 'mac_turkish', # guess
404 | 32768: 'mac_roman',
405 | 32769: 'cp1252',
406 | }
407 | # some more guessing, for Indic scripts
408 | # codepage 57000 range:
409 | # 2 Devanagari [0]
410 | # 3 Bengali [1]
411 | # 4 Tamil [5]
412 | # 5 Telegu [6]
413 | # 6 Assamese [1] c.f. Bengali
414 | # 7 Oriya [4]
415 | # 8 Kannada [7]
416 | # 9 Malayalam [8]
417 | # 10 Gujarati [3]
418 | # 11 Gurmukhi [2]
--------------------------------------------------------------------------------
/preprocess/porterStemmer.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 |
3 | """Porter Stemming Algorithm
4 | This is the Porter stemming algorithm, ported to Python from the
5 | version coded up in ANSI C by the author. It may be be regarded
6 | as canonical, in that it follows the algorithm presented in
7 |
8 | Porter, 1980, An algorithm for suffix stripping, Program, Vol. 14,
9 | no. 3, pp 130-137,
10 |
11 | only differing from it at the points maked --DEPARTURE-- below.
12 |
13 | See also http://www.tartarus.org/~martin/PorterStemmer
14 |
15 | The algorithm as described in the paper could be exactly replicated
16 | by adjusting the points of DEPARTURE, but this is barely necessary,
17 | because (a) the points of DEPARTURE are definitely improvements, and
18 | (b) no encoding of the Porter stemmer I have seen is anything like
19 | as exact as this version, even with the points of DEPARTURE!
20 |
21 | Vivake Gupta (v@nano.com)
22 |
23 | Release 1: January 2001
24 |
25 | Further adjustments by Santiago Bruno (bananabruno@gmail.com)
26 | to allow word input not restricted to one word per line, leading
27 | to:
28 |
29 | release 2: July 2008
30 | """
31 |
32 | import sys
33 |
34 | class PorterStemmer:
35 |
36 | def __init__(self):
37 | """The main part of the stemming algorithm starts here.
38 | b is a buffer holding a word to be stemmed. The letters are in b[k0],
39 | b[k0+1] ... ending at b[k]. In fact k0 = 0 in this demo program. k is
40 | readjusted downwards as the stemming progresses. Zero termination is
41 | not in fact used in the algorithm.
42 |
43 | Note that only lower case sequences are stemmed. Forcing to lower case
44 | should be done before stem(...) is called.
45 | """
46 |
47 | self.b = "" # buffer for word to be stemmed
48 | self.k = 0
49 | self.k0 = 0
50 | self.j = 0 # j is a general offset into the string
51 |
52 | def cons(self, i):
53 | """cons(i) is TRUE <=> b[i] is a consonant."""
54 | if self.b[i] == 'a' or self.b[i] == 'e' or self.b[i] == 'i' or self.b[i] == 'o' or self.b[i] == 'u':
55 | return 0
56 | if self.b[i] == 'y':
57 | if i == self.k0:
58 | return 1
59 | else:
60 | return (not self.cons(i - 1))
61 | return 1
62 |
63 | def m(self):
64 | """m() measures the number of consonant sequences between k0 and j.
65 | if c is a consonant sequence and v a vowel sequence, and <..>
66 | indicates arbitrary presence,
67 |
68 | gives 0
69 | vc gives 1
70 | vcvc gives 2
71 | vcvcvc gives 3
72 | ....
73 | """
74 | n = 0
75 | i = self.k0
76 | while 1:
77 | if i > self.j:
78 | return n
79 | if not self.cons(i):
80 | break
81 | i = i + 1
82 | i = i + 1
83 | while 1:
84 | while 1:
85 | if i > self.j:
86 | return n
87 | if self.cons(i):
88 | break
89 | i = i + 1
90 | i = i + 1
91 | n = n + 1
92 | while 1:
93 | if i > self.j:
94 | return n
95 | if not self.cons(i):
96 | break
97 | i = i + 1
98 | i = i + 1
99 |
100 | def vowelinstem(self):
101 | """vowelinstem() is TRUE <=> k0,...j contains a vowel"""
102 | for i in range(self.k0, self.j + 1):
103 | if not self.cons(i):
104 | return 1
105 | return 0
106 |
107 | def doublec(self, j):
108 | """doublec(j) is TRUE <=> j,(j-1) contain a double consonant."""
109 | if j < (self.k0 + 1):
110 | return 0
111 | if (self.b[j] != self.b[j-1]):
112 | return 0
113 | return self.cons(j)
114 |
115 | def cvc(self, i):
116 | """cvc(i) is TRUE <=> i-2,i-1,i has the form consonant - vowel - consonant
117 | and also if the second c is not w,x or y. this is used when trying to
118 | restore an e at the end of a short e.g.
119 |
120 | cav(e), lov(e), hop(e), crim(e), but
121 | snow, box, tray.
122 | """
123 | if i < (self.k0 + 2) or not self.cons(i) or self.cons(i-1) or not self.cons(i-2):
124 | return 0
125 | ch = self.b[i]
126 | if ch == 'w' or ch == 'x' or ch == 'y':
127 | return 0
128 | return 1
129 |
130 | def ends(self, s):
131 | """ends(s) is TRUE <=> k0,...k ends with the string s."""
132 | length = len(s)
133 | if s[length - 1] != self.b[self.k]: # tiny speed-up
134 | return 0
135 | if length > (self.k - self.k0 + 1):
136 | return 0
137 | if self.b[self.k-length+1:self.k+1] != s:
138 | return 0
139 | self.j = self.k - length
140 | return 1
141 |
142 | def setto(self, s):
143 | """setto(s) sets (j+1),...k to the characters in the string s, readjusting k."""
144 | length = len(s)
145 | self.b = self.b[:self.j+1] + s + self.b[self.j+length+1:]
146 | self.k = self.j + length
147 |
148 | def r(self, s):
149 | """r(s) is used further down."""
150 | if self.m() > 0:
151 | self.setto(s)
152 |
153 | def step1ab(self):
154 | """step1ab() gets rid of plurals and -ed or -ing. e.g.
155 |
156 | caresses -> caress
157 | ponies -> poni
158 | ties -> ti
159 | caress -> caress
160 | cats -> cat
161 |
162 | feed -> feed
163 | agreed -> agree
164 | disabled -> disable
165 |
166 | matting -> mat
167 | mating -> mate
168 | meeting -> meet
169 | milling -> mill
170 | messing -> mess
171 |
172 | meetings -> meet
173 | """
174 | if self.b[self.k] == 's':
175 | if self.ends("sses"):
176 | self.k = self.k - 2
177 | elif self.ends("ies"):
178 | self.setto("i")
179 | elif self.b[self.k - 1] != 's':
180 | self.k = self.k - 1
181 | if self.ends("eed"):
182 | if self.m() > 0:
183 | self.k = self.k - 1
184 | elif (self.ends("ed") or self.ends("ing")) and self.vowelinstem():
185 | self.k = self.j
186 | if self.ends("at"): self.setto("ate")
187 | elif self.ends("bl"): self.setto("ble")
188 | elif self.ends("iz"): self.setto("ize")
189 | elif self.doublec(self.k):
190 | self.k = self.k - 1
191 | ch = self.b[self.k]
192 | if ch == 'l' or ch == 's' or ch == 'z':
193 | self.k = self.k + 1
194 | elif (self.m() == 1 and self.cvc(self.k)):
195 | self.setto("e")
196 |
197 | def step1c(self):
198 | """step1c() turns terminal y to i when there is another vowel in the stem."""
199 | if (self.ends("y") and self.vowelinstem()):
200 | self.b = self.b[:self.k] + 'i' + self.b[self.k+1:]
201 |
202 | def step2(self):
203 | """step2() maps double suffices to single ones.
204 | so -ization ( = -ize plus -ation) maps to -ize etc. note that the
205 | string before the suffix must give m() > 0.
206 | """
207 | if self.b[self.k - 1] == 'a':
208 | if self.ends("ational"): self.r("ate")
209 | elif self.ends("tional"): self.r("tion")
210 | elif self.b[self.k - 1] == 'c':
211 | if self.ends("enci"): self.r("ence")
212 | elif self.ends("anci"): self.r("ance")
213 | elif self.b[self.k - 1] == 'e':
214 | if self.ends("izer"): self.r("ize")
215 | elif self.b[self.k - 1] == 'l':
216 | if self.ends("bli"): self.r("ble") # --DEPARTURE--
217 | # To match the published algorithm, replace this phrase with
218 | # if self.ends("abli"): self.r("able")
219 | elif self.ends("alli"): self.r("al")
220 | elif self.ends("entli"): self.r("ent")
221 | elif self.ends("eli"): self.r("e")
222 | elif self.ends("ousli"): self.r("ous")
223 | elif self.b[self.k - 1] == 'o':
224 | if self.ends("ization"): self.r("ize")
225 | elif self.ends("ation"): self.r("ate")
226 | elif self.ends("ator"): self.r("ate")
227 | elif self.b[self.k - 1] == 's':
228 | if self.ends("alism"): self.r("al")
229 | elif self.ends("iveness"): self.r("ive")
230 | elif self.ends("fulness"): self.r("ful")
231 | elif self.ends("ousness"): self.r("ous")
232 | elif self.b[self.k - 1] == 't':
233 | if self.ends("aliti"): self.r("al")
234 | elif self.ends("iviti"): self.r("ive")
235 | elif self.ends("biliti"): self.r("ble")
236 | elif self.b[self.k - 1] == 'g': # --DEPARTURE--
237 | if self.ends("logi"): self.r("log")
238 | # To match the published algorithm, delete this phrase
239 |
240 | def step3(self):
241 | """step3() dels with -ic-, -full, -ness etc. similar strategy to step2."""
242 | if self.b[self.k] == 'e':
243 | if self.ends("icate"): self.r("ic")
244 | elif self.ends("ative"): self.r("")
245 | elif self.ends("alize"): self.r("al")
246 | elif self.b[self.k] == 'i':
247 | if self.ends("iciti"): self.r("ic")
248 | elif self.b[self.k] == 'l':
249 | if self.ends("ical"): self.r("ic")
250 | elif self.ends("ful"): self.r("")
251 | elif self.b[self.k] == 's':
252 | if self.ends("ness"): self.r("")
253 |
254 | def step4(self):
255 | """step4() takes off -ant, -ence etc., in context vcvc."""
256 | if self.b[self.k - 1] == 'a':
257 | if self.ends("al"): pass
258 | else: return
259 | elif self.b[self.k - 1] == 'c':
260 | if self.ends("ance"): pass
261 | elif self.ends("ence"): pass
262 | else: return
263 | elif self.b[self.k - 1] == 'e':
264 | if self.ends("er"): pass
265 | else: return
266 | elif self.b[self.k - 1] == 'i':
267 | if self.ends("ic"): pass
268 | else: return
269 | elif self.b[self.k - 1] == 'l':
270 | if self.ends("able"): pass
271 | elif self.ends("ible"): pass
272 | else: return
273 | elif self.b[self.k - 1] == 'n':
274 | if self.ends("ant"): pass
275 | elif self.ends("ement"): pass
276 | elif self.ends("ment"): pass
277 | elif self.ends("ent"): pass
278 | else: return
279 | elif self.b[self.k - 1] == 'o':
280 | if self.ends("ion") and (self.b[self.j] == 's' or self.b[self.j] == 't'): pass
281 | elif self.ends("ou"): pass
282 | # takes care of -ous
283 | else: return
284 | elif self.b[self.k - 1] == 's':
285 | if self.ends("ism"): pass
286 | else: return
287 | elif self.b[self.k - 1] == 't':
288 | if self.ends("ate"): pass
289 | elif self.ends("iti"): pass
290 | else: return
291 | elif self.b[self.k - 1] == 'u':
292 | if self.ends("ous"): pass
293 | else: return
294 | elif self.b[self.k - 1] == 'v':
295 | if self.ends("ive"): pass
296 | else: return
297 | elif self.b[self.k - 1] == 'z':
298 | if self.ends("ize"): pass
299 | else: return
300 | else:
301 | return
302 | if self.m() > 1:
303 | self.k = self.j
304 |
305 | def step5(self):
306 | """step5() removes a final -e if m() > 1, and changes -ll to -l if
307 | m() > 1.
308 | """
309 | self.j = self.k
310 | if self.b[self.k] == 'e':
311 | a = self.m()
312 | if a > 1 or (a == 1 and not self.cvc(self.k-1)):
313 | self.k = self.k - 1
314 | if self.b[self.k] == 'l' and self.doublec(self.k) and self.m() > 1:
315 | self.k = self.k -1
316 |
317 | def stem(self, p, i, j):
318 | """In stem(p,i,j), p is a char pointer, and the string to be stemmed
319 | is from p[i] to p[j] inclusive. Typically i is zero and j is the
320 | offset to the last character of a string, (p[j+1] == '\0'). The
321 | stemmer adjusts the characters p[i] ... p[j] and returns the new
322 | end-point of the string, k. Stemming never increases word length, so
323 | i <= k <= j. To turn the stemmer into a module, declare 'stem' as
324 | extern, and delete the remainder of this file.
325 | """
326 | # copy the parameters into statics
327 | self.b = p
328 | self.k = j
329 | self.k0 = i
330 | if self.k <= self.k0 + 1:
331 | return self.b # --DEPARTURE--
332 |
333 | # With this line, strings of length 1 or 2 don't go through the
334 | # stemming process, although no mention is made of this in the
335 | # published algorithm. Remove the line to match the published
336 | # algorithm.
337 |
338 | self.step1ab()
339 | self.step1c()
340 | self.step2()
341 | self.step3()
342 | self.step4()
343 | self.step5()
344 | return self.b[self.k0:self.k+1]
345 |
346 |
347 | def StemWord(inputWord):
348 | """
349 | Stems a word
350 | the word needs to be a valid alpha string (meaning word.isalpha()==True)
351 | Note: we make them lower case in this one
352 |
353 | Examples:
354 | print StemWord("reincarnation")
355 | print StemWord("valid")
356 | print StemWord("Economy")
357 | print StemWord("Education")
358 | """
359 |
360 | p = PorterStemmer()
361 | inputWord = inputWord.lower()
362 | return p.stem(inputWord, 0,len(inputWord)-1)
363 |
364 | def StemSentence(inputText):
365 | """
366 | Stems a sentence and returnes a sentence with stemmed words
367 |
368 | Example: print StemSentence("I always forget this simple idiom for removing a string based on a set of words to remove. This particular example, given an array of stop words, remove them.")
369 |
370 | TODO: check to make sure it runs optimally and uses the cpu properly
371 | """
372 | myText = inputText.split()
373 | outputText = ""
374 | for i in myText:
375 | outputText = outputText+ " " + StemWord(i) # TODO: rewrite it with join
376 | return outputText
377 |
378 | def Stem(inputValue):
379 | """
380 | This is a more polymorphed version of the stemmer
381 | takes both str and list as it's input
382 |
383 | output type: list
384 | """
385 | outputList = []
386 | if type(inputValue)==type(str()):
387 | outputList = StemSentence(inputValue).split()
388 | if type(inputValue)==type(list()):
389 | for item in inputValue:
390 | outputList.append(StemWord(item))
391 |
392 | return outputList
393 |
394 | if __name__ == '__main__':
395 | p = PorterStemmer()
396 | if len(sys.argv) > 1:
397 | for f in sys.argv[1:]:
398 | infile = open(f, 'r')
399 | while 1:
400 | output = ''
401 | word = ''
402 | line = infile.readline()
403 | if line == '':
404 | break
405 | for c in line:
406 | if c.isalpha():
407 | word += c.lower()
408 | else:
409 | if word:
410 | output += p.stem(word, 0,len(word)-1)
411 | word = ''
412 | output += c.lower()
413 | print output,
414 | infile.close()
415 |
416 |
417 |
--------------------------------------------------------------------------------
/dataTools/xlrd/doc/xlrd.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | The xlrd Module
6 |
7 |
8 | The xlrd Module
9 | A Python module for extracting data from MS Excel ™ spreadsheet files.
10 |
11 | General information
12 | Acknowledgements
13 | Backporting to Python 2.1 was partially funded by
14 | Journyx - provider of timesheet and project accounting solutions.
15 | Unicode
16 | This module presents all text strings as Python unicode objects.
17 | From Excel 97 onwards, text in Excel spreadsheets has been stored as Unicode.
18 | Earlier spreadsheets have a "codepage" number indicating the local representation; this
19 | is used to derive an "encoding" which is used to translate to Unicode.
20 |
21 |
Dates in Excel spreadsheets
22 | In reality, there are no such things. What you have are floating point numbers and pious hope.
23 | There are several problems with Excel dates:
24 |
25 | (1) Dates are not stored as a separate data type; they are stored as floating point numbers
26 | and you have to rely on (a) the "number format" applied to them in Excel and/or (b) knowing
27 | which cells are supposed to have dates in them. This module helps with (a) by inspecting the
28 | format that has been applied to each number cell; if it appears to be a date format, the cell
29 | is classified as a date rather than a number. Feedback on this feature,
30 | especially from non-English-speaking locales, would be appreciated.
31 |
32 | (2) Excel for Windows stores dates by default as the number of days (or fraction thereof) since 1899-12-31T00:00:00.
33 | Excel for Macintosh uses a default start date of 1904-01-01T00:00:00. The date system can be changed in Excel
34 | on a per-workbook basis (for example: Tools -> Options -> Calculation, tick the "1904 date system" box).
35 | This is of course a bad idea if there are already dates in the workbook. There is no good reason to change it
36 | even if there are no dates in the workbook. Which date system is in use is recorded in the workbook.
37 | A workbook transported from Windows to Macintosh (or vice versa) will work correctly with the host Excel.
38 | When using this module's xldate_as_tuple function to convert numbers from a workbook, you must use
39 | the datemode attribute of the Book object. If you guess, or make a judgement depending on where you
40 | believe the workbook was created, you run the risk of being 1462 days out of kilter.
41 |
42 | Reference: http://support.microsoft.com/default.aspx?scid=KB;EN-US;q180162
43 |
44 | (3) The Windows-default 1900-based date system works on the incorrect premise that 1900 was a leap year.
45 | It interprets
46 | the number 60 as meaning 1900-02-29, which is not a valid date. Consequently any number less than 61
47 | is ambiguous. Example: is 59 the result of 1900-02-28 entered directly, or is it 1900-03-01 minus 2 days?
48 |
49 | Reference: http://support.microsoft.com/default.aspx?scid=kb;en-us;214326
50 |
51 | (4) The Macintosh-default 1904-based date system counts 1904-01-02 as day 1 and 1904-01-01 as day zero.
52 | Thus any number such that (0.0 <= number < 1.0) is ambiguous. Is 0.625 a time of day (15:00:00),
53 | independent of the calendar,
54 | or should it be interpreted as an instant on a particular day (1904-01-01T15:00:00)?
55 | The xldate_* functions in this module
56 | take the view that such a number is a calendar-independent time of day (like Python's datetime.time type) for both
57 | date systems. This is consistent with more recent Microsoft documentation
58 | (for example, the help file for Excel 2002 which says that the first day
59 | in the 1904 date system is 1904-01-02).
60 |
61 |
(5) Usage of the Excel DATE() function may leave strange dates in a spreadsheet. Quoting the help file,
62 | in respect of the 1900 date system: "If year is between 0 (zero) and 1899 (inclusive),
63 | Excel adds that value to 1900 to calculate the year. For example, DATE(108,1,2) returns January 2, 2008 (1900+108)."
64 | This gimmick, semi-defensible only for arguments up to 99 and only in the pre-Y2K-awareness era,
65 | means that DATE(1899, 12, 31) is interpreted as 3799-12-31.
66 |
67 | For further information, please refer to the documentation for the xldate_* functions.
68 | Module Contents
69 |
70 | - Book(filename=None, file_contents=None,
71 | logfile=sys.stdout, verbosity=0, pickleable=True, use_mmap=USE_MMAP,
72 | ) (class) [#]
73 | -
74 |
Contents of a "workbook".
75 | For more information about this class, see The Book Class.
76 |
77 | - dump(filename, outfile=sys.stdout) [#]
78 | -
79 |
For debugging: dump the file's BIFF records in char & hex.
80 |
81 | - filename
82 | -
83 | The path to the file to be dumped.
84 | - outfile
85 | -
86 | An open file, to which the dump is written.
87 |
88 |
89 | - open_workbook(filename=None,
90 | logfile=sys.stdout, verbosity=0, pickleable=True, use_mmap=USE_MMAP,
91 | file_contents=None,
92 | ) [#]
93 | -
94 |
Open a spreadsheet file for data extraction.
95 |
96 | - filename
97 | -
98 | The path to the spreadsheet file to be opened.
99 | - logfile
100 | -
101 | An open file to which messages and diagnostics are written.
102 | - verbosity
103 | -
104 | Increases the volume of trace material written to the logfile.
105 | - pickleable
106 | -
107 | Default = True. Setting to False *may* cause use of array.array
108 | objects which save some memory but can't be pickled in Python 2.4 or earlier.
109 | - use_mmap
110 | -
111 | Whether to use the mmap module is determined heuristically.
112 | Use this arg to override the result. Current heuristic: mmap is used if it exists.
113 | - file_contents
114 | -
115 | ... as a string or an mmap.mmap object or some other behave-alike object.
116 | If file_contents is supplied, filename will not be used, except (possibly) in messages.
117 | - Returns:
118 | -
119 | An instance of the Book class.
120 |
121 |
122 | - error_text_from_code (variable) [#]
123 | -
124 |
This dictionary can be used to produce a text version of the internal codes
125 | that Excel uses for error cells. Here are its contents:
126 |
127 | 0x00: '#NULL!', # Intersection of two cell ranges is empty
128 | 0x07: '#DIV/0!', # Division by zero
129 | 0x0F: '#VALUE!', # Wrong type of operand
130 | 0x17: '#REF!', # Illegal or deleted cell reference
131 | 0x1D: '#NAME?', # Wrong function or range name
132 | 0x24: '#NUM!', # Value range overflow
133 | 0x2A: '#N/A!', # Argument or function not available
134 |
135 |
136 | - Cell(ctype, value) (class) [#]
137 | -
138 |
Contains the data for one cell.
139 | For more information about this class, see The Cell Class.
140 |
141 | - empty_cell (variable) [#]
142 | -
143 |
There is one and only one instance of an empty cell -- it's a singleton. This is it.
144 | You may use a test like "acell is empty_cell".
145 |
146 | - Sheet( biff_version, position, logfile, pickleable=False,
147 | name='', number=0, verbosity=0,
148 | ) (class) [#]
149 | -
150 |
Contains the data for one worksheet.
151 | For more information about this class, see The Sheet Class.
152 |
153 | - xldate_as_tuple(xldate, datemode) [#]
154 | -
155 |
Convert an Excel number (presumed to represent a date, a datetime or a time) into
156 | a tuple suitable for feeding to datetime or mx.DateTime constructors.
157 |
158 | - xldate
159 | -
160 | The Excel number
161 | - datemode
162 | -
163 | 0: 1900-based, 1: 1904-based.
164 |
WARNING: when using this function to
165 | interpret the contents of a workbook, you should pass in the Book.datemode
166 | attribute of that workbook. Whether
167 | the workbook has ever been anywhere near a Macintosh is irrelevant.
168 |
169 | - Returns:
170 | -
171 | Gregorian (year, month, day, hour, minute, nearest_second).
172 |
Special case: if 0.0 <= xldate < 1.0, it is assumed to represent a time;
173 | (0, 0, 0, hour, minute, second) will be returned.
174 |
Note: 1904-01-01 is not regarded as a valid date in the datemode 1 system; its "serial number"
175 | is zero.
176 |
177 | - Raises XLDateNegative:
-
178 | xldate < 0.00
179 |
180 | - Raises XLDateAmbiguous:
-
181 | The 1900 leap-year problem (datemode == 0 and 1.0 <= xldate < 61.0)
182 |
183 | - Raises XLDateTooLarge:
-
184 | Gregorian year 10000 or later
185 | - Raises XLDateBadDatemode:
-
186 | datemode arg is neither 0 nor 1
187 | - Raises XLDateError:
-
188 | Covers the 4 specific errors
189 |
190 |
191 | - xldate_from_date_tuple((year, month, day), datemode) [#]
192 | -
193 |
Convert a date tuple (year, month, day) to an Excel date.
194 |
195 | - year
196 | -
197 | Gregorian year.
198 | - month
199 | -
200 | 1 <= month <= 12
201 |
202 | - day
203 | -
204 | 1 <= day <= last day of that (year, month)
205 |
206 | - datemode
207 | -
208 | 0: 1900-based, 1: 1904-based.
209 | - Raises XLDateAmbiguous:
-
210 | The 1900 leap-year problem (datemode == 0 and 1.0 <= xldate < 61.0)
211 |
212 | - Raises XLDateBadDatemode:
-
213 | datemode arg is neither 0 nor 1
214 | - Raises XLDateBadTuple:
-
215 | (year, month, day) is too early/late or has invalid component(s)
216 | - Raises XLDateError:
-
217 | Covers the specific errors
218 |
219 |
220 | - xldate_from_datetime_tuple(datetime_tuple, datemode) [#]
221 | -
222 |
Convert a datetime tuple (year, month, day, hour, minute, second) to an Excel date value.
223 | For more details, refer to other xldate_from_*_tuple functions.
224 |
225 | - datetime_tuple
226 | -
227 | (year, month, day, hour, minute, second)
228 | - datemode
229 | -
230 | 0: 1900-based, 1: 1904-based.
231 |
232 |
233 | - xldate_from_time_tuple((hour, minute, second)) [#]
234 | -
235 |
Convert a time tuple (hour, minute, second) to an Excel "date" value (fraction of a day).
236 |
237 | - hour
238 | -
239 | 0 <= hour < 24
240 |
241 | - minute
242 | -
243 | 0 <= minute < 60
244 |
245 | - second
246 | -
247 | 0 <= second < 60
248 |
249 | - Raises XLDateBadTuple:
-
250 | Out-of-range hour, minute, or second
251 |
252 |
253 |
254 |
255 |
256 | - Book(filename=None, file_contents=None,
257 | logfile=sys.stdout, verbosity=0, pickleable=True, use_mmap=USE_MMAP,
258 | ) (class) [#]
259 | -
260 |
Contents of a "workbook".
261 |
WARNING: You don't call this class yourself. You use the Book object that
262 | was returned when you called xlrd.open_workbook("myfile.xls").
263 |
264 | - biff_version [#]
265 | -
266 |
Version of BIFF (Binary Interchange File Format) used to create the file.
267 | Latest is 8.0 (represented here as 80), introduced with Excel 97.
268 | Earliest supported by this module: 3.0 (rep'd as 30).
269 |
270 | - codepage [#]
271 | -
272 |
An integer denoting the character set used for strings in this file.
273 | For BIFF 8 and later, this will be 1200, meaning Unicode; more precisely, UTF_16_LE.
274 | For earlier versions, this is used to derive the appropriate Python encoding
275 | to be used to convert to Unicode.
276 | Examples: 1252 -> 'cp1252', 10000 -> 'mac_roman'
277 |
278 | - countries [#]
279 | -
280 |
A tuple containing the (telephone system) country code for:
281 | [0]: the user-interface setting when the file was created.
282 | [1]: the regional settings.
283 | Example: (1, 61) meaning (USA, Australia).
284 | This information may give a clue to the correct encoding for an unknown codepage.
285 | For a long list of observed values, refer to the OpenOffice.org documentation for
286 | the COUNTRY record.
287 |
288 | - datemode [#]
289 | -
290 |
Which date system was in force when this file was last saved.
291 | 0 => 1900 system (the Excel for Windows default).
292 | 1 => 1904 system (the Excel for Macintosh default).
293 |
294 | - encoding [#]
295 | -
296 |
The encoding that was derived from the codepage.
297 |
298 | - load_time_stage_1 [#]
299 | -
300 |
Time in seconds to extract the XLS image as a contiguous string (or mmap equivalent).
301 |
302 | - load_time_stage_2 [#]
303 | -
304 |
Time in seconds to parse the data from the contiguous string (or mmap equivalent).
305 |
306 | - nsheets [#]
307 | -
308 |
The number of worksheets in the workbook.
309 |
310 | - sheet_by_index(sheetx) [#]
311 | -
312 |
313 | - sheetx
314 | -
315 | Sheet index in range(nsheets)
316 | - Returns:
317 | -
318 | An object of the Sheet class
319 |
320 |
321 | - sheet_by_name(sheet_name) [#]
322 | -
323 |
324 | - sheet_name
325 | -
326 | Name of sheet required
327 | - Returns:
328 | -
329 | An object of the Sheet class
330 |
331 |
332 | - sheet_names() [#]
333 | -
334 |
335 | - Returns:
336 | -
337 | A list of the names of the sheets in the book.
338 |
339 |
340 | - user_name [#]
341 | -
342 |
What (if anything) is recorded as the name of the last user to save the file.
343 |
344 |
345 |
346 |
347 | - Cell(ctype, value) (class) [#]
348 | -
349 |
Contains the data for one cell.
350 |
351 | WARNING: You don't call this class yourself. You access Cell objects
352 | via methods of the Sheet object(s) that you found in the Book object that
353 | was returned when you called xlrd.open_workbook("myfile.xls").
354 | Cell objects have two attributes: ctype is an int, and value
355 | which depends on ctype.
356 | The following table describes the types of cells and how their values
357 | are represented in Python.
358 |
359 |
360 |
361 | | Type symbol |
362 | Type number |
363 | Python value |
364 |
365 |
366 | | XL_CELL_EMPTY |
367 | 0 |
368 | empty string u'' |
369 |
370 |
371 | | XL_CELL_TEXT |
372 | 1 |
373 | a Unicode string |
374 |
375 |
376 | | XL_CELL_NUMBER |
377 | 2 |
378 | float |
379 |
380 |
381 | | XL_CELL_DATE |
382 | 3 |
383 | float |
384 |
385 |
386 | | XL_CELL_BOOLEAN |
387 | 4 |
388 | int; 1 means TRUE, 0 means FALSE |
389 |
390 |
391 | | XL_CELL_ERROR |
392 | 5 |
393 | int representing internal Excel codes; for a text representation,
394 | refer to the supplied dictionary error_text_from_code |
395 |
396 |
397 |
398 |
399 |
400 |
401 |
402 | - Sheet( biff_version, position, logfile, pickleable=False,
403 | name='', number=0, verbosity=0,
404 | ) (class) [#]
405 | -
406 |
Contains the data for one worksheet.
407 |
408 | In the cell access functions, "rowx" is a row index, counting from zero, and "colx" is a
409 | column index, counting from zero.
410 | Negative values for row/column indexes and slice positions are supported in the expected fashion.
411 |
412 | For information about cell types and cell values, refer to the documentation of the Cell class.
413 |
414 | WARNING: You don't call this class yourself. You access Sheet objects via the Book object that
415 | was returned when you called xlrd.open_workbook("myfile.xls").
416 |
417 | - cell_type(rowx, colx) [#]
418 | -
419 |
Type of the cell in the given row and column. Refer to the documentation of the Cell class.
420 |
421 | - cell_value(rowx, colx) [#]
422 | -
423 |
Value of the cell in the given row and column.
424 |
425 | - col(colx) [#]
426 | -
427 |
Returns a sequence of the Cell objects in the given column.
428 |
429 | - col_slice(colx, start_rowx=0, end_rowx=None) [#]
430 | -
431 |
Returns a slice of the Cell objects in the given column.
432 |
433 | - name [#]
434 | -
435 |
Name of sheet.
436 |
437 | - ncols [#]
438 | -
439 |
Number of columns in sheet. A column index is in range(thesheet.ncols).
440 |
441 | - nrows [#]
442 | -
443 |
Number of rows in sheet. A row index is in range(thesheet.nrows).
444 |
445 | - row(rowx) [#]
446 | -
447 |
Returns a sequence of the Cell objects in the given row.
448 |
449 | - row_slice(rowx, start_colx=0, end_colx=None) [#]
450 | -
451 |
Returns a slice of the Cell objects in the given row.
452 |
453 | - row_types(rowx) [#]
454 | -
455 |
Returns a sequence of the types
456 | of the cells in the given row.
457 |
458 | - row_values(rowx) [#]
459 | -
460 |
Returns a sequence of the values
461 | of the cells in the given row.
462 |
463 |
464 |
465 |
--------------------------------------------------------------------------------
/dataTools/xlrd/sheet.py:
--------------------------------------------------------------------------------
1 | ##
2 | # Part of the xlrd package.
3 | ##
4 |
5 | from biffh import *
6 | from timemachine import *
7 | from struct import unpack
8 | import array
9 |
10 | DEBUG = 0
11 | DEBUG_COORDS = 1
12 |
13 | # rc_stats = {}
14 |
15 | def fprintf(f, fmt, *vargs): print >> f, fmt % vargs,
16 |
17 | ##
18 | # Contains the data for one worksheet.
19 | #
20 | # In the cell access functions, "rowx" is a row index, counting from zero, and "colx" is a
21 | # column index, counting from zero.
22 | # Negative values for row/column indexes and slice positions are supported in the expected fashion.
23 | #
24 | # For information about cell types and cell values, refer to the documentation of the Cell class.
25 | #
26 | # WARNING: You don't call this class yourself. You access Sheet objects via the Book object that
27 | # was returned when you called xlrd.open_workbook("myfile.xls").
28 |
29 | class Sheet(object):
30 | ##
31 | # Name of sheet.
32 | name = ''
33 | ##
34 | # Number of rows in sheet. A row index is in range(thesheet.nrows).
35 | nrows = 0
36 | ##
37 | # Number of columns in sheet. A column index is in range(thesheet.ncols).
38 | ncols = 0
39 |
40 | def __init__(
41 | self, biff_version, position, logfile, pickleable=False,
42 | name='', number=0, verbosity=0,
43 | ):
44 | self.biff_version = biff_version
45 | self._position = position
46 | self.logfile = logfile
47 | self.pickleable = pickleable
48 | self.name = name
49 | self.number = number
50 | self.verbosity = verbosity
51 | self.nrows = 0 # actual
52 | self.ncols = 0
53 | self._dnrows = 0 # as per DIMENSIONS record
54 | self._dncols = 0
55 | self._cell_values = []
56 | self._cell_types = []
57 |
58 | ##
59 | # Value of the cell in the given row and column.
60 | def cell_value(self, rowx, colx):
61 | return self._cell_values[rowx][colx]
62 |
63 | ##
64 | # Type of the cell in the given row and column. Refer to the documentation of the Cell class.
65 | def cell_type(self, rowx, colx):
66 | return self._cell_types[rowx][colx]
67 |
68 | ##
69 | # Returns a sequence of the Cell objects in the given row.
70 | def row(self, rowx):
71 | return [
72 | Cell(self._cell_types[rowx][colx], self._cell_values[rowx][colx])
73 | for colx in xrange(self.ncols)
74 | ]
75 |
76 | ##
77 | # Returns a sequence of the types
78 | # of the cells in the given row.
79 | def row_types(self, rowx):
80 | return self._cell_types[rowx]
81 |
82 | ##
83 | # Returns a sequence of the values
84 | # of the cells in the given row.
85 | def row_values(self, rowx):
86 | return self._cell_values[rowx]
87 |
88 | ##
89 | # Returns a slice of the Cell objects in the given row.
90 | def row_slice(self, rowx, start_colx=0, end_colx=None):
91 | nc = self.ncols
92 | if start_colx < 0:
93 | start_colx += nc
94 | if start_colx < 0:
95 | start_colx = 0
96 | if end_colx is None or end_colx > nc:
97 | end_colx = nc
98 | elif end_colx < 0:
99 | end_colx += nc
100 | return [
101 | Cell(self._cell_types[rowx][colx], self._cell_values[rowx][colx])
102 | for colx in xrange(start_colx, end_colx)
103 | ]
104 |
105 | ##
106 | # Returns a slice of the Cell objects in the given column.
107 | def col_slice(self, colx, start_rowx=0, end_rowx=None):
108 | nr = self.nrows
109 | if start_rowx < 0:
110 | start_rowx += nr
111 | if start_rowx < 0:
112 | start_rowx = 0
113 | if end_rowx is None or end_rowx > nr:
114 | end_rowx = nr
115 | elif end_rowx < 0:
116 | end_rowx += nr
117 | return [
118 | Cell(self._cell_types[rowx][colx], self._cell_values[rowx][colx])
119 | for rowx in xrange(start_rowx, end_rowx)
120 | ]
121 |
122 | ##
123 | # Returns a sequence of the Cell objects in the given column.
124 | def col(self, colx):
125 | return self.col_slice(colx)
126 | # Above two lines just for the docs. Here's the real McCoy:
127 | col = col_slice
128 |
129 | # === Following methods are used in building the worksheet.
130 | # === They are not part of the API.
131 |
132 | def initcells(self, nr, nc):
133 | scta = self._cell_types.append
134 | scva = self._cell_values.append
135 | xce = XL_CELL_EMPTY
136 | if self.pickleable:
137 | for _unused in xrange(nr):
138 | scta([xce] * nc)
139 | scva([''] * nc)
140 | else:
141 | aa = array.array
142 | for _unused in xrange(nr):
143 | scta(aa('B', [xce]) * nc)
144 | scva([''] * nc)
145 | self.nrows = nr
146 | self.ncols = nc
147 |
148 | def extend_cells(self, nr, nc):
149 | if nc > self.ncols:
150 | xce = XL_CELL_EMPTY
151 | nextra = nc - self.ncols
152 | if self.pickleable:
153 | for arow in self._cell_types:
154 | arow.extend([xce] * nextra)
155 | for arow in self._cell_values:
156 | arow.extend([''] * nextra)
157 | else:
158 | aa = array.array
159 | for arow in self._cell_types:
160 | arow.extend(aa('B', [xce]) * nextra)
161 | for arow in self._cell_values:
162 | arow.extend([''] * nextra)
163 | self.ncols = nc
164 | if nr > self.nrows:
165 | scta = self._cell_types.append
166 | scva = self._cell_values.append
167 | xce = XL_CELL_EMPTY
168 | nc = self.ncols
169 | if self.pickleable:
170 | for _unused in xrange(self.nrows, nr):
171 | scta([xce] * nc)
172 | scva([''] * nc)
173 | else:
174 | aa = array.array
175 | for _unused in xrange(self.nrows, nr):
176 | scta(aa('B', [xce]) * nc)
177 | scva([''] * nc)
178 | self.nrows = nr
179 |
180 |
181 | def tidy_dimensions(self):
182 | if 0:
183 | # retract unused parts of the safety zone
184 | maxusedrowx = self._dnrows - 1
185 | colrange = range(self.ncols)
186 | for rowx in range(self._dnrows, self.nrows):
187 | for colx in colrange:
188 | if self._cell_types[rowx][colx] != XL_CELL_EMPTY:
189 | maxusedrowx = rowx
190 | break
191 | maxusedcolx = self._dncols - 1
192 | rowrange = range(self.nrows)
193 | for colx in range(self._dncols, self.ncols):
194 | for rowx in rowrange:
195 | if self._cell_types[rowx][colx] != XL_CELL_EMPTY:
196 | maxusedcolx = colx
197 | break
198 | self.nrows, self.ncols = (maxusedrowx+1, maxusedcolx+1)
199 | if self.verbosity >= 3:
200 | print >> self.logfile, "tidy_dimensions", self.nrows, self.ncols
201 | if self.verbosity >= 2 \
202 | and (self.nrows != self._dnrows or self.ncols != self._dncols):
203 | fprintf(self.logfile,
204 | "NOTE *** sheet %d(%r): invalid DIMENSIONS record R,C = %d,%d\n",
205 | self.number,
206 | self.name,
207 | self._dnrows,
208 | self._dncols
209 | )
210 |
211 | if DEBUG_COORDS:
212 | def put_cell(self, rowx, colx, ctype, value):
213 | try:
214 | self._cell_types[rowx][colx] = ctype
215 | self._cell_values[rowx][colx] = value
216 | except:
217 | print >> self.logfile, "put_cell", rowx, colx
218 | raise
219 |
220 | def put_number_cell(self, rowx, colx, value, fmt_ty=FNU):
221 | try:
222 | self._cell_types[rowx][colx] = cellty_from_fmtty[fmt_ty]
223 | self._cell_values[rowx][colx] = value
224 | except:
225 | print >> self.logfile, "put_number_cell", rowx, colx
226 | raise
227 | else:
228 | def put_cell(self, rowx, colx, ctype, value):
229 | self._cell_types[rowx][colx] = ctype
230 | self._cell_values[rowx][colx] = value
231 |
232 | def put_number_cell(self, rowx, colx, value, fmt_ty=FNU):
233 | self._cell_types[rowx][colx] = cellty_from_fmtty[fmt_ty]
234 | self._cell_values[rowx][colx] = value
235 |
236 | # === Methods after this line neither know nor care about how cells are stored.
237 |
238 | def read(self, bk):
239 | global rc_stats
240 | DEBUG = 0
241 | oldpos = bk._position
242 | bk.position(self._position)
243 | XL_SHRFMLA_ETC_ETC = (XL_SHRFMLA, XL_ARRAY, XL_TABLEOP, XL_TABLEOP2, XL_TABLEOP_B2)
244 | unpack_number_fmt = '> bk.logfile, "*** No XF for xfindex %d; rowx=%d colx=%d value=%r" \
279 | % (xfindex, rowx, colx, d)
280 | fty = None
281 | self_put_number_cell(rowx, colx, d, fty)
282 | elif rc == XL_LABELSST:
283 | rowx, colx, index = local_unpack(' %f\n",
310 | # mulrk_row, colx, ''.join(["%02x " % ord(c) for c in data[pos+2:pos+6]]), d);
311 | fty = local_check_xf(bk, mulrk_row, colx, xfindex, d)
312 | pos += 6
313 | self_put_number_cell(mulrk_row, colx, d, fty)
314 | elif rc == XL_ROW:
315 | rowx, colx, ncols = local_unpack('=3 and (rowx >= self.nrows or ncols > self.ncols):
317 | msg = "*** sheet %d(%r): ROW record rowx=%d (nrows=%d), max colx=%d (ncols=%d)" % \
318 | (self.number, self.name, rowx, self._dnrows, ncols-1, self._dncols)
319 | print >> self.logfile, msg
320 | self.extend_cells(rowx+1, ncols)
321 | no_storage = 0
322 | elif rc & 0xff == XL_FORMULA: # 06, 0206, 0406
323 | # if DEBUG: print "FORMULA: rc: 0x%04x data: %r" % (rc, data)
324 | rowx, colx, xfindex, flags = local_unpack('> self.logfile, msg
331 | if data[12] == '\xff' and data[13] == '\xff':
332 | if data[6] == '\x00':
333 | # need to read next record (STRING)
334 | gotstring = 0
335 | if flags & 8:
336 | # actually there's an optional SHRFMLA or ARRAY etc record to skip over
337 | rc2, _unused_len, data2 = bk.get_record_parts()
338 | if rc2 == XL_STRING:
339 | gotstring = 1
340 | elif rc2 not in XL_SHRFMLA_ETC_ETC:
341 | raise XLRDError(
342 | "Expected SHRFMLA, ARRAY, TABLEOP* or STRING record; found 0x%04x" % rc2)
343 | # if DEBUG: print "gotstring:", gotstring
344 | # now for the STRING record
345 | if not gotstring:
346 | rc2, _unused_len, data2 = bk.get_record_parts()
347 | if rc2 != XL_STRING: raise XLRDError("Expected STRING record; found 0x%04x" % rc2)
348 | # if DEBUG: print "STRING: data=%r BIFF=%d cp=%d" % (data2, self.biff_version, bk.encoding)
349 | if self.biff_version < BIFF_FIRST_UNICODE:
350 | strg = unpack_string(data2, 0, bk.encoding, lenlen=2)
351 | else:
352 | strg = unpack_unicode(data2, 0, lenlen=2)
353 | self.put_cell(rowx, colx, XL_CELL_TEXT, strg)
354 | # if DEBUG: print "FORMULA strg %r" % strg
355 | elif data[6] == '\x01':
356 | # boolean formula result
357 | value = ord(data[8])
358 | self.put_cell(rowx, colx, XL_CELL_BOOLEAN, value)
359 | elif data[6] == '\x02':
360 | # Error in cell
361 | value = ord(data[8])
362 | self.put_cell(rowx, colx, XL_CELL_ERROR, value)
363 | elif data[6] == '\x03':
364 | # empty ... i.e. empty (zero-length) string, NOT an empty cell.
365 | self.put_cell(rowx, colx, XL_CELL_TEXT, empty_string)
366 | else:
367 | raise XLRDError("unexpected special case (0x%02x) in FORMULA" % ord(data[6]))
368 | else:
369 | # it is a number
370 | d = local_unpack('= 3:
386 | fprintf(self.logfile,
387 | "sheet %d(%r) DIMENSIONS: ncols=%d nrows=%d\n",
388 | self.number, self.name, self._dncols, self._dnrows
389 | )
390 | elif rc == XL_EOF:
391 | DEBUG = 0
392 | if DEBUG: print >> self.logfile, "SHEET.READ: EOF"
393 | self.tidy_dimensions()
394 | break
395 | elif rc == XL_OBJ:
396 | bk.handle_obj(data)
397 | elif rc in bofcodes: ##### EMBEDDED BOF #####
398 | version, boftype = local_unpack('> self.logfile, \
401 | "*** Unexpected embedded BOF (0x%04x) at offset %d: version=0x%04x type=0x%04x" \
402 | % (rc, bk._position - length - 4, version, boftype)
403 | while 1:
404 | code, length, data = bk.get_record_parts()
405 | if code == XL_EOF:
406 | break
407 | if DEBUG: print >> self.logfile, "---> found EOF"
408 | elif rc == XL_COUNTRY:
409 | bk.handle_country(data)
410 | #### all of the following are for BIFF <= 4.0
411 | elif rc == XL_FORMAT or rc == XL_FORMAT2:
412 | bk.handle_format(data)
413 | elif rc == XL_BUILTINFMTCOUNT:
414 | bk.handle_builtinfmtcount(data)
415 | elif rc == XL_XF4 or rc == XL_XF3: #### N.B. not XL_XF
416 | bk.handle_xf(data)
417 | elif rc == XL_DATEMODE:
418 | bk.handle_datemode(data)
419 | elif rc == XL_CODEPAGE:
420 | bk.handle_codepage(data)
421 | elif rc == XL_FILEPASS:
422 | bk.handle_filepass(data)
423 | elif rc == XL_WRITEACCESS:
424 | bk.handle_writeaccess(data)
425 | else:
426 | # if DEBUG: print "SHEET.READ: Unhandled record type %02x %d bytes %r" % (rc, len(data), data)
427 | pass
428 | bk.position(oldpos)
429 | return 1
430 |
431 | # === helpers ===
432 |
433 | def unpack_RK(rk_str):
434 | flags = ord(rk_str[0])
435 | if flags & 2:
436 | # There's a SIGNED 30-bit integer in there!
437 | i, = unpack('>= 2 # div by 4 to drop the 2 flag bits
439 | if flags & 1:
440 | return i / 100.0
441 | return float(i)
442 | else:
443 | # It's the most significant 30 bits of an IEEE 754 64-bit FP number
444 | d, = unpack('> bk.logfile, "*** No XF for xfindex %d; rowx=%d colx=%d value=%r" % (xfindex, rowx, colx, value)
456 | return None
457 |
458 | ##### =============== Cell ======================================== #####
459 |
460 | cellty_from_fmtty = {
461 | FNU: XL_CELL_NUMBER,
462 | FUN: XL_CELL_NUMBER,
463 | FGE: XL_CELL_NUMBER,
464 | FDT: XL_CELL_DATE,
465 | FTX: XL_CELL_NUMBER, # Yes, a number can be formatted as text.
466 | }
467 |
468 | ctype_text = {
469 | XL_CELL_EMPTY: 'empty',
470 | XL_CELL_TEXT: 'text',
471 | XL_CELL_NUMBER: 'number',
472 | XL_CELL_DATE: 'xldate',
473 | XL_CELL_BOOLEAN: 'bool',
474 | XL_CELL_ERROR: 'error',
475 | }
476 |
477 | ##
478 | # Contains the data for one cell.
479 | #
480 | # WARNING: You don't call this class yourself. You access Cell objects
481 | # via methods of the Sheet object(s) that you found in the Book object that
482 | # was returned when you called xlrd.open_workbook("myfile.xls").
483 | # Cell objects have two attributes: ctype is an int, and value
484 | # which depends on ctype.
485 | # The following table describes the types of cells and how their values
486 | # are represented in Python.
487 | #
488 | #
489 | #
490 | # | Type symbol |
491 | # Type number |
492 | # Python value |
493 | #
494 | #
495 | # | XL_CELL_EMPTY |
496 | # 0 |
497 | # empty string u'' |
498 | #
499 | #
500 | # | XL_CELL_TEXT |
501 | # 1 |
502 | # a Unicode string |
503 | #
504 | #
505 | # | XL_CELL_NUMBER |
506 | # 2 |
507 | # float |
508 | #
509 | #
510 | # | XL_CELL_DATE |
511 | # 3 |
512 | # float |
513 | #
514 | #
515 | # | XL_CELL_BOOLEAN |
516 | # 4 |
517 | # int; 1 means TRUE, 0 means FALSE |
518 | #
519 | #
520 | # | XL_CELL_ERROR |
521 | # 5 |
522 | # int representing internal Excel codes; for a text representation,
523 | # refer to the supplied dictionary error_text_from_code |
524 | #
525 | #
526 | #
527 |
528 | class Cell(object):
529 |
530 | __slots__ = ['ctype', 'value',]
531 |
532 | def __init__(self, ctype, value):
533 | self.ctype = ctype
534 | self.value = value
535 |
536 | def __repr__(self):
537 | return "%s:%r" % (ctype_text[self.ctype], self.value)
538 |
539 | ##
540 | # There is one and only one instance of an empty cell -- it's a singleton. This is it.
541 | # You may use a test like "acell is empty_cell".
542 | empty_cell = Cell(XL_CELL_EMPTY, '')
543 |
544 | # === grimoire ===
545 | if 0:
546 | try:
547 | from _xlrdutils import *
548 | print "_xlrdutils imported"
549 | except ImportError:
550 | # print "_xlrdutils *NOT* imported"
551 | pass
552 |
--------------------------------------------------------------------------------
/dataTools/testData.mat:
--------------------------------------------------------------------------------
1 | 0.828947 0.664474 0.861842 0.213904 0.657754
2 | 0.171123 0.170856 0.000000 0.004605 0.111497
3 | 0.616071 0.678571 0.616071 0.687500 0.776786
4 | 0.151786 0.526786 0.616071 0.410714 0.750000
5 | 1.000000 0.237433 0.336898 0.301872 0.700535
6 | 0.887576 0.887273 0.662121 0.863636 0.614000
7 | 0.360963 0.705882 0.855615 0.887701 0.941176
8 | 0.000000 0.677632 0.203947 0.500000 0.013158
9 | 0.288770 0.727273 0.283422 0.941176 0.278075
10 | 0.304813 0.385027 0.673797 0.732620 0.561497
11 | 0.269737 0.459893 0.978610 0.646791 0.759358
12 | 0.256684 0.617380 0.809211 0.815789 0.893048
13 | 0.844920 0.946524 0.796791 0.914439 1.000000
14 | 0.802727 0.784545 0.100000 0.875758 0.972727
15 | 0.598214 0.824242 0.491071 0.758929 0.952679
16 | 0.090909 0.374332 0.756417 1.000000 0.500000
17 | 0.930481 0.828877 0.887701 0.941176 1.000000
18 | 0.716578 0.276786 0.737968 0.523797 0.285714
19 | 0.919643 0.669643 0.946524 0.384821 1.000000
20 | 0.687500 0.500000 0.500000 0.500000 0.500000
21 | 0.737968 1.000000 1.000000 0.500000 0.673797
22 | 0.321429 0.500000 0.684225 0.687500 0.875000
23 | 0.000000 0.657487 0.561230 0.834225 0.882353
24 | 0.069519 0.957219 1.000000 0.665508 0.780749
25 | 0.101604 0.727273 0.700535 0.700535 0.684492
26 | 0.898396 0.973262 0.962567 0.951872 0.834225
27 | 0.385027 0.684492 0.925134 0.983957 0.989305
28 | 0.101604 0.909091 0.962567 1.000000 0.500000
29 | 0.090642 0.085561 0.500000 0.882353 0.500000
30 | 0.500000 0.500000 0.721658 0.604011 0.911497
31 | 1.000000 0.363636 0.993939 0.739394 0.757576
32 | 0.740374 0.994652 0.168449 0.884759 0.500000
33 | 0.494652 0.500000 0.775401 0.670856 0.339572
34 | 0.606684 1.000000 1.000000 1.000000 0.807487
35 | 0.352941 0.663102 0.647059 0.347594 0.695187
36 | 0.064171 0.606684 0.120053 0.010695 0.000000
37 | 0.696429 0.696429 0.071429 0.080357 0.133929
38 | 0.754011 0.764706 0.727273 0.213904 0.775401
39 | 0.344920 0.665508 0.729679 0.628075 0.633422
40 | 0.510773 0.991436 0.955801 0.725414 0.209669
41 | 0.588122 0.881215 0.828729 0.292541 0.500000
42 | 0.500000 0.773481 0.900552 0.939227 0.878453
43 | 1.000000 0.598214 0.089286 0.723214 1.000000
44 | 0.125000 0.883978 0.828729 0.731768 0.696429
45 | 0.559821 0.709669 0.723757 0.864365 0.814917
46 | 0.118232 1.000000 0.715193 0.830939 1.000000
47 | 0.646409 0.850829 1.000000 0.779006 0.500000
48 | 1.000000 1.000000 0.729282 0.500000 0.621271
49 | 0.784530 0.309392 0.298343 0.170994 0.276243
50 | 0.787017 0.212707 0.762431 0.676796 0.820166
51 | 0.000000 0.750000 0.526786 0.857143 0.649107
52 | 0.212707 0.781492 1.000000 1.000000 0.820166
53 | 0.000000 0.734807 1.000000 1.000000 0.756906
54 | 0.350829 0.911602 0.640884 0.917127 1.000000
55 | 0.693094 0.682320 0.532597 0.790055 1.000000
56 | 0.193370 0.906077 1.000000 0.767956 0.500000
57 | 0.348214 0.437500 0.000000 0.000000 1.000000
58 | 0.341964 0.437500 0.053571 0.321429 0.482143
59 | 0.151786 1.000000 1.000000 0.000000 0.473214
60 | 0.116071 0.633929 0.000000 0.508929 0.196429
61 | 0.193094 1.000000 1.000000 0.864365 0.500000
62 | 0.751381 0.294643 0.696429 0.107143 0.866071
63 | 0.685083 0.823204 1.000000 0.000000 1.000000
64 | 0.428571 1.000000 1.000000 1.000000 1.000000
65 | 0.323204 0.834254 0.980387 0.933702 1.000000
66 | 0.839779 0.668508 0.193370 0.718232 0.856354
67 | 0.149171 0.825967 1.000000 0.861878 1.000000
68 | 0.251381 0.786740 0.837017 1.000000 0.703591
69 | 1.000000 1.000000 1.000000 1.000000 0.599448
70 | 0.787017 0.886740 1.000000 0.875414 0.895028
71 | 0.759392 0.740331 0.737293 0.966851 0.988950
72 | 0.610221 0.817680 1.000000 0.704420 0.599171
73 | 0.808011 0.787017 0.935912 0.686188 0.284530
74 | 0.016575 0.988950 0.740331 0.867403 0.751381
75 | 0.709945 0.866071 0.754144 0.306354 0.759669
76 | 0.383978 0.867403 0.544199 0.378453 0.823204
77 | 0.750000 0.571429 0.821429 0.919643 0.857143
78 | 0.500000 0.808929 0.964286 0.500000 0.836607
79 | 0.773481 0.745856 0.679558 0.745856 0.707182
80 | 0.116022 0.861602 0.905801 0.500000 0.251381
81 | 0.737293 0.974586 0.958287 0.704144 0.632044
82 | 0.695856 1.000000 1.000000 0.602210 0.817680
83 | 0.214286 0.919643 0.919643 0.812500 1.000000
84 | 0.038674 0.979558 0.836740 0.980387 0.950276
85 | 0.801105 1.000000 0.088122 0.795304 0.610497
86 | 0.234807 0.996961 0.712707 0.743094 0.947238
87 | 0.071429 1.000000 1.000000 0.794643 0.794643
88 | 0.562500 0.830357 0.419643 0.616071 0.830357
89 | 0.690608 0.988950 1.000000 1.000000 1.000000
90 | 0.928177 0.911602 0.795580 0.707182 0.955801
91 | 0.292541 1.000000 1.000000 0.779006 0.853315
92 | 0.676796 1.000000 1.000000 1.000000 1.000000
93 | 0.254144 0.831215 0.742818 1.000000 1.000000
94 | 0.776243 0.787293 0.500000 0.814641 0.243094
95 | 0.648895 0.828729 0.790055 0.643370 0.648895
96 | 0.836740 0.969613 0.146409 0.201657 0.842265
97 | 0.127072 1.000000 1.000000 1.000000 0.900552
98 | 0.714286 0.839286 1.000000 1.000000 1.000000
99 | 0.464286 0.598214 0.026786 0.008929 0.000000
100 | 0.082873 0.806630 0.809116 0.632597 0.925414
101 | 0.433702 0.428177 0.198619 0.417127 1.000000
102 | 0.822768 0.961161 0.342541 0.801105 0.248619
103 | 0.215193 1.000000 0.588122 0.648895 0.983425
104 | 1.000000 0.822928 0.825967 0.878453 0.500000
105 | 0.792541 0.781492 0.906077 0.602210 0.801105
106 | 0.339779 1.000000 1.000000 0.820442 0.632320
107 | 0.000000 1.000000 0.977901 0.972376 0.988950
108 | 0.742541 0.974862 0.375691 0.659945 0.820166
109 | 0.491071 0.491071 0.500000 0.500000 0.500000
110 | 0.444751 0.952762 0.767956 0.621271 1.000000
111 | 0.267680 0.740331 0.740331 0.731768 1.000000
112 | 0.500000 0.500000 0.845304 0.850829 0.972376
113 | 0.234807 0.500000 0.500000 0.500000 0.604696
114 | 0.488950 0.687017 0.864641 0.726243 0.693094
115 | 0.182320 1.000000 0.367403 1.000000 1.000000
116 | 0.675000 0.796685 0.985912 0.977901 1.000000
117 | 0.762431 1.000000 0.994475 0.983425 0.878453
118 | 0.500000 0.632320 0.648895 0.356354 0.359116
119 | 0.000000 1.000000 1.000000 1.000000 1.000000
120 | 0.178571 1.000000 0.776786 0.776786 0.508929
121 | 0.716071 0.632044 1.000000 1.000000 1.000000
122 | 0.500000 0.500000 0.500000 0.500000 0.500000
123 | 1.000000 1.000000 1.000000 1.000000 0.000000
124 | 0.870166 0.665470 0.483425 0.820166 1.000000
125 | 0.220994 0.718232 1.000000 0.895028 0.872928
126 | 0.187845 0.704144 0.627072 0.770442 1.000000
127 | 0.146133 0.732044 0.248343 0.295580 0.209669
128 | 0.653039 0.977901 0.000000 1.000000 0.350829
129 | 0.500000 1.000000 1.000000 0.500000 1.000000
130 | 0.264917 1.000000 1.000000 0.149171 1.000000
131 | 0.239779 1.000000 0.856354 0.746429 1.000000
132 | 0.794643 0.732143 0.401786 0.676339 0.687500
133 | 0.798343 0.500000 0.441989 0.803867 1.000000
134 | 0.273481 0.814917 0.000000 0.784530 0.988950
135 | 0.488950 1.000000 1.000000 0.767956 0.861878
136 | 0.110497 1.000000 0.803591 0.787293 1.000000
137 | 0.099448 0.897514 0.612707 0.590884 0.858840
138 | 0.234530 1.000000 1.000000 0.781215 0.790055
139 | 0.377901 0.101657 0.895028 0.146409 0.781768
140 | 0.714365 1.000000 1.000000 0.715193 1.000000
141 | 0.977901 0.972376 0.751381 0.762431 0.657459
142 | 0.292541 0.673757 1.000000 1.000000 1.000000
143 | 0.237569 0.817680 0.906077 0.961326 0.966851
144 | 0.668232 1.000000 0.801105 0.626796 0.654144
145 | 0.309116 0.630939 0.515746 0.808564 0.559392
146 | 0.464286 1.000000 1.000000 1.000000 1.000000
147 | 0.500000 0.791160 0.814917 0.500000 0.792541
148 | 0.414365 0.872928 0.895028 0.939227 0.972376
149 | 0.082597 0.900552 0.745580 1.000000 1.000000
150 | 0.814641 0.947514 0.637845 0.709392 0.395028
151 | 0.742265 0.000000 0.753867 0.000000 0.500000
152 | 0.179282 0.201657 0.847790 0.726243 0.500000
153 | 0.151657 0.803591 1.000000 0.813839 0.750000
154 | 0.676786 0.623661 0.591518 0.683929 0.630804
155 | 0.897514 0.928177 0.776786 0.825967 1.000000
156 | 0.598214 1.000000 1.000000 0.624309 1.000000
157 | 0.220994 0.778177 1.000000 0.850829 0.500000
158 | 0.000000 0.875000 1.000000 1.000000 0.875000
159 | 0.944751 0.618785 0.640884 0.209945 0.232044
160 | 0.272768 0.803571 0.937054 0.767857 0.582597
161 | 0.104972 0.872928 1.000000 0.900552 0.919890
162 | 0.500000 0.870166 0.933702 0.952762 0.918508
163 | 0.500000 0.719337 1.000000 0.823204 0.858840
164 | 0.817680 0.198895 0.187845 0.779006 0.500000
165 | 0.124309 0.500000 0.229006 0.776243 0.806630
166 | 0.657459 0.988950 0.917127 0.939227 0.972376
167 | 0.127072 0.798066 0.853591 0.889503 1.000000
168 | 0.886464 0.792265 0.284530 0.500000 0.825138
169 | 0.223757 0.621271 0.240055 0.720718 1.000000
170 | 0.767857 0.705357 0.223214 0.616071 0.241071
171 | 0.000000 0.821429 0.712707 1.000000 1.000000
172 | 0.000000 1.000000 1.000000 0.646409 1.000000
173 | 0.290055 1.000000 0.682044 0.814917 1.000000
174 | 0.245856 0.903039 0.886188 0.759392 0.648895
175 | 0.016575 1.000000 1.000000 1.000000 1.000000
176 | 0.088398 0.806630 1.000000 0.988950 0.198895
177 | 0.500000 0.958287 0.725414 0.870166 1.000000
178 | 0.151934 1.000000 1.000000 0.500000 0.328729
179 | 0.240331 0.764917 1.000000 1.000000 0.930939
180 | 0.187845 1.000000 1.000000 0.792541 0.787293
181 | 0.500000 0.500000 0.500000 0.500000 0.500000
182 | 0.245856 0.687569 0.350829 0.278729 0.284530
183 | 0.000000 1.000000 1.000000 1.000000 1.000000
184 | 0.176796 0.988950 0.994475 0.850829 0.745856
185 | 0.790055 0.906077 0.659945 0.845304 0.560497
186 | 0.110497 1.000000 0.742818 0.731768 0.759392
187 | 0.000000 0.648895 0.182044 1.000000 0.996961
188 | 0.176519 0.933702 1.000000 1.000000 0.839779
189 | 0.133929 0.142857 0.098214 0.062500 0.062500
190 | 0.176519 1.000000 0.806630 0.779006 1.000000
191 | 0.764917 1.000000 1.000000 0.823204 0.817680
192 | 0.709669 0.740331 0.254144 0.306354 0.311878
193 | 0.000000 0.559945 1.000000 0.707182 0.494475
194 | 0.276243 0.900552 0.500000 0.674033 0.955801
195 | 0.779006 1.000000 1.000000 0.680663 1.000000
196 | 0.187500 0.187500 0.151786 0.517857 0.491071
197 | 0.187845 0.972376 0.779006 0.698619 1.000000
198 | 0.883978 0.665470 0.682044 0.500000 0.883978
199 | 0.851339 0.748343 0.149171 0.787293 1.000000
200 | 0.544643 0.901786 0.589286 0.812500 0.508929
201 | 0.223214 1.000000 0.482143 0.812500 1.000000
202 | 0.482143 0.250000 0.676519 0.758929 0.267857
203 | 0.681768 0.648343 0.642265 0.811878 0.704144
204 | 0.749554 0.741071 1.000000 0.829911 0.839286
205 | 0.138122 0.836740 0.784254 0.626796 0.588122
206 | 0.121547 0.629834 0.657459 0.707182 0.972376
207 | 0.000000 1.000000 1.000000 1.000000 0.541160
208 | 0.162707 1.000000 0.917127 0.972376 0.961326
209 | 0.845304 1.000000 0.994475 1.000000 0.709669
210 | 0.185083 0.500000 0.764917 0.825967 0.808840
211 | 0.856354 0.911602 0.872928 0.900552 0.906077
212 | 0.571547 0.571271 0.577072 0.582597 0.599448
213 | 0.107459 0.325414 0.564917 0.538122 0.972376
214 | 0.116022 1.000000 1.000000 1.000000 1.000000
215 | 0.742818 0.962983 0.619890 0.974862 0.737293
216 | 0.635359 0.500000 0.861878 0.883978 0.668508
217 | 0.160221 0.922652 1.000000 1.000000 0.828729
218 | 0.000000 1.000000 1.000000 1.000000 1.000000
219 | 0.593646 1.000000 0.626796 1.000000 1.000000
220 | 0.707182 0.806630 1.000000 0.745580 0.856354
221 | 0.303571 0.821429 1.000000 0.580357 1.000000
222 | 0.756906 0.342541 0.670994 0.662707 0.662707
223 | 0.330357 0.714286 1.000000 0.571429 0.383929
224 | 0.988950 0.767956 0.933702 0.765625 1.000000
225 | 0.022099 1.000000 0.767956 0.773481 0.549724
226 | 0.750000 1.000000 0.767857 0.785714 0.794643
227 | 0.190608 0.500000 0.752486 0.500000 0.500000
228 | 0.648895 0.685083 1.000000 0.364641 0.845028
229 | 0.723757 0.994475 1.000000 1.000000 0.853591
230 | 0.126796 0.850829 0.883978 0.635359 1.000000
231 | 0.104972 0.812155 0.784530 0.823204 0.806630
232 | 0.974586 0.770442 0.538674 0.500000 1.000000
233 | 0.179006 0.994475 0.665470 0.748619 0.500000
234 | 0.160714 0.994475 1.000000 0.678571 1.000000
235 | 0.764917 1.000000 1.000000 0.707182 0.922652
236 | 0.000000 1.000000 0.756906 0.000000 0.944751
237 | 0.312500 0.750000 1.000000 0.750000 0.464286
238 | 0.151934 1.000000 0.731768 0.939227 0.814917
239 | 0.311878 1.000000 0.729282 1.000000 0.659945
240 | 0.292541 0.933425 0.922376 0.621271 0.648895
241 | 0.237569 0.500000 0.850829 0.626796 0.818785
242 | 0.626796 0.889503 0.924586 0.853315 0.977624
243 | 0.154420 0.162707 0.604696 0.798066 0.823204
244 | 0.000000 0.560497 1.000000 0.657459 0.690608
245 | 0.648895 0.939227 0.566298 0.629558 0.417127
246 | 0.500000 0.500000 0.798066 0.500000 0.598895
247 | 0.000000 1.000000 1.000000 1.000000 1.000000
248 | 0.494475 0.422652 0.593646 0.328729 0.604696
249 | 0.742818 1.000000 0.687569 0.566022 0.681492
250 | 0.500000 0.500000 0.500000 0.500000 0.500000
251 | 0.428571 0.657589 1.000000 0.812500 0.884821
252 | 0.399724 0.500000 0.748343 0.367403 0.500000
253 | 0.988950 1.000000 0.806354 0.983425 1.000000
254 | 0.234254 1.000000 1.000000 0.626796 0.586740
255 | 0.679558 0.933702 1.000000 0.911602 0.872928
256 | 1.000000 1.000000 1.000000 0.270442 0.298343
257 | 0.378453 0.389503 0.138122 0.719337 1.000000
258 | 0.000000 0.160714 0.062500 0.000000 0.794643
259 | 0.777901 0.500000 0.792541 0.632320 0.648895
260 | 0.124033 0.974862 0.267680 0.906077 0.378453
261 | 1.000000 1.000000 1.000000 0.500000 0.500000
262 | 1.000000 1.000000 1.000000 1.000000 1.000000
263 | 0.587293 1.000000 0.917127 0.759392 0.781768
264 | 0.704420 1.000000 0.980663 1.000000 0.748343
265 | 0.129006 0.206630 0.787017 0.000000 0.107735
266 | 0.919613 0.681696 0.000000 0.101934 0.146409
267 | 0.278729 0.983425 1.000000 0.988950 0.742857
268 | 0.179006 0.814641 0.903315 0.891989 0.908840
269 | 1.000000 1.000000 1.000000 1.000000 1.000000
270 | 0.488674 0.500000 0.759669 0.767956 0.685083
271 | 0.278729 1.000000 0.834254 0.991713 0.779006
272 | 0.254144 0.500000 0.911602 0.919613 1.000000
273 | 0.632597 0.842265 0.742818 0.831492 0.621271
274 | 0.118785 0.986188 0.847790 0.546409 0.759392
275 | 0.011050 0.022099 0.988950 0.005525 0.977901
276 | 0.500000 0.500000 0.500000 1.000000 1.000000
277 | 0.872928 1.000000 0.817680 0.842265 1.000000
278 | 0.339779 0.814641 0.588122 0.599448 0.500000
279 | 1.000000 1.000000 1.000000 1.000000 1.000000
280 | 0.300829 0.698619 0.753315 0.742818 0.259392
281 | 0.737293 0.737293 0.737293 0.759669 0.770442
282 | 0.994475 1.000000 0.792818 0.861878 0.958564
283 | 0.847790 0.914365 0.500000 0.869890 0.670994
284 | 0.787017 1.000000 0.845304 0.500000 1.000000
285 | 0.311326 0.764917 0.853315 0.900552 0.737293
286 | 0.038674 0.281768 0.500000 0.500000 0.500000
287 | 0.500000 0.500000 0.500000 0.500000 0.500000
288 | 0.500000 0.500000 0.500000 0.500000 0.500000
289 | 0.693094 0.784530 0.961326 0.958011 1.000000
290 | 0.000000 1.000000 1.000000 1.000000 0.500000
291 | 0.248343 1.000000 1.000000 1.000000 0.878453
292 | 0.372928 0.543370 0.779006 0.500000 1.000000
293 | 0.742818 1.000000 0.698895 0.812155 0.731768
294 | 0.678571 1.000000 1.000000 0.781492 0.693094
295 | 0.500000 1.000000 1.000000 1.000000 1.000000
296 | 0.160221 0.787293 0.643370 0.779006 0.660221
297 | 0.500000 0.500000 0.500000 0.500000 0.500000
298 | 0.972376 0.983425 0.685083 1.000000 0.977901
299 | 0.659945 0.632320 0.295580 0.339779 0.372928
300 | 0.588122 0.814641 1.000000 0.311878 0.500000
301 | 0.693370 0.736464 1.000000 1.000000 1.000000
302 | 0.983425 0.977901 0.972376 0.955801 0.994475
303 | 0.000000 1.000000 1.000000 1.000000 1.000000
304 | 0.742265 0.903315 0.764917 0.880939 0.919613
305 | 0.000000 1.000000 1.000000 1.000000 0.669643
306 | 0.500000 0.500000 1.000000 1.000000 1.000000
307 | 1.000000 0.996133 0.792541 0.500000 1.000000
308 | 0.861878 0.621271 0.828729 1.000000 0.856354
309 | 0.000000 1.000000 1.000000 1.000000 1.000000
310 | 0.000000 1.000000 1.000000 0.951381 0.850829
311 | 0.000000 0.500000 1.000000 1.000000 1.000000
312 | 0.798066 0.794643 0.663839 1.000000 1.000000
313 | 0.217680 0.875414 0.983425 0.903315 1.000000
314 | 0.697238 0.979558 0.759116 0.769061 0.903039
315 | 1.000000 0.500000 0.500000 0.500000 0.500000
316 | 0.974862 1.000000 0.961050 0.500000 0.930939
317 | 0.353591 0.687569 0.930663 0.983425 1.000000
318 | 0.972376 0.582320 0.720718 0.500000 1.000000
319 | 0.215470 0.682044 0.696133 0.764917 1.000000
320 | 0.285714 0.375000 0.678571 0.508929 0.964286
321 | 0.311878 0.886464 0.754144 0.753867 0.969337
322 | 0.160714 1.000000 0.500000 0.409375 0.598214
323 | 0.000000 0.305801 0.820166 0.505525 0.637845
324 | 0.798066 0.775967 0.500000 0.790055 0.875414
325 | 0.093923 1.000000 1.000000 0.778729 0.665470
326 | 1.000000 1.000000 1.000000 1.000000 1.000000
327 | 0.372928 0.990884 0.891989 1.000000 1.000000
328 | 1.000000 1.000000 1.000000 1.000000 0.765193
329 | 0.090884 0.939227 0.060773 1.000000 0.607459
330 | 0.212431 1.000000 0.339779 0.500000 0.618785
331 | 1.000000 0.659945 0.000000 0.767956 0.588122
332 | 0.172321 0.977679 0.428125 0.977679 0.988839
333 | 0.218232 1.000000 1.000000 0.737293 0.743094
334 | 0.858840 0.869890 1.000000 0.853315 1.000000
335 | 0.759392 0.936188 0.953039 0.792541 0.875414
336 | 0.317680 0.704144 0.928177 0.698619 0.969337
337 | 0.016575 1.000000 0.795580 1.000000 0.500000
338 | 0.063260 0.787017 0.680939 0.753867 0.729282
339 | 0.580110 0.900552 0.337017 0.762431 0.834254
340 | 0.022099 0.817680 0.850829 0.922652 0.751381
341 | 1.000000 0.262431 0.000000 0.000000 1.000000
342 | 0.500000 0.500000 0.500000 0.500000 0.500000
343 | 0.410714 0.776786 0.910714 0.679558 0.508929
344 | 0.005525 0.828729 0.303867 0.632320 0.983425
345 | 0.372652 1.000000 0.935912 0.803591 1.000000
346 | 0.000000 0.248619 0.295304 0.268304 0.126796
347 | 0.994475 0.994475 0.889503 1.000000 1.000000
348 | 0.790055 0.543094 0.775967 0.764917 0.543094
349 | 1.000000 1.000000 0.273204 0.709669 1.000000
350 | 0.779006 0.500000 0.000000 0.500000 0.729006
351 | 0.000000 1.000000 1.000000 1.000000 1.000000
352 | 0.741071 0.705357 0.750000 0.741071 1.000000
353 | 1.000000 1.000000 0.000000 0.500000 0.508929
354 | 0.000000 1.000000 1.000000 0.000000 0.000000
355 | 0.215470 1.000000 1.000000 1.000000 1.000000
356 | 0.000000 0.972376 0.994475 0.812155 0.198619
357 | 1.000000 0.629834 0.000000 0.000000 0.000000
358 | 0.267857 1.000000 0.758929 0.598214 0.875000
359 | 0.375691 0.988950 0.679282 0.690331 1.000000
360 | 0.994196 0.903315 0.182320 0.792541 0.801105
361 | 0.176796 0.848214 0.234807 0.419643 0.383929
362 | 0.140179 0.731768 0.878453 0.695856 0.345304
363 | 0.143646 0.284254 1.000000 1.000000 0.598895
364 | 0.231768 0.646409 0.798066 0.988950 0.859116
365 | 0.648895 0.846961 0.726243 1.000000 0.670994
366 | 0.500000 0.856354 0.500000 0.770442 0.988950
367 | 0.924862 0.680663 0.182320 0.284254 0.204144
368 | 1.000000 0.500000 1.000000 1.000000 1.000000
369 | 0.223757 0.171271 0.643370 0.196133 0.704144
370 | 0.500000 0.500000 0.500000 0.500000 0.500000
371 | 0.491071 0.500000 1.000000 1.000000 0.000000
372 | 0.835359 0.334254 1.000000 0.621271 0.717956
373 | 0.703315 1.000000 0.787017 0.795580 0.709116
374 | 0.339286 0.830357 0.839286 0.857143 0.857143
375 | 0.903315 0.897514 0.604696 0.737569 0.781768
376 | 0.187845 0.696133 0.966851 0.500000 0.817680
377 | 0.781768 0.361602 0.000000 0.265193 0.283702
378 | 0.882143 0.784530 1.000000 0.903315 0.715193
379 | 0.726243 1.000000 0.720718 0.215470 0.637845
380 | 0.911602 0.693094 0.190608 0.792818 0.626796
381 | 0.306354 0.908840 0.975138 0.500000 0.682320
382 | 0.911326 0.944751 0.643646 0.726243 0.994475
383 | 0.682044 1.000000 0.840179 1.000000 0.792541
384 | 0.289779 0.974862 0.925414 0.737569 0.930663
385 | 0.000000 1.000000 1.000000 1.000000 0.500000
386 | 0.856354 0.861878 0.789779 1.000000 1.000000
387 | 0.258929 0.785714 0.500000 0.704144 0.500000
388 | 1.000000 0.000000 0.659945 0.632597 1.000000
389 | 0.298066 1.000000 0.331492 0.869890 0.615746
390 | 0.080357 0.767857 0.089286 0.785714 0.607143
391 | 0.125000 0.866071 0.901786 0.901786 0.892857
392 | 0.082597 0.500000 0.066298 0.845304 0.000000
393 | 0.000000 0.762431 0.972376 1.000000 0.773481
394 | 0.033149 0.988950 0.500000 0.500000 1.000000
395 | 0.517857 1.000000 1.000000 0.776786 1.000000
396 | 0.000000 1.000000 1.000000 0.500000 0.740331
397 | 0.300552 0.190331 0.693094 0.731215 0.372928
398 | 0.375000 0.642857 0.500000 0.500000 0.500000
399 | 0.005525 0.983425 0.983425 0.966851 0.500000
400 | 0.000000 0.298066 0.301105 0.317403 0.500000
401 | 1.000000 1.000000 1.000000 1.000000 1.000000
402 | 0.312054 0.562500 0.000000 0.785714 0.535714
403 | 0.267956 0.903315 1.000000 0.906077 0.790055
404 | 0.845304 0.994475 0.983425 0.828729 0.359116
405 | 1.000000 1.000000 0.016071 1.000000 1.000000
406 | 0.256906 0.134530 0.756630 0.185083 0.000000
407 | 0.000000 1.000000 1.000000 1.000000 1.000000
408 | 0.794643 0.784375 0.288839 0.734530 0.282143
409 | 0.077348 0.848066 0.176796 0.102210 0.903039
410 | 0.127072 0.850829 0.850829 0.604696 0.955801
411 | 0.395028 1.000000 1.000000 1.000000 0.966851
412 | 0.000000 0.961326 1.000000 0.972376 0.905801
413 | 0.500000 1.000000 0.889503 0.972376 1.000000
414 | 0.000000 1.000000 1.000000 0.754144 1.000000
415 | 0.632320 0.212707 0.256906 0.250829 0.232044
416 | 0.215470 0.724862 1.000000 0.500000 0.687845
417 | 0.575446 1.000000 0.748343 0.753867 0.737293
418 | 0.508482 1.000000 1.000000 0.357143 0.607143
419 | 0.225893 0.112054 0.929018 0.000000 0.861607
420 | 0.169643 0.848214 0.276786 0.642857 0.196429
421 | 0.475000 0.500000 0.562500 0.491071 0.883978
422 | 0.011050 0.988950 1.000000 1.000000 0.500000
423 | 0.193370 0.988950 0.983425 0.500000 0.983425
424 | 0.800829 0.234807 0.000000 0.812500 0.000000
425 | 1.000000 1.000000 0.624033 0.950276 1.000000
426 | 0.792411 0.670994 0.648895 0.676519 0.521823
427 | 1.000000 0.845304 0.705357 0.455357 0.383929
428 | 0.483425 0.787017 0.174033 0.179558 0.668232
429 | 0.000000 0.473214 0.829018 1.000000 0.517857
430 | 0.331492 0.886740 0.939227 0.950276 0.958564
431 | 0.817680 1.000000 1.000000 0.773481 1.000000
432 | 0.543094 0.500000 0.123757 0.848214 0.500000
433 | 0.500000 0.903039 0.792818 0.886464 0.500000
434 | 0.500000 0.500000 0.972376 0.500000 0.500000
435 | 0.500000 0.972376 0.762431 0.500000 0.500000
436 | 1.000000 1.000000 0.532597 1.000000 1.000000
437 | 0.342541 0.548619 0.773481 0.581215 0.560497
438 | 0.895028 0.648895 0.226519 0.850829 0.500000
439 | 0.544643 0.744196 0.848214 0.729282 0.563393
440 | 0.125000 0.812500 1.000000 1.000000 0.642857
441 | 0.817680 0.648895 0.615746 0.212707 0.801105
442 | 0.325414 1.000000 0.914088 1.000000 1.000000
443 | 0.232044 0.754144 0.295580 0.406077 0.599171
444 | 0.500000 0.500000 0.500000 0.500000 0.500000
445 | 0.289779 1.000000 0.229282 0.612983 0.276243
446 | 0.082873 1.000000 1.000000 1.000000 0.765193
447 | 0.670994 0.756906 0.889503 0.356354 0.516298
448 | 0.259669 0.729282 0.740331 0.779006 0.500000
449 | 0.500000 0.500000 0.500000 0.500000 0.500000
450 | 0.817680 0.795580 0.281768 0.668508 0.342541
451 | 1.000000 0.055249 0.038674 0.480663 0.950276
452 | 0.386740 0.612983 0.154696 0.712707 0.500000
453 | 0.814641 0.513393 0.731768 0.422652 0.693094
454 | 0.745856 1.000000 1.000000 1.000000 0.759392
455 | 0.099448 0.718232 0.659945 0.665193 0.638122
456 | 0.726243 0.554420 0.500000 0.000000 0.500000
457 | 0.245856 1.000000 0.134807 1.000000 1.000000
458 | 0.500000 0.500000 1.000000 0.731768 0.500000
459 | 0.000000 0.557735 1.000000 1.000000 0.751381
460 | 0.972376 0.950276 0.754144 0.883978 0.742818
461 | 0.370166 0.383978 1.000000 1.000000 1.000000
462 | 1.000000 1.000000 0.553571 0.733036 0.464286
463 | 0.500000 0.500000 0.500000 0.500000 0.500000
464 | 0.314641 0.690331 0.870166 0.654420 0.665470
465 | 0.695856 1.000000 1.000000 1.000000 1.000000
466 | 0.820166 0.345304 0.085359 0.256906 0.731768
467 | 0.000000 0.022099 1.000000 1.000000 0.408840
468 | 0.828729 0.698619 0.372928 0.504420 0.275967
469 | 0.500000 0.974862 0.500000 0.966851 0.913812
470 | 0.231768 0.787017 1.000000 0.972376 1.000000
471 | 1.000000 0.964286 1.000000 1.000000 0.964286
472 | 1.000000 0.737293 0.604696 0.582597 0.337017
473 | 0.234807 0.966851 1.000000 0.911326 0.801105
474 | 1.000000 1.000000 1.000000 1.000000 1.000000
475 | 1.000000 0.812500 0.994475 0.867403 0.613260
476 | 0.684807 0.963812 0.220994 0.615746 0.615746
477 | 0.116022 0.118508 0.154696 0.897790 0.638122
478 | 0.482143 0.566022 0.419890 0.686464 0.598895
479 | 0.165746 0.878453 0.500000 0.889503 0.900552
480 | 1.000000 1.000000 0.553571 0.571875 0.985359
481 | 0.000000 0.803867 1.000000 1.000000 1.000000
482 | 1.000000 1.000000 0.646409 0.383978 0.776243
483 | 0.189779 0.632320 1.000000 0.339286 1.000000
484 | 0.267857 0.175446 0.295089 0.741071 0.892857
485 | 0.289779 1.000000 1.000000 0.629558 1.000000
486 | 0.500000 0.500000 0.500000 0.500000 0.500000
487 | 0.508929 0.500000 0.500000 0.500000 0.500000
488 | 0.458564 0.784530 0.381215 0.801105 0.500000
489 | 0.143646 0.754144 0.751381 0.527348 0.378453
490 | 0.154696 0.751381 1.000000 0.872928 0.356354
491 | 0.687500 0.678571 0.035714 0.526786 0.669643
492 | 0.770442 0.944751 0.977901 0.966851 0.969613
493 | 0.693370 0.848066 0.911602 0.809116 0.687569
494 | 0.825691 0.682044 0.712707 0.748343 1.000000
495 | 0.093923 0.720718 0.856354 0.682044 0.988950
496 | 0.667956 0.817680 1.000000 1.000000 0.795304
497 | 0.345304 0.950276 0.961326 0.983425 0.966851
498 | 0.428571 0.991071 0.714286 0.589286 0.392857
499 | 1.000000 0.500000 0.500000 0.500000 0.500000
500 | 0.000000 1.000000 0.588122 0.273204 0.883978
501 | 0.000000 0.500000 0.709945 0.836740 0.997238
502 | 0.000000 0.000000 1.000000 1.000000 1.000000
503 | 0.000000 0.000000 1.000000 0.961326 0.798066
504 | 0.179006 0.875691 0.590608 0.944751 0.500000
505 | 0.176796 0.590884 1.000000 0.668232 0.000000
506 | 0.242818 0.803867 0.878453 0.599448 0.500000
507 | 0.240331 0.753867 0.869890 1.000000 1.000000
508 | 0.801105 1.000000 1.000000 0.839779 1.000000
509 | 0.977901 0.726243 1.000000 0.850829 0.669613
510 | 0.790055 0.801105 0.977901 0.712707 0.718232
511 | 0.232143 0.797768 0.927679 0.726339 0.428571
512 | 0.980387 1.000000 0.184807 0.500000 0.859116
513 | 0.944751 0.500000 0.265193 0.662983 0.994475
514 | 0.276243 0.748343 1.000000 1.000000 0.914365
515 | 0.000000 1.000000 1.000000 1.000000 0.564641
516 | 0.062707 0.930939 0.858840 0.074309 0.000000
517 | 0.071429 0.133929 0.776786 0.821429 0.651786
518 | 0.000000 0.996685 0.295304 0.729282 1.000000
519 | 0.275967 0.500000 0.845304 0.867403 0.670994
520 | 0.500000 1.000000 0.500000 0.676796 0.787017
521 | 0.886464 0.906077 0.908840 0.897514 0.897514
522 | 0.154696 0.812155 0.828453 0.693094 0.693370
523 | 0.093646 0.969337 0.300829 0.825691 0.996961
524 | 0.239779 0.919890 0.994475 0.806354 0.759669
525 | 0.767857 0.848214 0.196429 0.839286 0.714286
526 | 0.303867 0.132597 0.994475 1.000000 1.000000
527 | 0.229006 1.000000 1.000000 0.501934 1.000000
528 | 0.500000 1.000000 0.911602 0.847790 0.577348
529 | 0.005525 0.790055 0.488950 1.000000 0.500000
530 | 0.168508 0.665470 0.676796 1.000000 0.621271
531 | 0.281492 0.900552 0.673757 0.577348 0.732044
532 | 0.000000 1.000000 0.000000 1.000000 0.000000
533 | 0.134807 0.878453 0.162983 0.167411 0.480663
534 | 0.055249 0.646409 0.812500 0.287293 0.553571
535 | 0.127072 1.000000 1.000000 1.000000 0.000000
536 | 0.972376 0.994475 0.303867 1.000000 0.602210
537 | 0.500000 0.500000 0.500000 0.500000 0.500000
538 | 0.254144 0.000000 0.000000 0.886464 0.500000
539 | 0.250000 0.919890 1.000000 0.906077 0.258929
540 | 0.994475 0.972376 0.983425 0.977901 1.000000
541 | 0.725893 0.720718 0.836740 0.820442 0.814641
542 | 0.000000 1.000000 0.000000 0.000000 0.000000
543 | 0.821429 0.330357 0.392857 0.366071 0.125000
544 | 0.240331 0.792541 0.190331 1.000000 0.052486
545 | 0.323204 0.659945 0.784530 0.085359 0.500000
546 | 0.011050 0.972376 0.027624 0.016575 0.016575
547 | 0.353039 0.798343 0.220718 1.000000 0.624033
548 | 0.098214 0.723214 0.620994 0.205357 0.246875
549 | 0.768750 0.781492 0.720718 0.770442 0.517857
550 | 1.000000 0.209669 0.867403 0.729282 0.331492
551 | 0.220994 0.803867 0.500000 0.151657 0.847790
552 | 0.500000 0.500000 0.500000 0.500000 0.500000
553 | 0.500000 0.743094 0.770718 0.648343 0.500000
554 | 0.093923 0.096133 0.825691 0.151934 0.659945
555 | 0.000000 1.000000 0.538122 0.500000 0.000000
556 | 0.491071 0.500000 0.500000 0.500000 0.500000
557 | 0.383978 0.627072 0.288674 0.698619 0.311878
558 | 0.000000 0.599171 0.615746 0.670994 0.748343
559 | 0.500000 1.000000 0.985912 1.000000 0.731215
560 | 0.419643 0.241071 0.866071 0.848214 0.714286
561 | 0.157589 1.000000 1.000000 0.500000 0.500000
562 | 0.000000 1.000000 0.839503 0.834254 0.828729
563 | 0.245856 0.977901 1.000000 0.709669 0.983425
564 | 0.169643 0.053571 0.121875 0.758929 0.133929
565 | 0.323204 0.593094 0.000000 0.361878 0.814641
566 | 0.996961 1.000000 0.687569 1.000000 1.000000
567 | 0.648895 0.745856 0.582873 0.659945 0.753867
568 | 0.883978 1.000000 0.088398 0.875691 0.261878
569 | 0.500000 1.000000 0.000000 0.988950 0.500000
570 | 0.845304 0.823204 0.867403 0.500000 1.000000
571 | 0.500000 0.500000 0.500000 0.500000 0.500000
572 | 0.000000 1.000000 0.364641 0.591160 0.500000
573 | 1.000000 1.000000 0.803867 0.842541 1.000000
574 | 0.891989 0.631215 0.033149 0.648895 0.585359
575 | 0.686188 0.000000 0.000000 0.750000 1.000000
576 | 0.000000 0.000000 0.000000 0.000000 0.000000
577 | 0.000000 1.000000 0.000000 0.212707 0.500000
578 | 0.000000 1.000000 0.633482 1.000000 0.625000
579 | 0.187845 0.798066 1.000000 1.000000 0.328729
580 | 0.281768 0.259669 0.933702 0.961326 0.657459
581 | 1.000000 0.464088 0.895028 0.662707 0.419890
582 | 0.000000 1.000000 0.500000 1.000000 0.500000
583 | 0.910714 0.882143 0.821429 0.873214 0.848214
584 | 0.500000 0.500000 0.500000 0.500000 0.500000
585 | 0.625000 0.169643 0.321429 0.687500 0.276786
586 | 0.798343 1.000000 1.000000 1.000000 0.903039
587 | 0.000000 1.000000 1.000000 1.000000 1.000000
588 | 0.342541 0.500000 0.593646 0.812155 0.000000
589 | 0.621271 1.000000 0.825691 0.867403 0.880939
590 | 0.687500 0.758929 0.151786 0.607143 1.000000
591 | 0.342541 0.585635 0.856354 0.911602 0.994475
592 | 0.500000 0.500000 0.500000 0.500000 0.500000
593 | 0.575691 0.704144 0.112983 0.742818 0.769613
594 | 0.707182 0.704144 0.201381 0.764917 0.994475
595 | 0.784530 0.745856 0.933702 0.861878 0.613260
596 | 0.975138 0.966851 0.996961 0.500000 0.500000
597 | 0.500000 1.000000 0.839779 0.751381 0.237569
598 | 0.751381 0.994475 0.966851 0.613260 0.988950
599 | 0.133929 0.276786 1.000000 0.991071 0.910714
600 | 0.801105 1.000000 0.886740 1.000000 1.000000
601 | 0.196133 1.000000 1.000000 0.803867 0.792818
602 | 0.446429 0.473214 0.473214 0.455357 0.455357
603 | 0.300276 0.969337 0.850829 0.715193 0.604420
604 | 0.748343 0.116022 0.891713 0.908564 0.378453
605 | 1.000000 0.535714 0.723214 0.991071 0.955357
606 | 0.748619 1.000000 0.234254 0.598895 0.643370
607 | 0.017857 0.500000 1.000000 0.328729 0.638122
608 | 0.690608 0.906077 0.624309 0.500000 0.375691
609 | 0.709392 0.869337 0.566022 1.000000 0.535912
610 | 0.013812 0.000000 0.000000 0.715470 0.715193
611 | 0.160221 0.839779 0.911602 0.831215 0.500000
612 | 0.500000 0.000000 0.000000 0.000000 0.500000
613 | 0.000000 0.804464 0.500000 1.000000 0.787017
614 | 1.000000 1.000000 1.000000 1.000000 1.000000
615 | 0.052486 0.952762 0.743094 0.809116 0.648895
616 | 0.066298 0.779006 0.795580 0.406077 0.941989
617 | 0.214286 0.553571 1.000000 0.857143 0.669643
618 | 0.548619 0.803591 0.842265 0.944751 0.864641
619 | 0.375000 0.589286 0.756630 1.000000 0.679282
620 | 0.000000 0.759669 0.781768 0.576796 0.500000
621 | 0.765193 1.000000 1.000000 0.000000 0.731768
622 | 0.160221 0.922652 1.000000 0.801105 1.000000
623 | 0.026786 1.000000 0.776243 0.773204 0.687500
624 | 0.256906 0.729282 0.599171 0.500000 0.500000
625 | 0.586740 1.000000 1.000000 1.000000 0.703867
626 | 0.662983 0.342541 0.397790 0.591160 0.823204
627 | 0.049724 1.000000 0.720718 1.000000 0.759392
628 | 0.101657 0.226519 0.586740 0.806630 0.500000
629 | 0.201105 0.174033 0.698619 0.174033 1.000000
630 | 0.000000 0.756906 0.856354 0.809392 0.577348
631 | 0.705357 0.125000 0.125000 0.062500 0.383929
632 | 0.062500 0.000000 0.000000 0.000000 0.000000
633 | 0.565470 0.952762 0.626796 0.875414 0.378453
634 | 0.273204 0.814917 0.825691 0.842265 0.814641
635 | 0.000000 0.500000 1.000000 0.247790 1.000000
636 | 0.397790 0.814641 0.834254 0.687569 0.500000
637 | 0.577072 0.839779 0.764917 0.886464 0.825691
638 | 0.002762 1.000000 0.858840 0.886464 0.958287
639 | 0.348066 0.812155 0.994475 0.359116 0.784530
640 | 0.333425 0.977901 0.878453 0.955357 0.848214
641 | 0.500000 0.726243 0.500000 0.521547 0.500000
642 | 0.220994 0.779006 0.966851 0.795580 0.662983
643 | 0.500000 0.632320 0.643370 0.500000 0.620994
644 | 0.281492 0.582044 0.726243 0.610221 1.000000
645 | 0.792541 1.000000 1.000000 1.000000 1.000000
646 | 0.270442 0.745856 1.000000 0.922652 0.599171
647 | 0.085359 0.654420 0.687569 0.615746 0.769061
648 | 0.212707 0.500000 0.651657 0.378453 0.500000
649 | 0.731768 0.784530 1.000000 0.814641 0.980663
650 | 0.000000 1.000000 1.000000 1.000000 1.000000
651 | 0.303867 0.640884 0.740331 0.386740 0.734807
652 | 0.248343 1.000000 0.279006 0.820442 0.500000
653 | 0.196133 0.817403 1.000000 0.614365 1.000000
654 | 0.204420 0.828453 0.176519 0.795580 0.464088
655 | 0.000000 1.000000 1.000000 1.000000 0.878453
656 | 0.488950 1.000000 1.000000 1.000000 1.000000
657 | 0.500000 0.250000 1.000000 0.883929 0.303571
658 | 0.000000 0.000000 0.000000 0.500000 1.000000
659 | 0.243094 0.817680 0.875691 0.687569 0.809116
660 | 0.361326 0.682044 0.875414 0.817680 0.355801
661 | 0.245304 0.922652 0.874862 0.903039 0.500000
662 | 0.204420 0.662983 0.861878 0.745856 0.723757
663 | 0.154420 0.693094 0.726243 0.428177 1.000000
664 | 0.303591 1.000000 1.000000 1.000000 0.328729
665 | 0.217680 0.750000 1.000000 0.842265 1.000000
666 | 0.229006 0.742265 0.994199 1.000000 1.000000
667 | 0.134807 0.983425 0.875414 0.897790 0.914365
668 | 0.160714 0.723214 0.428571 0.633929 0.500000
669 | 0.000000 1.000000 0.000000 1.000000 1.000000
670 | 0.000000 0.000000 0.000000 0.000000 0.000000
671 | 0.000000 0.259392 0.751381 0.000000 0.748343
672 | 0.116022 0.597321 0.089286 0.604911 0.500000
673 | 0.179558 0.911602 0.676519 0.676796 1.000000
674 | 0.674033 0.795580 1.000000 0.608840 0.674033
675 | 0.972376 0.679282 0.895028 1.000000 1.000000
676 | 0.657182 0.364641 0.000000 0.759392 0.471547
677 | 0.214286 0.464286 0.339286 0.723214 0.678571
678 | 0.000000 0.000000 0.500000 0.517857 0.535714
679 | 0.000000 1.000000 1.000000 1.000000 0.182320
680 | 0.195856 0.775967 0.861878 0.872928 0.997238
681 | 0.000000 1.000000 1.000000 0.861878 1.000000
682 | 0.500000 0.491071 0.500000 0.500000 0.500000
683 | 0.000000 0.000000 0.000000 1.000000 0.027624
684 | 0.179558 0.171271 1.000000 0.784530 0.648895
685 | 1.000000 0.848214 0.955357 0.723214 1.000000
686 | 0.284254 0.542265 0.500000 0.564917 0.576796
687 | 0.323204 0.870166 1.000000 0.858840 0.853591
688 | 1.000000 0.723757 1.000000 1.000000 0.654420
689 | 0.500000 0.500000 0.500000 0.500000 0.500000
690 | 0.825691 0.963812 0.903039 0.670994 0.753867
691 | 0.773481 0.604696 0.167956 0.361878 0.411602
692 | 0.000000 0.000000 1.000000 1.000000 1.000000
693 | 0.290055 1.000000 1.000000 1.000000 1.000000
694 | 0.500000 0.500000 0.500000 0.781492 0.500000
695 | 0.400552 1.000000 0.632320 0.726519 1.000000
696 | 0.383929 0.950276 0.571429 0.900552 0.366071
697 | 0.000000 1.000000 1.000000 0.500000 0.895028
698 | 0.223214 0.383929 1.000000 1.000000 0.419643
699 | 0.267127 0.279006 0.701657 0.709669 0.914088
700 | 0.317680 0.930663 1.000000 1.000000 1.000000
701 | 0.118232 0.936188 0.950276 0.737569 0.889503
702 | 0.345304 0.737017 1.000000 0.857143 0.855357
703 | 0.806630 0.801105 0.701657 0.983425 0.696133
704 | 0.284530 1.000000 0.731768 0.770442 0.798343
705 | 0.464286 0.500000 0.776786 0.500000 0.500000
706 | 0.490884 0.850829 0.994475 0.693094 0.701381
707 | 0.602210 0.889503 0.977901 0.276243 1.000000
708 | 0.720718 0.985912 0.753867 0.500000 0.500000
709 | 0.289227 0.803591 1.000000 0.847790 0.867403
710 | 0.687569 0.162431 0.000000 0.903039 0.682320
711 | 0.116071 0.930663 0.980387 1.000000 0.906077
712 | 0.742818 0.731768 1.000000 0.510773 1.000000
713 | 0.500000 1.000000 0.856077 0.900552 1.000000
714 | 0.005525 1.000000 0.290055 0.742541 0.571547
715 | 1.000000 0.914365 0.500000 0.300276 0.803867
716 | 0.612500 0.683929 0.102210 0.190055 0.825691
717 | 0.624309 0.718232 0.668508 0.690608 0.679558
718 | 0.770442 0.814641 0.500000 0.687569 0.881215
719 | 0.000000 0.758929 0.750000 0.767857 0.678571
720 | 0.500000 0.811878 0.500000 0.900552 0.701657
721 | 0.088398 0.820442 0.803867 0.746961 0.933702
722 | 0.000000 1.000000 0.500000 0.500000 0.500000
723 | 0.000000 0.828729 0.693094 0.505249 0.500000
724 | 0.133929 1.000000 0.728125 0.446429 0.983425
725 | 0.853315 1.000000 0.759392 0.713812 1.000000
726 | 0.278571 0.830804 0.853125 0.858482 0.437500
727 | 0.985912 1.000000 0.477624 0.977901 0.500000
728 | 0.116071 1.000000 0.637845 0.466851 0.632320
729 | 0.000000 0.033149 1.000000 1.000000 1.000000
730 | 0.000000 0.187845 0.607459 0.281768 0.000000
731 | 0.767857 0.651786 0.857143 0.339286 0.241071
732 | 0.278729 0.582873 0.632597 0.648895 0.848066
733 | 0.779006 1.000000 0.834254 0.762431 0.745580
734 | 0.206906 1.000000 0.717956 0.339779 0.011050
735 | 0.500000 0.599171 0.638122 0.609116 0.394751
736 | 0.419643 0.650000 0.553571 0.973214 0.625000
737 | 0.500000 0.933702 0.919890 0.905801 0.759392
738 | 0.226519 0.718232 0.972376 0.756906 0.779006
739 | 0.314641 0.842541 0.624033 0.842541 0.842541
740 | 0.673757 0.345304 0.698619 0.706906 1.000000
741 | 0.994475 0.000000 0.988950 0.381215 0.591160
742 | 0.099107 0.977901 1.000000 0.753867 0.748619
743 | 0.143646 1.000000 1.000000 0.991713 0.856354
744 | 0.000000 1.000000 0.325967 0.820166 0.220994
745 | 0.217956 0.201657 0.060773 0.295304 0.055249
746 | 0.000000 0.500000 0.000000 0.776786 1.000000
747 | 0.974862 0.997238 0.234807 0.754144 1.000000
748 | 0.370166 0.614365 0.350829 0.643370 0.339779
749 | 0.146133 0.171271 0.574033 0.325967 0.216851
750 | 0.500000 0.500000 0.500000 0.500000 0.500000
751 | 0.082873 0.371429 0.850829 0.856354 0.500000
752 | 0.107182 0.505525 1.000000 1.000000 0.654420
753 | 0.000000 0.151657 0.980663 0.093646 0.198895
754 | 0.254144 0.690331 0.858564 0.834254 1.000000
755 | 0.237569 0.618785 0.878453 0.872928 0.955801
756 | 0.000000 1.000000 0.659945 0.632597 0.090884
757 | 0.773481 0.237293 0.212707 0.637845 0.850552
758 | 1.000000 1.000000 1.000000 1.000000 0.000000
759 | 1.000000 1.000000 1.000000 1.000000 1.000000
760 | 0.000000 1.000000 1.000000 1.000000 0.732143
761 | 0.000000 1.000000 0.707182 0.000000 1.000000
762 | 0.303315 0.900552 1.000000 0.900552 0.726243
763 | 0.654420 1.000000 1.000000 0.856354 1.000000
764 | 0.502486 0.500000 0.500000 0.500000 0.500000
765 | 0.005525 0.005525 0.005525 0.000000 0.000000
766 | 0.500000 0.500000 0.500000 0.500000 0.500000
767 | 0.000000 0.000000 0.000000 0.000000 0.000000
768 | 0.292541 0.820166 1.000000 1.000000 1.000000
769 | 0.500000 0.500000 0.500000 0.500000 0.500000
770 | 0.000000 1.000000 1.000000 0.000000 0.615193
771 | 0.176796 0.795580 1.000000 0.784530 0.687017
772 | 0.604696 0.723757 0.317680 0.300829 0.637569
773 | 0.292541 0.798066 0.000000 0.842541 0.847790
774 | 0.241071 0.839286 1.000000 0.741071 0.491071
775 | 0.044643 1.000000 1.000000 1.000000 1.000000
776 | 0.687569 0.665470 0.339779 0.709669 0.642541
777 | 0.000000 1.000000 1.000000 1.000000 1.000000
778 | 1.000000 1.000000 0.240331 0.994475 1.000000
779 | 0.000000 1.000000 0.669613 0.781492 1.000000
780 | 0.000000 1.000000 1.000000 0.517857 0.517857
781 | 0.000000 0.785714 0.663393 0.740331 1.000000
782 | 0.298343 0.618785 0.500000 0.679558 0.500000
783 | 0.000000 0.773204 0.500000 0.500000 1.000000
784 | 0.182044 0.491160 0.977901 1.000000 0.500000
785 | 0.872928 0.134807 0.124033 0.146409 0.784530
786 | 0.168508 0.698895 0.138122 0.690608 0.066298
787 | 0.734807 0.858840 1.000000 0.118785 1.000000
788 | 0.616071 0.720994 0.422652 0.571547 0.500000
789 | 0.546409 0.646133 0.773481 0.664641 1.000000
790 | 0.005525 0.928177 0.753867 0.831492 0.604696
791 | 0.156906 0.806696 0.964286 0.866071 1.000000
792 | 0.500000 0.261878 1.000000 1.000000 1.000000
793 | 0.104696 0.696133 1.000000 0.759669 0.690608
794 | 0.184807 0.764917 1.000000 0.615746 0.500000
795 | 0.500000 0.762431 1.000000 0.143646 0.845304
796 | 0.138122 0.000000 0.000000 0.500000 0.500000
797 | 0.632597 1.000000 1.000000 1.000000 1.000000
798 | 0.685083 0.845304 1.000000 0.792541 0.500000
799 | 0.500000 1.000000 1.000000 0.444751 0.723481
800 | 0.607735 0.613260 0.790055 0.856354 0.745856
801 | 0.226243 0.607143 1.000000 0.964286 0.437500
802 | 0.500000 0.500000 0.500000 0.500000 0.500000
803 | 0.000000 1.000000 0.845304 1.000000 0.679558
804 | 0.000000 0.182320 0.643370 0.654144 0.543370
805 | 0.785714 0.785714 0.785714 0.892857 1.000000
806 | 1.000000 1.000000 1.000000 1.000000 1.000000
807 | 0.273481 0.610221 0.687569 0.500000 0.687569
808 | 0.709669 1.000000 1.000000 0.883929 1.000000
809 | 0.256906 0.897514 0.847790 0.985912 0.842265
810 | 0.000000 1.000000 1.000000 0.988950 0.500000
811 | 0.610221 0.776243 0.339779 0.748343 0.620718
812 | 0.098214 0.883929 1.000000 1.000000 0.562500
813 | 0.657182 0.856354 0.883978 0.706906 0.000000
814 | 1.000000 0.974862 1.000000 0.825691 0.836740
815 | 0.218232 0.991436 0.129558 0.814641 0.500000
816 | 0.176796 1.000000 0.784530 0.500000 1.000000
817 | 0.410773 0.731768 0.743094 0.864365 0.798066
818 | 0.753867 0.801105 0.734254 0.784530 0.779006
819 | 0.753867 0.206630 0.759669 0.500000 0.748343
820 | 0.820442 0.897790 1.000000 0.781768 0.500000
821 | 0.146133 0.908564 0.753867 0.908840 0.820166
822 | 0.250829 1.000000 1.000000 1.000000 0.836740
823 | 0.756906 0.828729 0.823204 0.850829 0.723757
824 | 0.500000 0.740331 0.922652 0.872928 0.950276
825 | 0.353591 1.000000 1.000000 0.231768 0.687569
826 | 0.731768 1.000000 0.748343 0.828729 0.834254
827 | 0.218232 0.781492 1.000000 0.342541 0.988950
828 | 0.925138 0.201657 0.284530 0.930663 0.620994
829 | 0.875414 0.986161 0.889503 0.741071 0.750000
830 | 0.433702 1.000000 1.000000 0.621271 0.499724
831 | 1.000000 0.267956 0.787293 0.500000 0.748343
832 | 0.000000 0.911602 1.000000 0.712707 0.720718
833 | 0.630939 1.000000 0.682044 0.582597 0.668232
834 | 0.408840 0.345304 0.577072 1.000000 0.383978
835 | 0.000000 1.000000 1.000000 1.000000 1.000000
836 | 1.000000 1.000000 1.000000 1.000000 1.000000
837 | 0.226519 1.000000 0.267680 0.878453 1.000000
838 | 0.055249 0.787017 1.000000 0.157459 0.848066
839 | 0.720718 0.850829 1.000000 1.000000 1.000000
840 | 0.121547 0.399724 0.607459 0.676519 0.375691
841 | 0.171271 0.500000 0.861878 0.856354 0.751381
842 | 0.232044 0.833978 1.000000 0.502762 0.704144
843 | 1.000000 1.000000 0.803591 1.000000 0.500000
844 | 0.176796 0.983425 0.961326 0.955801 0.762431
845 | 0.000000 1.000000 1.000000 1.000000 1.000000
846 | 0.005525 0.982143 0.886464 0.000000 0.980387
847 | 0.234807 0.803591 1.000000 0.726243 1.000000
848 | 0.185083 0.883978 0.704420 0.859116 1.000000
849 | 0.192265 0.681492 0.154696 0.648895 0.708287
850 | 0.270442 0.632320 0.906077 0.632320 0.919337
851 | 0.637569 1.000000 0.648895 0.654420 0.593646
852 | 0.792541 0.795580 1.000000 0.165746 1.000000
853 | 0.742818 1.000000 0.994475 1.000000 1.000000
854 | 0.964286 1.000000 1.000000 0.946429 1.000000
855 | 0.143646 0.861878 0.988950 0.714088 0.972376
856 | 0.657182 0.742818 0.952762 0.858840 0.770718
857 | 0.500000 0.500000 0.500000 0.500000 0.500000
858 | 0.693094 1.000000 1.000000 1.000000 1.000000
859 | 0.737293 0.571547 0.814917 0.383978 1.000000
860 | 1.000000 1.000000 0.127072 1.000000 0.516298
861 | 0.303867 1.000000 1.000000 0.406077 0.359116
862 | 0.148895 0.253867 0.190608 0.872928 0.234254
863 | 0.668232 1.000000 0.872928 0.000000 0.500000
864 | 0.342541 0.972376 0.994475 0.906077 0.613260
865 | 0.500000 0.687845 0.839779 0.740331 0.977901
866 | 0.011050 1.000000 1.000000 1.000000 1.000000
867 | 0.232044 0.659945 0.693094 0.709669 0.588122
868 | 0.000000 0.000000 0.018785 0.986188 1.000000
869 | 0.437500 0.500000 0.419643 0.589286 1.000000
870 | 1.000000 0.500000 0.000000 0.762431 0.500000
871 | 0.209669 0.712431 0.000000 0.500000 1.000000
872 | 0.049724 0.839779 0.900552 0.911602 0.828729
873 | 0.044199 1.000000 0.928177 0.950276 0.939227
874 | 0.288393 0.937500 0.646409 0.889503 0.933702
875 | 0.282143 0.621212 0.493939 0.966667 0.742121
876 | 0.473214 0.502762 0.500000 0.500000 0.500000
877 | 0.828453 1.000000 0.773481 0.618508 0.364641
878 | 0.500000 0.500000 0.500000 0.500000 0.500000
879 | 0.500000 0.500000 0.500000 0.500000 0.500000
880 | 0.000000 0.776786 0.169643 0.875000 0.821429
881 | 0.298066 0.659945 0.687569 0.279006 0.726243
882 | 0.707182 1.000000 0.500000 0.781492 0.781492
883 | 0.215193 1.000000 0.000000 1.000000 1.000000
884 | 0.359116 0.842265 0.839779 0.790055 0.665470
885 | 0.439227 0.746961 1.000000 0.881215 0.731768
886 | 1.000000 1.000000 1.000000 0.237569 1.000000
887 | 0.500000 0.500000 0.500000 0.500000 0.500000
888 | 0.090608 0.866071 0.742818 0.682044 0.621271
889 | 0.395028 1.000000 0.588122 1.000000 0.626796
890 | 0.500000 0.500000 0.500000 0.500000 0.500000
891 | 0.437500 0.866071 0.794643 0.794643 1.000000
892 | 0.500000 0.500000 0.500000 0.500000 0.500000
893 | 0.392265 0.895028 0.317680 0.759392 0.279006
894 | 0.966851 0.958287 0.433702 0.554972 1.000000
895 | 0.187845 1.000000 0.125000 1.000000 0.669643
896 | 0.201657 0.911602 0.917127 0.140331 0.911602
897 | 0.171271 1.000000 0.707182 0.972376 0.861878
898 | 0.258929 0.141964 0.000000 0.383929 0.000000
899 | 0.500000 0.704420 0.720718 0.500000 0.577348
900 | 0.104972 0.599171 0.626796 0.610497 0.060773
901 | 0.712707 0.209945 0.615746 0.345304 0.116022
902 | 0.500000 0.500000 0.939227 0.955801 0.972376
903 | 0.000000 0.000000 0.000000 0.000000 0.507735
904 | 0.234254 1.000000 0.729282 0.220718 1.000000
905 | 0.267956 0.745856 0.146409 0.878453 1.000000
906 | 1.000000 1.000000 1.000000 1.000000 1.000000
907 | 0.969061 0.963812 0.687569 0.615746 0.500000
908 | 0.215470 1.000000 0.983425 0.500000 1.000000
909 | 0.472376 0.348066 0.375691 0.334254 0.676519
910 | 0.223481 0.813260 0.295304 0.731768 0.950000
911 | 0.500000 0.458564 0.500000 0.500000 0.500000
912 | 0.267857 0.383929 0.160714 1.000000 0.303571
913 | 0.088398 0.842541 0.787017 0.334254 0.842541
914 | 0.693094 0.864365 0.306354 0.698619 0.500000
915 | 0.621547 0.676519 0.906077 0.759392 0.500000
916 | 0.201657 0.996961 0.124309 0.759392 0.831215
917 | 0.925138 1.000000 1.000000 0.116022 1.000000
918 | 0.145856 0.527624 0.972376 0.858840 0.367403
919 | 1.000000 0.154696 0.077348 0.088398 0.676519
920 | 0.864641 0.908564 1.000000 0.704144 0.643370
921 | 0.176796 0.116022 1.000000 1.000000 1.000000
922 | 0.686188 0.975138 0.714917 0.543370 0.966851
923 | 0.276243 0.977901 0.784530 0.784530 0.977901
924 | 0.500000 0.961326 1.000000 1.000000 1.000000
925 | 0.762431 0.693094 1.000000 0.568508 0.654420
926 | 0.116071 0.860268 0.950276 0.770442 0.908840
927 | 0.678571 1.000000 0.000000 0.687500 0.491071
928 | 0.173481 0.974309 0.924862 0.908011 0.964088
929 | 1.000000 0.071429 0.000000 0.000000 0.544643
930 | 1.000000 1.000000 1.000000 0.500000 0.500000
931 | 0.532044 0.704144 0.378453 0.207182 0.659945
932 | 0.171271 0.500000 0.828729 0.828729 1.000000
933 | 0.770718 0.839286 1.000000 1.000000 1.000000
934 | 0.731768 0.500000 0.021547 0.566022 0.850552
935 | 0.406077 0.643370 0.676519 0.615746 0.676519
936 | 0.000000 1.000000 1.000000 1.000000 0.482143
937 | 0.143646 1.000000 1.000000 1.000000 0.718232
938 | 0.769061 0.925138 0.769061 0.807735 0.759392
939 | 0.762431 0.900552 0.961326 0.500000 0.762431
940 | 0.000000 1.000000 1.000000 1.000000 1.000000
941 | 0.500000 0.500000 0.500000 0.500000 0.500000
942 | 0.005525 0.988950 0.988950 0.988950 1.000000
943 | 0.803571 0.678571 1.000000 0.982143 0.580357
944 | 0.000000 1.000000 0.767956 0.773204 0.681492
945 | 0.267680 0.500000 0.406077 0.577072 0.538674
946 | 1.000000 0.687569 0.000000 0.850829 0.500000
947 | 0.101657 0.897790 0.891989 0.914365 0.500000
948 | 0.696133 0.500000 0.613260 0.972376 0.624309
949 | 0.554144 0.646409 0.670994 0.704144 0.742818
950 | 0.000000 1.000000 1.000000 1.000000 1.000000
951 | 0.024309 0.939227 0.046685 0.074586 0.925414
952 | 0.000000 0.544643 0.629464 0.737293 0.311878
953 | 0.000000 1.000000 0.000000 0.000000 0.734807
954 | 0.314641 0.250829 0.008287 0.000000 0.742818
955 | 1.000000 1.000000 1.000000 1.000000 1.000000
956 | 0.414365 1.000000 0.745856 0.751381 0.591160
957 | 0.033149 0.983425 1.000000 1.000000 0.994475
958 | 0.000000 1.000000 0.450000 0.000000 0.195580
959 | 0.775414 0.500000 1.000000 0.267956 1.000000
960 | 0.275967 0.751381 0.988950 0.977901 0.500000
961 | 1.000000 0.428177 0.375691 0.564917 0.422652
962 | 0.500000 0.687569 0.251381 0.698619 0.500000
963 | 0.098214 0.806630 1.000000 1.000000 1.000000
964 | 1.000000 1.000000 0.256354 0.693094 1.000000
965 | 0.411602 0.643370 0.500000 0.897514 0.637845
966 | 0.116022 0.950276 0.961326 0.961326 0.944751
967 | 0.250829 0.737569 0.500000 0.803591 0.604696
968 | 0.670718 0.334254 0.941713 0.690608 0.867403
969 | 0.228729 1.000000 1.000000 0.743094 1.000000
970 | 0.706354 1.000000 1.000000 0.662983 0.656354
971 | 0.000000 1.000000 0.726243 1.000000 0.792265
972 | 0.118785 0.831215 1.000000 0.842265 0.682044
973 | 0.983425 0.758011 0.791436 0.891989 0.930663
974 | 0.137845 0.698619 0.618232 0.720994 0.599448
975 | 0.066298 0.900552 0.906077 0.958564 1.000000
976 | 0.500000 1.000000 1.000000 1.000000 0.500000
977 | 0.251381 0.891989 0.908287 0.880387 0.604696
978 | 0.792818 1.000000 0.577072 0.906077 0.248619
979 | 0.027624 0.571547 1.000000 0.748343 0.590884
980 | 0.179006 0.532597 0.668232 0.701657 0.453039
981 | 0.157459 0.977901 1.000000 0.974862 0.985912
982 | 0.083036 0.482143 0.640625 0.169643 0.687500
983 | 0.770442 0.781492 0.314641 0.764917 0.500000
984 | 0.850829 0.883978 0.806630 0.220994 0.243094
985 | 0.262431 0.891713 1.000000 0.704144 0.500000
986 | 0.220718 0.204144 0.985912 1.000000 1.000000
987 | 0.383978 0.389503 0.500000 0.759392 0.764917
988 | 0.107735 1.000000 0.825967 1.000000 0.709392
989 | 0.654420 0.878453 1.000000 0.925138 0.988950
990 | 0.214286 0.917127 0.883929 0.785714 0.625000
991 | 1.000000 0.245304 0.417127 0.922652 0.500000
992 | 0.215470 1.000000 1.000000 1.000000 0.812155
993 | 0.000000 0.972376 1.000000 1.000000 0.500000
994 | 0.217680 0.709945 0.828729 0.676519 0.825691
995 | 0.651786 1.000000 0.455357 0.794643 0.232143
996 | 0.000000 1.000000 0.834254 1.000000 1.000000
997 | 0.248619 0.961326 0.679558 0.988950 0.977901
998 | 0.104972 1.000000 1.000000 0.690608 0.812155
999 | 0.000000 0.785714 0.196429 0.660714 0.321429
1000 | 0.952762 0.961326 0.991436 0.955801 0.500000
1001 | 0.000000 0.911602 1.000000 0.806354 0.665470
1002 | 0.750446 0.781215 0.395982 0.651786 0.792818
1003 | 0.576786 0.969337 0.875414 0.831215 0.632320
1004 | 0.011050 0.983425 0.961326 0.988950 0.500000
1005 | 0.500000 1.000000 1.000000 0.500000 0.500000
1006 | 0.248343 1.000000 1.000000 0.314641 0.220718
1007 | 0.049724 0.759392 0.986188 0.864641 0.958287
1008 | 0.875414 0.676519 0.494475 0.281492 0.323204
1009 | 0.500000 0.850829 1.000000 0.725691 0.903315
1010 | 1.000000 1.000000 0.005525 0.500000 0.500000
1011 | 0.035714 0.983425 0.955801 0.817680 0.988950
1012 | 0.041160 0.500000 0.273204 0.251381 0.500000
1013 | 0.134807 0.637845 0.928177 0.743094 0.834254
1014 | 0.500000 0.842265 0.792541 0.731768 0.996961
1015 | 0.828729 0.895028 0.988950 0.972376 0.928177
1016 | 0.000000 0.204144 0.090608 0.809116 0.779006
1017 | 0.464286 0.500000 0.571429 0.535714 0.589286
1018 | 0.090331 0.616022 0.174033 0.836740 0.500000
1019 | 0.000000 1.000000 0.806630 0.812155 0.500000
1020 | 0.303591 0.764917 0.911602 0.964088 0.570166
1021 | 0.121271 1.000000 0.704144 0.764917 0.500000
1022 | 0.814365 1.000000 0.988950 1.000000 0.809392
1023 | 0.618785 0.795028 0.858840 0.875000 0.477901
1024 | 0.698619 1.000000 1.000000 1.000000 0.883978
1025 | 0.077072 0.914088 1.000000 0.831492 0.900552
1026 | 0.848066 0.856354 1.000000 0.820166 0.673757
1027 | 0.309392 0.408840 0.828729 0.883978 0.500000
1028 | 1.000000 1.000000 1.000000 1.000000 1.000000
1029 | 0.165470 0.745580 1.000000 0.889503 0.809116
1030 | 0.571271 0.930939 0.748619 0.741989 0.737293
1031 | 0.089286 0.562500 1.000000 1.000000 1.000000
1032 | 0.000000 1.000000 0.000000 1.000000 0.000000
1033 | 0.278729 0.775967 0.770442 0.781492 0.500000
1034 | 0.000000 0.000000 0.500000 0.720442 0.500000
1035 | 0.000000 1.000000 0.845304 1.000000 0.632320
1036 | 0.169643 0.758929 0.107143 0.401786 0.580357
1037 | 0.400552 0.720718 0.643370 0.625414 0.665470
1038 | 0.000000 1.000000 1.000000 1.000000 1.000000
1039 | 0.353591 0.698619 0.660221 0.769613 0.925138
1040 | 0.000000 1.000000 0.000000 0.500000 0.500000
1041 | 0.237569 0.806630 0.779006 0.779006 0.994475
1042 | 0.000000 0.821429 0.741071 0.803571 0.758929
1043 | 0.725000 1.000000 0.338839 0.419643 0.834254
1044 | 0.000000 1.000000 1.000000 1.000000 1.000000
1045 | 0.500000 0.500000 0.500000 0.500000 0.500000
1046 | 0.000000 0.000000 0.571429 0.000000 0.687500
1047 | 0.543370 1.000000 0.538122 0.599171 0.439227
1048 | 0.010497 0.983425 0.604696 0.883978 0.911602
1049 | 0.328729 0.328729 0.798066 0.753867 0.891989
1050 | 0.308929 0.330357 0.530357 0.011050 0.000000
1051 | 0.000000 0.866071 1.000000 1.000000 1.000000
1052 | 0.245856 0.900552 0.303867 0.637845 0.675691
1053 | 0.000000 0.897790 0.950276 0.259392 0.500000
1054 | 1.000000 0.237569 0.000000 0.682044 0.196133
1055 | 0.500000 0.500000 1.000000 1.000000 1.000000
1056 | 0.182320 1.000000 0.878453 0.674033 0.834254
1057 | 0.143646 1.000000 1.000000 1.000000 0.773481
1058 | 0.000000 1.000000 0.637569 1.000000 0.717956
1059 | 0.000000 0.000000 0.000000 0.000000 0.000000
1060 | 0.011050 0.988950 0.977901 0.988950 0.500000
1061 | 0.323204 0.974862 0.972376 0.742818 0.737017
1062 | 0.711607 1.000000 0.875691 1.000000 1.000000
1063 | 0.265193 0.977901 0.988950 0.596685 0.983425
1064 | 0.630939 1.000000 1.000000 1.000000 0.696133
1065 | 0.790055 0.734807 0.138122 0.176796 0.917127
1066 | 0.500000 0.500000 0.000000 1.000000 0.000000
1067 | 0.697321 0.000000 0.745982 1.000000 0.642857
1068 | 0.000000 0.549448 0.972376 0.254144 0.577072
1069 | 0.099448 0.895028 0.806354 0.817680 1.000000
1070 | 0.000000 0.500000 0.624033 0.853315 0.000000
1071 | 0.022099 0.500000 0.337017 0.718232 0.500000
1072 | 0.621547 0.917127 1.000000 0.676519 0.801105
1073 | 0.883929 0.697238 0.769061 0.334254 0.500000
1074 | 0.000000 1.000000 0.154696 0.635083 0.538674
1075 | 0.500000 1.000000 1.000000 0.500000 0.500000
1076 | 0.055249 0.961326 0.657459 0.696133 0.944751
1077 | 0.729282 0.966851 0.972376 0.972376 0.977901
1078 | 0.000000 0.983425 0.988950 0.955525 0.500000
1079 | 0.007182 0.950276 0.637845 0.687569 1.000000
1080 | 0.264917 0.850829 0.867403 0.610497 0.682044
1081 | 0.767956 0.933702 0.944751 0.892265 1.000000
1082 | 0.090884 1.000000 0.837017 0.842541 0.775967
1083 | 0.000000 1.000000 1.000000 1.000000 1.000000
1084 | 0.000000 1.000000 1.000000 1.000000 1.000000
1085 | 0.000000 0.000000 1.000000 1.000000 0.500000
1086 | 0.000000 1.000000 1.000000 1.000000 0.500000
1087 | 0.298343 0.618785 0.917127 0.845304 0.906077
1088 | 0.000000 0.491071 1.000000 1.000000 1.000000
1089 | 0.000000 1.000000 1.000000 0.767956 1.000000
1090 | 1.000000 1.000000 1.000000 1.000000 1.000000
1091 | 0.000000 0.867403 1.000000 1.000000 0.900552
1092 | 0.292541 0.933702 0.839779 0.812155 0.798066
1093 | 0.000000 0.516022 1.000000 1.000000 0.000000
1094 | 0.285714 0.169643 0.917127 0.969337 0.928177
1095 | 0.110497 0.756630 0.900552 0.454972 0.773481
1096 | 0.000000 0.339779 0.000000 1.000000 0.500000
1097 | 0.000000 1.000000 1.000000 1.000000 1.000000
1098 | 0.000000 1.000000 1.000000 1.000000 0.632044
1099 | 0.243094 0.972376 0.795580 0.906077 1.000000
1100 | 0.485359 1.000000 0.770718 0.770442 0.251381
1101 | 0.000000 1.000000 0.500000 1.000000 0.488950
1102 | 0.596685 0.734807 0.922652 0.944751 0.972376
1103 | 0.671271 0.248619 0.500000 0.693094 0.972376
1104 | 0.000000 0.500000 1.000000 1.000000 1.000000
1105 | 0.143646 0.712707 0.917127 0.878453 1.000000
1106 | 0.000000 0.000000 1.000000 1.000000 1.000000
1107 | 0.000000 1.000000 1.000000 1.000000 0.831215
1108 | 0.000000 1.000000 1.000000 1.000000 0.500000
1109 | 0.381215 0.718232 0.527348 0.500000 0.500000
1110 | 0.168508 1.000000 1.000000 1.000000 0.648895
1111 | 0.000000 0.500000 1.000000 0.500000 1.000000
1112 | 0.193370 1.000000 1.000000 0.500000 0.779006
1113 | 0.000000 0.500000 1.000000 0.500000 0.500000
1114 | 0.096409 0.500000 0.864641 0.685083 0.593646
1115 | 0.500000 1.000000 1.000000 1.000000 0.500000
1116 | 0.309392 0.972376 0.823204 0.806630 0.806630
1117 | 0.215470 1.000000 0.500000 0.988950 1.000000
1118 | 0.000000 0.000000 0.491071 0.250000 1.000000
1119 | 0.204420 1.000000 1.000000 1.000000 0.845028
1120 | 0.196429 1.000000 1.000000 0.500000 1.000000
1121 | 0.334254 0.328729 0.500000 0.731768 0.637845
1122 | 0.500000 0.762431 0.337017 0.353591 0.823204
1123 | 0.350446 0.665179 0.825691 0.791989 0.897514
1124 | 0.174033 0.839779 0.267956 1.000000 0.717956
1125 | 0.000000 1.000000 0.751381 1.000000 1.000000
1126 | 0.675691 1.000000 0.875691 0.903315 0.714917
1127 | 0.401786 0.500000 0.176796 0.410714 0.589286
1128 | 0.171271 0.000000 0.828729 0.872928 0.861878
1129 | 0.218232 0.847790 0.759392 1.000000 0.604696
1130 | 0.137845 1.000000 1.000000 1.000000 1.000000
1131 | 0.220994 0.243094 0.237569 0.734807 0.745856
1132 | 1.000000 1.000000 0.500000 0.500000 1.000000
1133 | 0.500000 0.762431 0.582597 0.745856 0.729282
1134 | 0.000000 1.000000 1.000000 1.000000 0.759392
1135 | 0.955801 0.928177 0.215470 0.646409 0.817680
1136 | 0.320166 1.000000 0.651657 1.000000 0.717956
1137 | 0.279006 1.000000 0.358564 0.500000 0.803867
1138 | 0.146409 0.925138 0.938950 1.000000 0.748343
1139 | 0.000000 1.000000 1.000000 0.891964 0.742818
1140 | 0.000000 1.000000 1.000000 0.848214 0.330357
1141 | 0.355525 0.936188 0.775414 0.643370 0.850829
1142 | 0.500000 0.500000 0.500000 0.500000 0.500000
1143 | 0.613260 0.983425 0.182044 0.983425 0.220994
1144 | 0.483425 0.500000 0.500000 0.839779 0.500000
1145 | 0.215193 0.500000 1.000000 0.500000 0.500000
1146 | 0.486188 0.792541 0.880939 0.875414 0.659945
1147 | 0.013260 0.944751 1.000000 0.798066 1.000000
1148 | 0.000000 1.000000 0.718232 0.756906 0.983425
1149 | 0.085635 0.919613 1.000000 1.000000 0.922099
1150 | 0.570166 1.000000 0.991436 0.980387 0.825691
1151 | 0.562500 0.339286 0.696429 0.508929 0.866071
1152 | 0.000000 0.127072 0.988950 0.878453 0.817680
1153 | 0.030387 0.500000 0.500000 0.500000 0.500000
1154 | 0.157459 0.867403 0.500000 0.000000 0.604696
1155 | 0.000000 1.000000 1.000000 1.000000 1.000000
1156 | 0.781492 0.344751 0.773481 0.803039 0.831215
1157 | 0.276243 0.500000 0.350829 0.638122 0.643094
1158 | 0.980387 0.961050 1.000000 0.985912 1.000000
1159 | 0.000000 1.000000 1.000000 1.000000 0.500000
1160 | 0.220994 1.000000 1.000000 0.801105 1.000000
1161 | 0.101339 1.000000 0.742857 0.927232 0.715179
1162 | 0.005525 1.000000 1.000000 1.000000 1.000000
1163 | 0.196133 0.000000 0.720718 0.367403 0.500000
1164 | 0.146409 0.781768 0.500000 0.676519 0.704144
1165 | 0.477624 1.000000 1.000000 1.000000 1.000000
1166 | 0.229282 0.809116 0.709669 0.925414 1.000000
1167 | 0.226243 0.500000 0.038674 1.000000 0.988950
1168 | 0.500000 1.000000 1.000000 1.000000 1.000000
1169 | 0.270442 0.886464 0.895028 0.814641 0.500000
1170 | 0.127072 1.000000 1.000000 0.000000 0.850829
1171 | 0.317680 0.897514 0.941713 0.919613 0.853315
1172 | 0.214286 0.878453 1.000000 1.000000 0.817680
1173 | 0.000000 1.000000 0.000000 1.000000 0.500000
1174 | 0.234254 0.955801 0.411602 0.745856 0.729282
1175 | 0.024309 0.500000 1.000000 0.845304 1.000000
1176 | 0.500000 0.679558 0.928177 0.906077 0.701657
1177 | 0.401786 0.704420 1.000000 0.673214 0.232143
1178 | 0.250829 0.560497 0.895028 0.776243 0.587845
1179 | 1.000000 1.000000 1.000000 1.000000 1.000000
1180 | 0.458564 0.500000 0.500000 0.500000 0.500000
1181 | 0.027624 0.941436 0.966851 0.983425 0.803571
1182 | 0.190608 0.969613 0.875414 0.825691 0.500000
1183 | 0.258929 0.815179 0.000000 0.491071 0.000000
1184 | 0.643370 0.751381 0.121547 0.767680 0.129834
1185 | 0.251381 0.748343 0.759392 0.215193 0.209669
1186 | 0.000000 1.000000 0.532597 0.803591 1.000000
1187 | 0.063536 0.950276 0.947514 0.972376 0.972376
1188 | 0.254144 1.000000 0.795580 1.000000 1.000000
1189 | 0.000000 0.000000 0.000000 0.000000 0.000000
1190 | 0.099448 0.911602 0.883978 0.657459 0.500000
1191 | 0.745856 0.585635 0.265193 0.928177 0.629834
1192 | 0.089286 0.892857 0.955357 0.633929 0.633929
1193 | 0.151786 1.000000 0.869890 0.885083 0.685083
1194 | 0.845304 0.809116 0.770442 0.187845 0.143646
1195 | 0.133929 0.812500 0.875000 0.812500 0.187500
1196 | 0.232044 0.500000 0.753039 0.731768 0.234254
1197 | 0.823204 0.500000 0.071823 0.701657 0.500000
1198 | 0.270442 0.000000 0.687569 0.000000 0.659945
1199 | 1.000000 1.000000 0.678571 0.866071 0.676519
1200 | 0.198895 0.000000 0.500000 1.000000 1.000000
1201 | 0.000000 0.411602 0.000000 0.195580 0.500000
1202 | 0.392857 1.000000 0.696429 1.000000 0.669643
1203 | 0.000000 1.000000 1.000000 0.748619 0.803039
1204 | 0.142857 0.910714 1.000000 0.839286 1.000000
1205 | 0.267680 1.000000 0.528571 0.732143 0.297321
1206 | 0.098214 0.741071 0.634375 0.723214 0.695982
1207 | 0.825967 0.975138 0.549448 0.566298 0.756906
1208 | 0.646409 0.972376 0.972376 0.569061 0.690608
1209 | 0.630939 0.895028 0.792818 0.776243 0.676519
1210 | 0.386464 1.000000 0.731768 0.994475 0.762431
1211 | 0.099448 1.000000 1.000000 1.000000 0.872928
1212 | 0.654420 0.831215 0.991713 0.969337 0.809116
1213 | 0.207182 0.770166 1.000000 0.604420 0.693094
1214 | 0.759375 1.000000 0.858840 1.000000 0.548619
1215 | 1.000000 1.000000 0.750000 0.750000 1.000000
1216 | 0.994475 1.000000 0.742818 1.000000 0.861878
1217 | 0.016575 1.000000 0.723757 1.000000 0.640884
1218 | 0.577072 1.000000 0.687569 1.000000 1.000000
1219 | 0.676519 0.314641 0.621271 0.798343 0.872928
1220 | 0.276786 0.590884 0.082597 0.831492 0.359116
1221 | 0.088398 0.914365 0.742818 0.323204 0.500000
1222 | 0.000000 0.919643 0.646409 0.756906 0.767956
1223 | 0.509821 0.878177 0.000000 0.565193 0.389286
1224 | 0.245856 0.742818 0.919613 0.685083 0.631492
1225 | 0.176519 0.000000 0.000000 0.814917 0.500000
1226 | 0.104972 0.947514 1.000000 0.759392 0.792818
1227 | 0.869890 1.000000 1.000000 1.000000 0.500000
1228 | 0.657459 0.685083 0.000000 0.558011 0.220994
1229 | 0.834254 0.176796 0.000000 0.773481 0.745856
1230 | 0.104972 0.858840 0.704144 0.892265 0.162983
1231 | 0.339286 1.000000 0.785714 0.000000 0.089286
1232 | 0.251381 0.939227 1.000000 0.670994 0.603591
1233 | 0.723214 1.000000 0.741071 1.000000 0.723214
1234 | 0.000000 0.295580 0.729282 0.002762 0.500000
1235 | 0.169643 0.762431 0.944751 0.593646 0.500000
1236 | 0.250829 0.775967 1.000000 0.670994 0.781492
1237 | 0.500000 0.497790 1.000000 1.000000 1.000000
1238 | 0.033149 0.762431 1.000000 1.000000 1.000000
1239 | 0.494199 1.000000 0.500000 0.825967 1.000000
1240 | 0.154018 0.790055 0.187500 0.823204 0.933702
1241 | 0.985912 0.726243 1.000000 0.200829 0.339779
1242 | 0.797790 1.000000 1.000000 0.555249 0.212431
1243 | 0.000000 0.500000 0.251381 0.261878 0.261878
1244 | 0.500000 1.000000 1.000000 0.500000 0.714286
1245 | 1.000000 0.745856 0.278571 0.000000 1.000000
1246 | 0.044199 0.961326 0.044199 0.500000 0.500000
1247 | 0.226243 0.964286 0.937500 0.644643 0.803571
1248 | 0.066298 0.718232 0.679558 0.906077 0.500000
1249 | 0.292818 0.598214 0.320442 0.723757 0.033149
1250 | 0.243094 1.000000 1.000000 0.491713 1.000000
1251 | 0.282895 0.526316 0.546053 0.532895 0.861842
1252 | 0.000000 0.000000 1.000000 0.972376 0.000000
1253 | 0.457143 1.000000 1.000000 1.000000 1.000000
1254 | 0.011050 1.000000 0.011050 0.883978 0.607735
1255 | 0.253315 0.702762 0.397790 1.000000 0.339779
1256 | 0.241071 0.794643 0.598214 0.955357 0.875000
1257 | 0.500000 1.000000 1.000000 0.000000 0.000000
1258 | 0.169643 0.941713 0.251381 0.792541 0.309116
1259 | 0.000000 0.000000 0.500000 0.500000 0.500000
1260 | 1.000000 0.704144 0.370166 0.659945 1.000000
1261 | 0.267680 0.842541 0.245856 0.625967 0.500000
1262 | 0.500000 0.500000 0.500000 0.500000 0.500000
1263 | 0.000000 0.828729 1.000000 0.751381 0.637845
1264 | 0.218232 0.781492 0.654420 0.814641 0.961326
1265 | 0.000000 0.883978 0.133929 1.000000 0.654420
1266 | 0.562500 0.741071 0.464286 0.732143 0.651786
1267 | 0.323204 0.731768 1.000000 1.000000 0.500000
1268 | 0.205357 0.712707 1.000000 0.500000 1.000000
1269 | 0.124033 0.731492 0.881215 0.928177 0.936464
1270 | 0.206906 0.847790 0.864365 0.500000 0.648895
1271 | 0.000000 1.000000 1.000000 1.000000 0.000000
1272 | 0.000000 0.626796 0.821875 0.632597 0.621271
1273 | 0.000000 1.000000 0.643646 1.000000 0.704144
1274 | 0.500000 1.000000 0.289779 0.803591 0.745580
1275 | 0.104972 0.759392 0.842541 0.759392 0.895028
1276 | 0.157459 0.911602 0.886740 0.765193 0.775967
1277 | 0.149171 0.850829 0.983425 0.917127 0.988950
1278 | 1.000000 0.988950 0.000000 0.500000 0.988950
1279 | 0.121547 0.994475 0.988950 0.961326 0.099448
1280 | 0.231768 1.000000 1.000000 1.000000 1.000000
1281 | 0.151786 0.704144 0.983425 0.714286 0.607143
1282 | 0.500000 0.966851 0.828729 0.500000 0.643370
1283 | 0.240331 0.737293 0.532597 0.697238 0.516298
1284 | 0.123757 0.864365 1.000000 0.917127 1.000000
1285 | 0.000000 0.703867 1.000000 1.000000 0.737569
1286 | 0.160221 1.000000 0.621547 0.781768 0.834254
1287 | 0.500000 0.500000 0.500000 0.500000 0.500000
1288 | 0.321429 1.000000 0.812500 0.803571 0.607143
1289 | 0.226519 0.500000 0.500000 0.775691 0.500000
1290 | 0.000000 1.000000 1.000000 1.000000 0.500000
1291 | 0.505525 1.000000 0.834254 0.828729 0.827232
1292 | 0.237293 1.000000 0.593646 0.977901 0.500000
1293 | 0.875414 0.748619 0.284530 0.554972 0.814641
1294 | 0.243094 0.842541 0.848066 0.742541 0.670718
1295 | 0.187845 0.726243 0.759392 0.870166 0.510773
1296 | 0.742818 1.000000 1.000000 0.500000 1.000000
1297 | 0.662983 0.742818 0.814917 0.149171 0.754144
1298 | 0.207182 0.223757 0.977901 0.240055 1.000000
1299 | 0.174033 0.693094 1.000000 0.803591 0.323204
1300 | 0.098214 1.000000 1.000000 0.071429 0.000000
1301 | 0.000000 1.000000 0.500000 1.000000 0.742541
1302 | 0.000000 0.482143 0.500000 1.000000 0.544643
1303 | 0.021875 0.000000 0.991436 0.500000 0.500000
1304 | 0.066298 0.839779 0.906077 0.602210 0.784530
1305 | 0.292265 0.675138 0.670994 0.906077 0.500000
1306 | 0.792818 0.057735 1.000000 0.500000 0.648619
1307 | 0.272321 0.850829 0.880663 0.985912 0.742818
1308 | 0.306354 0.819613 0.847790 0.896961 0.720718
1309 | 0.812500 0.839286 1.000000 1.000000 0.437500
1310 | 0.000000 1.000000 1.000000 1.000000 0.823204
1311 | 0.207182 1.000000 0.983425 1.000000 1.000000
1312 | 0.000000 0.491071 1.000000 0.000000 1.000000
1313 | 1.000000 1.000000 1.000000 1.000000 1.000000
1314 | 0.317680 0.632320 0.345304 0.775967 0.631215
1315 | 0.500000 0.685083 0.812155 0.624309 0.624309
1316 | 0.350829 0.878453 0.897514 0.841989 0.500000
1317 | 0.220994 0.759392 1.000000 0.609116 0.566022
1318 | 0.265193 0.720718 0.295580 0.807735 0.864641
1319 | 0.994475 1.000000 0.500000 1.000000 0.983425
1320 | 0.287017 1.000000 0.176796 0.690608 0.609945
1321 | 0.272652 0.500000 0.764917 0.621271 1.000000
1322 | 0.740331 0.922652 0.972376 0.977901 1.000000
1323 | 0.750000 0.792541 0.784530 0.553571 0.615746
1324 | 0.262431 1.000000 0.648895 1.000000 0.648895
1325 | 0.125000 1.000000 1.000000 0.900552 0.678571
1326 | 0.276243 0.745856 1.000000 0.806630 0.500000
1327 | 0.428571 1.000000 0.687500 1.000000 0.196429
1328 | 0.850829 0.500000 0.138122 0.198895 0.425414
1329 | 0.248619 0.963812 0.764917 0.762431 0.632320
1330 | 0.580110 0.593646 0.201657 0.566298 1.000000
1331 | 0.169643 0.785714 0.848214 0.830357 0.642857
1332 | 0.922652 0.903039 1.000000 0.994475 0.531215
1333 | 0.185083 0.751381 0.500000 0.779006 0.767956
1334 | 0.273204 0.417127 1.000000 0.662707 0.991713
1335 | 1.000000 0.500000 0.000000 0.864088 0.411602
1336 | 0.000000 0.743094 0.731768 0.179006 0.823204
1337 | 0.022099 0.734530 0.505525 0.494475 0.585359
1338 | 0.866071 0.983425 0.928177 0.856354 0.955801
1339 | 0.184375 0.964286 0.748619 1.000000 0.298343
1340 | 0.925138 0.733702 0.609945 0.309116 0.000000
1341 | 0.187845 0.195580 0.933702 0.963812 1.000000
1342 | 0.275967 1.000000 1.000000 0.814365 0.867403
1343 | 0.381215 0.712431 0.295580 0.508287 0.220994
1344 | 0.867403 0.919890 1.000000 0.966851 1.000000
1345 | 0.000000 1.000000 0.500000 1.000000 1.000000
1346 | 0.646133 0.983425 0.922652 1.000000 0.571271
1347 | 0.178571 0.535714 0.875000 0.500000 0.794643
1348 | 1.000000 0.500000 0.011050 0.895028 0.500000
1349 | 0.201381 0.841713 0.781768 0.864641 0.864365
1350 | 0.102210 0.892265 0.933702 0.775967 0.776243
1351 | 0.000000 0.000000 0.000000 0.000000 0.000000
1352 | 0.378453 0.870166 0.679282 0.610497 0.895028
1353 | 0.500000 0.997238 1.000000 1.000000 0.795580
1354 | 0.000000 1.000000 1.000000 1.000000 1.000000
1355 | 0.000000 0.797238 1.000000 0.824586 1.000000
1356 | 0.151934 0.698895 0.944751 1.000000 1.000000
1357 | 0.367403 1.000000 0.500000 0.857143 0.626796
1358 | 0.741071 0.795536 0.882589 0.762431 0.696429
1359 | 0.817680 0.220994 0.248343 0.500000 0.275967
1360 | 0.000000 0.872928 0.500000 1.000000 0.859116
1361 | 1.000000 0.659945 0.127072 0.292541 0.524862
1362 | 0.505249 0.726243 0.751381 1.000000 0.593646
1363 | 1.000000 1.000000 1.000000 0.775967 0.814641
1364 | 0.687500 1.000000 0.500000 0.633929 1.000000
1365 | 0.508287 0.866071 0.500000 0.414365 0.500000
1366 | 0.723214 0.839286 0.839286 0.839286 0.821429
1367 | 0.500000 0.709669 0.614365 0.626519 0.500000
1368 | 0.000000 0.133929 0.000000 0.803571 0.625000
1369 | 1.000000 1.000000 0.994475 1.000000 0.000000
1370 | 1.000000 0.687500 0.258929 0.018508 0.077348
1371 | 0.389503 0.784530 0.908564 0.955801 0.635083
1372 | 0.961326 0.872928 0.500000 0.883978 0.892265
1373 | 0.500000 0.500000 0.500000 0.500000 0.500000
1374 | 0.190608 0.839732 1.000000 0.762155 0.801105
1375 | 0.303867 0.306630 0.629558 1.000000 0.997238
1376 | 0.389503 0.786740 0.825691 0.337017 0.759669
1377 | 0.361878 0.581215 0.764917 0.615746 1.000000
1378 | 0.500000 0.500000 0.500000 0.500000 0.500000
1379 | 0.988674 0.883978 0.182320 0.828729 1.000000
1380 | 0.821429 1.000000 1.000000 1.000000 1.000000
1381 | 0.132597 1.000000 1.000000 1.000000 0.500000
1382 | 0.328729 0.944751 0.944751 0.500000 0.500000
1383 | 0.500000 0.270442 0.917127 0.281492 0.853315
1384 | 0.237569 1.000000 0.781492 0.220718 0.720718
1385 | 0.113260 0.872928 1.000000 0.883978 0.659945
1386 | 0.063536 0.775967 0.521823 0.719890 0.690608
1387 | 0.160714 0.683036 0.997238 0.077348 0.348214
1388 | 0.000000 0.660714 0.991071 1.000000 1.000000
1389 | 0.226519 0.812155 0.292541 0.878453 1.000000
1390 | 0.273204 0.267680 0.301105 0.311878 0.301105
1391 | 0.212707 0.991436 1.000000 0.803867 1.000000
1392 | 0.817680 0.933702 0.701657 0.718232 0.817680
1393 | 0.000000 0.988674 0.000000 0.000000 0.000000
1394 | 0.359116 0.770442 0.891989 0.850552 0.588122
1395 | 0.529834 0.834254 0.872928 0.284530 0.643094
1396 | 1.000000 0.500000 0.174033 0.500000 0.498214
1397 | 0.776786 0.966851 1.000000 0.687500 1.000000
1398 | 0.098214 0.821429 0.785714 0.794643 0.328729
1399 | 0.000000 0.464286 1.000000 1.000000 0.468304
1400 | 0.240055 0.632597 0.636464 0.806354 0.640884
1401 | 0.000000 0.580357 0.750000 1.000000 1.000000
1402 | 0.104972 1.000000 1.000000 0.491713 0.814641
1403 | 0.002762 0.720994 0.621271 0.024309 0.588122
1404 | 0.270442 0.603591 0.781492 0.157459 0.643370
1405 | 0.187500 0.794643 1.000000 0.500000 0.500000
1406 | 0.000000 1.000000 1.000000 0.491071 1.000000
1407 | 0.000000 0.830357 0.375000 0.285714 0.160714
1408 | 0.016575 1.000000 0.016575 1.000000 0.994475
1409 | 0.204420 0.933702 0.756906 0.917127 0.767956
1410 | 0.254144 0.895028 0.232044 0.933702 0.933702
1411 | 0.000000 0.000000 0.632320 0.582597 1.000000
1412 | 0.234807 1.000000 1.000000 1.000000 1.000000
1413 | 0.348066 0.712707 0.889503 0.500000 0.500000
1414 | 0.000000 1.000000 1.000000 1.000000 1.000000
1415 | 0.933702 0.944751 0.983425 1.000000 0.944751
1416 | 0.212707 0.754144 1.000000 1.000000 0.626519
1417 | 0.052210 0.626796 0.864641 0.875414 0.311878
1418 | 0.259392 1.000000 0.753867 0.773481 0.549724
1419 | 0.000000 0.937500 1.000000 1.000000 0.812500
1420 | 0.000000 0.000000 0.000000 0.000000 0.000000
1421 | 0.715193 1.000000 1.000000 1.000000 0.803591
1422 | 0.566022 0.679558 0.823204 0.505525 0.830110
1423 | 0.198895 0.850829 0.773481 0.729282 0.718232
1424 | 0.138122 0.759669 0.414365 0.668232 0.226519
1425 | 0.000000 1.000000 1.000000 1.000000 1.000000
1426 | 0.300829 0.756630 0.723757 0.751381 0.961326
1427 | 0.712431 0.897514 0.883978 0.895028 1.000000
1428 | 0.259392 0.928177 0.928177 0.831215 0.709669
1429 | 0.345304 0.167403 0.610221 0.116022 0.704144
1430 | 0.696133 0.994475 0.740055 0.718232 0.669613
1431 | 0.500000 0.856354 1.000000 0.875691 0.638122
1432 | 1.000000 0.400552 0.187569 0.254144 0.543370
1433 | 0.116071 0.964286 0.633929 0.508929 0.000000
1434 | 0.226519 0.430939 0.778729 0.624033 0.845304
1435 | 0.000000 1.000000 0.093923 0.500000 0.500000
1436 | 0.217680 0.682044 1.000000 1.000000 0.803591
1437 | 0.369613 0.778729 1.000000 1.000000 0.593646
1438 | 0.060773 0.889503 0.922652 0.798066 0.817403
1439 | 0.000000 1.000000 1.000000 1.000000 1.000000
1440 | 0.234807 0.950276 0.500000 0.720718 0.582597
1441 | 0.000000 0.891989 1.000000 0.742818 1.000000
1442 | 0.569061 0.928177 0.889503 0.939227 0.500000
1443 | 0.165746 0.889503 0.682044 0.339779 0.867403
1444 | 0.000000 1.000000 1.000000 1.000000 1.000000
1445 | 0.136161 0.910714 0.187500 0.142857 1.000000
1446 | 0.053571 0.366071 0.000000 0.732143 0.196429
1447 | 1.000000 0.000000 0.598895 0.000000 0.657182
1448 | 0.500000 0.770442 0.339779 0.853315 0.085359
1449 | 0.176796 0.919613 0.825691 0.185083 0.483149
1450 | 0.250829 1.000000 0.759392 0.764917 1.000000
1451 | 0.231768 0.798343 0.579834 0.819613 0.994475
1452 | 0.996961 1.000000 1.000000 0.000000 0.491713
1453 | 0.668232 0.872928 0.397790 0.635083 0.107459
1454 | 0.355525 0.801105 0.245580 0.790055 0.497238
1455 | 0.928177 0.110221 0.977901 1.000000 0.580110
1456 | 0.239779 0.748066 0.500000 0.353039 0.500000
1457 | 0.000000 0.223481 1.000000 1.000000 1.000000
1458 | 0.220718 0.204420 0.878453 0.845304 0.500000
1459 | 0.000000 1.000000 1.000000 1.000000 0.720718
1460 | 1.000000 1.000000 1.000000 1.000000 1.000000
1461 | 1.000000 1.000000 0.751381 1.000000 1.000000
1462 | 0.684807 0.535714 0.687500 0.705357 0.071429
1463 | 0.116022 1.000000 1.000000 1.000000 0.801105
1464 | 0.099448 0.955801 0.790055 0.790055 0.784530
1465 | 0.262431 0.701381 0.317680 0.372928 0.182320
1466 | 0.000000 0.720994 0.986188 0.433702 0.500000
1467 | 0.254144 0.220718 0.638122 0.000000 0.237569
1468 | 0.670994 0.679558 0.397790 0.812155 0.386740
1469 | 0.000000 1.000000 1.000000 0.000000 0.500000
1470 | 0.682320 0.720718 0.814917 0.880939 0.908564
1471 | 0.656906 1.000000 0.988950 0.765193 0.317680
1472 | 0.243094 0.974862 0.792818 1.000000 1.000000
1473 | 1.000000 0.709669 1.000000 0.753867 0.604420
1474 | 0.741071 0.285714 0.121547 0.248619 0.367403
1475 | 0.963812 0.027624 0.500000 0.670994 0.500000
1476 | 0.317680 0.726243 0.773481 0.919613 0.751381
1477 | 0.218232 0.000000 0.000000 0.000000 0.814917
1478 | 0.098214 0.723214 0.848214 0.303571 0.714286
1479 | 0.157182 0.657459 0.500000 0.723757 0.626796
1480 | 0.756630 0.988950 1.000000 1.000000 0.734807
1481 | 0.883978 0.861878 0.135083 0.588122 0.870166
1482 | 0.482143 1.000000 0.000000 0.000000 0.294643
1483 | 0.000000 0.712707 1.000000 1.000000 0.248619
1484 | 0.500000 0.500000 0.500000 0.500000 0.500000
1485 | 0.165746 0.795580 0.011050 0.204420 0.817680
1486 | 0.212431 1.000000 1.000000 0.988950 0.566298
1487 | 0.005525 0.977901 0.696133 0.464088 0.906077
1488 | 0.207182 0.875691 0.500000 0.708482 0.796429
1489 | 0.179282 0.781768 0.880939 0.598895 0.411602
1490 | 0.292541 0.560497 1.000000 1.000000 0.853315
1491 | 0.856354 1.000000 1.000000 1.000000 0.917127
1492 | 0.762431 0.737293 0.717956 0.704144 0.695856
1493 | 0.174033 0.624033 0.670994 0.427901 0.593646
1494 | 0.906077 0.648895 0.289779 0.834254 0.198619
1495 | 0.234530 1.000000 1.000000 0.754144 0.773204
1496 | 0.060773 1.000000 0.748619 0.621271 0.803591
1497 | 0.687845 0.834254 0.342541 1.000000 0.370166
1498 | 0.000000 0.185083 1.000000 0.580357 0.776786
1499 | 0.657182 0.494199 1.000000 0.977901 1.000000
1500 | 0.311878 0.972376 0.839779 0.828729 0.690331
1501 | 0.251381 0.770718 0.116022 0.582873 0.764641
1502 | 0.116071 0.846409 0.839779 0.837017 0.754144
1503 | 0.011050 1.000000 0.082873 0.776243 0.825967
1504 | 0.000000 0.000000 0.000000 0.000000 0.000000
1505 | 0.764917 0.798343 0.836740 0.289779 0.500000
1506 | 0.098214 1.000000 1.000000 1.000000 1.000000
1507 | 0.500000 0.720994 1.000000 0.676519 0.704420
1508 | 0.223204 0.974862 0.853591 0.765193 0.593646
1509 | 0.430939 0.911602 1.000000 0.753867 1.000000
1510 | 0.273481 1.000000 0.704144 0.972376 0.859116
1511 | 0.118232 1.000000 0.756906 0.858840 0.500000
1512 | 0.676519 0.908564 0.693094 0.204144 0.828453
1513 | 0.773481 0.911602 0.939227 0.933702 0.812155
1514 | 0.035714 0.022099 0.966851 0.419890 0.745856
1515 | 0.830357 0.607143 1.000000 1.000000 1.000000
1516 | 0.983425 0.697238 0.742541 0.695856 0.737569
1517 | 0.000000 0.742818 1.000000 0.000000 1.000000
1518 | 0.049724 1.000000 0.917127 0.856354 1.000000
1519 | 0.356354 0.654420 0.515746 0.792818 0.648895
1520 | 0.160221 0.229282 0.952762 0.500000 0.461161
1521 | 0.726243 0.842265 0.308840 0.880939 0.980387
1522 | 0.317127 0.356354 0.897790 0.875414 0.773481
1523 | 0.132320 0.972376 0.969613 0.972376 0.842541
1524 | 0.096409 0.842265 0.317680 0.759392 0.919613
1525 | 0.676796 1.000000 1.000000 0.781492 0.653039
1526 | 0.248343 0.500000 1.000000 1.000000 1.000000
1527 | 0.834254 0.883978 0.569061 0.662983 0.707182
1528 | 0.726243 0.406077 0.397790 0.372928 0.322928
1529 | 0.325967 0.897514 0.927901 0.908564 0.809116
1530 | 0.205357 0.482143 0.830357 0.883929 0.875000
1531 | 0.504696 1.000000 1.000000 0.627072 0.375691
1532 | 0.281768 0.994475 0.790055 0.500000 1.000000
1533 | 0.566022 0.886464 0.919890 0.709669 0.422652
1534 | 0.273481 0.753867 1.000000 0.792541 1.000000
1535 | 0.500000 0.500000 1.000000 1.000000 0.500000
1536 | 0.500000 1.000000 1.000000 1.000000 1.000000
1537 | 0.241071 0.821429 1.000000 0.828729 1.000000
1538 | 0.000000 0.000000 0.000000 0.000000 0.000000
1539 | 0.386740 0.834254 0.027624 0.383978 0.837017
1540 | 0.000000 0.767956 0.019337 0.911602 0.657459
1541 | 0.049724 0.212431 0.809392 1.000000 0.906077
1542 | 0.220994 0.861878 0.839779 0.801105 0.613260
1543 | 0.000000 1.000000 0.748343 0.842265 0.500000
1544 | 0.000000 1.000000 1.000000 1.000000 0.798066
1545 | 0.856354 0.337017 0.795580 0.500000 0.795580
1546 | 0.000000 0.875000 0.214286 0.232143 0.633929
1547 | 0.582597 1.000000 1.000000 0.697238 0.704144
1548 | 0.758564 0.836740 0.301105 1.000000 0.599171
1549 | 0.000000 0.000000 0.000000 0.751381 1.000000
1550 | 0.251381 0.900552 0.726243 0.770718 0.809116
1551 | 0.121547 0.853315 0.867403 0.762431 0.500000
1552 | 0.500000 1.000000 1.000000 1.000000 1.000000
1553 | 0.276786 0.696429 0.848214 0.651786 1.000000
1554 | 0.546961 0.124309 1.000000 0.922652 0.895028
1555 | 0.500000 0.500000 0.500000 0.500000 0.500000
1556 | 0.383929 0.839779 1.000000 0.696133 0.220994
1557 | 0.642857 0.401786 0.053571 0.250000 0.071429
1558 | 0.323204 0.662983 0.762431 0.718232 1.000000
1559 | 0.000000 1.000000 0.756630 1.000000 1.000000
1560 | 0.500000 0.463812 0.500000 0.000000 1.000000
1561 | 0.185083 0.295580 0.842265 0.836740 0.914088
1562 | 0.820166 0.226519 0.406077 0.764917 0.356354
1563 | 0.160221 0.773481 0.624309 0.806630 0.668508
1564 | 0.309392 0.500000 0.000000 1.000000 0.383149
1565 | 0.118232 0.298066 0.041160 0.670994 0.581768
1566 | 0.287293 0.690608 0.839779 0.651934 0.812155
1567 | 0.742818 1.000000 1.000000 1.000000 0.847790
1568 | 0.060773 0.988950 0.027624 0.928177 0.895028
1569 | 0.725414 0.604696 0.367403 0.500000 0.588122
1570 | 0.742818 0.903039 0.544199 0.770442 0.455357
1571 | 0.000000 0.160714 0.812500 0.437500 0.848214
1572 | 0.812155 0.864365 0.196133 0.627072 0.820442
1573 | 0.089286 0.905804 0.919643 1.000000 0.830357
1574 | 0.657459 0.988950 0.955801 0.500000 0.972376
1575 | 0.330357 0.776786 0.160714 0.000000 0.910714
1576 | 0.928177 0.767956 0.143646 0.149171 0.955801
1577 | 0.174033 1.000000 0.176796 0.687569 1.000000
1578 | 0.437054 0.758929 1.000000 0.383929 0.642857
1579 | 0.022099 0.033149 0.977901 0.983425 0.500000
1580 | 0.779006 1.000000 1.000000 0.731768 0.726519
1581 | 0.198895 0.598895 0.823204 0.176796 0.599171
1582 | 0.267680 0.676519 0.500000 0.835359 0.637845
1583 | 0.201657 0.500000 0.798066 0.800829 0.779006
1584 | 0.375000 0.741071 0.750000 0.303591 0.646133
1585 | 0.237569 0.586740 0.687845 0.632320 0.820166
1586 | 0.090884 0.903039 0.500000 0.500000 0.500000
1587 | 0.701657 0.226243 0.228729 0.237293 0.820166
1588 | 0.554696 0.729282 0.582873 0.812155 0.500000
1589 | 0.988950 0.994475 0.586740 1.000000 0.756630
1590 | 0.303867 0.828729 0.635359 0.298343 0.254144
1591 | 0.887946 0.572321 0.285714 0.988950 0.830357
1592 | 0.341989 0.806630 0.872928 0.817403 0.731768
1593 | 0.239779 0.323204 0.632320 0.781492 0.770442
1594 | 0.160221 0.858287 1.000000 0.903039 0.704144
1595 | 0.598214 1.000000 0.871429 0.669643 0.651934
1596 | 0.085268 0.756696 0.928125 1.000000 0.977679
1597 | 0.586740 0.792541 0.565193 0.704144 0.577072
1598 | 0.071823 0.878177 0.872928 0.883978 1.000000
1599 | 0.823204 0.690608 0.635359 0.500000 0.077348
1600 | 0.294643 0.723214 1.000000 0.544643 0.428571
1601 | 0.612983 0.704144 0.273481 0.767956 0.621271
1602 | 0.500000 0.795580 0.801105 1.000000 0.792541
1603 | 0.586740 0.668232 0.972376 0.439227 0.176796
1604 | 0.146133 0.897514 1.000000 0.619890 0.801105
1605 | 0.410714 0.767857 0.464286 0.909821 0.803571
1606 | 0.000000 0.657182 0.966851 0.762431 1.000000
1607 | 0.165470 0.659945 0.000000 0.251381 0.453039
1608 | 0.049724 0.969613 0.955801 1.000000 1.000000
1609 | 0.207182 0.366851 0.900552 0.914365 0.930939
1610 | 0.000000 1.000000 0.143646 0.500000 0.994475
1611 | 0.508929 0.812500 0.633929 0.633929 0.633929
1612 | 0.011050 0.718232 0.720718 0.218232 0.157459
1613 | 1.000000 1.000000 1.000000 1.000000 1.000000
1614 | 0.292541 0.701657 0.601934 0.196133 0.392265
1615 | 0.049724 0.298343 0.011050 0.044199 0.500000
1616 | 0.328729 0.836740 0.903039 0.908564 1.000000
1617 | 0.317403 0.986188 0.969337 0.334254 1.000000
1618 | 0.897514 0.775967 1.000000 0.709669 0.762431
1619 | 0.500000 0.698895 1.000000 0.751105 0.500000
1620 | 0.212707 1.000000 0.240331 0.767680 1.000000
1621 | 0.831215 0.936188 0.069061 0.787017 0.549171
1622 | 0.000000 0.000000 0.000000 0.000000 0.000000
1623 | 1.000000 1.000000 1.000000 1.000000 0.878453
1624 | 0.232044 0.933702 0.917127 0.784530 1.000000
1625 | 0.091160 0.229282 0.102210 0.609945 0.654420
1626 | 0.828729 0.861878 0.016575 0.790055 0.500000
1627 | 0.500000 0.000000 0.500000 0.000000 0.000000
1628 | 0.552486 0.994475 0.812155 0.336464 0.812155
1629 | 0.437500 0.839286 0.773481 0.678125 0.781492
1630 | 0.500000 0.500000 0.500000 0.500000 0.500000
1631 | 0.033149 0.500000 0.977901 0.994475 0.961326
1632 | 0.795580 0.985635 1.000000 0.911602 0.972376
1633 | 0.500000 0.500000 0.500000 0.500000 0.500000
1634 | 0.798066 0.841989 0.775967 0.726243 0.615746
1635 | 0.994475 0.988950 1.000000 1.000000 1.000000
1636 | 0.190608 1.000000 1.000000 1.000000 1.000000
1637 | 0.753867 1.000000 0.585359 0.549448 0.353591
1638 | 0.201657 0.756906 0.895028 0.906077 0.500000
1639 | 0.500000 0.500000 0.500000 0.500000 0.500000
1640 | 0.245580 1.000000 1.000000 0.845028 1.000000
1641 | 0.500000 0.939227 0.908564 0.936464 0.917127
1642 | 0.093923 0.500000 0.110497 0.500000 0.571547
1643 | 0.038674 0.016575 0.972376 0.983425 0.972376
1644 | 1.000000 1.000000 0.500000 0.500000 0.500000
1645 | 0.178571 0.618750 0.016071 0.139732 0.077232
1646 | 1.000000 0.000000 0.000000 0.000000 0.000000
1647 | 0.000000 1.000000 1.000000 1.000000 1.000000
1648 | 0.000000 0.292265 1.000000 0.500000 0.524309
1649 | 0.267956 0.762431 0.983425 0.701657 0.500000
1650 | 0.769890 0.773204 0.270442 0.500000 0.544199
1651 | 0.005525 0.839779 0.801105 0.616022 0.500000
1652 | 0.080110 0.737569 0.858840 0.787293 0.500000
1653 | 0.287293 1.000000 1.000000 0.762155 0.500000
1654 | 0.983425 0.966851 0.500000 0.983425 0.729282
1655 | 0.500000 1.000000 1.000000 1.000000 1.000000
1656 | 1.000000 0.983425 0.756906 0.773481 0.988950
1657 | 0.132597 0.687569 1.000000 0.500000 0.668232
1658 | 0.000000 1.000000 1.000000 1.000000 0.742818
1659 | 1.000000 0.939227 0.762155 0.767680 1.000000
1660 | 0.500000 0.500000 0.500000 0.500000 0.500000
1661 | 0.273481 0.549724 0.963812 0.980663 0.803867
1662 | 0.500000 0.500000 0.500000 0.500000 0.500000
1663 | 1.000000 0.500000 0.500000 1.000000 1.000000
1664 | 0.872928 0.577072 0.787017 0.306630 0.709669
1665 | 0.261878 0.654696 0.665746 0.687569 0.389503
1666 | 0.473214 0.714286 0.705357 1.000000 1.000000
1667 | 0.311878 1.000000 0.795580 1.000000 0.654696
1668 | 0.101934 0.648895 0.900552 0.969613 1.000000
1669 | 0.256630 0.375691 1.000000 0.281768 1.000000
1670 | 0.229282 0.786464 0.958287 0.947238 0.988950
1671 | 0.764088 0.300829 0.869613 0.217956 0.289779
1672 | 0.803591 0.726243 0.801105 0.870166 0.743094
1673 | 0.357143 0.919643 0.964286 0.982143 1.000000
1674 | 0.011050 1.000000 1.000000 1.000000 1.000000
1675 | 0.674033 1.000000 1.000000 0.911602 1.000000
1676 | 0.977901 0.011050 0.005525 0.955801 0.011050
1677 | 0.569061 0.629834 0.500000 0.635359 0.500000
1678 | 0.500000 0.361878 0.000000 0.154696 0.000000
1679 | 0.201339 1.000000 1.000000 1.000000 0.339779
1680 | 0.140055 0.842265 0.660221 0.096133 0.814641
1681 | 0.295304 1.000000 0.790055 0.795580 1.000000
1682 | 0.295580 0.764917 0.737569 0.500000 0.881215
1683 | 0.977901 0.983425 0.165746 0.143646 0.972376
1684 | 0.314641 0.925138 1.000000 0.806354 0.795580
1685 | 0.000000 0.726243 1.000000 1.000000 0.715470
1686 | 0.348214 1.000000 1.000000 0.732143 0.241071
1687 | 0.187845 0.500000 0.756906 0.779006 1.000000
1688 | 0.350829 1.000000 0.856354 0.907735 0.737293
1689 | 0.217680 0.704144 0.668232 0.734530 0.585359
1690 | 0.571271 0.406077 0.500000 0.422652 0.455801
1691 | 0.629834 0.500000 0.375691 0.983425 0.740331
1692 | 0.010497 0.500000 0.643370 0.682044 0.500000
1693 | 0.593370 0.897790 0.900276 0.911602 0.684807
1694 | 0.400552 0.792541 0.922652 0.411602 0.500000
1695 | 0.322928 0.668232 0.687293 0.704144 0.787293
1696 | 0.491160 0.861602 0.659945 0.643370 0.530387
1697 | 0.000000 0.662983 0.867403 1.000000 0.801105
1698 | 0.088398 1.000000 1.000000 0.756906 1.000000
1699 | 0.821429 0.464286 0.785714 0.785714 0.866071
1700 | 0.000000 0.762431 0.662983 0.646409 0.911602
1701 | 0.008287 0.869890 0.135083 0.734807 0.615746
1702 | 0.491713 0.762431 0.756630 0.626796 0.624033
1703 | 0.270442 0.867403 1.000000 1.000000 0.806630
1704 | 0.000000 0.892857 1.000000 0.848214 0.714286
1705 | 0.000000 0.491071 0.437500 0.410714 0.455357
1706 | 0.212707 0.955801 0.997238 0.759669 0.837017
1707 | 0.500000 0.974862 1.000000 0.698619 0.985635
1708 | 0.173204 0.670994 0.325414 1.000000 0.450276
1709 | 0.195856 0.867403 0.751381 0.731768 0.500000
1710 | 0.232143 0.911602 0.740331 0.500000 0.635083
1711 | 0.850829 0.593923 0.762431 0.883978 0.817680
1712 | 0.000000 0.000000 1.000000 0.682320 0.762155
1713 | 0.406077 0.726243 1.000000 0.698895 1.000000
1714 | 0.991713 0.991436 0.988950 0.994475 0.740331
1715 | 0.187569 0.911602 0.800829 0.928177 0.704144
1716 | 0.928177 0.500000 0.500000 0.500000 0.500000
1717 | 0.619890 1.000000 0.925414 0.895028 0.961326
1718 | 0.500000 0.500000 0.500000 0.500000 0.500000
1719 | 0.776786 0.705357 0.642857 1.000000 0.580357
1720 | 0.000000 1.000000 1.000000 1.000000 1.000000
1721 | 0.055249 0.936464 1.000000 0.886464 1.000000
1722 | 0.500000 0.895028 0.955801 0.922652 0.914088
1723 | 0.171271 0.830939 0.867127 0.869890 1.000000
1724 | 0.792541 1.000000 1.000000 0.675138 0.670994
1725 | 0.850829 0.765193 0.764917 0.764917 0.500000
1726 | 0.000000 0.906077 1.000000 1.000000 0.756906
1727 | 0.502762 1.000000 1.000000 1.000000 0.535635
1728 | 0.278729 0.737569 0.748619 0.439227 0.792541
1729 | 0.714286 1.000000 0.107143 0.438393 0.458482
1730 | 0.383929 1.000000 0.580357 0.642857 0.821429
1731 | 0.000000 0.996961 1.000000 0.963812 0.994475
1732 | 0.726243 0.726519 0.737293 0.754144 0.643370
1733 | 0.839286 1.000000 1.000000 0.982143 1.000000
1734 | 0.195856 0.759669 0.295304 0.764917 0.273204
1735 | 0.397790 0.726519 0.895028 0.743094 0.592265
1736 | 0.243094 1.000000 1.000000 1.000000 1.000000
1737 | 0.088398 0.977901 0.906077 0.969613 1.000000
1738 | 0.642857 0.875000 0.588393 0.508929 0.704911
1739 | 0.500000 0.500000 0.500000 0.500000 0.500000
1740 | 0.000000 1.000000 0.604696 0.812155 0.731768
1741 | 0.176796 0.281768 0.950276 0.198895 0.281768
1742 | 0.577072 0.869890 0.709116 0.621271 0.620994
1743 | 0.620994 0.500000 0.792541 0.289779 0.626796
1744 | 0.107182 0.107459 0.251381 1.000000 0.500000
1745 | 0.729282 0.939227 0.939227 0.662983 0.668508
1746 | 0.127072 0.160221 0.027624 0.500000 0.055249
1747 | 0.239779 1.000000 0.781492 0.767956 0.911326
1748 | 0.508929 1.000000 1.000000 1.000000 0.517857
1749 | 0.372928 1.000000 1.000000 1.000000 1.000000
1750 | 0.190608 0.624033 0.933702 1.000000 1.000000
1751 | 1.000000 1.000000 0.872928 0.950276 0.806630
1752 | 0.000000 0.633929 1.000000 0.651786 0.330357
1753 | 0.116022 0.839779 0.850829 0.858840 0.856354
1754 | 0.500000 0.982143 0.500000 0.500000 0.500000
1755 | 0.275967 0.709116 0.886740 0.709669 1.000000
1756 | 0.482143 0.678571 0.794643 0.276786 1.000000
1757 | 0.612983 1.000000 1.000000 0.170994 1.000000
1758 | 0.000000 1.000000 0.500000 0.500000 1.000000
1759 | 0.218232 0.988950 0.839779 0.809116 1.000000
1760 | 0.151381 0.977901 0.500000 0.682044 0.500000
1761 | 0.400552 0.576243 0.745856 0.762431 0.787017
1762 | 0.596685 1.000000 1.000000 1.000000 1.000000
1763 | 0.138122 0.850829 1.000000 0.900552 0.563536
1764 | 0.491071 1.000000 1.000000 1.000000 1.000000
1765 | 0.000000 1.000000 0.000000 1.000000 1.000000
1766 | 0.234807 0.897790 0.720442 0.604696 0.323204
1767 | 0.642857 0.778571 0.311878 0.591964 0.654420
1768 | 0.500000 0.919613 0.917127 0.742818 0.936161
1769 | 0.000000 0.964286 0.839286 0.497768 0.517857
1770 | 0.000000 0.000000 0.000000 0.000000 0.383929
1771 | 0.864365 0.878453 0.906077 0.328729 0.671271
1772 | 0.684807 0.726519 0.367403 0.339779 0.604696
1773 | 0.273204 0.787017 0.500000 0.696133 0.814641
1774 | 0.303571 0.767680 0.500000 0.500000 0.687500
1775 | 0.077348 0.693094 0.897790 0.781768 0.500000
1776 | 0.930804 0.848214 0.651786 0.749107 0.693750
1777 | 0.400000 0.900552 0.118508 1.000000 0.850829
1778 | 0.350829 0.353591 0.000000 0.000000 0.240331
1779 | 0.176796 1.000000 1.000000 0.906077 0.845304
1780 | 0.500000 0.500000 0.500000 0.500000 0.500000
1781 | 0.500000 0.500000 0.500000 0.500000 0.500000
1782 | 0.961326 0.861878 0.917127 0.640884 0.812155
1783 | 0.500000 0.692818 0.500000 0.264917 0.665193
1784 | 0.500000 1.000000 0.013812 0.950276 0.964088
1785 | 0.234807 0.693094 0.275967 0.682044 0.500000
1786 | 0.091160 1.000000 1.000000 1.000000 1.000000
1787 | 0.500000 1.000000 0.500000 0.500000 0.500000
1788 | 0.364641 0.785714 1.000000 0.544643 0.857143
1789 | 0.000000 1.000000 0.570994 0.654420 0.516298
1790 | 0.101934 0.693094 0.726243 1.000000 0.693370
1791 | 0.196429 0.000000 0.044643 0.419643 0.625000
1792 | 0.496961 0.516022 0.529834 0.500000 0.491071
1793 | 0.053571 0.750000 0.482143 0.946429 0.794643
1794 | 0.000000 1.000000 0.000000 1.000000 0.560497
1795 | 0.223214 1.000000 0.580357 0.660714 0.571429
1796 | 0.089286 1.000000 0.917127 0.784530 0.500000
1797 | 0.212155 0.613260 0.500000 0.643370 0.698619
1798 | 0.223757 1.000000 0.226519 0.775967 0.500000
1799 | 0.500000 0.500000 0.500000 0.500000 0.482143
1800 | 0.692818 1.000000 0.294751 1.000000 0.715193
1801 | 0.088398 0.961326 0.209945 0.906077 0.883978
1802 | 0.500000 0.500000 0.500000 0.500000 0.500000
1803 | 0.500000 0.500000 0.500000 0.500000 0.500000
1804 | 1.000000 1.000000 1.000000 1.000000 1.000000
1805 | 0.038398 0.764365 0.737293 0.875414 0.770442
1806 | 1.000000 1.000000 0.842541 0.985912 0.500000
1807 | 0.085635 0.610221 0.883978 0.670994 0.262431
1808 | 0.000000 0.000000 0.505525 1.000000 0.521271
1809 | 0.500000 0.500000 0.500000 0.500000 0.500000
1810 | 0.983425 0.988950 0.414365 0.795580 1.000000
1811 | 0.287293 1.000000 0.500000 0.615746 0.350276
1812 | 0.659945 0.648895 0.715470 0.900276 0.850829
1813 | 0.500000 0.500000 0.500000 0.500000 0.500000
1814 | 0.000000 1.000000 0.176796 0.740055 0.853039
1815 | 0.116071 0.848214 0.785714 0.883929 0.678571
1816 | 0.000000 1.000000 0.000000 0.482143 0.169643
1817 | 0.195856 1.000000 0.096409 0.726243 0.621271
1818 | 0.000000 0.803867 0.847790 1.000000 0.265193
1819 | 0.256906 0.549724 0.532597 0.500000 0.466851
1820 | 0.500000 0.500000 0.500000 0.500000 0.500000
1821 | 0.096133 0.621271 0.162983 0.831215 0.339779
1822 | 0.928571 0.883929 0.088398 0.000000 1.000000
1823 | 0.265193 1.000000 1.000000 0.883978 0.823204
1824 | 0.500000 1.000000 1.000000 1.000000 0.779006
1825 | 0.770442 0.698895 0.549448 1.000000 0.596409
1826 | 0.419643 0.698619 0.791160 0.939227 1.000000
1827 | 0.294643 1.000000 0.633929 0.633929 0.473214
1828 | 0.243094 0.944751 0.690331 0.850829 1.000000
1829 | 0.778729 1.000000 1.000000 1.000000 1.000000
1830 | 1.000000 0.906077 1.000000 0.773481 0.593923
1831 | 0.088398 0.803591 0.883978 0.500000 0.500000
1832 | 0.980357 1.000000 0.212155 0.902486 0.323204
1833 | 0.339779 0.698619 0.654420 0.549724 0.311878
1834 | 0.000000 0.896961 1.000000 1.000000 1.000000
1835 | 0.000000 1.000000 0.477624 0.500000 0.500000
1836 | 0.228729 0.774586 0.759392 0.764917 0.764917
1837 | 0.116071 0.625000 0.982143 0.330357 1.000000
1838 | 0.273204 0.500000 0.648895 0.654696 0.648619
1839 | 0.301105 0.980387 0.748343 0.798066 1.000000
1840 | 0.673481 1.000000 0.273204 0.712707 0.464088
1841 | 0.455801 0.665470 0.698619 0.787293 0.500000
1842 | 1.000000 0.000000 0.000000 1.000000 1.000000
1843 | 0.499554 0.776786 0.500000 0.643370 0.187500
1844 | 0.110497 0.895028 0.922652 0.856354 0.220994
1845 | 0.220994 0.234807 0.615746 0.196133 0.179558
1846 | 0.500000 0.500000 0.500000 0.500000 0.500000
1847 | 0.383929 1.000000 1.000000 1.000000 0.151786
1848 | 0.436464 0.500000 0.500000 0.500000 0.500000
1849 | 1.000000 0.240331 0.339779 0.742818 0.883929
1850 | 0.924309 0.933702 0.922652 0.937500 0.928177
1851 | 0.217680 0.842265 0.875691 0.894751 0.883978
1852 | 0.000000 1.000000 1.000000 0.500000 1.000000
1853 | 0.662983 0.674033 0.679558 0.685083 0.500000
1854 | 0.099448 1.000000 0.500000 0.500000 0.500000
1855 | 0.321429 0.607143 0.071429 0.875000 0.000000
1856 | 0.312500 1.000000 1.000000 0.733036 1.000000
1857 | 0.500000 0.500000 0.500000 0.500000 0.500000
1858 | 1.000000 0.000000 0.000000 0.000000 0.000000
1859 | 0.632320 0.575691 0.847790 0.609945 0.455801
1860 | 0.392411 1.000000 1.000000 1.000000 1.000000
1861 | 0.209669 0.994475 0.889503 0.568508 0.621271
1862 | 0.187569 0.243094 0.933702 0.944751 0.828729
1863 | 0.284530 0.500000 0.714286 0.974862 1.000000
1864 | 0.582597 0.809116 0.789779 0.928177 0.593923
1865 | 0.500000 0.911602 0.950276 0.839779 0.475138
1866 | 0.000000 0.930939 0.781492 1.000000 0.604696
1867 | 0.500000 0.500000 0.500000 0.500000 0.500000
1868 | 0.464088 0.500000 0.500000 0.500000 0.500000
1869 | 0.000000 0.000000 0.500000 0.720718 0.000000
1870 | 0.526786 0.455357 0.767857 0.437500 0.857143
1871 | 0.831215 0.856354 1.000000 0.682044 0.867403
1872 | 0.000000 0.850829 0.922652 0.372928 0.541160
1873 | 0.000000 1.000000 0.817680 0.806630 0.500000
1874 | 0.500000 0.500000 0.500000 0.500000 0.500000
1875 | 1.000000 1.000000 1.000000 1.000000 1.000000
1876 | 0.707182 1.000000 1.000000 0.972376 0.795580
1877 | 0.187569 0.762431 1.000000 0.872928 0.778729
1878 | 0.892265 0.670994 0.740055 0.858840 1.000000
1879 | 0.502210 0.988950 1.000000 0.729282 0.878453
1880 | 0.500000 0.500000 0.500000 0.500000 0.500000
1881 | 0.458564 0.795580 0.500000 0.500000 0.500000
1882 | 0.240331 0.775967 0.770442 0.726243 0.754144
1883 | 0.500000 0.491071 0.500000 0.500000 0.500000
1884 | 0.790055 0.526786 1.000000 0.848214 0.464286
1885 | 0.809392 0.795580 0.345304 0.527348 0.726243
1886 | 0.165746 0.500000 1.000000 0.922652 1.000000
1887 | 0.361878 0.610221 0.831215 0.500000 0.908564
1888 | 0.276243 0.773481 0.812155 0.770442 0.580110
1889 | 0.002762 0.958564 1.000000 0.726243 1.000000
1890 | 1.000000 1.000000 0.660714 1.000000 1.000000
1891 | 0.603315 1.000000 0.983425 0.500000 1.000000
1892 | 0.741071 0.946429 0.919643 0.883929 0.955357
1893 | 0.480387 0.698619 0.378453 0.582597 0.500000
1894 | 0.422652 0.809116 0.570166 0.693094 0.917127
1895 | 0.519337 0.500000 0.500000 0.500000 0.500000
1896 | 0.000000 0.500000 0.770442 0.500000 0.641989
1897 | 0.892857 0.955357 0.214286 0.973214 0.080357
1898 | 0.289227 0.868508 0.687569 0.875691 0.422099
1899 | 0.437500 0.866071 0.187500 0.675446 0.729911
1900 | 0.330357 0.870166 0.787017 0.626796 0.941989
1901 | 0.500000 1.000000 1.000000 0.000000 0.500000
1902 | 0.237569 0.911602 0.961326 0.668508 0.696133
1903 | 0.292541 0.933702 0.575691 0.620994 0.632320
1904 | 0.726243 0.610221 0.659945 0.758929 0.825691
1905 | 0.154696 0.878453 0.301105 0.955801 1.000000
1906 | 0.756630 0.798066 0.121547 0.090608 0.586188
1907 | 0.011050 0.635359 0.983425 0.500000 0.585635
1908 | 0.401786 0.303867 0.867403 0.795580 0.883978
1909 | 1.000000 0.958036 0.955357 0.941518 0.946875
1910 | 0.262431 0.720718 0.648895 0.753867 1.000000
1911 | 0.500000 1.000000 1.000000 1.000000 1.000000
1912 | 0.000000 1.000000 1.000000 1.000000 0.720442
1913 | 0.311878 0.958564 0.500000 0.500000 0.895028
1914 | 0.500000 0.751381 0.994475 0.756906 0.977901
1915 | 0.544643 0.678571 0.410714 0.366071 0.500000
1916 | 0.295580 0.500000 0.659945 0.549448 0.472376
1917 | 0.864365 0.000000 0.000000 0.032597 0.903315
1918 | 0.223204 0.977901 0.881215 0.900552 1.000000
1919 | 0.033149 0.500000 0.983425 0.745856 0.773481
1920 | 0.000000 1.000000 1.000000 1.000000 1.000000
1921 | 0.250829 0.917127 1.000000 0.858840 0.676519
1922 | 0.657459 0.872928 0.883978 0.773481 0.585635
1923 | 0.256906 0.892265 0.928177 1.000000 0.668232
1924 | 0.715470 0.754144 0.764917 0.778729 0.828729
1925 | 0.002210 1.000000 0.895028 0.878453 0.773481
1926 | 0.174033 0.361878 0.775414 0.267956 0.670994
1927 | 0.966851 0.270718 0.419890 0.500000 0.500000
1928 | 0.593646 0.790055 0.698619 0.906077 0.604696
1929 | 0.151934 0.974586 0.853591 0.554972 0.963812
1930 | 1.000000 0.794643 0.098214 0.839286 1.000000
1931 | 0.500000 0.659945 0.670994 0.673757 0.543370
1932 | 0.226243 0.864641 0.148895 0.687569 0.604696
1933 | 0.500000 0.500000 0.500000 0.491071 0.500000
1934 | 0.997238 0.378453 0.018508 0.500000 0.500000
1935 | 0.930663 0.969337 0.775967 0.500000 0.753867
1936 | 0.500000 1.000000 1.000000 1.000000 1.000000
1937 | 0.204144 0.787017 0.795580 0.801105 1.000000
1938 | 0.500000 0.500000 0.500000 0.500000 0.500000
1939 | 0.276786 0.500000 0.178571 0.705357 0.812500
1940 | 0.000000 1.000000 1.000000 0.776786 0.758929
1941 | 0.500000 1.000000 1.000000 0.000000 1.000000
1942 | 0.732143 0.910714 0.500000 0.375000 0.580357
1943 | 0.392857 1.000000 0.946429 1.000000 0.972768
1944 | 0.211161 1.000000 1.000000 0.589286 0.753867
1945 | 0.676519 0.629558 0.500000 0.455357 0.771429
1946 | 0.847790 0.825967 0.775967 0.775967 0.836740
1947 | 0.812155 0.817680 0.674033 0.500000 0.939227
1948 | 0.500000 0.991436 0.762431 0.500000 1.000000
1949 | 0.803571 0.659669 0.906077 0.705357 0.864365
1950 | 0.110497 0.996961 0.867403 0.740331 0.897768
1951 | 0.321429 0.711607 0.776786 0.915179 0.948214
1952 | 0.000000 1.000000 0.500000 0.500000 0.500000
1953 | 0.825967 0.732044 0.218232 0.895028 0.500000
1954 | 0.096133 1.000000 1.000000 0.168508 1.000000
1955 | 0.756906 0.895028 0.895028 0.872928 0.994475
1956 | 1.000000 0.983425 0.983425 1.000000 1.000000
1957 | 0.121271 1.000000 1.000000 1.000000 1.000000
1958 | 0.501934 0.906077 0.500000 0.259392 0.140331
1959 | 0.156906 0.972376 0.988950 0.944751 0.593370
1960 | 0.140884 0.731768 0.737293 0.500000 0.500000
1961 | 0.234530 0.444751 0.665470 0.610221 0.687569
1962 | 0.718232 0.715470 0.875414 0.626796 0.952762
1963 | 0.781768 0.328729 1.000000 0.983425 0.745856
1964 | 0.767956 0.748619 0.500000 0.759669 1.000000
1965 | 0.473214 0.642857 0.455357 0.669643 0.598214
1966 | 0.204420 0.220718 1.000000 0.734530 1.000000
1967 | 1.000000 1.000000 1.000000 1.000000 1.000000
1968 | 0.116022 0.770442 0.632320 0.256354 0.759392
1969 | 0.099171 0.682044 0.812155 0.500000 0.682044
1970 | 0.500000 1.000000 1.000000 1.000000 0.988674
1971 | 1.000000 0.781492 0.775967 0.765193 0.759392
1972 | 0.124033 0.500000 0.500000 0.510497 0.853591
1973 | 0.500000 0.500000 0.500000 0.500000 0.500000
1974 | 0.000000 0.574586 0.616022 0.582597 0.718232
1975 | 0.000000 1.000000 1.000000 1.000000 1.000000
1976 | 0.314641 0.906077 0.994475 0.823204 0.850829
1977 | 0.500000 0.500000 0.500000 0.500000 0.500000
1978 | 0.228177 0.790055 0.801105 0.773481 0.798066
1979 | 0.098214 0.455357 0.250000 0.678571 1.000000
1980 | 0.988950 1.000000 1.000000 0.988950 1.000000
1981 | 0.000000 0.000000 0.053571 0.080357 0.357143
1982 | 0.836740 0.764917 0.198619 0.775967 0.853591
1983 | 0.245304 0.741436 0.742818 0.825691 0.787293
1984 | 0.610221 0.830939 0.775967 0.554696 0.560497
1985 | 0.336740 0.988950 0.988950 1.000000 0.437569
1986 | 0.173481 0.980110 0.831215 0.969613 0.781492
1987 | 0.866071 0.758929 1.000000 0.767857 0.732143
1988 | 0.000000 1.000000 0.000000 1.000000 0.991071
1989 | 0.171271 0.917127 1.000000 0.248619 1.000000
1990 | 0.751381 0.066298 0.872928 0.160221 0.883978
1991 | 0.446429 0.482143 0.500000 0.500000 0.500000
1992 | 0.543370 0.571823 0.593646 0.621547 0.588398
1993 | 0.823204 0.977901 0.773481 0.798343 0.812155
1994 | 0.254144 0.500000 0.834254 0.850829 0.654420
1995 | 0.500000 0.500000 0.676519 0.500000 1.000000
1996 | 0.116071 0.098214 0.089286 0.089286 0.026786
1997 | 0.187500 0.500000 0.482143 0.491071 0.491071
1998 | 0.769337 0.242818 0.715193 0.345304 0.756906
1999 | 0.378453 0.328177 0.350276 1.000000 0.643370
2000 | 0.000000 1.000000 1.000000 1.000000 0.599448
2001 | 0.581215 0.980110 0.996961 1.000000 0.780110
2002 | 0.500000 0.500000 0.500000 0.500000 0.500000
2003 | 0.182320 0.839779 0.911602 0.361878 0.637845
2004 | 0.500000 1.000000 1.000000 1.000000 1.000000
2005 | 0.317680 1.000000 0.637845 0.582597 0.664365
2006 | 0.500000 0.500000 0.500000 0.500000 0.500000
2007 | 0.500000 0.839779 0.508287 0.500000 0.624033
2008 | 0.361878 0.582873 0.687845 0.820166 0.842265
2009 | 0.000000 1.000000 1.000000 1.000000 0.500000
2010 | 0.626796 0.996961 0.823204 0.834254 1.000000
2011 | 1.000000 0.383929 1.000000 0.000000 0.000000
2012 | 0.500000 0.737293 1.000000 0.500000 0.500000
2013 | 0.107735 1.000000 0.883978 0.790055 0.731768
2014 | 0.500000 0.500000 0.500000 0.500000 0.500000
2015 | 0.773481 0.676519 0.680663 0.997238 0.770442
2016 | 0.298066 0.554144 1.000000 0.643370 0.723757
2017 | 0.762431 0.276243 0.627072 0.500000 0.500000
2018 | 0.752232 0.983425 0.792541 1.000000 0.500000
2019 | 0.500000 0.737293 0.729282 0.731768 0.500000
2020 | 0.500000 0.500000 0.088398 0.621271 0.500000
2021 | 0.149171 0.856354 1.000000 0.775967 0.847790
2022 | 1.000000 0.559392 0.637569 0.868785 0.726243
2023 | 1.000000 0.554144 0.554144 0.559392 0.867403
2024 | 0.110497 0.784530 0.828729 0.977901 0.790055
2025 | 0.607143 0.803571 0.571429 0.830357 0.937500
2026 | 0.256354 0.947238 0.687845 0.969613 0.952762
2027 | 0.027232 0.756906 0.756906 0.500000 0.500000
2028 | 0.654420 0.648895 0.765193 0.500000 0.500000
2029 | 1.000000 1.000000 1.000000 0.618508 0.720994
2030 | 0.764641 0.372928 0.808840 0.685083 0.709669
2031 | 0.049724 0.500000 0.038674 0.500000 0.500000
2032 | 0.160714 0.883929 0.906077 0.500000 0.500000
2033 | 0.504018 0.955357 0.762431 1.000000 0.985912
2034 | 0.991071 0.955357 0.285714 0.571429 0.991071
2035 |
--------------------------------------------------------------------------------