Commit e33794b6 authored by Romain Courteaud's avatar Romain Courteaud

[HARDCODED] [erp5_notebook] Olapy compatible notebook

Based on Abilian repository: https://github.com/abilian/pyodide-olapy
parent b0f0e605
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>atomicwrites.data</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/octet-stream</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
var Module=typeof pyodide._module!=="undefined"?pyodide._module:{};Module.checkABI(1);if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="atomicwrites.data";var REMOTE_PACKAGE_BASE="atomicwrites.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","lib",true,true);Module["FS_createPath"]("/lib","python3.7",true,true);Module["FS_createPath"]("/lib/python3.7","site-packages",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","atomicwrites-1.1.5-py3.7.egg-info",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","atomicwrites",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createPreloadedFile"](this.name,null,byteArray,true,true,function(){Module["removeRunDependency"]("fp "+that.name)},function(){if(that.audio){Module["removeRunDependency"]("fp "+that.name)}else{err("Preloading file "+that.name+" failed")}},false,true);this.requests[this.name]=null}};function processPackageData(arrayBuffer){Module.finishedDataFileDownloads++;assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer instanceof ArrayBuffer,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);var curr;var compressedData={data:null,cachedOffset:7171,cachedIndexes:[-1,-1],cachedChunks:[null,null],offsets:[0,1316,2721,4104,5159,6419],sizes:[1316,1405,1383,1055,1260,752],successes:[1,1,1,1,1,1]};compressedData.data=byteArray;assert(typeof Module.LZ4==="object","LZ4 not present - was your app build with -s LZ4=1 ?");Module.LZ4.loadPackage({metadata:metadata,compressedData:compressedData});Module["removeRunDependency"]("datafile_atomicwrites.data")}Module["addRunDependency"]("datafile_atomicwrites.data");if(!Module.preloadResults)Module.preloadResults={};Module.preloadResults[PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({files:[{filename:"/lib/python3.7/site-packages/atomicwrites-1.1.5-py3.7.egg-info/PKG-INFO",start:0,end:4865,audio:0},{filename:"/lib/python3.7/site-packages/atomicwrites-1.1.5-py3.7.egg-info/top_level.txt",start:4865,end:4878,audio:0},{filename:"/lib/python3.7/site-packages/atomicwrites-1.1.5-py3.7.egg-info/SOURCES.txt",start:4878,end:5390,audio:0},{filename:"/lib/python3.7/site-packages/atomicwrites-1.1.5-py3.7.egg-info/dependency_links.txt",start:5390,end:5391,audio:0},{filename:"/lib/python3.7/site-packages/atomicwrites/__init__.py",start:5391,end:11356,audio:0}],remote_package_size:11267,package_uuid:"18cec38e-3768-46fe-97e1-307392e8524a"})})();
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>atomicwrites.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -8,7 +8,7 @@
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>pyodide.py</string> </value>
<value> <string>attrs.data</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
......
var Module=typeof pyodide._module!=="undefined"?pyodide._module:{};Module.checkABI(1);if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="attrs.data";var REMOTE_PACKAGE_BASE="attrs.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","lib",true,true);Module["FS_createPath"]("/lib","python3.7",true,true);Module["FS_createPath"]("/lib/python3.7","site-packages",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","attrs-18.1.0-py3.7.egg-info",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","attr",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createPreloadedFile"](this.name,null,byteArray,true,true,function(){Module["removeRunDependency"]("fp "+that.name)},function(){if(that.audio){Module["removeRunDependency"]("fp "+that.name)}else{err("Preloading file "+that.name+" failed")}},false,true);this.requests[this.name]=null}};function processPackageData(arrayBuffer){Module.finishedDataFileDownloads++;assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer instanceof ArrayBuffer,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);var curr;var compressedData={data:null,cachedOffset:53167,cachedIndexes:[-1,-1],cachedChunks:[null,null],offsets:[0,1253,2559,3966,5107,6210,7475,8784,10163,11517,12741,14108,15266,16431,17578,18767,19726,21101,22546,23967,25100,26285,27175,28435,29837,31082,31953,32869,33455,34309,35459,36685,37768,39135,40585,41419,42659,43971,45132,46457,47614,48822,50079,51072,52515],sizes:[1253,1306,1407,1141,1103,1265,1309,1379,1354,1224,1367,1158,1165,1147,1189,959,1375,1445,1421,1133,1185,890,1260,1402,1245,871,916,586,854,1150,1226,1083,1367,1450,834,1240,1312,1161,1325,1157,1208,1257,993,1443,652],successes:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]};compressedData.data=byteArray;assert(typeof Module.LZ4==="object","LZ4 not present - was your app build with -s LZ4=1 ?");Module.LZ4.loadPackage({metadata:metadata,compressedData:compressedData});Module["removeRunDependency"]("datafile_attrs.data")}Module["addRunDependency"]("datafile_attrs.data");if(!Module.preloadResults)Module.preloadResults={};Module.preloadResults[PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({files:[{filename:"/lib/python3.7/site-packages/attrs-18.1.0-py3.7.egg-info/PKG-INFO",start:0,end:11797,audio:0},{filename:"/lib/python3.7/site-packages/attrs-18.1.0-py3.7.egg-info/not-zip-safe",start:11797,end:11798,audio:0},{filename:"/lib/python3.7/site-packages/attrs-18.1.0-py3.7.egg-info/top_level.txt",start:11798,end:11803,audio:0},{filename:"/lib/python3.7/site-packages/attrs-18.1.0-py3.7.egg-info/SOURCES.txt",start:11803,end:13082,audio:0},{filename:"/lib/python3.7/site-packages/attrs-18.1.0-py3.7.egg-info/requires.txt",start:13082,end:13258,audio:0},{filename:"/lib/python3.7/site-packages/attrs-18.1.0-py3.7.egg-info/dependency_links.txt",start:13258,end:13259,audio:0},{filename:"/lib/python3.7/site-packages/attr/_make.py",start:13259,end:69324,audio:0},{filename:"/lib/python3.7/site-packages/attr/_compat.py",start:69324,end:73814,audio:0},{filename:"/lib/python3.7/site-packages/attr/converters.py",start:73814,end:74345,audio:0},{filename:"/lib/python3.7/site-packages/attr/validators.py",start:74345,end:79305,audio:0},{filename:"/lib/python3.7/site-packages/attr/exceptions.py",start:79305,end:80410,audio:0},{filename:"/lib/python3.7/site-packages/attr/filters.py",start:80410,end:81563,audio:0},{filename:"/lib/python3.7/site-packages/attr/_funcs.py",start:81563,end:89457,audio:0},{filename:"/lib/python3.7/site-packages/attr/__init__.py",start:89457,end:90653,audio:0},{filename:"/lib/python3.7/site-packages/attr/_config.py",start:90653,end:91167,audio:0}],remote_package_size:57263,package_uuid:"1acc6459-4aef-4dae-b1be-64b7cc0e318e"})})();
\ No newline at end of file
......@@ -8,7 +8,7 @@
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>cycler.js</string> </value>
<value> <string>attrs.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
......
"""
Cycler
======
Cycling through combinations of values, producing dictionaries.
You can add cyclers::
from cycler import cycler
cc = (cycler(color=list('rgb')) +
cycler(linestyle=['-', '--', '-.']))
for d in cc:
print(d)
Results in::
{'color': 'r', 'linestyle': '-'}
{'color': 'g', 'linestyle': '--'}
{'color': 'b', 'linestyle': '-.'}
You can multiply cyclers::
from cycler import cycler
cc = (cycler(color=list('rgb')) *
cycler(linestyle=['-', '--', '-.']))
for d in cc:
print(d)
Results in::
{'color': 'r', 'linestyle': '-'}
{'color': 'r', 'linestyle': '--'}
{'color': 'r', 'linestyle': '-.'}
{'color': 'g', 'linestyle': '-'}
{'color': 'g', 'linestyle': '--'}
{'color': 'g', 'linestyle': '-.'}
{'color': 'b', 'linestyle': '-'}
{'color': 'b', 'linestyle': '--'}
{'color': 'b', 'linestyle': '-.'}
"""
from __future__ import (absolute_import, division, print_function,
unicode_literals)
import six
from itertools import product, cycle
from six.moves import zip, reduce
from operator import mul, add
import copy
__version__ = '0.10.0'
def _process_keys(left, right):
"""
Helper function to compose cycler keys
Parameters
----------
left, right : iterable of dictionaries or None
The cyclers to be composed
Returns
-------
keys : set
The keys in the composition of the two cyclers
"""
l_peek = next(iter(left)) if left is not None else {}
r_peek = next(iter(right)) if right is not None else {}
l_key = set(l_peek.keys())
r_key = set(r_peek.keys())
if l_key & r_key:
raise ValueError("Can not compose overlapping cycles")
return l_key | r_key
class Cycler(object):
"""
Composable cycles
This class has compositions methods:
``+``
for 'inner' products (zip)
``+=``
in-place ``+``
``*``
for outer products (itertools.product) and integer multiplication
``*=``
in-place ``*``
and supports basic slicing via ``[]``
Parameters
----------
left : Cycler or None
The 'left' cycler
right : Cycler or None
The 'right' cycler
op : func or None
Function which composes the 'left' and 'right' cyclers.
"""
def __call__(self):
return cycle(self)
def __init__(self, left, right=None, op=None):
"""Semi-private init
Do not use this directly, use `cycler` function instead.
"""
if isinstance(left, Cycler):
self._left = Cycler(left._left, left._right, left._op)
elif left is not None:
# Need to copy the dictionary or else that will be a residual
# mutable that could lead to strange errors
self._left = [copy.copy(v) for v in left]
else:
self._left = None
if isinstance(right, Cycler):
self._right = Cycler(right._left, right._right, right._op)
elif right is not None:
# Need to copy the dictionary or else that will be a residual
# mutable that could lead to strange errors
self._right = [copy.copy(v) for v in right]
else:
self._right = None
self._keys = _process_keys(self._left, self._right)
self._op = op
@property
def keys(self):
"""
The keys this Cycler knows about
"""
return set(self._keys)
def change_key(self, old, new):
"""
Change a key in this cycler to a new name.
Modification is performed in-place.
Does nothing if the old key is the same as the new key.
Raises a ValueError if the new key is already a key.
Raises a KeyError if the old key isn't a key.
"""
if old == new:
return
if new in self._keys:
raise ValueError("Can't replace %s with %s, %s is already a key" %
(old, new, new))
if old not in self._keys:
raise KeyError("Can't replace %s with %s, %s is not a key" %
(old, new, old))
self._keys.remove(old)
self._keys.add(new)
if self._right is not None and old in self._right.keys:
self._right.change_key(old, new)
# self._left should always be non-None
# if self._keys is non-empty.
elif isinstance(self._left, Cycler):
self._left.change_key(old, new)
else:
# It should be completely safe at this point to
# assume that the old key can be found in each
# iteration.
self._left = [{new: entry[old]} for entry in self._left]
def _compose(self):
"""
Compose the 'left' and 'right' components of this cycle
with the proper operation (zip or product as of now)
"""
for a, b in self._op(self._left, self._right):
out = dict()
out.update(a)
out.update(b)
yield out
@classmethod
def _from_iter(cls, label, itr):
"""
Class method to create 'base' Cycler objects
that do not have a 'right' or 'op' and for which
the 'left' object is not another Cycler.
Parameters
----------
label : str
The property key.
itr : iterable
Finite length iterable of the property values.
Returns
-------
cycler : Cycler
New 'base' `Cycler`
"""
ret = cls(None)
ret._left = list({label: v} for v in itr)
ret._keys = set([label])
return ret
def __getitem__(self, key):
# TODO : maybe add numpy style fancy slicing
if isinstance(key, slice):
trans = self.by_key()
return reduce(add, (_cycler(k, v[key])
for k, v in six.iteritems(trans)))
else:
raise ValueError("Can only use slices with Cycler.__getitem__")
def __iter__(self):
if self._right is None:
return iter(dict(l) for l in self._left)
return self._compose()
def __add__(self, other):
"""
Pair-wise combine two equal length cycles (zip)
Parameters
----------
other : Cycler
The second Cycler
"""
if len(self) != len(other):
raise ValueError("Can only add equal length cycles, "
"not {0} and {1}".format(len(self), len(other)))
return Cycler(self, other, zip)
def __mul__(self, other):
"""
Outer product of two cycles (`itertools.product`) or integer
multiplication.
Parameters
----------
other : Cycler or int
The second Cycler or integer
"""
if isinstance(other, Cycler):
return Cycler(self, other, product)
elif isinstance(other, int):
trans = self.by_key()
return reduce(add, (_cycler(k, v*other)
for k, v in six.iteritems(trans)))
else:
return NotImplemented
def __rmul__(self, other):
return self * other
def __len__(self):
op_dict = {zip: min, product: mul}
if self._right is None:
return len(self._left)
l_len = len(self._left)
r_len = len(self._right)
return op_dict[self._op](l_len, r_len)
def __iadd__(self, other):
"""
In-place pair-wise combine two equal length cycles (zip)
Parameters
----------
other : Cycler
The second Cycler
"""
if not isinstance(other, Cycler):
raise TypeError("Cannot += with a non-Cycler object")
# True shallow copy of self is fine since this is in-place
old_self = copy.copy(self)
self._keys = _process_keys(old_self, other)
self._left = old_self
self._op = zip
self._right = Cycler(other._left, other._right, other._op)
return self
def __imul__(self, other):
"""
In-place outer product of two cycles (`itertools.product`)
Parameters
----------
other : Cycler
The second Cycler
"""
if not isinstance(other, Cycler):
raise TypeError("Cannot *= with a non-Cycler object")
# True shallow copy of self is fine since this is in-place
old_self = copy.copy(self)
self._keys = _process_keys(old_self, other)
self._left = old_self
self._op = product
self._right = Cycler(other._left, other._right, other._op)
return self
def __eq__(self, other):
"""
Check equality
"""
if len(self) != len(other):
return False
if self.keys ^ other.keys:
return False
return all(a == b for a, b in zip(self, other))
def __repr__(self):
op_map = {zip: '+', product: '*'}
if self._right is None:
lab = self.keys.pop()
itr = list(v[lab] for v in self)
return "cycler({lab!r}, {itr!r})".format(lab=lab, itr=itr)
else:
op = op_map.get(self._op, '?')
msg = "({left!r} {op} {right!r})"
return msg.format(left=self._left, op=op, right=self._right)
def _repr_html_(self):
# an table showing the value of each key through a full cycle
output = "<table>"
sorted_keys = sorted(self.keys, key=repr)
for key in sorted_keys:
output += "<th>{key!r}</th>".format(key=key)
for d in iter(self):
output += "<tr>"
for k in sorted_keys:
output += "<td>{val!r}</td>".format(val=d[k])
output += "</tr>"
output += "</table>"
return output
def by_key(self):
"""Values by key
This returns the transposed values of the cycler. Iterating
over a `Cycler` yields dicts with a single value for each key,
this method returns a `dict` of `list` which are the values
for the given key.
The returned value can be used to create an equivalent `Cycler`
using only `+`.
Returns
-------
transpose : dict
dict of lists of the values for each key.
"""
# TODO : sort out if this is a bottle neck, if there is a better way
# and if we care.
keys = self.keys
# change this to dict comprehension when drop 2.6
out = dict((k, list()) for k in keys)
for d in self:
for k in keys:
out[k].append(d[k])
return out
# for back compatibility
_transpose = by_key
def simplify(self):
"""Simplify the Cycler
Returned as a composition using only sums (no multiplications)
Returns
-------
simple : Cycler
An equivalent cycler using only summation"""
# TODO: sort out if it is worth the effort to make sure this is
# balanced. Currently it is is
# (((a + b) + c) + d) vs
# ((a + b) + (c + d))
# I would believe that there is some performance implications
trans = self.by_key()
return reduce(add, (_cycler(k, v) for k, v in six.iteritems(trans)))
def concat(self, other):
"""Concatenate this cycler and an other.
The keys must match exactly.
This returns a single Cycler which is equivalent to
`itertools.chain(self, other)`
Examples
--------
>>> num = cycler('a', range(3))
>>> let = cycler('a', 'abc')
>>> num.concat(let)
cycler('a', [0, 1, 2, 'a', 'b', 'c'])
Parameters
----------
other : `Cycler`
The `Cycler` to concatenate to this one.
Returns
-------
ret : `Cycler`
The concatenated `Cycler`
"""
return concat(self, other)
def concat(left, right):
"""Concatenate two cyclers.
The keys must match exactly.
This returns a single Cycler which is equivalent to
`itertools.chain(left, right)`
Examples
--------
>>> num = cycler('a', range(3))
>>> let = cycler('a', 'abc')
>>> num.concat(let)
cycler('a', [0, 1, 2, 'a', 'b', 'c'])
Parameters
----------
left, right : `Cycler`
The two `Cycler` instances to concatenate
Returns
-------
ret : `Cycler`
The concatenated `Cycler`
"""
if left.keys != right.keys:
msg = '\n\t'.join(["Keys do not match:",
"Intersection: {both!r}",
"Disjoint: {just_one!r}"]).format(
both=left.keys & right.keys,
just_one=left.keys ^ right.keys)
raise ValueError(msg)
_l = left.by_key()
_r = right.by_key()
return reduce(add, (_cycler(k, _l[k] + _r[k]) for k in left.keys))
def cycler(*args, **kwargs):
"""
Create a new `Cycler` object from a single positional argument,
a pair of positional arguments, or the combination of keyword arguments.
cycler(arg)
cycler(label1=itr1[, label2=iter2[, ...]])
cycler(label, itr)
Form 1 simply copies a given `Cycler` object.
Form 2 composes a `Cycler` as an inner product of the
pairs of keyword arguments. In other words, all of the
iterables are cycled simultaneously, as if through zip().
Form 3 creates a `Cycler` from a label and an iterable.
This is useful for when the label cannot be a keyword argument
(e.g., an integer or a name that has a space in it).
Parameters
----------
arg : Cycler
Copy constructor for Cycler (does a shallow copy of iterables).
label : name
The property key. In the 2-arg form of the function,
the label can be any hashable object. In the keyword argument
form of the function, it must be a valid python identifier.
itr : iterable
Finite length iterable of the property values.
Can be a single-property `Cycler` that would
be like a key change, but as a shallow copy.
Returns
-------
cycler : Cycler
New `Cycler` for the given property
"""
if args and kwargs:
raise TypeError("cyl() can only accept positional OR keyword "
"arguments -- not both.")
if len(args) == 1:
if not isinstance(args[0], Cycler):
raise TypeError("If only one positional argument given, it must "
" be a Cycler instance.")
return Cycler(args[0])
elif len(args) == 2:
return _cycler(*args)
elif len(args) > 2:
raise TypeError("Only a single Cycler can be accepted as the lone "
"positional argument. Use keyword arguments instead.")
if kwargs:
return reduce(add, (_cycler(k, v) for k, v in six.iteritems(kwargs)))
raise TypeError("Must have at least a positional OR keyword arguments")
def _cycler(label, itr):
"""
Create a new `Cycler` object from a property name and
iterable of values.
Parameters
----------
label : hashable
The property key.
itr : iterable
Finite length iterable of the property values.
Returns
-------
cycler : Cycler
New `Cycler` for the given property
"""
if isinstance(itr, Cycler):
keys = itr.keys
if len(keys) != 1:
msg = "Can not create Cycler from a multi-property Cycler"
raise ValueError(msg)
lab = keys.pop()
# Doesn't need to be a new list because
# _from_iter() will be creating that new list anyway.
itr = (v[lab] for v in itr)
return Cycler._from_iter(label, itr)
var Module=typeof pyodide!=="undefined"?pyodide:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="cycler.data";var REMOTE_PACKAGE_BASE="cycler.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","lib",true,true);Module["FS_createPath"]("/lib","python3.6",true,true);Module["FS_createPath"]("/lib/python3.6","site-packages",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages","cycler-0.10.0-py3.6.egg-info",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createPreloadedFile"](this.name,null,byteArray,true,true,function(){Module["removeRunDependency"]("fp "+that.name)},function(){if(that.audio){Module["removeRunDependency"]("fp "+that.name)}else{err("Preloading file "+that.name+" failed")}},false,true);this.requests[this.name]=null}};var files=metadata.files;for(var i=0;i<files.length;++i){new DataRequest(files[i].start,files[i].end,files[i].audio).open("GET",files[i].filename)}function processPackageData(arrayBuffer){Module.finishedDataFileDownloads++;assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer instanceof ArrayBuffer,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);var curr;if(Module["SPLIT_MEMORY"])err("warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting");var ptr=Module["getMemory"](byteArray.length);Module["HEAPU8"].set(byteArray,ptr);DataRequest.prototype.byteArray=Module["HEAPU8"].subarray(ptr,ptr+byteArray.length);var files=metadata.files;for(var i=0;i<files.length;++i){DataRequest.prototype.requests[files[i].filename].onload()}Module["removeRunDependency"]("datafile_cycler.data")}Module["addRunDependency"]("datafile_cycler.data");if(!Module.preloadResults)Module.preloadResults={};Module.preloadResults[PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({files:[{filename:"/lib/python3.6/site-packages/cycler.py",start:0,end:15959,audio:0},{filename:"/lib/python3.6/site-packages/__pycache__/cycler.cpython-36.pyc",start:15959,end:31999,audio:0},{filename:"/lib/python3.6/site-packages/cycler-0.10.0-py3.6.egg-info/top_level.txt",start:31999,end:32006,audio:0},{filename:"/lib/python3.6/site-packages/cycler-0.10.0-py3.6.egg-info/dependency_links.txt",start:32006,end:32007,audio:0},{filename:"/lib/python3.6/site-packages/cycler-0.10.0-py3.6.egg-info/PKG-INFO",start:32007,end:32720,audio:0},{filename:"/lib/python3.6/site-packages/cycler-0.10.0-py3.6.egg-info/SOURCES.txt",start:32720,end:33110,audio:0},{filename:"/lib/python3.6/site-packages/cycler-0.10.0-py3.6.egg-info/requires.txt",start:33110,end:33114,audio:0}],remote_package_size:33114,package_uuid:"49e462f0-cff7-482f-b8b2-7b414ac838db"})})();
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>de.master.fonts</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -8,7 +8,7 @@
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>kiwisolver.data</string> </value>
<value> <string>opensans.woff2</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>opensansbold.woff2</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/octet-stream</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>e.master.fonts</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>opensansitalic.woff</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/x-font-woff</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/*global window, rJS, RSVP, document, localStorage */
/*jslint nomen: true, indent: 2, maxerr: 3 */
(function (window, rJS, RSVP) {
"use strict";
window.callFunction = function (options) {
var fun = window[options.fun];
return fun.apply(fun, options.argument_list);
};
// Hack pyodide URL resolution while loading python libraries
window.languagePluginUrl = window.location.toString();
rJS(window)
/////////////////////////////////////////////////////////////////
// Acquired methods
......@@ -25,6 +29,9 @@
first_render: true
});
})
.declareMethod("evalCode", function (code) {
return eval(code);
})
.onStateChange(function (modified_dict) {
this.element.querySelector('script').textContent = this.state.value;
if (!modified_dict.hasOwnProperty('first_render')) {
......
{"version":3,"sources":[],"names":[],"mappings":"","file":"iodide.master.css","sourceRoot":""}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>iodide.master.css.map</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/octet-stream</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -12,7 +12,7 @@
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/octet-stream</string> </value>
<value> <string>font/truetype</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
......
......@@ -12,7 +12,7 @@
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/font-woff</string> </value>
<value> <string>application/x-font-woff</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
......
......@@ -12,7 +12,7 @@
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/octet-stream</string> </value>
<value> <string>font/truetype</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
......
......@@ -12,7 +12,7 @@
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/font-woff</string> </value>
<value> <string>application/x-font-woff</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>opensansextrabold.ttf</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>font/truetype</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>opensansextrabold.woff</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/x-font-woff</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>opensansitalic.ttf</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>font/truetype</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -2335,115 +2335,115 @@
overflow: visible;
clip: auto;
}
@font-face {
font-family: 'Open Sans';
src: local('Open Sans Light'),
local('OpenSans-Light'),
url(iodide.master.fonts/opensanslight.woff2) format('woff2'),
url(iodide.master.fonts/opensanslight.woff) format('woff'),
url(iodide.master.fonts/opensanslight.ttf) format('truetype');
font-weight: 300;
font-style: normal;
}
@font-face {
font-family: 'Open Sans';
src: local('Open Sans Light Italic'),
local('OpenSansLight-Italic'),
url(iodide.master.fonts/opensanslightitalic.woff2) format('woff2'),
url(iodide.master.fonts/opensanslightitalic.woff) format('woff'),
url(iodide.master.fonts/opensanslightitalic.ttf) format('truetype');
font-weight: 300;
font-style: italic;
}
@font-face {
font-family: 'Open Sans';
src: local('Open Sans'),
local('OpenSans'),
url(iodide.master.fonts/opensans.woff2) format('woff2'),
url(iodide.master.fonts/opensans.woff) format('woff'),
url(iodide.master.fonts/opensans.ttf) format('truetype');
font-weight: 400;
font-style: normal;
}
@font-face {
font-family: 'Open Sans';
src: local('Open Sans Italic'),
local('OpenSans-Italic'),
url(iodide.master.fonts/opensansitalic.woff2) format('woff2'),
url(iodide.master.fonts/opensansitalic.woff) format('woff'),
url(iodide.master.fonts/opensansitalic.ttf) format('truetype');
font-weight: 400;
font-style: italic;
}
@font-face {
font-family: 'Open Sans';
src: local('Open Sans Semibold'),
local('OpenSans-Semibold'),
url(iodide.master.fonts/opensanssemibold.woff2) format('woff2'),
url(iodide.master.fonts/opensanssemibold.woff) format('woff'),
url(iodide.master.fonts/opensanssemibold.ttf) format('truetype');
font-weight: 600;
font-style: normal;
}
@font-face {
font-family: 'Open Sans';
src: local('Open Sans Semibold Italic'),
local('OpenSans-SemiboldItalic'),
url(iodide.master.fonts/opensanssemibolditalic.woff2) format('woff2'),
url(iodide.master.fonts/opensanssemibolditalic.woff) format('woff'),
url(iodide.master.fonts/opensanssemibolditalic.ttf) format('truetype');
font-weight: 600;
font-style: italic;
}
@font-face {
font-family: 'Open Sans';
src: local('Open Sans Bold'),
local('OpenSans-Bold'),
url(iodide.master.fonts/opensansbold.woff2) format('woff2'),
url(iodide.master.fonts/opensansbold.woff) format('woff'),
url(iodide.master.fonts/opensansbold.ttf) format('truetype');
font-weight: 700;
font-style: normal;
}
@font-face {
font-family: 'Open Sans';
src: local('Open Sans Bold Italic'),
local('OpenSans-BoldItalic'),
url(iodide.master.fonts/opensansbolditalic.woff2) format('woff2'),
url(iodide.master.fonts/opensansbolditalic.woff) format('woff'),
url(iodide.master.fonts/opensansbolditalic.ttf) format('truetype');
font-weight: 700;
font-style: italic;
}
@font-face {
font-family: 'Open Sans';
src: local('Open Sans Extrabold'),
local('OpenSans-Extrabold'),
url(iodide.master.fonts/opensansextrabold.woff2) format('woff2'),
url(iodide.master.fonts/opensansextrabold.woff) format('woff'),
url(iodide.master.fonts/opensansextrabold.ttf) format('truetype');
font-weight: 800;
font-style: normal;
}
@font-face {
font-family: 'Open Sans';
src: local('Open Sans Extrabold Italic'),
local('OpenSans-ExtraboldItalic'),
url(iodide.master.fonts/opensansextrabolditalic.woff2) format('woff2'),
url(iodide.master.fonts/opensansextrabolditalic.woff) format('woff'),
url(iodide.master.fonts/opensansextrabolditalic.ttf) format('truetype');
font-weight: 800;
font-style: italic;
}
@font-face {
font-family: 'Open Sans';
src: local('Open Sans Light'),
local('OpenSans-Light'),
url(iodide.master.fonts/opensanslight.woff2) format('woff2'),
url(iodide.master.fonts/opensanslight.woff) format('woff'),
url(iodide.master.fonts/opensanslight.ttf) format('truetype');
font-weight: 300;
font-style: normal;
}
@font-face {
font-family: 'Open Sans';
src: local('Open Sans Light Italic'),
local('OpenSansLight-Italic'),
url(iodide.master.fonts/opensanslightitalic.woff2) format('woff2'),
url(iodide.master.fonts/opensanslightitalic.woff) format('woff'),
url(iodide.master.fonts/opensanslightitalic.ttf) format('truetype');
font-weight: 300;
font-style: italic;
}
@font-face {
font-family: 'Open Sans';
src: local('Open Sans'),
local('OpenSans'),
url(iodide.master.fonts/opensans.woff2) format('woff2'),
url(iodide.master.fonts/opensans.woff) format('woff'),
url(iodide.master.fonts/opensans.ttf) format('truetype');
font-weight: 400;
font-style: normal;
}
@font-face {
font-family: 'Open Sans';
src: local('Open Sans Italic'),
local('OpenSans-Italic'),
url(iodide.master.fonts/opensansitalic.woff2) format('woff2'),
url(iodide.master.fonts/opensansitalic.woff) format('woff'),
url(iodide.master.fonts/opensansitalic.ttf) format('truetype');
font-weight: 400;
font-style: italic;
}
@font-face {
font-family: 'Open Sans';
src: local('Open Sans Semibold'),
local('OpenSans-Semibold'),
url(iodide.master.fonts/opensanssemibold.woff2) format('woff2'),
url(iodide.master.fonts/opensanssemibold.woff) format('woff'),
url(iodide.master.fonts/opensanssemibold.ttf) format('truetype');
font-weight: 600;
font-style: normal;
}
@font-face {
font-family: 'Open Sans';
src: local('Open Sans Semibold Italic'),
local('OpenSans-SemiboldItalic'),
url(iodide.master.fonts/opensanssemibolditalic.woff2) format('woff2'),
url(iodide.master.fonts/opensanssemibolditalic.woff) format('woff'),
url(iodide.master.fonts/opensanssemibolditalic.ttf) format('truetype');
font-weight: 600;
font-style: italic;
}
@font-face {
font-family: 'Open Sans';
src: local('Open Sans Bold'),
local('OpenSans-Bold'),
url(iodide.master.fonts/opensansbold.woff2) format('woff2'),
url(iodide.master.fonts/opensansbold.woff) format('woff'),
url(iodide.master.fonts/opensansbold.ttf) format('truetype');
font-weight: 700;
font-style: normal;
}
@font-face {
font-family: 'Open Sans';
src: local('Open Sans Bold Italic'),
local('OpenSans-BoldItalic'),
url(iodide.master.fonts/opensansbolditalic.woff2) format('woff2'),
url(iodide.master.fonts/opensansbolditalic.woff) format('woff'),
url(iodide.master.fonts/opensansbolditalic.ttf) format('truetype');
font-weight: 700;
font-style: italic;
}
@font-face {
font-family: 'Open Sans';
src: local('Open Sans Extrabold'),
local('OpenSans-Extrabold'),
url(iodide.master.fonts/opensansextrabold.woff2) format('woff2'),
url(iodide.master.fonts/opensansextrabold.woff) format('woff'),
url(iodide.master.fonts/opensansextrabold.ttf) format('truetype');
font-weight: 800;
font-style: normal;
}
@font-face {
font-family: 'Open Sans';
src: local('Open Sans Extrabold Italic'),
local('OpenSans-ExtraboldItalic'),
url(iodide.master.fonts/opensansextrabolditalic.woff2) format('woff2'),
url(iodide.master.fonts/opensansextrabolditalic.woff) format('woff'),
url(iodide.master.fonts/opensansextrabolditalic.ttf) format('truetype');
font-weight: 800;
font-style: italic;
}
.cm-s-eclipse span.cm-meta { color: #FF1717; }
.cm-s-eclipse span.cm-keyword { line-height: 1em; font-weight: bold; color: #7F0055; }
.cm-s-eclipse span.cm-atom { color: #219; }
......
var Module=typeof pyodide!=="undefined"?pyodide:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="kiwisolver.data";var REMOTE_PACKAGE_BASE="kiwisolver.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","lib",true,true);Module["FS_createPath"]("/lib","python3.6",true,true);Module["FS_createPath"]("/lib/python3.6","site-packages",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages","kiwisolver-1.0.1-py3.6.egg-info",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createPreloadedFile"](this.name,null,byteArray,true,true,function(){Module["removeRunDependency"]("fp "+that.name)},function(){if(that.audio){Module["removeRunDependency"]("fp "+that.name)}else{err("Preloading file "+that.name+" failed")}},false,true);this.requests[this.name]=null}};var files=metadata.files;for(var i=0;i<files.length;++i){new DataRequest(files[i].start,files[i].end,files[i].audio).open("GET",files[i].filename)}function processPackageData(arrayBuffer){Module.finishedDataFileDownloads++;assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer instanceof ArrayBuffer,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);var curr;if(Module["SPLIT_MEMORY"])err("warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting");var ptr=Module["getMemory"](byteArray.length);Module["HEAPU8"].set(byteArray,ptr);DataRequest.prototype.byteArray=Module["HEAPU8"].subarray(ptr,ptr+byteArray.length);var files=metadata.files;for(var i=0;i<files.length;++i){DataRequest.prototype.requests[files[i].filename].onload()}Module["removeRunDependency"]("datafile_kiwisolver.data")}Module["addRunDependency"]("datafile_kiwisolver.data");if(!Module.preloadResults)Module.preloadResults={};Module.preloadResults[PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({files:[{filename:"/lib/python3.6/site-packages/kiwisolver.so",start:0,end:144087,audio:0},{filename:"/lib/python3.6/site-packages/kiwisolver-1.0.1-py3.6.egg-info/top_level.txt",start:144087,end:144098,audio:0},{filename:"/lib/python3.6/site-packages/kiwisolver-1.0.1-py3.6.egg-info/dependency_links.txt",start:144098,end:144099,audio:0},{filename:"/lib/python3.6/site-packages/kiwisolver-1.0.1-py3.6.egg-info/PKG-INFO",start:144099,end:145168,audio:0},{filename:"/lib/python3.6/site-packages/kiwisolver-1.0.1-py3.6.egg-info/SOURCES.txt",start:145168,end:145846,audio:0},{filename:"/lib/python3.6/site-packages/kiwisolver-1.0.1-py3.6.egg-info/requires.txt",start:145846,end:145857,audio:0}],remote_package_size:145857,package_uuid:"8f0d0a23-11d4-41e9-9503-f90b53718e97"})})();
\ No newline at end of file
var Module=typeof pyodide!=="undefined"?pyodide:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="matplotlib.data";var REMOTE_PACKAGE_BASE="matplotlib.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","lib",true,true);Module["FS_createPath"]("/lib","python3.6",true,true);Module["FS_createPath"]("/lib/python3.6","site-packages",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages","matplotlib-2.2.2-py3.6.egg-info",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages","matplotlib",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib","projections",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/projections","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib","testing",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/testing","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/testing","_nose",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/testing/_nose","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/testing/_nose","plugins",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/testing/_nose/plugins","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/testing","jpl_units",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/testing/jpl_units","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib","style",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/style","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib","cbook",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/cbook","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib","compat",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/compat","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib","sphinxext",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/sphinxext","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib","axes",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/axes","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib","mpl-data",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/mpl-data","images",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/mpl-data","stylelib",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/mpl-data","fonts",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/mpl-data/fonts","pdfcorefonts",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/mpl-data/fonts","afm",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/mpl-data/fonts","ttf",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/mpl-data","sample_data",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/mpl-data/sample_data","axes_grid",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib","backends",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/backends","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/backends","qt_editor",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/backends/qt_editor","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/backends","web_backend",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/backends/web_backend","js",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/backends/web_backend","css",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/backends/web_backend","jquery",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/backends/web_backend/jquery","js",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/backends/web_backend/jquery","css",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/backends/web_backend/jquery/css","themes",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/backends/web_backend/jquery/css/themes","base",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/backends/web_backend/jquery/css/themes/base","images",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib","tri",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/matplotlib/tri","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages","mpl_toolkits",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/mpl_toolkits","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/mpl_toolkits","axisartist",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/mpl_toolkits/axisartist","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/mpl_toolkits","mplot3d",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/mpl_toolkits/mplot3d","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/mpl_toolkits","axes_grid1",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/mpl_toolkits/axes_grid1","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/mpl_toolkits","axes_grid",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/mpl_toolkits/axes_grid","__pycache__",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createPreloadedFile"](this.name,null,byteArray,true,true,function(){Module["removeRunDependency"]("fp "+that.name)},function(){if(that.audio){Module["removeRunDependency"]("fp "+that.name)}else{err("Preloading file "+that.name+" failed")}},false,true);this.requests[this.name]=null}};var files=metadata.files;for(var i=0;i<files.length;++i){new DataRequest(files[i].start,files[i].end,files[i].audio).open("GET",files[i].filename)}function processPackageData(arrayBuffer){Module.finishedDataFileDownloads++;assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer instanceof ArrayBuffer,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);var curr;if(Module["SPLIT_MEMORY"])err("warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting");var ptr=Module["getMemory"](byteArray.length);Module["HEAPU8"].set(byteArray,ptr);DataRequest.prototype.byteArray=Module["HEAPU8"].subarray(ptr,ptr+byteArray.length);var files=metadata.files;for(var i=0;i<files.length;++i){DataRequest.prototype.requests[files[i].filename].onload()}Module["removeRunDependency"]("datafile_matplotlib.data")}Module["addRunDependency"]("datafile_matplotlib.data");if(!Module.preloadResults)Module.preloadResults={};Module.preloadResults[PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({files:[{filename:"/lib/python3.6/site-packages/pylab.py",start:0,end:90,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib-2.2.2-py3.6-nspkg.pth",start:90,end:463,audio:0},{filename:"/lib/python3.6/site-packages/__pycache__/pylab.cpython-36.pyc",start:463,end:671,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib-2.2.2-py3.6.egg-info/top_level.txt",start:671,end:701,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib-2.2.2-py3.6.egg-info/dependency_links.txt",start:701,end:702,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib-2.2.2-py3.6.egg-info/namespace_packages.txt",start:702,end:715,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib-2.2.2-py3.6.egg-info/PKG-INFO",start:715,end:1935,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib-2.2.2-py3.6.egg-info/not-zip-safe",start:1935,end:1936,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib-2.2.2-py3.6.egg-info/SOURCES.txt",start:1936,end:279431,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib-2.2.2-py3.6.egg-info/requires.txt",start:279431,end:279552,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/texmanager.py",start:279552,end:297937,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/docstring.py",start:297937,end:301932,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/dates.py",start:301932,end:363441,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/sankey.py",start:363441,end:402265,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/streamplot.py",start:402265,end:424351,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/_pylab_helpers.py",start:424351,end:428007,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/_mathtext_data.py",start:428007,end:517512,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/widgets.py",start:517512,end:611204,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/artist.py",start:611204,end:657884,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/pylab.py",start:657884,end:668373,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/cm.py",start:668373,end:681027,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/stackplot.py",start:681027,end:685226,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/_animation_data.py",start:685226,end:691383,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/_tri.so",start:691383,end:1009319,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/path.py",start:1009319,end:1046885,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mathtext.py",start:1046885,end:1169374,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mlab.py",start:1169374,end:1294293,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/spines.py",start:1294293,end:1315436,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/offsetbox.py",start:1315436,end:1370974,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/scale.py",start:1370974,end:1390264,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/_constrained_layout.py",start:1390264,end:1418650,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/fontconfig_pattern.py",start:1418650,end:1425450,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/bezier.py",start:1425450,end:1440905,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backend_bases.py",start:1440905,end:1555134,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/_cm_listed.py",start:1555134,end:1617551,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/image.py",start:1617551,end:1672692,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/legend_handler.py",start:1672692,end:1698374,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/ttconv.so",start:1698374,end:2001134,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/lines.py",start:2001134,end:2051799,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/tight_layout.py",start:2051799,end:2064705,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/colors.py",start:2064705,end:2137776,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/afm.py",start:2137776,end:2153974,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/container.py",start:2153974,end:2159535,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/dviread.py",start:2159535,end:2197741,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/contour.py",start:2197741,end:2265196,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/blocking_input.py",start:2265196,end:2276854,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/pyplot.py",start:2276854,end:2411346,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/animation.py",start:2411346,end:2478772,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/transforms.py",start:2478772,end:2580219,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/ft2font.so",start:2580219,end:2870121,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/_image.so",start:2870121,end:3401691,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/legend.py",start:3401691,end:3454382,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/axis.py",start:3454382,end:3544486,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/font_manager.py",start:3544486,end:3593016,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/_qhull.so",start:3593016,end:4230568,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/patheffects.py",start:4230568,end:4244914,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/hatch.py",start:4244914,end:4252054,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/patches.py",start:4252054,end:4405173,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/_color_data.py",start:4405173,end:4440069,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/markers.py",start:4440069,end:4471379,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/units.py",start:4471379,end:4478132,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/type1font.py",start:4478132,end:4490605,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/_layoutbox.py",start:4490605,end:4515179,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/figure.py",start:4515179,end:4605490,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/ticker.py",start:4605490,end:4691736,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__init__.py",start:4691736,end:4756266,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/textpath.py",start:4756266,end:4772941,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/text.py",start:4772941,end:4853006,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/rcsetup.py",start:4853006,end:4910873,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/table.py",start:4910873,end:4933040,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/_version.py",start:4933040,end:4933511,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/collections.py",start:4933511,end:5001677,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/_cm.py",start:5001677,end:5068280,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backend_managers.py",start:5068280,end:5081407,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/tight_bbox.py",start:5081407,end:5083992,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/_contour.so",start:5083992,end:5357531,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/colorbar.py",start:5357531,end:5410325,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/_path.so",start:5410325,end:5798933,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/quiver.py",start:5798933,end:5845016,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/gridspec.py",start:5845016,end:5863139,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backend_tools.py",start:5863139,end:5896783,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/category.py",start:5896783,end:5903331,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/_png.so",start:5903331,end:6164117,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/collections.cpython-36.pyc",start:6164117,end:6226285,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/dviread.cpython-36.pyc",start:6226285,end:6261527,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/lines.cpython-36.pyc",start:6261527,end:6301858,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/axis.cpython-36.pyc",start:6301858,end:6370770,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/streamplot.cpython-36.pyc",start:6370770,end:6389413,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/type1font.cpython-36.pyc",start:6389413,end:6399432,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/animation.cpython-36.pyc",start:6399432,end:6450003,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/colors.cpython-36.pyc",start:6450003,end:6514237,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/quiver.cpython-36.pyc",start:6514237,end:6549013,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/category.cpython-36.pyc",start:6549013,end:6556021,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/ticker.cpython-36.pyc",start:6556021,end:6631006,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/_mathtext_data.cpython-36.pyc",start:6631006,end:6681663,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/figure.cpython-36.pyc",start:6681663,end:6757852,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/backend_tools.cpython-36.pyc",start:6757852,end:6789833,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/contour.cpython-36.pyc",start:6789833,end:6840043,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/backend_managers.cpython-36.pyc",start:6840043,end:6852095,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/docstring.cpython-36.pyc",start:6852095,end:6856719,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/stackplot.cpython-36.pyc",start:6856719,end:6860265,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/widgets.cpython-36.pyc",start:6860265,end:6936394,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/markers.cpython-36.pyc",start:6936394,end:6963286,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/_cm.cpython-36.pyc",start:6963286,end:7006828,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/rcsetup.cpython-36.pyc",start:7006828,end:7043033,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/table.cpython-36.pyc",start:7043033,end:7061184,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/dates.cpython-36.pyc",start:7061184,end:7115222,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/fontconfig_pattern.cpython-36.pyc",start:7115222,end:7121066,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/_version.cpython-36.pyc",start:7121066,end:7121505,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/blocking_input.cpython-36.pyc",start:7121505,end:7133079,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/_pylab_helpers.cpython-36.pyc",start:7133079,end:7137126,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/_constrained_layout.cpython-36.pyc",start:7137126,end:7147891,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/patches.cpython-36.pyc",start:7147891,end:7279873,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/_color_data.cpython-36.pyc",start:7279873,end:7310203,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/texmanager.cpython-36.pyc",start:7310203,end:7325326,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/tight_bbox.cpython-36.pyc",start:7325326,end:7327842,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/pyplot.cpython-36.pyc",start:7327842,end:7437228,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/gridspec.cpython-36.pyc",start:7437228,end:7453030,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/hatch.cpython-36.pyc",start:7453030,end:7460648,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/legend.cpython-36.pyc",start:7460648,end:7500802,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/colorbar.cpython-36.pyc",start:7500802,end:7540610,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/__init__.cpython-36.pyc",start:7540610,end:7588710,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/afm.cpython-36.pyc",start:7588710,end:7603691,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/text.cpython-36.pyc",start:7603691,end:7668917,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/bezier.cpython-36.pyc",start:7668917,end:7680267,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/pylab.cpython-36.pyc",start:7680267,end:7691387,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/transforms.cpython-36.pyc",start:7691387,end:7787777,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/container.cpython-36.pyc",start:7787777,end:7794496,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/artist.cpython-36.pyc",start:7794496,end:7838279,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/offsetbox.cpython-36.pyc",start:7838279,end:7889939,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/mlab.cpython-36.pyc",start:7889939,end:8001664,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/tight_layout.cpython-36.pyc",start:8001664,end:8010737,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/image.cpython-36.pyc",start:8010737,end:8052442,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/units.cpython-36.pyc",start:8052442,end:8058500,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/_layoutbox.cpython-36.pyc",start:8058500,end:8080601,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/_cm_listed.cpython-36.pyc",start:8080601,end:8135358,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/sankey.cpython-36.pyc",start:8135358,end:8159913,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/scale.cpython-36.pyc",start:8159913,end:8180090,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/mathtext.cpython-36.pyc",start:8180090,end:8276409,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/cm.cpython-36.pyc",start:8276409,end:8288138,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/patheffects.cpython-36.pyc",start:8288138,end:8300884,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/_animation_data.cpython-36.pyc",start:8300884,end:8307119,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/textpath.cpython-36.pyc",start:8307119,end:8319629,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/font_manager.cpython-36.pyc",start:8319629,end:8358932,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/backend_bases.cpython-36.pyc",start:8358932,end:8460379,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/path.cpython-36.pyc",start:8460379,end:8491647,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/legend_handler.cpython-36.pyc",start:8491647,end:8512828,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/__pycache__/spines.cpython-36.pyc",start:8512828,end:8526770,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/projections/__init__.py",start:8526770,end:8529922,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/projections/polar.py",start:8529922,end:8585020,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/projections/geo.py",start:8585020,end:8604052,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/projections/__pycache__/geo.cpython-36.pyc",start:8604052,end:8623631,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/projections/__pycache__/__init__.cpython-36.pyc",start:8623631,end:8626881,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/projections/__pycache__/polar.cpython-36.pyc",start:8626881,end:8668716,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/compare.py",start:8668716,end:8686624,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/conftest.py",start:8686624,end:8689846,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/decorators.py",start:8689846,end:8711165,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/exceptions.py",start:8711165,end:8711303,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/determinism.py",start:8711303,end:8716227,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/noseclasses.py",start:8716227,end:8716918,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/__init__.py",start:8716918,end:8718695,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/disable_internet.py",start:8718695,end:8723562,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/__pycache__/compare.cpython-36.pyc",start:8723562,end:8736119,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/__pycache__/decorators.cpython-36.pyc",start:8736119,end:8753911,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/__pycache__/disable_internet.cpython-36.pyc",start:8753911,end:8757322,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/__pycache__/__init__.cpython-36.pyc",start:8757322,end:8759129,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/__pycache__/noseclasses.cpython-36.pyc",start:8759129,end:8760156,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/__pycache__/conftest.cpython-36.pyc",start:8760156,end:8762490,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/__pycache__/exceptions.cpython-36.pyc",start:8762490,end:8762915,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/__pycache__/determinism.cpython-36.pyc",start:8762915,end:8767038,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/_nose/decorators.py",start:8767038,end:8768240,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/_nose/exceptions.py",start:8768240,end:8768491,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/_nose/__init__.py",start:8768491,end:8770810,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/_nose/__pycache__/decorators.cpython-36.pyc",start:8770810,end:8772005,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/_nose/__pycache__/__init__.cpython-36.pyc",start:8772005,end:8774202,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/_nose/__pycache__/exceptions.cpython-36.pyc",start:8774202,end:8774849,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/_nose/plugins/__init__.py",start:8774849,end:8774849,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/_nose/plugins/knownfailure.py",start:8774849,end:8776840,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/_nose/plugins/performgc.py",start:8776840,end:8777618,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/_nose/plugins/__pycache__/knownfailure.cpython-36.pyc",start:8777618,end:8779444,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/_nose/plugins/__pycache__/__init__.cpython-36.pyc",start:8779444,end:8779607,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/_nose/plugins/__pycache__/performgc.cpython-36.pyc",start:8779607,end:8780867,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/jpl_units/UnitDblFormatter.py",start:8780867,end:8782388,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/jpl_units/UnitDbl.py",start:8782388,end:8791796,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/jpl_units/EpochConverter.py",start:8791796,end:8797288,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/jpl_units/StrConverter.py",start:8797288,end:8802581,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/jpl_units/Epoch.py",start:8802581,end:8809832,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/jpl_units/__init__.py",start:8809832,end:8813035,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/jpl_units/UnitDblConverter.py",start:8813035,end:8818572,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/jpl_units/Duration.py",start:8818572,end:8825290,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/jpl_units/__pycache__/UnitDbl.cpython-36.pyc",start:8825290,end:8833041,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/jpl_units/__pycache__/UnitDblConverter.cpython-36.pyc",start:8833041,end:8836661,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/jpl_units/__pycache__/StrConverter.cpython-36.pyc",start:8836661,end:8840441,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/jpl_units/__pycache__/Epoch.cpython-36.pyc",start:8840441,end:8845862,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/jpl_units/__pycache__/UnitDblFormatter.cpython-36.pyc",start:8845862,end:8847472,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/jpl_units/__pycache__/__init__.cpython-36.pyc",start:8847472,end:8850258,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/jpl_units/__pycache__/EpochConverter.cpython-36.pyc",start:8850258,end:8854833,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/testing/jpl_units/__pycache__/Duration.cpython-36.pyc",start:8854833,end:8860631,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/style/core.py",start:8860631,end:8868675,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/style/__init__.py",start:8868675,end:8868782,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/style/__pycache__/core.cpython-36.pyc",start:8868782,end:8875856,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/style/__pycache__/__init__.cpython-36.pyc",start:8875856,end:8876171,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/cbook/__init__.py",start:8876171,end:8963672,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/cbook/_backports.py",start:8963672,end:8968890,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/cbook/deprecation.py",start:8968890,end:8975958,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/cbook/__pycache__/deprecation.cpython-36.pyc",start:8975958,end:8982075,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/cbook/__pycache__/_backports.cpython-36.pyc",start:8982075,end:8986008,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/cbook/__pycache__/__init__.cpython-36.pyc",start:8986008,end:9070478,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/compat/subprocess.py",start:9070478,end:9072295,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/compat/__init__.py",start:9072295,end:9072295,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/compat/__pycache__/subprocess.cpython-36.pyc",start:9072295,end:9073741,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/compat/__pycache__/__init__.cpython-36.pyc",start:9073741,end:9073889,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/sphinxext/mathmpl.py",start:9073889,end:9077711,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/sphinxext/only_directives.py",start:9077711,end:9079951,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/sphinxext/__init__.py",start:9079951,end:9080060,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/sphinxext/plot_directive.py",start:9080060,end:9108488,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/sphinxext/__pycache__/plot_directive.cpython-36.pyc",start:9108488,end:9129401,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/sphinxext/__pycache__/mathmpl.cpython-36.pyc",start:9129401,end:9133348,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/sphinxext/__pycache__/only_directives.cpython-36.pyc",start:9133348,end:9135983,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/sphinxext/__pycache__/__init__.cpython-36.pyc",start:9135983,end:9136255,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/axes/_axes.py",start:9136255,end:9437597,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/axes/__init__.py",start:9437597,end:9437753,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/axes/_subplots.py",start:9437753,end:9448088,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/axes/_base.py",start:9448088,end:9596884,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/axes/__pycache__/_subplots.cpython-36.pyc",start:9596884,end:9604399,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/axes/__pycache__/_base.cpython-36.pyc",start:9604399,end:9727895,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/axes/__pycache__/__init__.cpython-36.pyc",start:9727895,end:9728210,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/axes/__pycache__/_axes.cpython-36.pyc",start:9728210,end:9960760,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc",start:9960760,end:9993816,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/filesave.png",start:9993816,end:9994274,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/hand.png",start:9994274,end:9995253,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/subplots.pdf",start:9995253,end:9996967,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/forward.pdf",start:9996967,end:9998597,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/qt4_editor_options.svg",start:9998597,end:9999841,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/matplotlib_large.png",start:9999841,end:10002929,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/hand.pdf",start:10002929,end:10007101,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/subplots.png",start:10007101,end:10007546,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/back.png",start:10007546,end:10007926,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/matplotlib.png",start:10007926,end:10009209,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/back.svg",start:10009209,end:10010721,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/back_large.gif",start:10010721,end:10011520,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/move.pdf",start:10011520,end:10013387,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/subplots.gif",start:10013387,end:10014078,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/subplots_large.png",start:10014078,end:10014740,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/home.gif",start:10014740,end:10015406,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/back_large.png",start:10015406,end:10016026,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/filesave_large.gif",start:10016026,end:10017524,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/filesave_large.png",start:10017524,end:10018244,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/qt4_editor_options.pdf",start:10018244,end:10019812,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/zoom_to_rect_large.gif",start:10019812,end:10021268,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/move.gif",start:10021268,end:10021947,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/matplotlib.pdf",start:10021947,end:10044799,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/matplotlib.svg",start:10044799,end:10106886,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/forward.gif",start:10106886,end:10107476,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/zoom_to_rect.pdf",start:10107476,end:10109085,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/forward.png",start:10109085,end:10109442,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/zoom_to_rect.png",start:10109442,end:10109972,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/home_large.gif",start:10109972,end:10111394,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/home.png",start:10111394,end:10111862,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/back.pdf",start:10111862,end:10113485,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/forward_large.png",start:10113485,end:10114078,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/subplots.svg",start:10114078,end:10116208,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/home.svg",start:10116208,end:10118099,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/move_large.gif",start:10118099,end:10119050,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/filesave.pdf",start:10119050,end:10120784,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/hand.gif",start:10120784,end:10122051,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/move.png",start:10122051,end:10122532,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/qt4_editor_options_large.png",start:10122532,end:10123151,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/hand.svg",start:10123151,end:10128039,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/hand_large.gif",start:10128039,end:10129012,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/forward_large.gif",start:10129012,end:10129798,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/zoom_to_rect.gif",start:10129798,end:10130494,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/move_large.png",start:10130494,end:10131261,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/move.svg",start:10131261,end:10133770,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/filesave.gif",start:10133770,end:10134493,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/home.pdf",start:10134493,end:10136230,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/matplotlib.ppm",start:10136230,end:10137971,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/home_large.png",start:10137971,end:10138761,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/zoom_to_rect_large.png",start:10138761,end:10139777,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/filesave.svg",start:10139777,end:10141806,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/subplots_large.gif",start:10141806,end:10143156,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/qt4_editor_options.png",start:10143156,end:10143536,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/forward.svg",start:10143536,end:10145067,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/zoom_to_rect.svg",start:10145067,end:10146546,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/images/back.gif",start:10146546,end:10147154,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/seaborn-pastel.mplstyle",start:10147154,end:10147298,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/seaborn-dark.mplstyle",start:10147298,end:10147965,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/ggplot.mplstyle",start:10147965,end:10148922,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/Solarize_Light2.mplstyle",start:10148922,end:10150177,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/seaborn-notebook.mplstyle",start:10150177,end:10150559,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/bmh.mplstyle",start:10150559,end:10151271,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/fast.mplstyle",start:10151271,end:10151559,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/seaborn-deep.mplstyle",start:10151559,end:10151701,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle",start:10151701,end:10177315,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/seaborn-poster.mplstyle",start:10177315,end:10177718,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/seaborn-paper.mplstyle",start:10177718,end:10178111,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/seaborn-darkgrid.mplstyle",start:10178111,end:10178781,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/seaborn-dark-palette.mplstyle",start:10178781,end:10178923,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/seaborn-muted.mplstyle",start:10178923,end:10179066,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/fivethirtyeight.mplstyle",start:10179066,end:10179898,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/seaborn-ticks.mplstyle",start:10179898,end:10180563,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/seaborn-colorblind.mplstyle",start:10180563,end:10180711,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/seaborn-whitegrid.mplstyle",start:10180711,end:10181375,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/classic.mplstyle",start:10181375,end:10207044,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/grayscale.mplstyle",start:10207044,end:10207570,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/seaborn-talk.mplstyle",start:10207570,end:10207973,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/dark_background.mplstyle",start:10207973,end:10208450,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/seaborn-white.mplstyle",start:10208450,end:10209115,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/seaborn-bright.mplstyle",start:10209115,end:10209259,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/seaborn.mplstyle",start:10209259,end:10210389,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/tableau-colorblind10.mplstyle",start:10210389,end:10210579,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/pdfcorefonts/ZapfDingbats.afm",start:10210579,end:10220106,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/pdfcorefonts/Courier-Bold.afm",start:10220106,end:10235439,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/pdfcorefonts/Courier-Oblique.afm",start:10235439,end:10250880,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/pdfcorefonts/Times-Italic.afm",start:10250880,end:10317208,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/pdfcorefonts/Times-Bold.afm",start:10317208,end:10381459,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/pdfcorefonts/Times-BoldItalic.afm",start:10381459,end:10441101,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/pdfcorefonts/Times-Roman.afm",start:10441101,end:10501561,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/pdfcorefonts/Helvetica-Oblique.afm",start:10501561,end:10575953,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/pdfcorefonts/Symbol.afm",start:10575953,end:10585693,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/pdfcorefonts/Courier-BoldOblique.afm",start:10585693,end:10601092,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/pdfcorefonts/Helvetica-Bold.afm",start:10601092,end:10670361,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/pdfcorefonts/Helvetica-BoldOblique.afm",start:10670361,end:10739726,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/pdfcorefonts/Helvetica.afm",start:10739726,end:10814018,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/pdfcorefonts/readme.txt",start:10814018,end:10814846,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/pdfcorefonts/Courier.afm",start:10814846,end:10830181,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/pbkdi8a.afm",start:10830181,end:10845459,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/ptmbi8a.afm",start:10845459,end:10863529,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/pcrbo8a.afm",start:10863529,end:10878951,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/phvb8a.afm",start:10878951,end:10896106,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/pagk8a.afm",start:10896106,end:10913347,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/cmmi10.afm",start:10913347,end:10923763,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/ptmb8a.afm",start:10923763,end:10941746,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/phvro8a.afm",start:10941746,end:10959665,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/phvr8an.afm",start:10959665,end:10977446,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/phvr8a.afm",start:10977446,end:10995285,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/pcrb8a.afm",start:10995285,end:11010637,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/pcrr8a.afm",start:11010637,end:11025976,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/pagd8a.afm",start:11025976,end:11043159,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/pagko8a.afm",start:11043159,end:11060505,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/pncb8a.afm",start:11060505,end:11076533,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/putbi8a.afm",start:11076533,end:11098464,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/pcrro8a.afm",start:11098464,end:11113907,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/pplr8a.afm",start:11113907,end:11129659,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/pbkli8a.afm",start:11129659,end:11144840,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/cmex10.afm",start:11144840,end:11156910,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/pplb8a.afm",start:11156910,end:11172572,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/phvbo8a.afm",start:11172572,end:11189802,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/pncbi8a.afm",start:11189802,end:11207298,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/phvro8an.afm",start:11207298,end:11225175,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/ptmr8a.afm",start:11225175,end:11243117,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/psyr.afm",start:11243117,end:11252761,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/phvlo8a.afm",start:11252761,end:11268490,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/pplbi8a.afm",start:11268490,end:11284300,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/phvl8a.afm",start:11284300,end:11299927,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/pagdo8a.afm",start:11299927,end:11317182,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/pzcmi8a.afm",start:11317182,end:11333432,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/pbkd8a.afm",start:11333432,end:11348589,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/phvbo8an.afm",start:11348589,end:11365784,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/cmtt10.afm",start:11365784,end:11372285,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/pncr8a.afm",start:11372285,end:11388950,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/putb8a.afm",start:11388950,end:11410482,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/pbkl8a.afm",start:11410482,end:11425482,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/cmsy10.afm",start:11425482,end:11433777,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/pncri8a.afm",start:11433777,end:11450697,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/putri8a.afm",start:11450697,end:11472588,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/cmr10.afm",start:11472588,end:11482689,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/pzdr.afm",start:11482689,end:11492156,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/putr8a.afm",start:11492156,end:11514304,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/phvb8an.afm",start:11514304,end:11531390,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/pplri8a.afm",start:11531390,end:11547123,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm/ptmri8a.afm",start:11547123,end:11565191,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSansMono.ttf",start:11565191,end:11905431,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans-Bold.ttf",start:11905431,end:12609559,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/STIXSizFourSymReg.ttf",start:12609559,end:12625531,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSerif.ttf",start:12625531,end:13005271,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/STIXNonUniIta.ttf",start:13005271,end:13052023,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans-BoldOblique.ttf",start:13052023,end:13693743,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/STIXNonUniBolIta.ttf",start:13693743,end:13735015,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/STIXNonUniBol.ttf",start:13735015,end:13765527,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/cmss10.ttf",start:13765527,end:13785903,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/STIXGeneralItalic.ttf",start:13785903,end:13960943,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf",start:13960943,end:14717015,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/STIXSizFourSymBol.ttf",start:14717015,end:14729243,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/STIXGeneralBolIta.ttf",start:14729243,end:14910395,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSerif-BoldItalic.ttf",start:14910395,end:15257459,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/cmtt10.ttf",start:15257459,end:15285595,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/STIXGeneral.ttf",start:15285595,end:15733823,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSerif-Bold.ttf",start:15733823,end:16089515,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSansDisplay.ttf",start:16089515,end:16115227,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSansMono-BoldOblique.ttf",start:16115227,end:16368343,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans-Oblique.ttf",start:16368343,end:17002183,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/STIXSizFiveSymReg.ttf",start:17002183,end:17015839,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/STIXNonUni.ttf",start:17015839,end:17074947,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/LICENSE_STIX",start:17074947,end:17080422,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSerifDisplay.ttf",start:17080422,end:17094722,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSerif-Italic.ttf",start:17094722,end:17440334,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/STIXSizThreeSymBol.ttf",start:17440334,end:17452526,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSansMono-Oblique.ttf",start:17452526,end:17703998,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/cmmi10.ttf",start:17703998,end:17736558,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSansMono-Bold.ttf",start:17736558,end:18068094,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/STIXSizOneSymBol.ttf",start:18068094,end:18080650,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/cmsy10.ttf",start:18080650,end:18110046,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/STIXSizOneSymReg.ttf",start:18110046,end:18129806,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/STIXSizTwoSymBol.ttf",start:18129806,end:18141922,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/cmr10.ttf",start:18141922,end:18168270,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/STIXGeneralBol.ttf",start:18168270,end:18405630,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/STIXSizTwoSymReg.ttf",start:18405630,end:18421334,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/cmb10.ttf",start:18421334,end:18447014,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/STIXSizThreeSymReg.ttf",start:18447014,end:18462850,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/cmex10.ttf",start:18462850,end:18483942,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/sample_data/ada.png",start:18483942,end:18792255,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/sample_data/logo2.png",start:18792255,end:18825796,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/sample_data/None_vs_nearest-pdf.png",start:18825796,end:18932024,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/sample_data/msft.csv",start:18932024,end:18935235,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/sample_data/percent_bachelors_degrees_women_usa.csv",start:18935235,end:18940916,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/sample_data/README.txt",start:18940916,end:18941044,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/sample_data/data_x_x2_x3.csv",start:18941044,end:18941176,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/sample_data/demodata.csv",start:18941176,end:18941835,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/sample_data/ct.raw.gz",start:18941835,end:19197994,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/sample_data/grace_hopper.png",start:19197994,end:19826274,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/sample_data/grace_hopper.jpg",start:19826274,end:19887580,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/sample_data/membrane.dat",start:19887580,end:19935580,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/sample_data/eeg.dat",start:19935580,end:19961180,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/sample_data/aapl.npz",start:19961180,end:20068683,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/sample_data/embedding_in_wx3.xrc",start:20068683,end:20070869,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/sample_data/goog.npz",start:20070869,end:20093714,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/sample_data/jacksboro_fault_dem.npz",start:20093714,end:20267775,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/sample_data/Minduka_Present_Blue_Pack.png",start:20267775,end:20281409,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/sample_data/s1045.ima.gz",start:20281409,end:20314638,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/mpl-data/sample_data/axes_grid/bivariate_normal.npy",start:20314638,end:20316518,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_qt5.py",start:20316518,end:20357657,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/qt_compat.py",start:20357657,end:20365588,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_gdk.py",start:20365588,end:20381381,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_webagg.py",start:20381381,end:20392946,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_ps.py",start:20392946,end:20454872,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/wasm_backend.py",start:20454872,end:20472111,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_qt4cairo.py",start:20472111,end:20472236,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_wxagg.py",start:20472236,end:20476562,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_gtkagg.py",start:20476562,end:20479915,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_qt4agg.py",start:20479915,end:20480247,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/_backend_agg.so",start:20480247,end:21046910,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_macosx.py",start:21046910,end:21053731,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_agg.py",start:21053731,end:21074763,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/tkagg.py",start:21074763,end:21076097,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_webagg_core.py",start:21076097,end:21094055,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_qt5agg.py",start:21094055,end:21097412,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_pdf.py",start:21097412,end:21195188,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_gtk.py",start:21195188,end:21231432,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/windowing.py",start:21231432,end:21232230,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_template.py",start:21232230,end:21241759,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_svg.py",start:21241759,end:21287262,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/_backend_tk.py",start:21287262,end:21326584,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_cairo.py",start:21326584,end:21344594,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__init__.py",start:21344594,end:21347880,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_gtk3agg.py",start:21347880,end:21351176,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_wx.py",start:21351176,end:21420700,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/wx_compat.py",start:21420700,end:21426451,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_gtk3cairo.py",start:21426451,end:21428191,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_gtk3.py",start:21428191,end:21459903,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_tkagg.py",start:21459903,end:21460860,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_qt4.py",start:21460860,end:21461358,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_tkcairo.py",start:21461358,end:21462740,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_mixed.py",start:21462740,end:21468600,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_pgf.py",start:21468600,end:21505719,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_qt5cairo.py",start:21505719,end:21507657,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_nbagg.py",start:21507657,end:21516496,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_wxcairo.py",start:21516496,end:21518461,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/_tkagg.so",start:21518461,end:21745118,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/backend_gtkcairo.py",start:21745118,end:21747676,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/_gtk3_compat.py",start:21747676,end:21748705,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_gtkagg.cpython-36.pyc",start:21748705,end:21752477,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_ps.cpython-36.pyc",start:21752477,end:21796729,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_cairo.cpython-36.pyc",start:21796729,end:21811014,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_mixed.cpython-36.pyc",start:21811014,end:21815669,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_svg.cpython-36.pyc",start:21815669,end:21845788,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_qt4.cpython-36.pyc",start:21845788,end:21846701,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/wx_compat.cpython-36.pyc",start:21846701,end:21849627,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_gtk3agg.cpython-36.pyc",start:21849627,end:21852977,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_tkagg.cpython-36.pyc",start:21852977,end:21854655,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_template.cpython-36.pyc",start:21854655,end:21863246,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_nbagg.cpython-36.pyc",start:21863246,end:21872044,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_qt5agg.cpython-36.pyc",start:21872044,end:21875454,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_pgf.cpython-36.pyc",start:21875454,end:21903842,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_macosx.cpython-36.pyc",start:21903842,end:21911512,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_qt5cairo.cpython-36.pyc",start:21911512,end:21913630,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_qt4cairo.cpython-36.pyc",start:21913630,end:21914022,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_qt4agg.cpython-36.pyc",start:21914022,end:21914672,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_tkcairo.cpython-36.pyc",start:21914672,end:21916354,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_webagg.cpython-36.pyc",start:21916354,end:21927105,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_agg.cpython-36.pyc",start:21927105,end:21945465,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/windowing.cpython-36.pyc",start:21945465,end:21946806,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_gtk.cpython-36.pyc",start:21946806,end:21978275,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/qt_compat.cpython-36.pyc",start:21978275,end:21981804,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_wx.cpython-36.pyc",start:21981804,end:22039213,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/__init__.cpython-36.pyc",start:22039213,end:22041898,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_gtk3.cpython-36.pyc",start:22041898,end:22070018,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_pdf.cpython-36.pyc",start:22070018,end:22137690,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_wxagg.cpython-36.pyc",start:22137690,end:22142024,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/_gtk3_compat.cpython-36.pyc",start:22142024,end:22143289,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/wasm_backend.cpython-36.pyc",start:22143289,end:22158224,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_gdk.cpython-36.pyc",start:22158224,end:22171529,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_qt5.cpython-36.pyc",start:22171529,end:22206555,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_webagg_core.cpython-36.pyc",start:22206555,end:22221616,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_gtk3cairo.cpython-36.pyc",start:22221616,end:22223898,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_wxcairo.cpython-36.pyc",start:22223898,end:22226249,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/backend_gtkcairo.cpython-36.pyc",start:22226249,end:22229456,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/_backend_tk.cpython-36.pyc",start:22229456,end:22261735,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/__pycache__/tkagg.cpython-36.pyc",start:22261735,end:22263063,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/qt_editor/figureoptions.py",start:22263063,end:22272273,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/qt_editor/formlayout.py",start:22272273,end:22291693,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/qt_editor/formsubplottool.py",start:22291693,end:22293646,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/qt_editor/__init__.py",start:22293646,end:22293755,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/qt_editor/__pycache__/figureoptions.cpython-36.pyc",start:22293755,end:22300863,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/qt_editor/__pycache__/__init__.cpython-36.pyc",start:22300863,end:22301144,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/qt_editor/__pycache__/formsubplottool.cpython-36.pyc",start:22301144,end:22302778,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/qt_editor/__pycache__/formlayout.cpython-36.pyc",start:22302778,end:22320262,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/web_backend/nbagg_uat.ipynb",start:22320262,end:22336242,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/web_backend/single_figure.html",start:22336242,end:22337445,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/web_backend/ipython_inline_figure.html",start:22337445,end:22338750,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/web_backend/all_figures.html",start:22338750,end:22340262,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/web_backend/js/nbagg_mpl.js",start:22340262,end:22347729,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/web_backend/js/mpl_tornado.js",start:22347729,end:22348001,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/web_backend/js/mpl.js",start:22348001,end:22364965,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/web_backend/css/fbm.css",start:22364965,end:22366438,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/web_backend/css/page.css",start:22366438,end:22368037,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/web_backend/css/boilerplate.css",start:22368037,end:22370347,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/web_backend/jquery/js/jquery-1.11.3.min.js",start:22370347,end:22466304,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/web_backend/jquery/js/jquery-ui.min.js",start:22466304,end:22706731,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/web_backend/jquery/css/themes/base/jquery-ui.min.css",start:22706731,end:22736894,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/web_backend/jquery/css/themes/base/images/ui-bg_flat_10_000000_40x100.png",start:22736894,end:22737099,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/web_backend/jquery/css/themes/base/images/ui-icons_ffd27a_256x240.png",start:22737099,end:22741648,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/web_backend/jquery/css/themes/base/images/ui-bg_diagonals-thick_18_b81900_40x40.png",start:22741648,end:22742066,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/web_backend/jquery/css/themes/base/images/ui-bg_diagonals-thick_20_666666_40x40.png",start:22742066,end:22742378,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/web_backend/jquery/css/themes/base/images/ui-bg_glass_100_fdf5ce_1x400.png",start:22742378,end:22742726,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/web_backend/jquery/css/themes/base/images/ui-bg_highlight-soft_100_eeeeee_1x100.png",start:22742726,end:22743004,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/web_backend/jquery/css/themes/base/images/ui-bg_glass_100_f6f6f6_1x400.png",start:22743004,end:22743266,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/web_backend/jquery/css/themes/base/images/ui-icons_ffffff_256x240.png",start:22743266,end:22749565,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/web_backend/jquery/css/themes/base/images/ui-bg_highlight-soft_75_ffe45c_1x100.png",start:22749565,end:22749893,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/web_backend/jquery/css/themes/base/images/ui-icons_222222_256x240.png",start:22749893,end:22756815,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/web_backend/jquery/css/themes/base/images/ui-bg_glass_65_ffffff_1x400.png",start:22756815,end:22757022,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/web_backend/jquery/css/themes/base/images/ui-icons_228ef1_256x240.png",start:22757022,end:22761571,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/web_backend/jquery/css/themes/base/images/ui-icons_ef8c08_256x240.png",start:22761571,end:22766120,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/backends/web_backend/jquery/css/themes/base/images/ui-bg_gloss-wave_35_f6a828_500x100.png",start:22766120,end:22771935,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/tri/tripcolor.py",start:22771935,end:22777664,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/tri/triangulation.py",start:22777664,end:22785881,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/tri/trifinder.py",start:22785881,end:22789507,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/tri/__init__.py",start:22789507,end:22789884,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/tri/tricontour.py",start:22789884,end:22799524,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/tri/tritools.py",start:22799524,end:22812152,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/tri/trirefine.py",start:22812152,end:22826418,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/tri/triplot.py",start:22826418,end:22829461,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/tri/triinterpolate.py",start:22829461,end:22895304,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/tri/__pycache__/trifinder.cpython-36.pyc",start:22895304,end:22899541,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/tri/__pycache__/tricontour.cpython-36.pyc",start:22899541,end:22909142,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/tri/__pycache__/triangulation.cpython-36.pyc",start:22909142,end:22915809,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/tri/__pycache__/triplot.cpython-36.pyc",start:22915809,end:22918038,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/tri/__pycache__/tripcolor.cpython-36.pyc",start:22918038,end:22922148,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/tri/__pycache__/tritools.cpython-36.pyc",start:22922148,end:22932694,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/tri/__pycache__/__init__.cpython-36.pyc",start:22932694,end:22933218,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/tri/__pycache__/trirefine.cpython-36.pyc",start:22933218,end:22942587,audio:0},{filename:"/lib/python3.6/site-packages/matplotlib/tri/__pycache__/triinterpolate.cpython-36.pyc",start:22942587,end:22993384,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/__init__.py",start:22993384,end:22993505,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/__pycache__/__init__.cpython-36.pyc",start:22993505,end:22993760,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axisartist/grid_helper_curvelinear.py",start:22993760,end:23009669,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axisartist/clip_path.py",start:23009669,end:23013759,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axisartist/axes_rgb.py",start:23013759,end:23014048,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axisartist/grid_finder.py",start:23014048,end:23025911,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axisartist/axes_grid.py",start:23025911,end:23026853,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axisartist/axislines.py",start:23026853,end:23051609,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axisartist/__init__.py",start:23051609,end:23052479,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axisartist/axisline_style.py",start:23052479,end:23057764,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axisartist/floating_axes.py",start:23057764,end:23075261,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axisartist/parasite_axes.py",start:23075261,end:23075818,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axisartist/axis_artist.py",start:23075818,end:23124412,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axisartist/axes_divider.py",start:23124412,end:23124773,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axisartist/angle_helper.py",start:23124773,end:23137813,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axisartist/__pycache__/axes_divider.cpython-36.pyc",start:23137813,end:23138378,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axisartist/__pycache__/grid_finder.cpython-36.pyc",start:23138378,end:23148874,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axisartist/__pycache__/axislines.cpython-36.pyc",start:23148874,end:23172417,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axisartist/__pycache__/axes_rgb.cpython-36.pyc",start:23172417,end:23173028,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axisartist/__pycache__/angle_helper.cpython-36.pyc",start:23173028,end:23184343,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axisartist/__pycache__/floating_axes.cpython-36.pyc",start:23184343,end:23197046,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axisartist/__pycache__/clip_path.cpython-36.pyc",start:23197046,end:23200275,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axisartist/__pycache__/axes_grid.cpython-36.pyc",start:23200275,end:23201740,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axisartist/__pycache__/grid_helper_curvelinear.cpython-36.pyc",start:23201740,end:23213793,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axisartist/__pycache__/__init__.cpython-36.pyc",start:23213793,end:23214845,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axisartist/__pycache__/parasite_axes.cpython-36.pyc",start:23214845,end:23215487,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axisartist/__pycache__/axis_artist.cpython-36.pyc",start:23215487,end:23254948,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axisartist/__pycache__/axisline_style.cpython-36.pyc",start:23254948,end:23260603,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/mplot3d/axes3d.py",start:23260603,end:23366034,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/mplot3d/axis3d.py",start:23366034,end:23384738,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/mplot3d/proj3d.py",start:23384738,end:23389498,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/mplot3d/art3d.py",start:23389498,end:23414192,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/mplot3d/__init__.py",start:23414192,end:23414341,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/mplot3d/__pycache__/proj3d.cpython-36.pyc",start:23414341,end:23419579,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/mplot3d/__pycache__/axes3d.cpython-36.pyc",start:23419579,end:23503643,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/mplot3d/__pycache__/axis3d.cpython-36.pyc",start:23503643,end:23516033,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/mplot3d/__pycache__/art3d.cpython-36.pyc",start:23516033,end:23541511,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/mplot3d/__pycache__/__init__.cpython-36.pyc",start:23541511,end:23541840,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid1/mpl_axes.py",start:23541840,end:23546743,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid1/anchored_artists.py",start:23546743,end:23559957,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid1/axes_rgb.py",start:23559957,end:23566930,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid1/axes_grid.py",start:23566930,end:23594628,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid1/__init__.py",start:23594628,end:23595022,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid1/axes_size.py",start:23595022,end:23604055,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid1/inset_locator.py",start:23604055,end:23622769,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid1/parasite_axes.py",start:23622769,end:23638200,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid1/colorbar.py",start:23638200,end:23666029,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid1/axes_divider.py",start:23666029,end:23697468,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid1/__pycache__/axes_size.cpython-36.pyc",start:23697468,end:23709202,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid1/__pycache__/inset_locator.cpython-36.pyc",start:23709202,end:23726776,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid1/__pycache__/anchored_artists.cpython-36.pyc",start:23726776,end:23739384,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid1/__pycache__/axes_divider.cpython-36.pyc",start:23739384,end:23767762,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid1/__pycache__/axes_rgb.cpython-36.pyc",start:23767762,end:23774389,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid1/__pycache__/axes_grid.cpython-36.pyc",start:23774389,end:23792535,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid1/__pycache__/colorbar.cpython-36.pyc",start:23792535,end:23816876,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid1/__pycache__/__init__.cpython-36.pyc",start:23816876,end:23817481,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid1/__pycache__/parasite_axes.cpython-36.pyc",start:23817481,end:23831957,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid1/__pycache__/mpl_axes.cpython-36.pyc",start:23831957,end:23837960,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/grid_helper_curvelinear.py",start:23837960,end:23838132,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/clip_path.py",start:23838132,end:23838290,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/anchored_artists.py",start:23838290,end:23838691,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/axes_rgb.py",start:23838691,end:23839078,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/grid_finder.py",start:23839078,end:23839238,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/axes_grid.py",start:23839238,end:23840180,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/axislines.py",start:23840180,end:23840338,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/__init__.py",start:23840338,end:23841e3,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/axisline_style.py",start:23841e3,end:23841163,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/floating_axes.py",start:23841163,end:23841325,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/axes_size.py",start:23841325,end:23841483,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/inset_locator.py",start:23841483,end:23841809,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/parasite_axes.py",start:23841809,end:23842366,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/colorbar.py",start:23842366,end:23842537,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/axis_artist.py",start:23842537,end:23842697,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/axes_divider.py",start:23842697,end:23843054,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/angle_helper.py",start:23843054,end:23843215,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/__pycache__/axes_size.cpython-36.pyc",start:23843215,end:23843540,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/__pycache__/inset_locator.cpython-36.pyc",start:23843540,end:23844097,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/__pycache__/anchored_artists.cpython-36.pyc",start:23844097,end:23844744,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/__pycache__/axes_divider.cpython-36.pyc",start:23844744,end:23845308,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/__pycache__/grid_finder.cpython-36.pyc",start:23845308,end:23845637,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/__pycache__/axislines.cpython-36.pyc",start:23845637,end:23845962,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/__pycache__/axes_rgb.cpython-36.pyc",start:23845962,end:23846572,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/__pycache__/angle_helper.cpython-36.pyc",start:23846572,end:23846903,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/__pycache__/floating_axes.cpython-36.pyc",start:23846903,end:23847236,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/__pycache__/clip_path.cpython-36.pyc",start:23847236,end:23847561,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/__pycache__/axes_grid.cpython-36.pyc",start:23847561,end:23849025,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/__pycache__/grid_helper_curvelinear.cpython-36.pyc",start:23849025,end:23849378,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/__pycache__/colorbar.cpython-36.pyc",start:23849378,end:23849760,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/__pycache__/__init__.cpython-36.pyc",start:23849760,end:23850518,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/__pycache__/parasite_axes.cpython-36.pyc",start:23850518,end:23851159,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/__pycache__/axis_artist.cpython-36.pyc",start:23851159,end:23851488,audio:0},{filename:"/lib/python3.6/site-packages/mpl_toolkits/axes_grid/__pycache__/axisline_style.cpython-36.pyc",start:23851488,end:23851823,audio:0}],remote_package_size:23851823,package_uuid:"1d3d2e81-31c5-438d-b7dd-54553f8d0f0f"})})();
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>olapy-data</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>cubes</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Black_Friday</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
Month;City;Sub_Category;average_sales_M;Average Spent By Person
Novemver 2015;Madrid;jackets;110;84
Novemver 2015;Barcelona;shirts;190;141
Novemver 2015;Paris;jackets;300;100
Novemver 2015;Lausanne;Washer;220;231
Novemver 2015;Lausanne;TV;120;365
Novemver 2015;Lausanne;Washer;90;265
Novemver 2015;Zurich;Other;164;500
Novemver 2015;Geneva;Fridge;128;230
Novemver 2015;New York;Iphone;799;380
Novemver 2015;New York;TV;512;403
Novemver 2015;Los Angeles;Playstation;422;250
Novemver 2015;Paris;Playstation;400;300
Novemver 2015;Paris;Playstation;400;300
Novemver 2015;Paris;Kids_game;200;100
Novemver 2015;New York;Kids_game;432;153
Novemver 2014;Madrid;jackets;90;72
Novemver 2014;Barcelona;shirts;140;105
Novemver 2014;Paris;jackets;200;95
Novemver 2014;Lausanne;Washer;200;175
Novemver 2014;Lausanne;TV;120;235
Novemver 2014;Lausanne;Washer;100;245
Novemver 2014;Zurich;Other;130;440
Novemver 2014;Geneva;Fridge;111;220
Novemver 2014;New York;Iphone;509;420
Novemver 2014;New York;TV;500;303
Novemver 2014;Los Angeles;Playstation;466;231
Novemver 2014;Paris;Playstation;450;200
Novemver 2014;Paris;Kids_game;240;80
Novemver 2014;New York;Kids_game;332;103
......@@ -8,11 +8,11 @@
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>python.html</string> </value>
<value> <string>Facts.csv</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
<value> <string>text/csv</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
......
Continent;Country;City
America;Canada;Quebec
America;Canada;Toronto
America;United States;Los Angeles
America;United States;New York
America;United States;San Francisco
America;Mexico;Mexico
America;Venezuela;Caracas
Europe;France;Paris
Europe;Spain;Barcelona
Europe;Spain;Madrid
Europe;Spain;Valencia
Europe;Switzerland;Geneva
Europe;Switzerland;Lausanne
Europe;Switzerland;Zurich
......@@ -8,11 +8,11 @@
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>pyodide.asm.html</string> </value>
<value> <string>Geography.csv</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
<value> <string>text/csv</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
......
Company;Category;Sub_Category
Amazon;Tech/electronics;TV
Apple;Tech/electronics;Iphone
Amazon;Household items;Fridge
Amazon;Household items;Washer
zara;Clothing/accessories;jackets
h&m;Clothing/accessories;shirts
Walmart;Other;Other
Amazon;Game;Playstation
Toys R Us;Game;Kids_game
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>Product.csv</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/csv</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
Year;Quarter;Month
2015;Q4 2015;Novemver 2015
2014;Q4 2014;Novemver 2014
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>Time.csv</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/csv</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>foodmart</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
This source diff could not be displayed because it is too large. You can view the blob instead.
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>Facts.csv</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/csv</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
This source diff could not be displayed because it is too large. You can view the blob instead.
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>Product.csv</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/csv</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
"store_id";"store_type";"store_name";"store_number";"store_street_address";"store_city";"store_state";"store_postal_code";"store_country";"store_manager";"store_phone";"store_fax";"first_opened_date";"last_remodel_date";"store_sqft";"grocery_sqft";"frozen_sqft";"meat_sqft";"coffee_bar";"video_store";"salad_bar";"prepared_food";"florist"
0;"HeadQuarters";"HQ";0;"1 Alameda Way";"Alameda";"CA";"55555";"USA";"";"";"";"";"";0;0;0;0;0;0;0;0;0
1;"Supermarket";"Store 1";1;"2853 Bailey Rd";"Acapulco";"Guerrero";"55555";"Mexico";"Jones";"262-555-5124";"262-555-5121";"1982-01-09 00:00:00";"1990-12-05 00:00:00";23593;17475;3671;2447;0;0;0;0;0
2;"Small Grocery";"Store 2";2;"5203 Catanzaro Way";"Bellingham";"WA";"55555";"USA";"Smith";"605-555-8203";"605-555-8201";"1970-04-02 00:00:00";"1973-06-04 00:00:00";28206;22271;3561;2374;1;0;0;0;0
3;"Supermarket";"Store 3";3;"1501 Ramsey Circle";"Bremerton";"WA";"55555";"USA";"Davis";"509-555-1596";"509-555-1591";"1959-06-14 00:00:00";"1967-11-19 00:00:00";39696;24390;9184;6122;0;0;1;1;0
4;"Gourmet Supermarket";"Store 4";4;"433 St George Dr";"Camacho";"Zacatecas";"55555";"Mexico";"Johnson";"304-555-1474";"304-555-1471";"1994-09-27 00:00:00";"1995-12-01 00:00:00";23759;16844;4149;2766;1;0;1;1;1
5;"Small Grocery";"Store 5";5;"1250 Coggins Drive";"Guadalajara";"Jalisco";"55555";"Mexico";"Green";"801-555-4324";"801-555-4321";"1978-09-18 00:00:00";"1991-06-29 00:00:00";24597;15012;5751;3834;1;0;0;0;0
6;"Gourmet Supermarket";"Store 6";6;"5495 Mitchell Canyon Road";"Beverly Hills";"CA";"55555";"USA";"Maris";"958-555-5002";"958-555-5001";"1981-01-03 00:00:00";"1991-03-13 00:00:00";23688;15337;5011;3340;1;1;1;1;1
7;"Supermarket";"Store 7";7;"1077 Wharf Drive";"Los Angeles";"CA";"55555";"USA";"White";"477-555-7967";"477-555-7961";"1971-05-21 00:00:00";"1981-10-20 00:00:00";23598;14210;5633;3755;0;0;0;0;1
8;"Deluxe Supermarket";"Store 8";8;"3173 Buena Vista Ave";"Merida";"Yucatan";"55555";"Mexico";"Williams";"797-555-3417";"797-555-3411";"1958-09-23 00:00:00";"1967-11-18 00:00:00";30797;20141;6393;4262;1;1;1;1;1
9;"Mid-Size Grocery";"Store 9";9;"1872 El Pintado Road";"Mexico City";"DF";"55555";"Mexico";"Stuber";"439-555-3524";"439-555-3521";"1955-03-18 00:00:00";"1959-06-07 00:00:00";36509;22450;8435;5624;0;0;0;0;0
10;"Supermarket";"Store 10";10;"7894 Rotherham Dr";"Orizaba";"Veracruz";"55555";"Mexico";"Merz";"212-555-4774";"212-555-4771";"1979-04-13 00:00:00";"1982-01-30 00:00:00";34791;26354;5062;3375;0;0;1;1;0
11;"Supermarket";"Store 11";11;"5371 Holland Circle";"Portland";"OR";"55555";"USA";"Erickson";"685-555-8995";"685-555-8991";"1976-09-17 00:00:00";"1982-05-15 00:00:00";20319;16232;2452;1635;0;0;0;0;0
12;"Deluxe Supermarket";"Store 12";12;"1120 Westchester Pl";"Hidalgo";"Zacatecas";"55555";"Mexico";"Kalman";"151-555-1702";"151-555-1701";"1968-03-25 00:00:00";"1993-12-18 00:00:00";30584;21938;5188;3458;1;1;1;1;1
13;"Deluxe Supermarket";"Store 13";13;"5179 Valley Ave";"Salem";"OR";"55555";"USA";"Inmon";"977-555-2724";"977-555-2721";"1957-04-13 00:00:00";"1997-11-10 00:00:00";27694;18670;5415;3610;1;1;1;1;1
14;"Small Grocery";"Store 14";14;"4365 Indigo Ct";"San Francisco";"CA";"55555";"USA";"Strehlo";"135-555-4888";"135-555-4881";"1957-11-24 00:00:00";"1958-01-07 00:00:00";22478;15321;4294;2863;1;0;0;0;0
15;"Supermarket";"Store 15";15;"5006 Highland Drive";"Seattle";"WA";"55555";"USA";"Ollom";"893-555-1024";"893-555-1021";"1969-07-24 00:00:00";"1973-10-19 00:00:00";21215;13305;4746;3164;1;0;0;0;0
16;"Supermarket";"Store 16";16;"5922 La Salle Ct";"Spokane";"WA";"55555";"USA";"Mantle";"643-555-3645";"643-555-3641";"1974-08-23 00:00:00";"1977-07-13 00:00:00";30268;22063;4923;3282;0;0;0;0;0
17;"Deluxe Supermarket";"Store 17";17;"490 Risdon Road";"Tacoma";"WA";"55555";"USA";"Mays";"855-555-5581";"855-555-5581";"1970-05-30 00:00:00";"1976-06-23 00:00:00";33858;22123;7041;4694;1;0;1;1;1
18;"Mid-Size Grocery";"Store 18";18;"6764 Glen Road";"Hidalgo";"Zacatecas";"55555";"Mexico";"Brown";"528-555-8317";"528-555-8311";"1969-06-28 00:00:00";"1975-08-30 00:00:00";38382;30351;4819;3213;0;0;0;0;0
19;"Deluxe Supermarket";"Store 19";19;"6644 Sudance Drive";"Vancouver";"BC";"55555";"Canada";"Ruth";"862-555-7395";"862-555-7391";"1977-03-27 00:00:00";"1990-10-25 00:00:00";23112;16418;4016;2678;1;1;1;1;1
20;"Mid-Size Grocery";"Store 20";20;"3706 Marvelle Ln";"Victoria";"BC";"55555";"Canada";"Cobb";"897-555-1931";"897-555-1931";"1980-02-06 00:00:00";"1987-04-09 00:00:00";34452;27463;4193;2795;1;0;0;0;1
21;"Deluxe Supermarket";"Store 21";21;"4093 Steven Circle";"San Andres";"DF";"55555";"Mexico";"Jones";"493-555-4781";"493-555-4781";"1986-02-07 00:00:00";"1990-04-16 00:00:00";0;0;0;0;1;0;1;1;1
22;"Small Grocery";"Store 22";22;"9606 Julpum Loop";"Walla Walla";"WA";"55555";"USA";"Byrg";"881-555-5117";"881-555-5111";"1951-01-24 00:00:00";"1969-10-17 00:00:00";0;0;0;0;0;0;0;0;0
23;"Mid-Size Grocery";"Store 23";23;"3920 Noah Court";"Yakima";"WA";"55555";"USA";"Johnson";"170-555-8424";"170-555-8421";"1977-07-16 00:00:00";"1987-07-24 00:00:00";0;0;0;0;0;0;0;0;0
24;"Supermarket";"Store 24";24;"2342 Waltham St.";"San Diego";"CA";"55555";"USA";"Byrd";"111-555-0303";"111-555-0304";"1979-05-22 00:00:00";"1986-04-20 00:00:00";0;0;0;0;1;0;1;0;1
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>Store.csv</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/csv</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
"time_id";"the_date";"the_day";"the_month";"the_year";"day_of_month";"week_of_year";"month_of_year";"quarter";"fiscal_period";"day_of_week"
367;"1997-01-01 00:00:00";"Wednesday";"January";2006;1;2;1;"Q1";"";3
368;"1997-01-02 00:00:00";"Thursday";"January";2006;2;2;1;"Q1";"";4
369;"1997-01-03 00:00:00";"Friday";"January";2006;3;2;1;"Q1";"";5
370;"1997-01-04 00:00:00";"Saturday";"January";2006;4;2;1;"Q1";"";6
371;"1997-01-05 00:00:00";"Sunday";"January";2006;5;3;1;"Q1";"";7
372;"1997-01-06 00:00:00";"Monday";"January";2006;6;3;1;"Q1";"";1
373;"1997-01-07 00:00:00";"Tuesday";"January";2006;7;3;1;"Q1";"";2
374;"1997-01-08 00:00:00";"Wednesday";"January";2006;8;3;1;"Q1";"";3
375;"1997-01-09 00:00:00";"Thursday";"January";2006;9;3;1;"Q1";"";4
376;"1997-01-10 00:00:00";"Friday";"January";2006;10;3;1;"Q1";"";5
377;"1997-01-11 00:00:00";"Saturday";"January";2006;11;3;1;"Q1";"";6
378;"1997-01-12 00:00:00";"Sunday";"January";2006;12;4;1;"Q1";"";7
379;"1997-01-13 00:00:00";"Monday";"January";2006;13;4;1;"Q1";"";1
380;"1997-01-14 00:00:00";"Tuesday";"January";2006;14;4;1;"Q1";"";2
381;"1997-01-15 00:00:00";"Wednesday";"January";2006;15;4;1;"Q1";"";3
382;"1997-01-16 00:00:00";"Thursday";"January";2006;16;4;1;"Q1";"";4
383;"1997-01-17 00:00:00";"Friday";"January";2006;17;4;1;"Q1";"";5
384;"1997-01-18 00:00:00";"Saturday";"January";2006;18;4;1;"Q1";"";6
385;"1997-01-19 00:00:00";"Sunday";"January";2006;19;5;1;"Q1";"";7
386;"1997-01-20 00:00:00";"Monday";"January";2006;20;5;1;"Q1";"";1
387;"1997-01-21 00:00:00";"Tuesday";"January";2006;21;5;1;"Q1";"";2
388;"1997-01-22 00:00:00";"Wednesday";"January";2006;22;5;1;"Q1";"";3
389;"1997-01-23 00:00:00";"Thursday";"January";2006;23;5;1;"Q1";"";4
390;"1997-01-24 00:00:00";"Friday";"January";2006;24;5;1;"Q1";"";5
391;"1997-01-25 00:00:00";"Saturday";"January";2006;25;5;1;"Q1";"";6
392;"1997-01-26 00:00:00";"Sunday";"January";2006;26;6;1;"Q1";"";7
393;"1997-01-27 00:00:00";"Monday";"January";2006;27;6;1;"Q1";"";1
394;"1997-01-28 00:00:00";"Tuesday";"January";2006;28;6;1;"Q1";"";2
395;"1997-01-29 00:00:00";"Wednesday";"January";2006;29;6;1;"Q1";"";3
396;"1997-01-30 00:00:00";"Thursday";"January";2006;30;6;1;"Q1";"";4
397;"1997-01-31 00:00:00";"Friday";"January";2006;31;6;1;"Q1";"";5
398;"1997-02-01 00:00:00";"Saturday";"February";2006;1;6;2;"Q1";"";6
399;"1997-02-02 00:00:00";"Sunday";"February";2006;2;7;2;"Q1";"";7
400;"1997-02-03 00:00:00";"Monday";"February";2006;3;7;2;"Q1";"";1
401;"1997-02-04 00:00:00";"Tuesday";"February";2006;4;7;2;"Q1";"";2
402;"1997-02-05 00:00:00";"Wednesday";"February";2006;5;7;2;"Q1";"";3
403;"1997-02-06 00:00:00";"Thursday";"February";2006;6;7;2;"Q1";"";4
404;"1997-02-07 00:00:00";"Friday";"February";2006;7;7;2;"Q1";"";5
405;"1997-02-08 00:00:00";"Saturday";"February";2006;8;7;2;"Q1";"";6
406;"1997-02-09 00:00:00";"Sunday";"February";2006;9;8;2;"Q1";"";7
407;"1997-02-10 00:00:00";"Monday";"February";2006;10;8;2;"Q1";"";1
408;"1997-02-11 00:00:00";"Tuesday";"February";2006;11;8;2;"Q1";"";2
409;"1997-02-12 00:00:00";"Wednesday";"February";2006;12;8;2;"Q1";"";3
410;"1997-02-13 00:00:00";"Thursday";"February";2006;13;8;2;"Q1";"";4
411;"1997-02-14 00:00:00";"Friday";"February";2006;14;8;2;"Q1";"";5
412;"1997-02-15 00:00:00";"Saturday";"February";2006;15;8;2;"Q1";"";6
413;"1997-02-16 00:00:00";"Sunday";"February";2006;16;9;2;"Q1";"";7
414;"1997-02-17 00:00:00";"Monday";"February";2006;17;9;2;"Q1";"";1
415;"1997-02-18 00:00:00";"Tuesday";"February";2006;18;9;2;"Q1";"";2
416;"1997-02-19 00:00:00";"Wednesday";"February";2006;19;9;2;"Q1";"";3
417;"1997-02-20 00:00:00";"Thursday";"February";2006;20;9;2;"Q1";"";4
418;"1997-02-21 00:00:00";"Friday";"February";2006;21;9;2;"Q1";"";5
419;"1997-02-22 00:00:00";"Saturday";"February";2006;22;9;2;"Q1";"";6
420;"1997-02-23 00:00:00";"Sunday";"February";2006;23;10;2;"Q1";"";7
421;"1997-02-24 00:00:00";"Monday";"February";2006;24;10;2;"Q1";"";1
422;"1997-02-25 00:00:00";"Tuesday";"February";2006;25;10;2;"Q1";"";2
423;"1997-02-26 00:00:00";"Wednesday";"February";2006;26;10;2;"Q1";"";3
424;"1997-02-27 00:00:00";"Thursday";"February";2006;27;10;2;"Q1";"";4
425;"1997-02-28 00:00:00";"Friday";"February";2006;28;10;2;"Q1";"";5
426;"1997-03-01 00:00:00";"Saturday";"March";2006;1;10;3;"Q1";"";6
427;"1997-03-02 00:00:00";"Sunday";"March";2006;2;11;3;"Q1";"";7
428;"1997-03-03 00:00:00";"Monday";"March";2006;3;11;3;"Q1";"";1
429;"1997-03-04 00:00:00";"Tuesday";"March";2006;4;11;3;"Q1";"";2
430;"1997-03-05 00:00:00";"Wednesday";"March";2006;5;11;3;"Q1";"";3
431;"1997-03-06 00:00:00";"Thursday";"March";2006;6;11;3;"Q1";"";4
432;"1997-03-07 00:00:00";"Friday";"March";2006;7;11;3;"Q1";"";5
433;"1997-03-08 00:00:00";"Saturday";"March";2006;8;11;3;"Q1";"";6
434;"1997-03-09 00:00:00";"Sunday";"March";2006;9;12;3;"Q1";"";7
435;"1997-03-10 00:00:00";"Monday";"March";2006;10;12;3;"Q1";"";1
436;"1997-03-11 00:00:00";"Tuesday";"March";2006;11;12;3;"Q1";"";2
437;"1997-03-12 00:00:00";"Wednesday";"March";2006;12;12;3;"Q1";"";3
438;"1997-03-13 00:00:00";"Thursday";"March";2006;13;12;3;"Q1";"";4
439;"1997-03-14 00:00:00";"Friday";"March";2006;14;12;3;"Q1";"";5
440;"1997-03-15 00:00:00";"Saturday";"March";2006;15;12;3;"Q1";"";6
441;"1997-03-16 00:00:00";"Sunday";"March";2006;16;13;3;"Q1";"";7
442;"1997-03-17 00:00:00";"Monday";"March";2006;17;13;3;"Q1";"";1
443;"1997-03-18 00:00:00";"Tuesday";"March";2006;18;13;3;"Q1";"";2
444;"1997-03-19 00:00:00";"Wednesday";"March";2006;19;13;3;"Q1";"";3
445;"1997-03-20 00:00:00";"Thursday";"March";2006;20;13;3;"Q1";"";4
446;"1997-03-21 00:00:00";"Friday";"March";2006;21;13;3;"Q1";"";5
447;"1997-03-22 00:00:00";"Saturday";"March";2006;22;13;3;"Q1";"";6
448;"1997-03-23 00:00:00";"Sunday";"March";2006;23;14;3;"Q1";"";7
449;"1997-03-24 00:00:00";"Monday";"March";2006;24;14;3;"Q1";"";1
450;"1997-03-25 00:00:00";"Tuesday";"March";2006;25;14;3;"Q1";"";2
451;"1997-03-26 00:00:00";"Wednesday";"March";2006;26;14;3;"Q1";"";3
452;"1997-03-27 00:00:00";"Thursday";"March";2006;27;14;3;"Q1";"";4
453;"1997-03-28 00:00:00";"Friday";"March";2006;28;14;3;"Q1";"";5
454;"1997-03-29 00:00:00";"Saturday";"March";2006;29;14;3;"Q1";"";6
455;"1997-03-30 00:00:00";"Sunday";"March";2006;30;15;3;"Q1";"";7
456;"1997-03-31 00:00:00";"Monday";"March";2006;31;15;3;"Q1";"";1
457;"1997-04-01 00:00:00";"Tuesday";"April";2006;1;15;4;"Q2";"";2
458;"1997-04-02 00:00:00";"Wednesday";"April";2006;2;15;4;"Q2";"";3
459;"1997-04-03 00:00:00";"Thursday";"April";2006;3;15;4;"Q2";"";4
460;"1997-04-04 00:00:00";"Friday";"April";2006;4;15;4;"Q2";"";5
461;"1997-04-05 00:00:00";"Saturday";"April";2006;5;15;4;"Q2";"";6
462;"1997-04-06 00:00:00";"Sunday";"April";2006;6;16;4;"Q2";"";7
463;"1997-04-07 00:00:00";"Monday";"April";2006;7;16;4;"Q2";"";1
464;"1997-04-08 00:00:00";"Tuesday";"April";2006;8;16;4;"Q2";"";2
465;"1997-04-09 00:00:00";"Wednesday";"April";2006;9;16;4;"Q2";"";3
466;"1997-04-10 00:00:00";"Thursday";"April";2006;10;16;4;"Q2";"";4
467;"1997-04-11 00:00:00";"Friday";"April";2006;11;16;4;"Q2";"";5
468;"1997-04-12 00:00:00";"Saturday";"April";2006;12;16;4;"Q2";"";6
469;"1997-04-13 00:00:00";"Sunday";"April";2006;13;17;4;"Q2";"";7
470;"1997-04-14 00:00:00";"Monday";"April";2006;14;17;4;"Q2";"";1
471;"1997-04-15 00:00:00";"Tuesday";"April";2006;15;17;4;"Q2";"";2
472;"1997-04-16 00:00:00";"Wednesday";"April";2006;16;17;4;"Q2";"";3
473;"1997-04-17 00:00:00";"Thursday";"April";2006;17;17;4;"Q2";"";4
474;"1997-04-18 00:00:00";"Friday";"April";2006;18;17;4;"Q2";"";5
475;"1997-04-19 00:00:00";"Saturday";"April";2006;19;17;4;"Q2";"";6
476;"1997-04-20 00:00:00";"Sunday";"April";2006;20;18;4;"Q2";"";7
477;"1997-04-21 00:00:00";"Monday";"April";2006;21;18;4;"Q2";"";1
478;"1997-04-22 00:00:00";"Tuesday";"April";2006;22;18;4;"Q2";"";2
479;"1997-04-23 00:00:00";"Wednesday";"April";2006;23;18;4;"Q2";"";3
480;"1997-04-24 00:00:00";"Thursday";"April";2006;24;18;4;"Q2";"";4
481;"1997-04-25 00:00:00";"Friday";"April";2006;25;18;4;"Q2";"";5
482;"1997-04-26 00:00:00";"Saturday";"April";2006;26;18;4;"Q2";"";6
483;"1997-04-27 00:00:00";"Sunday";"April";2006;27;19;4;"Q2";"";7
484;"1997-04-28 00:00:00";"Monday";"April";2006;28;19;4;"Q2";"";1
485;"1997-04-29 00:00:00";"Tuesday";"April";2006;29;19;4;"Q2";"";2
486;"1997-04-30 00:00:00";"Wednesday";"April";2006;30;19;4;"Q2";"";3
487;"1997-05-01 00:00:00";"Thursday";"May";2006;1;19;5;"Q2";"";4
488;"1997-05-02 00:00:00";"Friday";"May";2006;2;19;5;"Q2";"";5
489;"1997-05-03 00:00:00";"Saturday";"May";2006;3;19;5;"Q2";"";6
490;"1997-05-04 00:00:00";"Sunday";"May";2006;4;20;5;"Q2";"";7
491;"1997-05-05 00:00:00";"Monday";"May";2006;5;20;5;"Q2";"";1
492;"1997-05-06 00:00:00";"Tuesday";"May";2006;6;20;5;"Q2";"";2
493;"1997-05-07 00:00:00";"Wednesday";"May";2006;7;20;5;"Q2";"";3
494;"1997-05-08 00:00:00";"Thursday";"May";2006;8;20;5;"Q2";"";4
495;"1997-05-09 00:00:00";"Friday";"May";2006;9;20;5;"Q2";"";5
496;"1997-05-10 00:00:00";"Saturday";"May";2006;10;20;5;"Q2";"";6
497;"1997-05-11 00:00:00";"Sunday";"May";2006;11;21;5;"Q2";"";7
498;"1997-05-12 00:00:00";"Monday";"May";2006;12;21;5;"Q2";"";1
499;"1997-05-13 00:00:00";"Tuesday";"May";2006;13;21;5;"Q2";"";2
500;"1997-05-14 00:00:00";"Wednesday";"May";2006;14;21;5;"Q2";"";3
501;"1997-05-15 00:00:00";"Thursday";"May";2006;15;21;5;"Q2";"";4
502;"1997-05-16 00:00:00";"Friday";"May";2006;16;21;5;"Q2";"";5
503;"1997-05-17 00:00:00";"Saturday";"May";2006;17;21;5;"Q2";"";6
504;"1997-05-18 00:00:00";"Sunday";"May";2006;18;22;5;"Q2";"";7
505;"1997-05-19 00:00:00";"Monday";"May";2006;19;22;5;"Q2";"";1
506;"1997-05-20 00:00:00";"Tuesday";"May";2006;20;22;5;"Q2";"";2
507;"1997-05-21 00:00:00";"Wednesday";"May";2006;21;22;5;"Q2";"";3
508;"1997-05-22 00:00:00";"Thursday";"May";2006;22;22;5;"Q2";"";4
509;"1997-05-23 00:00:00";"Friday";"May";2006;23;22;5;"Q2";"";5
510;"1997-05-24 00:00:00";"Saturday";"May";2006;24;22;5;"Q2";"";6
511;"1997-05-25 00:00:00";"Sunday";"May";2006;25;23;5;"Q2";"";7
512;"1997-05-26 00:00:00";"Monday";"May";2006;26;23;5;"Q2";"";1
513;"1997-05-27 00:00:00";"Tuesday";"May";2006;27;23;5;"Q2";"";2
514;"1997-05-28 00:00:00";"Wednesday";"May";2006;28;23;5;"Q2";"";3
515;"1997-05-29 00:00:00";"Thursday";"May";2006;29;23;5;"Q2";"";4
516;"1997-05-30 00:00:00";"Friday";"May";2006;30;23;5;"Q2";"";5
517;"1997-05-31 00:00:00";"Saturday";"May";2006;31;23;5;"Q2";"";6
518;"1997-06-01 00:00:00";"Sunday";"June";2006;1;24;6;"Q2";"";7
519;"1997-06-02 00:00:00";"Monday";"June";2006;2;24;6;"Q2";"";1
520;"1997-06-03 00:00:00";"Tuesday";"June";2006;3;24;6;"Q2";"";2
521;"1997-06-04 00:00:00";"Wednesday";"June";2006;4;24;6;"Q2";"";3
522;"1997-06-05 00:00:00";"Thursday";"June";2006;5;24;6;"Q2";"";4
523;"1997-06-06 00:00:00";"Friday";"June";2006;6;24;6;"Q2";"";5
524;"1997-06-07 00:00:00";"Saturday";"June";2006;7;24;6;"Q2";"";6
525;"1997-06-08 00:00:00";"Sunday";"June";2006;8;25;6;"Q2";"";7
526;"1997-06-09 00:00:00";"Monday";"June";2006;9;25;6;"Q2";"";1
527;"1997-06-10 00:00:00";"Tuesday";"June";2006;10;25;6;"Q2";"";2
528;"1997-06-11 00:00:00";"Wednesday";"June";2006;11;25;6;"Q2";"";3
529;"1997-06-12 00:00:00";"Thursday";"June";2006;12;25;6;"Q2";"";4
530;"1997-06-13 00:00:00";"Friday";"June";2006;13;25;6;"Q2";"";5
531;"1997-06-14 00:00:00";"Saturday";"June";2006;14;25;6;"Q2";"";6
532;"1997-06-15 00:00:00";"Sunday";"June";2006;15;26;6;"Q2";"";7
533;"1997-06-16 00:00:00";"Monday";"June";2006;16;26;6;"Q2";"";1
534;"1997-06-17 00:00:00";"Tuesday";"June";2006;17;26;6;"Q2";"";2
535;"1997-06-18 00:00:00";"Wednesday";"June";2006;18;26;6;"Q2";"";3
536;"1997-06-19 00:00:00";"Thursday";"June";2006;19;26;6;"Q2";"";4
537;"1997-06-20 00:00:00";"Friday";"June";2006;20;26;6;"Q2";"";5
538;"1997-06-21 00:00:00";"Saturday";"June";2006;21;26;6;"Q2";"";6
539;"1997-06-22 00:00:00";"Sunday";"June";2006;22;27;6;"Q2";"";7
540;"1997-06-23 00:00:00";"Monday";"June";2006;23;27;6;"Q2";"";1
541;"1997-06-24 00:00:00";"Tuesday";"June";2006;24;27;6;"Q2";"";2
542;"1997-06-25 00:00:00";"Wednesday";"June";2006;25;27;6;"Q2";"";3
543;"1997-06-26 00:00:00";"Thursday";"June";2006;26;27;6;"Q2";"";4
544;"1997-06-27 00:00:00";"Friday";"June";2006;27;27;6;"Q2";"";5
545;"1997-06-28 00:00:00";"Saturday";"June";2006;28;27;6;"Q2";"";6
546;"1997-06-29 00:00:00";"Sunday";"June";2006;29;28;6;"Q2";"";7
547;"1997-06-30 00:00:00";"Monday";"June";2006;30;28;6;"Q2";"";1
548;"1997-07-01 00:00:00";"Tuesday";"July";2006;1;28;7;"Q3";"";2
549;"1997-07-02 00:00:00";"Wednesday";"July";2006;2;28;7;"Q3";"";3
550;"1997-07-03 00:00:00";"Thursday";"July";2006;3;28;7;"Q3";"";4
551;"1997-07-04 00:00:00";"Friday";"July";2006;4;28;7;"Q3";"";5
552;"1997-07-05 00:00:00";"Saturday";"July";2006;5;28;7;"Q3";"";6
553;"1997-07-06 00:00:00";"Sunday";"July";2006;6;29;7;"Q3";"";7
554;"1997-07-07 00:00:00";"Monday";"July";2006;7;29;7;"Q3";"";1
555;"1997-07-08 00:00:00";"Tuesday";"July";2006;8;29;7;"Q3";"";2
556;"1997-07-09 00:00:00";"Wednesday";"July";2006;9;29;7;"Q3";"";3
557;"1997-07-10 00:00:00";"Thursday";"July";2006;10;29;7;"Q3";"";4
558;"1997-07-11 00:00:00";"Friday";"July";2006;11;29;7;"Q3";"";5
559;"1997-07-12 00:00:00";"Saturday";"July";2006;12;29;7;"Q3";"";6
560;"1997-07-13 00:00:00";"Sunday";"July";2006;13;30;7;"Q3";"";7
561;"1997-07-14 00:00:00";"Monday";"July";2006;14;30;7;"Q3";"";1
562;"1997-07-15 00:00:00";"Tuesday";"July";2006;15;30;7;"Q3";"";2
563;"1997-07-16 00:00:00";"Wednesday";"July";2006;16;30;7;"Q3";"";3
564;"1997-07-17 00:00:00";"Thursday";"July";2006;17;30;7;"Q3";"";4
565;"1997-07-18 00:00:00";"Friday";"July";2006;18;30;7;"Q3";"";5
566;"1997-07-19 00:00:00";"Saturday";"July";2006;19;30;7;"Q3";"";6
567;"1997-07-20 00:00:00";"Sunday";"July";2006;20;31;7;"Q3";"";7
568;"1997-07-21 00:00:00";"Monday";"July";2006;21;31;7;"Q3";"";1
569;"1997-07-22 00:00:00";"Tuesday";"July";2006;22;31;7;"Q3";"";2
570;"1997-07-23 00:00:00";"Wednesday";"July";2006;23;31;7;"Q3";"";3
571;"1997-07-24 00:00:00";"Thursday";"July";2006;24;31;7;"Q3";"";4
572;"1997-07-25 00:00:00";"Friday";"July";2006;25;31;7;"Q3";"";5
573;"1997-07-26 00:00:00";"Saturday";"July";2006;26;31;7;"Q3";"";6
574;"1997-07-27 00:00:00";"Sunday";"July";2006;27;32;7;"Q3";"";7
575;"1997-07-28 00:00:00";"Monday";"July";2006;28;32;7;"Q3";"";1
576;"1997-07-29 00:00:00";"Tuesday";"July";2006;29;32;7;"Q3";"";2
577;"1997-07-30 00:00:00";"Wednesday";"July";2006;30;32;7;"Q3";"";3
578;"1997-07-31 00:00:00";"Thursday";"July";2006;31;32;7;"Q3";"";4
579;"1997-08-01 00:00:00";"Friday";"August";2006;1;32;8;"Q3";"";5
580;"1997-08-02 00:00:00";"Saturday";"August";2006;2;32;8;"Q3";"";6
581;"1997-08-03 00:00:00";"Sunday";"August";2006;3;33;8;"Q3";"";7
582;"1997-08-04 00:00:00";"Monday";"August";2006;4;33;8;"Q3";"";1
583;"1997-08-05 00:00:00";"Tuesday";"August";2006;5;33;8;"Q3";"";2
584;"1997-08-06 00:00:00";"Wednesday";"August";2006;6;33;8;"Q3";"";3
585;"1997-08-07 00:00:00";"Thursday";"August";2006;7;33;8;"Q3";"";4
586;"1997-08-08 00:00:00";"Friday";"August";2006;8;33;8;"Q3";"";5
587;"1997-08-09 00:00:00";"Saturday";"August";2006;9;33;8;"Q3";"";6
588;"1997-08-10 00:00:00";"Sunday";"August";2006;10;34;8;"Q3";"";7
589;"1997-08-11 00:00:00";"Monday";"August";2006;11;34;8;"Q3";"";1
590;"1997-08-12 00:00:00";"Tuesday";"August";2006;12;34;8;"Q3";"";2
591;"1997-08-13 00:00:00";"Wednesday";"August";2006;13;34;8;"Q3";"";3
592;"1997-08-14 00:00:00";"Thursday";"August";2006;14;34;8;"Q3";"";4
593;"1997-08-15 00:00:00";"Friday";"August";2006;15;34;8;"Q3";"";5
594;"1997-08-16 00:00:00";"Saturday";"August";2006;16;34;8;"Q3";"";6
595;"1997-08-17 00:00:00";"Sunday";"August";2006;17;35;8;"Q3";"";7
596;"1997-08-18 00:00:00";"Monday";"August";2006;18;35;8;"Q3";"";1
597;"1997-08-19 00:00:00";"Tuesday";"August";2006;19;35;8;"Q3";"";2
598;"1997-08-20 00:00:00";"Wednesday";"August";2006;20;35;8;"Q3";"";3
599;"1997-08-21 00:00:00";"Thursday";"August";2006;21;35;8;"Q3";"";4
600;"1997-08-22 00:00:00";"Friday";"August";2006;22;35;8;"Q3";"";5
601;"1997-08-23 00:00:00";"Saturday";"August";2006;23;35;8;"Q3";"";6
602;"1997-08-24 00:00:00";"Sunday";"August";2006;24;36;8;"Q3";"";7
603;"1997-08-25 00:00:00";"Monday";"August";2006;25;36;8;"Q3";"";1
604;"1997-08-26 00:00:00";"Tuesday";"August";2006;26;36;8;"Q3";"";2
605;"1997-08-27 00:00:00";"Wednesday";"August";2006;27;36;8;"Q3";"";3
606;"1997-08-28 00:00:00";"Thursday";"August";2006;28;36;8;"Q3";"";4
607;"1997-08-29 00:00:00";"Friday";"August";2006;29;36;8;"Q3";"";5
608;"1997-08-30 00:00:00";"Saturday";"August";2006;30;36;8;"Q3";"";6
609;"1997-08-31 00:00:00";"Sunday";"August";2006;31;37;8;"Q3";"";7
610;"1997-09-01 00:00:00";"Monday";"September";2006;1;37;9;"Q3";"";1
611;"1997-09-02 00:00:00";"Tuesday";"September";2006;2;37;9;"Q3";"";2
612;"1997-09-03 00:00:00";"Wednesday";"September";2006;3;37;9;"Q3";"";3
613;"1997-09-04 00:00:00";"Thursday";"September";2006;4;37;9;"Q3";"";4
614;"1997-09-05 00:00:00";"Friday";"September";2006;5;37;9;"Q3";"";5
615;"1997-09-06 00:00:00";"Saturday";"September";2006;6;37;9;"Q3";"";6
616;"1997-09-07 00:00:00";"Sunday";"September";2006;7;38;9;"Q3";"";7
617;"1997-09-08 00:00:00";"Monday";"September";2006;8;38;9;"Q3";"";1
618;"1997-09-09 00:00:00";"Tuesday";"September";2006;9;38;9;"Q3";"";2
619;"1997-09-10 00:00:00";"Wednesday";"September";2006;10;38;9;"Q3";"";3
620;"1997-09-11 00:00:00";"Thursday";"September";2006;11;38;9;"Q3";"";4
621;"1997-09-12 00:00:00";"Friday";"September";2006;12;38;9;"Q3";"";5
622;"1997-09-13 00:00:00";"Saturday";"September";2006;13;38;9;"Q3";"";6
623;"1997-09-14 00:00:00";"Sunday";"September";2006;14;39;9;"Q3";"";7
624;"1997-09-15 00:00:00";"Monday";"September";2006;15;39;9;"Q3";"";1
625;"1997-09-16 00:00:00";"Tuesday";"September";2006;16;39;9;"Q3";"";2
626;"1997-09-17 00:00:00";"Wednesday";"September";2006;17;39;9;"Q3";"";3
627;"1997-09-18 00:00:00";"Thursday";"September";2006;18;39;9;"Q3";"";4
628;"1997-09-19 00:00:00";"Friday";"September";2006;19;39;9;"Q3";"";5
629;"1997-09-20 00:00:00";"Saturday";"September";2006;20;39;9;"Q3";"";6
630;"1997-09-21 00:00:00";"Sunday";"September";2006;21;40;9;"Q3";"";7
631;"1997-09-22 00:00:00";"Monday";"September";2006;22;40;9;"Q3";"";1
632;"1997-09-23 00:00:00";"Tuesday";"September";2006;23;40;9;"Q3";"";2
633;"1997-09-24 00:00:00";"Wednesday";"September";2006;24;40;9;"Q3";"";3
634;"1997-09-25 00:00:00";"Thursday";"September";2006;25;40;9;"Q3";"";4
635;"1997-09-26 00:00:00";"Friday";"September";2006;26;40;9;"Q3";"";5
636;"1997-09-27 00:00:00";"Saturday";"September";2006;27;40;9;"Q3";"";6
637;"1997-09-28 00:00:00";"Sunday";"September";2006;28;41;9;"Q3";"";7
638;"1997-09-29 00:00:00";"Monday";"September";2006;29;41;9;"Q3";"";1
639;"1997-09-30 00:00:00";"Tuesday";"September";2006;30;41;9;"Q3";"";2
640;"1997-10-01 00:00:00";"Wednesday";"October";2006;1;41;10;"Q4";"";3
641;"1997-10-02 00:00:00";"Thursday";"October";2006;2;41;10;"Q4";"";4
642;"1997-10-03 00:00:00";"Friday";"October";2006;3;41;10;"Q4";"";5
643;"1997-10-04 00:00:00";"Saturday";"October";2006;4;41;10;"Q4";"";6
644;"1997-10-05 00:00:00";"Sunday";"October";2006;5;42;10;"Q4";"";7
645;"1997-10-06 00:00:00";"Monday";"October";2006;6;42;10;"Q4";"";1
646;"1997-10-07 00:00:00";"Tuesday";"October";2006;7;42;10;"Q4";"";2
647;"1997-10-08 00:00:00";"Wednesday";"October";2006;8;42;10;"Q4";"";3
648;"1997-10-09 00:00:00";"Thursday";"October";2006;9;42;10;"Q4";"";4
649;"1997-10-10 00:00:00";"Friday";"October";2006;10;42;10;"Q4";"";5
650;"1997-10-11 00:00:00";"Saturday";"October";2006;11;42;10;"Q4";"";6
651;"1997-10-12 00:00:00";"Sunday";"October";2006;12;43;10;"Q4";"";7
652;"1997-10-13 00:00:00";"Monday";"October";2006;13;43;10;"Q4";"";1
653;"1997-10-14 00:00:00";"Tuesday";"October";2006;14;43;10;"Q4";"";2
654;"1997-10-15 00:00:00";"Wednesday";"October";2006;15;43;10;"Q4";"";3
655;"1997-10-16 00:00:00";"Thursday";"October";2006;16;43;10;"Q4";"";4
656;"1997-10-17 00:00:00";"Friday";"October";2006;17;43;10;"Q4";"";5
657;"1997-10-18 00:00:00";"Saturday";"October";2006;18;43;10;"Q4";"";6
658;"1997-10-19 00:00:00";"Sunday";"October";2006;19;44;10;"Q4";"";7
659;"1997-10-20 00:00:00";"Monday";"October";2006;20;44;10;"Q4";"";1
660;"1997-10-21 00:00:00";"Tuesday";"October";2006;21;44;10;"Q4";"";2
661;"1997-10-22 00:00:00";"Wednesday";"October";2006;22;44;10;"Q4";"";3
662;"1997-10-23 00:00:00";"Thursday";"October";2006;23;44;10;"Q4";"";4
663;"1997-10-24 00:00:00";"Friday";"October";2006;24;44;10;"Q4";"";5
664;"1997-10-25 00:00:00";"Saturday";"October";2006;25;44;10;"Q4";"";6
665;"1997-10-26 00:00:00";"Sunday";"October";2006;26;45;10;"Q4";"";7
666;"1997-10-27 00:00:00";"Monday";"October";2006;27;45;10;"Q4";"";1
667;"1997-10-28 00:00:00";"Tuesday";"October";2006;28;45;10;"Q4";"";2
668;"1997-10-29 00:00:00";"Wednesday";"October";2006;29;45;10;"Q4";"";3
669;"1997-10-30 00:00:00";"Thursday";"October";2006;30;45;10;"Q4";"";4
670;"1997-10-31 00:00:00";"Friday";"October";2006;31;45;10;"Q4";"";5
671;"1997-11-01 00:00:00";"Saturday";"November";2006;1;45;11;"Q4";"";6
672;"1997-11-02 00:00:00";"Sunday";"November";2006;2;46;11;"Q4";"";7
673;"1997-11-03 00:00:00";"Monday";"November";2006;3;46;11;"Q4";"";1
674;"1997-11-04 00:00:00";"Tuesday";"November";2006;4;46;11;"Q4";"";2
675;"1997-11-05 00:00:00";"Wednesday";"November";2006;5;46;11;"Q4";"";3
676;"1997-11-06 00:00:00";"Thursday";"November";2006;6;46;11;"Q4";"";4
677;"1997-11-07 00:00:00";"Friday";"November";2006;7;46;11;"Q4";"";5
678;"1997-11-08 00:00:00";"Saturday";"November";2006;8;46;11;"Q4";"";6
679;"1997-11-09 00:00:00";"Sunday";"November";2006;9;47;11;"Q4";"";7
680;"1997-11-10 00:00:00";"Monday";"November";2006;10;47;11;"Q4";"";1
681;"1997-11-11 00:00:00";"Tuesday";"November";2006;11;47;11;"Q4";"";2
682;"1997-11-12 00:00:00";"Wednesday";"November";2006;12;47;11;"Q4";"";3
683;"1997-11-13 00:00:00";"Thursday";"November";2006;13;47;11;"Q4";"";4
684;"1997-11-14 00:00:00";"Friday";"November";2006;14;47;11;"Q4";"";5
685;"1997-11-15 00:00:00";"Saturday";"November";2006;15;47;11;"Q4";"";6
686;"1997-11-16 00:00:00";"Sunday";"November";2006;16;48;11;"Q4";"";7
687;"1997-11-17 00:00:00";"Monday";"November";2006;17;48;11;"Q4";"";1
688;"1997-11-18 00:00:00";"Tuesday";"November";2006;18;48;11;"Q4";"";2
689;"1997-11-19 00:00:00";"Wednesday";"November";2006;19;48;11;"Q4";"";3
690;"1997-11-20 00:00:00";"Thursday";"November";2006;20;48;11;"Q4";"";4
691;"1997-11-21 00:00:00";"Friday";"November";2006;21;48;11;"Q4";"";5
692;"1997-11-22 00:00:00";"Saturday";"November";2006;22;48;11;"Q4";"";6
693;"1997-11-23 00:00:00";"Sunday";"November";2006;23;49;11;"Q4";"";7
694;"1997-11-24 00:00:00";"Monday";"November";2006;24;49;11;"Q4";"";1
695;"1997-11-25 00:00:00";"Tuesday";"November";2006;25;49;11;"Q4";"";2
696;"1997-11-26 00:00:00";"Wednesday";"November";2006;26;49;11;"Q4";"";3
697;"1997-11-27 00:00:00";"Thursday";"November";2006;27;49;11;"Q4";"";4
698;"1997-11-28 00:00:00";"Friday";"November";2006;28;49;11;"Q4";"";5
699;"1997-11-29 00:00:00";"Saturday";"November";2006;29;49;11;"Q4";"";6
700;"1997-11-30 00:00:00";"Sunday";"November";2006;30;50;11;"Q4";"";7
701;"1997-12-01 00:00:00";"Monday";"December";2006;1;50;12;"Q4";"";1
702;"1997-12-02 00:00:00";"Tuesday";"December";2006;2;50;12;"Q4";"";2
703;"1997-12-03 00:00:00";"Wednesday";"December";2006;3;50;12;"Q4";"";3
704;"1997-12-04 00:00:00";"Thursday";"December";2006;4;50;12;"Q4";"";4
705;"1997-12-05 00:00:00";"Friday";"December";2006;5;50;12;"Q4";"";5
706;"1997-12-06 00:00:00";"Saturday";"December";2006;6;50;12;"Q4";"";6
707;"1997-12-07 00:00:00";"Sunday";"December";2006;7;51;12;"Q4";"";7
708;"1997-12-08 00:00:00";"Monday";"December";2006;8;51;12;"Q4";"";1
709;"1997-12-09 00:00:00";"Tuesday";"December";2006;9;51;12;"Q4";"";2
710;"1997-12-10 00:00:00";"Wednesday";"December";2006;10;51;12;"Q4";"";3
711;"1997-12-11 00:00:00";"Thursday";"December";2006;11;51;12;"Q4";"";4
712;"1997-12-12 00:00:00";"Friday";"December";2006;12;51;12;"Q4";"";5
713;"1997-12-13 00:00:00";"Saturday";"December";2006;13;51;12;"Q4";"";6
714;"1997-12-14 00:00:00";"Sunday";"December";2006;14;52;12;"Q4";"";7
715;"1997-12-15 00:00:00";"Monday";"December";2006;15;1;12;"Q4";"";1
716;"1997-12-16 00:00:00";"Tuesday";"December";2006;16;1;12;"Q4";"";2
717;"1997-12-17 00:00:00";"Wednesday";"December";2006;17;1;12;"Q4";"";3
718;"1997-12-18 00:00:00";"Thursday";"December";2006;18;1;12;"Q4";"";4
719;"1997-12-19 00:00:00";"Friday";"December";2006;19;1;12;"Q4";"";5
720;"1997-12-20 00:00:00";"Saturday";"December";2006;20;1;12;"Q4";"";6
721;"1997-12-21 00:00:00";"Sunday";"December";2006;21;2;12;"Q4";"";7
722;"1997-12-22 00:00:00";"Monday";"December";2006;22;2;12;"Q4";"";1
723;"1997-12-23 00:00:00";"Tuesday";"December";2006;23;2;12;"Q4";"";2
724;"1997-12-24 00:00:00";"Wednesday";"December";2006;24;2;12;"Q4";"";3
725;"1997-12-25 00:00:00";"Thursday";"December";2006;25;2;12;"Q4";"";4
726;"1997-12-26 00:00:00";"Friday";"December";2006;26;2;12;"Q4";"";5
727;"1997-12-27 00:00:00";"Saturday";"December";2006;27;2;12;"Q4";"";6
728;"1997-12-28 00:00:00";"Sunday";"December";2006;28;3;12;"Q4";"";7
729;"1997-12-29 00:00:00";"Monday";"December";2006;29;3;12;"Q4";"";1
730;"1997-12-30 00:00:00";"Tuesday";"December";2006;30;3;12;"Q4";"";2
731;"1997-12-31 00:00:00";"Wednesday";"December";2006;31;3;12;"Q4";"";3
732;"1998-01-01 00:00:00";"Thursday";"January";2007;1;3;1;"Q1";"";4
733;"1998-01-02 00:00:00";"Friday";"January";2007;2;3;1;"Q1";"";5
734;"1998-01-03 00:00:00";"Saturday";"January";2007;3;3;1;"Q1";"";6
735;"1998-01-04 00:00:00";"Sunday";"January";2007;4;4;1;"Q1";"";7
736;"1998-01-05 00:00:00";"Monday";"January";2007;5;4;1;"Q1";"";1
737;"1998-01-06 00:00:00";"Tuesday";"January";2007;6;4;1;"Q1";"";2
738;"1998-01-07 00:00:00";"Wednesday";"January";2007;7;4;1;"Q1";"";3
739;"1998-01-08 00:00:00";"Thursday";"January";2007;8;4;1;"Q1";"";4
740;"1998-01-09 00:00:00";"Friday";"January";2007;9;4;1;"Q1";"";5
741;"1998-01-10 00:00:00";"Saturday";"January";2007;10;4;1;"Q1";"";6
742;"1998-01-11 00:00:00";"Sunday";"January";2007;11;5;1;"Q1";"";7
743;"1998-01-12 00:00:00";"Monday";"January";2007;12;5;1;"Q1";"";1
744;"1998-01-13 00:00:00";"Tuesday";"January";2007;13;5;1;"Q1";"";2
745;"1998-01-14 00:00:00";"Wednesday";"January";2007;14;5;1;"Q1";"";3
746;"1998-01-15 00:00:00";"Thursday";"January";2007;15;5;1;"Q1";"";4
747;"1998-01-16 00:00:00";"Friday";"January";2007;16;5;1;"Q1";"";5
748;"1998-01-17 00:00:00";"Saturday";"January";2007;17;5;1;"Q1";"";6
749;"1998-01-18 00:00:00";"Sunday";"January";2007;18;6;1;"Q1";"";7
750;"1998-01-19 00:00:00";"Monday";"January";2007;19;6;1;"Q1";"";1
751;"1998-01-20 00:00:00";"Tuesday";"January";2007;20;6;1;"Q1";"";2
752;"1998-01-21 00:00:00";"Wednesday";"January";2007;21;6;1;"Q1";"";3
753;"1998-01-22 00:00:00";"Thursday";"January";2007;22;6;1;"Q1";"";4
754;"1998-01-23 00:00:00";"Friday";"January";2007;23;6;1;"Q1";"";5
755;"1998-01-24 00:00:00";"Saturday";"January";2007;24;6;1;"Q1";"";6
756;"1998-01-25 00:00:00";"Sunday";"January";2007;25;7;1;"Q1";"";7
757;"1998-01-26 00:00:00";"Monday";"January";2007;26;7;1;"Q1";"";1
758;"1998-01-27 00:00:00";"Tuesday";"January";2007;27;7;1;"Q1";"";2
759;"1998-01-28 00:00:00";"Wednesday";"January";2007;28;7;1;"Q1";"";3
760;"1998-01-29 00:00:00";"Thursday";"January";2007;29;7;1;"Q1";"";4
761;"1998-01-30 00:00:00";"Friday";"January";2007;30;7;1;"Q1";"";5
762;"1998-01-31 00:00:00";"Saturday";"January";2007;31;7;1;"Q1";"";6
763;"1998-02-01 00:00:00";"Sunday";"February";2007;1;8;2;"Q1";"";7
764;"1998-02-02 00:00:00";"Monday";"February";2007;2;8;2;"Q1";"";1
765;"1998-02-03 00:00:00";"Tuesday";"February";2007;3;8;2;"Q1";"";2
766;"1998-02-04 00:00:00";"Wednesday";"February";2007;4;8;2;"Q1";"";3
767;"1998-02-05 00:00:00";"Thursday";"February";2007;5;8;2;"Q1";"";4
768;"1998-02-06 00:00:00";"Friday";"February";2007;6;8;2;"Q1";"";5
769;"1998-02-07 00:00:00";"Saturday";"February";2007;7;8;2;"Q1";"";6
770;"1998-02-08 00:00:00";"Sunday";"February";2007;8;9;2;"Q1";"";7
771;"1998-02-09 00:00:00";"Monday";"February";2007;9;9;2;"Q1";"";1
772;"1998-02-10 00:00:00";"Tuesday";"February";2007;10;9;2;"Q1";"";2
773;"1998-02-11 00:00:00";"Wednesday";"February";2007;11;9;2;"Q1";"";3
774;"1998-02-12 00:00:00";"Thursday";"February";2007;12;9;2;"Q1";"";4
775;"1998-02-13 00:00:00";"Friday";"February";2007;13;9;2;"Q1";"";5
776;"1998-02-14 00:00:00";"Saturday";"February";2007;14;9;2;"Q1";"";6
777;"1998-02-15 00:00:00";"Sunday";"February";2007;15;10;2;"Q1";"";7
778;"1998-02-16 00:00:00";"Monday";"February";2007;16;10;2;"Q1";"";1
779;"1998-02-17 00:00:00";"Tuesday";"February";2007;17;10;2;"Q1";"";2
780;"1998-02-18 00:00:00";"Wednesday";"February";2007;18;10;2;"Q1";"";3
781;"1998-02-19 00:00:00";"Thursday";"February";2007;19;10;2;"Q1";"";4
782;"1998-02-20 00:00:00";"Friday";"February";2007;20;10;2;"Q1";"";5
783;"1998-02-21 00:00:00";"Saturday";"February";2007;21;10;2;"Q1";"";6
784;"1998-02-22 00:00:00";"Sunday";"February";2007;22;11;2;"Q1";"";7
785;"1998-02-23 00:00:00";"Monday";"February";2007;23;11;2;"Q1";"";1
786;"1998-02-24 00:00:00";"Tuesday";"February";2007;24;11;2;"Q1";"";2
787;"1998-02-25 00:00:00";"Wednesday";"February";2007;25;11;2;"Q1";"";3
788;"1998-02-26 00:00:00";"Thursday";"February";2007;26;11;2;"Q1";"";4
789;"1998-02-27 00:00:00";"Friday";"February";2007;27;11;2;"Q1";"";5
790;"1998-02-28 00:00:00";"Saturday";"February";2007;28;11;2;"Q1";"";6
791;"1998-03-01 00:00:00";"Sunday";"March";2007;1;12;3;"Q1";"";7
792;"1998-03-02 00:00:00";"Monday";"March";2007;2;12;3;"Q1";"";1
793;"1998-03-03 00:00:00";"Tuesday";"March";2007;3;12;3;"Q1";"";2
794;"1998-03-04 00:00:00";"Wednesday";"March";2007;4;12;3;"Q1";"";3
795;"1998-03-05 00:00:00";"Thursday";"March";2007;5;12;3;"Q1";"";4
796;"1998-03-06 00:00:00";"Friday";"March";2007;6;12;3;"Q1";"";5
797;"1998-03-07 00:00:00";"Saturday";"March";2007;7;12;3;"Q1";"";6
798;"1998-03-08 00:00:00";"Sunday";"March";2007;8;13;3;"Q1";"";7
799;"1998-03-09 00:00:00";"Monday";"March";2007;9;13;3;"Q1";"";1
800;"1998-03-10 00:00:00";"Tuesday";"March";2007;10;13;3;"Q1";"";2
801;"1998-03-11 00:00:00";"Wednesday";"March";2007;11;13;3;"Q1";"";3
802;"1998-03-12 00:00:00";"Thursday";"March";2007;12;13;3;"Q1";"";4
803;"1998-03-13 00:00:00";"Friday";"March";2007;13;13;3;"Q1";"";5
804;"1998-03-14 00:00:00";"Saturday";"March";2007;14;13;3;"Q1";"";6
805;"1998-03-15 00:00:00";"Sunday";"March";2007;15;14;3;"Q1";"";7
806;"1998-03-16 00:00:00";"Monday";"March";2007;16;14;3;"Q1";"";1
807;"1998-03-17 00:00:00";"Tuesday";"March";2007;17;14;3;"Q1";"";2
808;"1998-03-18 00:00:00";"Wednesday";"March";2007;18;14;3;"Q1";"";3
809;"1998-03-19 00:00:00";"Thursday";"March";2007;19;14;3;"Q1";"";4
810;"1998-03-20 00:00:00";"Friday";"March";2007;20;14;3;"Q1";"";5
811;"1998-03-21 00:00:00";"Saturday";"March";2007;21;14;3;"Q1";"";6
812;"1998-03-22 00:00:00";"Sunday";"March";2007;22;15;3;"Q1";"";7
813;"1998-03-23 00:00:00";"Monday";"March";2007;23;15;3;"Q1";"";1
814;"1998-03-24 00:00:00";"Tuesday";"March";2007;24;15;3;"Q1";"";2
815;"1998-03-25 00:00:00";"Wednesday";"March";2007;25;15;3;"Q1";"";3
816;"1998-03-26 00:00:00";"Thursday";"March";2007;26;15;3;"Q1";"";4
817;"1998-03-27 00:00:00";"Friday";"March";2007;27;15;3;"Q1";"";5
818;"1998-03-28 00:00:00";"Saturday";"March";2007;28;15;3;"Q1";"";6
819;"1998-03-29 00:00:00";"Sunday";"March";2007;29;16;3;"Q1";"";7
820;"1998-03-30 00:00:00";"Monday";"March";2007;30;16;3;"Q1";"";1
821;"1998-03-31 00:00:00";"Tuesday";"March";2007;31;16;3;"Q1";"";2
822;"1998-04-01 00:00:00";"Wednesday";"April";2007;1;16;4;"Q2";"";3
823;"1998-04-02 00:00:00";"Thursday";"April";2007;2;16;4;"Q2";"";4
824;"1998-04-03 00:00:00";"Friday";"April";2007;3;16;4;"Q2";"";5
825;"1998-04-04 00:00:00";"Saturday";"April";2007;4;16;4;"Q2";"";6
826;"1998-04-05 00:00:00";"Sunday";"April";2007;5;17;4;"Q2";"";7
827;"1998-04-06 00:00:00";"Monday";"April";2007;6;17;4;"Q2";"";1
828;"1998-04-07 00:00:00";"Tuesday";"April";2007;7;17;4;"Q2";"";2
829;"1998-04-08 00:00:00";"Wednesday";"April";2007;8;17;4;"Q2";"";3
830;"1998-04-09 00:00:00";"Thursday";"April";2007;9;17;4;"Q2";"";4
831;"1998-04-10 00:00:00";"Friday";"April";2007;10;17;4;"Q2";"";5
832;"1998-04-11 00:00:00";"Saturday";"April";2007;11;17;4;"Q2";"";6
833;"1998-04-12 00:00:00";"Sunday";"April";2007;12;18;4;"Q2";"";7
834;"1998-04-13 00:00:00";"Monday";"April";2007;13;18;4;"Q2";"";1
835;"1998-04-14 00:00:00";"Tuesday";"April";2007;14;18;4;"Q2";"";2
836;"1998-04-15 00:00:00";"Wednesday";"April";2007;15;18;4;"Q2";"";3
837;"1998-04-16 00:00:00";"Thursday";"April";2007;16;18;4;"Q2";"";4
838;"1998-04-17 00:00:00";"Friday";"April";2007;17;18;4;"Q2";"";5
839;"1998-04-18 00:00:00";"Saturday";"April";2007;18;18;4;"Q2";"";6
840;"1998-04-19 00:00:00";"Sunday";"April";2007;19;19;4;"Q2";"";7
841;"1998-04-20 00:00:00";"Monday";"April";2007;20;19;4;"Q2";"";1
842;"1998-04-21 00:00:00";"Tuesday";"April";2007;21;19;4;"Q2";"";2
843;"1998-04-22 00:00:00";"Wednesday";"April";2007;22;19;4;"Q2";"";3
844;"1998-04-23 00:00:00";"Thursday";"April";2007;23;19;4;"Q2";"";4
845;"1998-04-24 00:00:00";"Friday";"April";2007;24;19;4;"Q2";"";5
846;"1998-04-25 00:00:00";"Saturday";"April";2007;25;19;4;"Q2";"";6
847;"1998-04-26 00:00:00";"Sunday";"April";2007;26;20;4;"Q2";"";7
848;"1998-04-27 00:00:00";"Monday";"April";2007;27;20;4;"Q2";"";1
849;"1998-04-28 00:00:00";"Tuesday";"April";2007;28;20;4;"Q2";"";2
850;"1998-04-29 00:00:00";"Wednesday";"April";2007;29;20;4;"Q2";"";3
851;"1998-04-30 00:00:00";"Thursday";"April";2007;30;20;4;"Q2";"";4
852;"1998-05-01 00:00:00";"Friday";"May";2007;1;20;5;"Q2";"";5
853;"1998-05-02 00:00:00";"Saturday";"May";2007;2;20;5;"Q2";"";6
854;"1998-05-03 00:00:00";"Sunday";"May";2007;3;21;5;"Q2";"";7
855;"1998-05-04 00:00:00";"Monday";"May";2007;4;21;5;"Q2";"";1
856;"1998-05-05 00:00:00";"Tuesday";"May";2007;5;21;5;"Q2";"";2
857;"1998-05-06 00:00:00";"Wednesday";"May";2007;6;21;5;"Q2";"";3
858;"1998-05-07 00:00:00";"Thursday";"May";2007;7;21;5;"Q2";"";4
859;"1998-05-08 00:00:00";"Friday";"May";2007;8;21;5;"Q2";"";5
860;"1998-05-09 00:00:00";"Saturday";"May";2007;9;21;5;"Q2";"";6
861;"1998-05-10 00:00:00";"Sunday";"May";2007;10;22;5;"Q2";"";7
862;"1998-05-11 00:00:00";"Monday";"May";2007;11;22;5;"Q2";"";1
863;"1998-05-12 00:00:00";"Tuesday";"May";2007;12;22;5;"Q2";"";2
864;"1998-05-13 00:00:00";"Wednesday";"May";2007;13;22;5;"Q2";"";3
865;"1998-05-14 00:00:00";"Thursday";"May";2007;14;22;5;"Q2";"";4
866;"1998-05-15 00:00:00";"Friday";"May";2007;15;22;5;"Q2";"";5
867;"1998-05-16 00:00:00";"Saturday";"May";2007;16;22;5;"Q2";"";6
868;"1998-05-17 00:00:00";"Sunday";"May";2007;17;23;5;"Q2";"";7
869;"1998-05-18 00:00:00";"Monday";"May";2007;18;23;5;"Q2";"";1
870;"1998-05-19 00:00:00";"Tuesday";"May";2007;19;23;5;"Q2";"";2
871;"1998-05-20 00:00:00";"Wednesday";"May";2007;20;23;5;"Q2";"";3
872;"1998-05-21 00:00:00";"Thursday";"May";2007;21;23;5;"Q2";"";4
873;"1998-05-22 00:00:00";"Friday";"May";2007;22;23;5;"Q2";"";5
874;"1998-05-23 00:00:00";"Saturday";"May";2007;23;23;5;"Q2";"";6
875;"1998-05-24 00:00:00";"Sunday";"May";2007;24;24;5;"Q2";"";7
876;"1998-05-25 00:00:00";"Monday";"May";2007;25;24;5;"Q2";"";1
877;"1998-05-26 00:00:00";"Tuesday";"May";2007;26;24;5;"Q2";"";2
878;"1998-05-27 00:00:00";"Wednesday";"May";2007;27;24;5;"Q2";"";3
879;"1998-05-28 00:00:00";"Thursday";"May";2007;28;24;5;"Q2";"";4
880;"1998-05-29 00:00:00";"Friday";"May";2007;29;24;5;"Q2";"";5
881;"1998-05-30 00:00:00";"Saturday";"May";2007;30;24;5;"Q2";"";6
882;"1998-05-31 00:00:00";"Sunday";"May";2007;31;25;5;"Q2";"";7
883;"1998-06-01 00:00:00";"Monday";"June";2007;1;25;6;"Q2";"";1
884;"1998-06-02 00:00:00";"Tuesday";"June";2007;2;25;6;"Q2";"";2
885;"1998-06-03 00:00:00";"Wednesday";"June";2007;3;25;6;"Q2";"";3
886;"1998-06-04 00:00:00";"Thursday";"June";2007;4;25;6;"Q2";"";4
887;"1998-06-05 00:00:00";"Friday";"June";2007;5;25;6;"Q2";"";5
888;"1998-06-06 00:00:00";"Saturday";"June";2007;6;25;6;"Q2";"";6
889;"1998-06-07 00:00:00";"Sunday";"June";2007;7;26;6;"Q2";"";7
890;"1998-06-08 00:00:00";"Monday";"June";2007;8;26;6;"Q2";"";1
891;"1998-06-09 00:00:00";"Tuesday";"June";2007;9;26;6;"Q2";"";2
892;"1998-06-10 00:00:00";"Wednesday";"June";2007;10;26;6;"Q2";"";3
893;"1998-06-11 00:00:00";"Thursday";"June";2007;11;26;6;"Q2";"";4
894;"1998-06-12 00:00:00";"Friday";"June";2007;12;26;6;"Q2";"";5
895;"1998-06-13 00:00:00";"Saturday";"June";2007;13;26;6;"Q2";"";6
896;"1998-06-14 00:00:00";"Sunday";"June";2007;14;27;6;"Q2";"";7
897;"1998-06-15 00:00:00";"Monday";"June";2007;15;27;6;"Q2";"";1
898;"1998-06-16 00:00:00";"Tuesday";"June";2007;16;27;6;"Q2";"";2
899;"1998-06-17 00:00:00";"Wednesday";"June";2007;17;27;6;"Q2";"";3
900;"1998-06-18 00:00:00";"Thursday";"June";2007;18;27;6;"Q2";"";4
901;"1998-06-19 00:00:00";"Friday";"June";2007;19;27;6;"Q2";"";5
902;"1998-06-20 00:00:00";"Saturday";"June";2007;20;27;6;"Q2";"";6
903;"1998-06-21 00:00:00";"Sunday";"June";2007;21;28;6;"Q2";"";7
904;"1998-06-22 00:00:00";"Monday";"June";2007;22;28;6;"Q2";"";1
905;"1998-06-23 00:00:00";"Tuesday";"June";2007;23;28;6;"Q2";"";2
906;"1998-06-24 00:00:00";"Wednesday";"June";2007;24;28;6;"Q2";"";3
907;"1998-06-25 00:00:00";"Thursday";"June";2007;25;28;6;"Q2";"";4
908;"1998-06-26 00:00:00";"Friday";"June";2007;26;28;6;"Q2";"";5
909;"1998-06-27 00:00:00";"Saturday";"June";2007;27;28;6;"Q2";"";6
910;"1998-06-28 00:00:00";"Sunday";"June";2007;28;29;6;"Q2";"";7
911;"1998-06-29 00:00:00";"Monday";"June";2007;29;29;6;"Q2";"";1
912;"1998-06-30 00:00:00";"Tuesday";"June";2007;30;29;6;"Q2";"";2
913;"1998-07-01 00:00:00";"Wednesday";"July";2007;1;29;7;"Q3";"";3
914;"1998-07-02 00:00:00";"Thursday";"July";2007;2;29;7;"Q3";"";4
915;"1998-07-03 00:00:00";"Friday";"July";2007;3;29;7;"Q3";"";5
916;"1998-07-04 00:00:00";"Saturday";"July";2007;4;29;7;"Q3";"";6
917;"1998-07-05 00:00:00";"Sunday";"July";2007;5;30;7;"Q3";"";7
918;"1998-07-06 00:00:00";"Monday";"July";2007;6;30;7;"Q3";"";1
919;"1998-07-07 00:00:00";"Tuesday";"July";2007;7;30;7;"Q3";"";2
920;"1998-07-08 00:00:00";"Wednesday";"July";2007;8;30;7;"Q3";"";3
921;"1998-07-09 00:00:00";"Thursday";"July";2007;9;30;7;"Q3";"";4
922;"1998-07-10 00:00:00";"Friday";"July";2007;10;30;7;"Q3";"";5
923;"1998-07-11 00:00:00";"Saturday";"July";2007;11;30;7;"Q3";"";6
924;"1998-07-12 00:00:00";"Sunday";"July";2007;12;31;7;"Q3";"";7
925;"1998-07-13 00:00:00";"Monday";"July";2007;13;31;7;"Q3";"";1
926;"1998-07-14 00:00:00";"Tuesday";"July";2007;14;31;7;"Q3";"";2
927;"1998-07-15 00:00:00";"Wednesday";"July";2007;15;31;7;"Q3";"";3
928;"1998-07-16 00:00:00";"Thursday";"July";2007;16;31;7;"Q3";"";4
929;"1998-07-17 00:00:00";"Friday";"July";2007;17;31;7;"Q3";"";5
930;"1998-07-18 00:00:00";"Saturday";"July";2007;18;31;7;"Q3";"";6
931;"1998-07-19 00:00:00";"Sunday";"July";2007;19;32;7;"Q3";"";7
932;"1998-07-20 00:00:00";"Monday";"July";2007;20;32;7;"Q3";"";1
933;"1998-07-21 00:00:00";"Tuesday";"July";2007;21;32;7;"Q3";"";2
934;"1998-07-22 00:00:00";"Wednesday";"July";2007;22;32;7;"Q3";"";3
935;"1998-07-23 00:00:00";"Thursday";"July";2007;23;32;7;"Q3";"";4
936;"1998-07-24 00:00:00";"Friday";"July";2007;24;32;7;"Q3";"";5
937;"1998-07-25 00:00:00";"Saturday";"July";2007;25;32;7;"Q3";"";6
938;"1998-07-26 00:00:00";"Sunday";"July";2007;26;33;7;"Q3";"";7
939;"1998-07-27 00:00:00";"Monday";"July";2007;27;33;7;"Q3";"";1
940;"1998-07-28 00:00:00";"Tuesday";"July";2007;28;33;7;"Q3";"";2
941;"1998-07-29 00:00:00";"Wednesday";"July";2007;29;33;7;"Q3";"";3
942;"1998-07-30 00:00:00";"Thursday";"July";2007;30;33;7;"Q3";"";4
943;"1998-07-31 00:00:00";"Friday";"July";2007;31;33;7;"Q3";"";5
944;"1998-08-01 00:00:00";"Saturday";"August";2007;1;33;8;"Q3";"";6
945;"1998-08-02 00:00:00";"Sunday";"August";2007;2;34;8;"Q3";"";7
946;"1998-08-03 00:00:00";"Monday";"August";2007;3;34;8;"Q3";"";1
947;"1998-08-04 00:00:00";"Tuesday";"August";2007;4;34;8;"Q3";"";2
948;"1998-08-05 00:00:00";"Wednesday";"August";2007;5;34;8;"Q3";"";3
949;"1998-08-06 00:00:00";"Thursday";"August";2007;6;34;8;"Q3";"";4
950;"1998-08-07 00:00:00";"Friday";"August";2007;7;34;8;"Q3";"";5
951;"1998-08-08 00:00:00";"Saturday";"August";2007;8;34;8;"Q3";"";6
952;"1998-08-09 00:00:00";"Sunday";"August";2007;9;35;8;"Q3";"";7
953;"1998-08-10 00:00:00";"Monday";"August";2007;10;35;8;"Q3";"";1
954;"1998-08-11 00:00:00";"Tuesday";"August";2007;11;35;8;"Q3";"";2
955;"1998-08-12 00:00:00";"Wednesday";"August";2007;12;35;8;"Q3";"";3
956;"1998-08-13 00:00:00";"Thursday";"August";2007;13;35;8;"Q3";"";4
957;"1998-08-14 00:00:00";"Friday";"August";2007;14;35;8;"Q3";"";5
958;"1998-08-15 00:00:00";"Saturday";"August";2007;15;35;8;"Q3";"";6
959;"1998-08-16 00:00:00";"Sunday";"August";2007;16;36;8;"Q3";"";7
960;"1998-08-17 00:00:00";"Monday";"August";2007;17;36;8;"Q3";"";1
961;"1998-08-18 00:00:00";"Tuesday";"August";2007;18;36;8;"Q3";"";2
962;"1998-08-19 00:00:00";"Wednesday";"August";2007;19;36;8;"Q3";"";3
963;"1998-08-20 00:00:00";"Thursday";"August";2007;20;36;8;"Q3";"";4
964;"1998-08-21 00:00:00";"Friday";"August";2007;21;36;8;"Q3";"";5
965;"1998-08-22 00:00:00";"Saturday";"August";2007;22;36;8;"Q3";"";6
966;"1998-08-23 00:00:00";"Sunday";"August";2007;23;37;8;"Q3";"";7
967;"1998-08-24 00:00:00";"Monday";"August";2007;24;37;8;"Q3";"";1
968;"1998-08-25 00:00:00";"Tuesday";"August";2007;25;37;8;"Q3";"";2
969;"1998-08-26 00:00:00";"Wednesday";"August";2007;26;37;8;"Q3";"";3
970;"1998-08-27 00:00:00";"Thursday";"August";2007;27;37;8;"Q3";"";4
971;"1998-08-28 00:00:00";"Friday";"August";2007;28;37;8;"Q3";"";5
972;"1998-08-29 00:00:00";"Saturday";"August";2007;29;37;8;"Q3";"";6
973;"1998-08-30 00:00:00";"Sunday";"August";2007;30;38;8;"Q3";"";7
974;"1998-08-31 00:00:00";"Monday";"August";2007;31;38;8;"Q3";"";1
975;"1998-09-01 00:00:00";"Tuesday";"September";2007;1;38;9;"Q3";"";2
976;"1998-09-02 00:00:00";"Wednesday";"September";2007;2;38;9;"Q3";"";3
977;"1998-09-03 00:00:00";"Thursday";"September";2007;3;38;9;"Q3";"";4
978;"1998-09-04 00:00:00";"Friday";"September";2007;4;38;9;"Q3";"";5
979;"1998-09-05 00:00:00";"Saturday";"September";2007;5;38;9;"Q3";"";6
980;"1998-09-06 00:00:00";"Sunday";"September";2007;6;39;9;"Q3";"";7
981;"1998-09-07 00:00:00";"Monday";"September";2007;7;39;9;"Q3";"";1
982;"1998-09-08 00:00:00";"Tuesday";"September";2007;8;39;9;"Q3";"";2
983;"1998-09-09 00:00:00";"Wednesday";"September";2007;9;39;9;"Q3";"";3
984;"1998-09-10 00:00:00";"Thursday";"September";2007;10;39;9;"Q3";"";4
985;"1998-09-11 00:00:00";"Friday";"September";2007;11;39;9;"Q3";"";5
986;"1998-09-12 00:00:00";"Saturday";"September";2007;12;39;9;"Q3";"";6
987;"1998-09-13 00:00:00";"Sunday";"September";2007;13;40;9;"Q3";"";7
988;"1998-09-14 00:00:00";"Monday";"September";2007;14;40;9;"Q3";"";1
989;"1998-09-15 00:00:00";"Tuesday";"September";2007;15;40;9;"Q3";"";2
990;"1998-09-16 00:00:00";"Wednesday";"September";2007;16;40;9;"Q3";"";3
991;"1998-09-17 00:00:00";"Thursday";"September";2007;17;40;9;"Q3";"";4
992;"1998-09-18 00:00:00";"Friday";"September";2007;18;40;9;"Q3";"";5
993;"1998-09-19 00:00:00";"Saturday";"September";2007;19;40;9;"Q3";"";6
994;"1998-09-20 00:00:00";"Sunday";"September";2007;20;41;9;"Q3";"";7
995;"1998-09-21 00:00:00";"Monday";"September";2007;21;41;9;"Q3";"";1
996;"1998-09-22 00:00:00";"Tuesday";"September";2007;22;41;9;"Q3";"";2
997;"1998-09-23 00:00:00";"Wednesday";"September";2007;23;41;9;"Q3";"";3
998;"1998-09-24 00:00:00";"Thursday";"September";2007;24;41;9;"Q3";"";4
999;"1998-09-25 00:00:00";"Friday";"September";2007;25;41;9;"Q3";"";5
1000;"1998-09-26 00:00:00";"Saturday";"September";2007;26;41;9;"Q3";"";6
1001;"1998-09-27 00:00:00";"Sunday";"September";2007;27;42;9;"Q3";"";7
1002;"1998-09-28 00:00:00";"Monday";"September";2007;28;42;9;"Q3";"";1
1003;"1998-09-29 00:00:00";"Tuesday";"September";2007;29;42;9;"Q3";"";2
1004;"1998-09-30 00:00:00";"Wednesday";"September";2007;30;42;9;"Q3";"";3
1005;"1998-10-01 00:00:00";"Thursday";"October";2007;1;42;10;"Q4";"";4
1006;"1998-10-02 00:00:00";"Friday";"October";2007;2;42;10;"Q4";"";5
1007;"1998-10-03 00:00:00";"Saturday";"October";2007;3;42;10;"Q4";"";6
1008;"1998-10-04 00:00:00";"Sunday";"October";2007;4;43;10;"Q4";"";7
1009;"1998-10-05 00:00:00";"Monday";"October";2007;5;43;10;"Q4";"";1
1010;"1998-10-06 00:00:00";"Tuesday";"October";2007;6;43;10;"Q4";"";2
1011;"1998-10-07 00:00:00";"Wednesday";"October";2007;7;43;10;"Q4";"";3
1012;"1998-10-08 00:00:00";"Thursday";"October";2007;8;43;10;"Q4";"";4
1013;"1998-10-09 00:00:00";"Friday";"October";2007;9;43;10;"Q4";"";5
1014;"1998-10-10 00:00:00";"Saturday";"October";2007;10;43;10;"Q4";"";6
1015;"1998-10-11 00:00:00";"Sunday";"October";2007;11;44;10;"Q4";"";7
1016;"1998-10-12 00:00:00";"Monday";"October";2007;12;44;10;"Q4";"";1
1017;"1998-10-13 00:00:00";"Tuesday";"October";2007;13;44;10;"Q4";"";2
1018;"1998-10-14 00:00:00";"Wednesday";"October";2007;14;44;10;"Q4";"";3
1019;"1998-10-15 00:00:00";"Thursday";"October";2007;15;44;10;"Q4";"";4
1020;"1998-10-16 00:00:00";"Friday";"October";2007;16;44;10;"Q4";"";5
1021;"1998-10-17 00:00:00";"Saturday";"October";2007;17;44;10;"Q4";"";6
1022;"1998-10-18 00:00:00";"Sunday";"October";2007;18;45;10;"Q4";"";7
1023;"1998-10-19 00:00:00";"Monday";"October";2007;19;45;10;"Q4";"";1
1024;"1998-10-20 00:00:00";"Tuesday";"October";2007;20;45;10;"Q4";"";2
1025;"1998-10-21 00:00:00";"Wednesday";"October";2007;21;45;10;"Q4";"";3
1026;"1998-10-22 00:00:00";"Thursday";"October";2007;22;45;10;"Q4";"";4
1027;"1998-10-23 00:00:00";"Friday";"October";2007;23;45;10;"Q4";"";5
1028;"1998-10-24 00:00:00";"Saturday";"October";2007;24;45;10;"Q4";"";6
1029;"1998-10-25 00:00:00";"Sunday";"October";2007;25;46;10;"Q4";"";7
1030;"1998-10-26 00:00:00";"Monday";"October";2007;26;46;10;"Q4";"";1
1031;"1998-10-27 00:00:00";"Tuesday";"October";2007;27;46;10;"Q4";"";2
1032;"1998-10-28 00:00:00";"Wednesday";"October";2007;28;46;10;"Q4";"";3
1033;"1998-10-29 00:00:00";"Thursday";"October";2007;29;46;10;"Q4";"";4
1034;"1998-10-30 00:00:00";"Friday";"October";2007;30;46;10;"Q4";"";5
1035;"1998-10-31 00:00:00";"Saturday";"October";2007;31;46;10;"Q4";"";6
1036;"1998-11-01 00:00:00";"Sunday";"November";2007;1;47;11;"Q4";"";7
1037;"1998-11-02 00:00:00";"Monday";"November";2007;2;47;11;"Q4";"";1
1038;"1998-11-03 00:00:00";"Tuesday";"November";2007;3;47;11;"Q4";"";2
1039;"1998-11-04 00:00:00";"Wednesday";"November";2007;4;47;11;"Q4";"";3
1040;"1998-11-05 00:00:00";"Thursday";"November";2007;5;47;11;"Q4";"";4
1041;"1998-11-06 00:00:00";"Friday";"November";2007;6;47;11;"Q4";"";5
1042;"1998-11-07 00:00:00";"Saturday";"November";2007;7;47;11;"Q4";"";6
1043;"1998-11-08 00:00:00";"Sunday";"November";2007;8;48;11;"Q4";"";7
1044;"1998-11-09 00:00:00";"Monday";"November";2007;9;48;11;"Q4";"";1
1045;"1998-11-10 00:00:00";"Tuesday";"November";2007;10;48;11;"Q4";"";2
1046;"1998-11-11 00:00:00";"Wednesday";"November";2007;11;48;11;"Q4";"";3
1047;"1998-11-12 00:00:00";"Thursday";"November";2007;12;48;11;"Q4";"";4
1048;"1998-11-13 00:00:00";"Friday";"November";2007;13;48;11;"Q4";"";5
1049;"1998-11-14 00:00:00";"Saturday";"November";2007;14;48;11;"Q4";"";6
1050;"1998-11-15 00:00:00";"Sunday";"November";2007;15;49;11;"Q4";"";7
1051;"1998-11-16 00:00:00";"Monday";"November";2007;16;49;11;"Q4";"";1
1052;"1998-11-17 00:00:00";"Tuesday";"November";2007;17;49;11;"Q4";"";2
1053;"1998-11-18 00:00:00";"Wednesday";"November";2007;18;49;11;"Q4";"";3
1054;"1998-11-19 00:00:00";"Thursday";"November";2007;19;49;11;"Q4";"";4
1055;"1998-11-20 00:00:00";"Friday";"November";2007;20;49;11;"Q4";"";5
1056;"1998-11-21 00:00:00";"Saturday";"November";2007;21;49;11;"Q4";"";6
1057;"1998-11-22 00:00:00";"Sunday";"November";2007;22;50;11;"Q4";"";7
1058;"1998-11-23 00:00:00";"Monday";"November";2007;23;50;11;"Q4";"";1
1059;"1998-11-24 00:00:00";"Tuesday";"November";2007;24;50;11;"Q4";"";2
1060;"1998-11-25 00:00:00";"Wednesday";"November";2007;25;50;11;"Q4";"";3
1061;"1998-11-26 00:00:00";"Thursday";"November";2007;26;50;11;"Q4";"";4
1062;"1998-11-27 00:00:00";"Friday";"November";2007;27;50;11;"Q4";"";5
1063;"1998-11-28 00:00:00";"Saturday";"November";2007;28;50;11;"Q4";"";6
1064;"1998-11-29 00:00:00";"Sunday";"November";2007;29;51;11;"Q4";"";7
1065;"1998-11-30 00:00:00";"Monday";"November";2007;30;51;11;"Q4";"";1
1066;"1998-12-01 00:00:00";"Tuesday";"December";2007;1;51;12;"Q4";"";2
1067;"1998-12-02 00:00:00";"Wednesday";"December";2007;2;51;12;"Q4";"";3
1068;"1998-12-03 00:00:00";"Thursday";"December";2007;3;51;12;"Q4";"";4
1069;"1998-12-04 00:00:00";"Friday";"December";2007;4;51;12;"Q4";"";5
1070;"1998-12-05 00:00:00";"Saturday";"December";2007;5;51;12;"Q4";"";6
1071;"1998-12-06 00:00:00";"Sunday";"December";2007;6;52;12;"Q4";"";7
1072;"1998-12-07 00:00:00";"Monday";"December";2007;7;1;12;"Q4";"";1
1073;"1998-12-08 00:00:00";"Tuesday";"December";2007;8;1;12;"Q4";"";2
1074;"1998-12-09 00:00:00";"Wednesday";"December";2007;9;1;12;"Q4";"";3
1075;"1998-12-10 00:00:00";"Thursday";"December";2007;10;1;12;"Q4";"";4
1076;"1998-12-11 00:00:00";"Friday";"December";2007;11;1;12;"Q4";"";5
1077;"1998-12-12 00:00:00";"Saturday";"December";2007;12;1;12;"Q4";"";6
1078;"1998-12-13 00:00:00";"Sunday";"December";2007;13;2;12;"Q4";"";7
1079;"1998-12-14 00:00:00";"Monday";"December";2007;14;2;12;"Q4";"";1
1080;"1998-12-15 00:00:00";"Tuesday";"December";2007;15;2;12;"Q4";"";2
1081;"1998-12-16 00:00:00";"Wednesday";"December";2007;16;2;12;"Q4";"";3
1082;"1998-12-17 00:00:00";"Thursday";"December";2007;17;2;12;"Q4";"";4
1083;"1998-12-18 00:00:00";"Friday";"December";2007;18;2;12;"Q4";"";5
1084;"1998-12-19 00:00:00";"Saturday";"December";2007;19;2;12;"Q4";"";6
1085;"1998-12-20 00:00:00";"Sunday";"December";2007;20;3;12;"Q4";"";7
1086;"1998-12-21 00:00:00";"Monday";"December";2007;21;3;12;"Q4";"";1
1087;"1998-12-22 00:00:00";"Tuesday";"December";2007;22;3;12;"Q4";"";2
1088;"1998-12-23 00:00:00";"Wednesday";"December";2007;23;3;12;"Q4";"";3
1089;"1998-12-24 00:00:00";"Thursday";"December";2007;24;3;12;"Q4";"";4
1090;"1998-12-25 00:00:00";"Friday";"December";2007;25;3;12;"Q4";"";5
1091;"1998-12-26 00:00:00";"Saturday";"December";2007;26;3;12;"Q4";"";6
1092;"1998-12-27 00:00:00";"Sunday";"December";2007;27;4;12;"Q4";"";7
1093;"1998-12-28 00:00:00";"Monday";"December";2007;28;4;12;"Q4";"";1
1094;"1998-12-29 00:00:00";"Tuesday";"December";2007;29;4;12;"Q4";"";2
1095;"1998-12-30 00:00:00";"Wednesday";"December";2007;30;4;12;"Q4";"";3
1096;"1998-12-31 00:00:00";"Thursday";"December";2007;31;4;12;"Q4";"";4
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>Time.csv</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/csv</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
"warehouse_id";"warehouse_name";"wa_address1";"wa_address2";"wa_address3";"wa_address4";"warehouse_city";"warehouse_state_province";"warehouse_postal_code";"warehouse_country";"warehouse_owner_name";"warehouse_phone";"warehouse_fax"
1;"Salka Warehousing";"9716 Alovera Road";"";"";"";"Acapulco";"Guerrero";"55555";"Mexico";"";"821-555-1658";"594-555-2908"
2;"Foster Products";"958 Hilltop Dr";"";"";"";"Bellingham";"WA";"55555";"USA";"";"315-555-8947";"119-555-3826"
3;"Destination, Inc.";"4162 Euclid Ave";"";"";"";"Bremerton";"WA";"55555";"USA";"";"517-555-3022";"136-555-4501"
4;"Anderson Warehousing";"5657 Georgia Dr";"";"";"";"Camacho";"Zacatecas";"55555";"Mexico";"";"681-555-1655";"946-555-4848"
5;"Focus, Inc.";"9116 Tice Valley Blv.";"";"";"";"Guadalajara";"Jalisco";"55555";"Mexico";"";"344-555-5530";"379-555-9065"
6;"Big Quality Warehouse";"3521 Fourth Stret";"";"";"";"Beverly Hills";"CA";"55555";"USA";"";"892-555-3590";"388-555-7926"
7;"Artesia Warehousing, Inc.";"9889 Matterhorn Court";"";"";"";"Los Angeles";"CA";"55555";"USA";"";"859-555-2792";"740-555-6556"
8;"Bastani and Sons";"1893 Northridge Drive";"";"";"";"Marida";"Yucatan";"55555";"Mexico";"";"846-555-3024";"804-555-6674"
9;"Freeman And Co";"234 West Covina Pkwy";"";"";"";"Mexico City";"DF";"55555";"Mexico";"";"";""
10;"Jamison, Inc.";"1172 Liana Lane";"";"";"";"Orizaba";"Veracruz";"55555";"Mexico";"";"379-555-5756";"436-555-7920"
11;"Quality Distribution, Inc.";"6085 Darlene Drive";"";"";"";"Portland";"OR";"55555";"USA";"";"181-555-3588";"269-555-8381"
12;"Arnold and Sons";"5617 Saclan Terrace";"";"";"";"Hidalgo";"Zacatecas";"55555";"Mexico";"";"360-555-8035";"263-555-1427"
13;"Treehouse Distribution";"5473 Olive Hill";"";"";"";"Salem";"OR";"55555";"USA";"";"831-555-6210";"481-555-1317"
14;"Food Service Storage, Inc.";"5259 Mildred Ln";"";"";"";"San Francisco";"CA";"55555";"USA";"";"471-555-2456";"552-555-3249"
15;"Quality Warehousing and Trucking";"3337 Northpoint Ct";"";"";"";"Seattle";"WA";"55555";"USA";"";"427-555-9060";"869-555-1652"
16;"Jones International";"3377 Coachman Place";"";"";"";"Spokane";"WA";"55555";"USA";"";"144-555-5192";"971-555-6213"
17;"Jorge Garcia, Inc.";"4364 Viera Avenue";"";"";"";"Tacoma";"WA";"55555";"USA";"";"200-555-1310";"442-555-5874"
18;"Worthington Food Products";"4659 Cape Cod Way";"";"";"";"Hidalgo";"Zacatecas";"55555";"Mexico";"";"609-555-5413";"952-555-8492"
19;"Bellmont Distributing";"5900 May Rd";"";"";"";"Vancouver";"BC";"55555";"Canada";"";"226-555-5335";"361-555-7385"
20;"Rose Food Warehousing";"9104 Jacobsen Street";"";"";"";"Victoria";"BC";"55555";"Canada";"";"143-555-7496";"332-555-1803"
21;"Derby and Hunt";"600 Lake Nadine Place";"";"";"";"San Andres";"DF";"55555";"Mexico";"";"922-555-5214";"618-555-6578"
22;"Valdez Warehousing";"6714 Roundtree Court";"";"";"";"Walla Walla";"WA";"55555";"USA";"";"301-555-8174";"666-555-9881"
23;"Maddock Stored Foods";"8463 Kim Court";"";"";"";"Yakima";"WA";"55555";"USA";"";"803-555-8978";"630-555-2485"
24;"Jorgensen Service Storage";"4832 Park Glen Ct";"";"";"";"San Diego";"CA";"55555";"USA";"";"259-555-2824";"470-555-4760"
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>Warehouse.csv</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/csv</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>sales</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
Day;City;Licence;Amount;Count
May 12,2010;Madrid;Personal;1;84
May 13,2010;Barcelona;Personal;2;841
May 14,2010;Paris;Personal;4;2
May 15,2010;Lausanne;Personal;8;231
May 16,2010;Lausanne;Corporate;16;4
May 17,2010;Lausanne;Partnership;32;65
May 18,2010;Zurich;Partnership;64;64
May 19,2010;Geneva;Corporate;128;13
May 20,2010;New York;Corporate;256;12
May 21,2010;New York;Corporate;512;564
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>Facts.csv</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/csv</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
Continent;Country;City
America;Canada;Quebec
America;Canada;Toronto
America;United States;Los Angeles
America;United States;New York
America;United States;San Francisco
America;Mexico;Mexico
America;Venezuela;Caracas
Europe;France;Paris
Europe;Spain;Barcelona
Europe;Spain;Madrid
Europe;Spain;Valencia
Europe;Switzerland;Geneva
Europe;Switzerland;Lausanne
Europe;Switzerland;Zurich
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>Geography.csv</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/csv</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
Company;Article;Licence
Crazy Development;olapy;Corporate
Crazy Development;olapy;Partnership
Crazy Development;olapy;Personal
Crazy Development;olapy;Startup
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>Product.csv</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/csv</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
Year;Quarter;Month;Day
2010;Q1 2010;January 2010;January 1,2010
2010;Q1 2010;January 2010;January 2,2010
2010;Q1 2010;January 2010;January 3,2010
2010;Q1 2010;January 2010;January 4,2010
2010;Q1 2010;January 2010;January 5,2010
2010;Q1 2010;January 2010;January 6,2010
2010;Q1 2010;January 2010;January 7,2010
2010;Q1 2010;January 2010;January 8,2010
2010;Q1 2010;January 2010;January 9,2010
2010;Q1 2010;January 2010;January 10,2010
2010;Q1 2010;January 2010;January 11,2010
2010;Q1 2010;January 2010;January 12,2010
2010;Q1 2010;January 2010;January 13,2010
2010;Q1 2010;January 2010;January 14,2010
2010;Q1 2010;January 2010;January 15,2010
2010;Q1 2010;January 2010;January 16,2010
2010;Q1 2010;January 2010;January 17,2010
2010;Q1 2010;January 2010;January 18,2010
2010;Q1 2010;January 2010;January 19,2010
2010;Q1 2010;January 2010;January 20,2010
2010;Q1 2010;January 2010;January 21,2010
2010;Q1 2010;January 2010;January 22,2010
2010;Q1 2010;January 2010;January 23,2010
2010;Q1 2010;January 2010;January 24,2010
2010;Q1 2010;January 2010;January 25,2010
2010;Q1 2010;January 2010;January 26,2010
2010;Q1 2010;January 2010;January 27,2010
2010;Q1 2010;January 2010;January 28,2010
2010;Q1 2010;January 2010;January 29,2010
2010;Q1 2010;January 2010;January 30,2010
2010;Q1 2010;January 2010;January 31,2010
2010;Q1 2010;February 2010;February 1,2010
2010;Q1 2010;February 2010;February 2,2010
2010;Q1 2010;February 2010;February 3,2010
2010;Q1 2010;February 2010;February 4,2010
2010;Q1 2010;February 2010;February 5,2010
2010;Q1 2010;February 2010;February 6,2010
2010;Q1 2010;February 2010;February 7,2010
2010;Q1 2010;February 2010;February 8,2010
2010;Q1 2010;February 2010;February 9,2010
2010;Q1 2010;February 2010;February 10,2010
2010;Q1 2010;February 2010;February 11,2010
2010;Q1 2010;February 2010;February 12,2010
2010;Q1 2010;February 2010;February 13,2010
2010;Q1 2010;February 2010;February 14,2010
2010;Q1 2010;February 2010;February 15,2010
2010;Q1 2010;February 2010;February 16,2010
2010;Q1 2010;February 2010;February 17,2010
2010;Q1 2010;February 2010;February 18,2010
2010;Q1 2010;February 2010;February 19,2010
2010;Q1 2010;February 2010;February 20,2010
2010;Q1 2010;February 2010;February 21,2010
2010;Q1 2010;February 2010;February 22,2010
2010;Q1 2010;February 2010;February 23,2010
2010;Q1 2010;February 2010;February 24,2010
2010;Q1 2010;February 2010;February 25,2010
2010;Q1 2010;February 2010;February 26,2010
2010;Q1 2010;February 2010;February 27,2010
2010;Q1 2010;February 2010;February 28,2010
2010;Q1 2010;March 2010;March 1,2010
2010;Q1 2010;March 2010;March 2,2010
2010;Q1 2010;March 2010;March 3,2010
2010;Q1 2010;March 2010;March 4,2010
2010;Q1 2010;March 2010;March 5,2010
2010;Q1 2010;March 2010;March 6,2010
2010;Q1 2010;March 2010;March 7,2010
2010;Q1 2010;March 2010;March 8,2010
2010;Q1 2010;March 2010;March 9,2010
2010;Q1 2010;March 2010;March 10,2010
2010;Q1 2010;March 2010;March 11,2010
2010;Q1 2010;March 2010;March 12,2010
2010;Q1 2010;March 2010;March 13,2010
2010;Q1 2010;March 2010;March 14,2010
2010;Q1 2010;March 2010;March 15,2010
2010;Q1 2010;March 2010;March 16,2010
2010;Q1 2010;March 2010;March 17,2010
2010;Q1 2010;March 2010;March 18,2010
2010;Q1 2010;March 2010;March 19,2010
2010;Q1 2010;March 2010;March 20,2010
2010;Q1 2010;March 2010;March 21,2010
2010;Q1 2010;March 2010;March 22,2010
2010;Q1 2010;March 2010;March 23,2010
2010;Q1 2010;March 2010;March 24,2010
2010;Q1 2010;March 2010;March 25,2010
2010;Q1 2010;March 2010;March 26,2010
2010;Q1 2010;March 2010;March 27,2010
2010;Q1 2010;March 2010;March 28,2010
2010;Q1 2010;March 2010;March 29,2010
2010;Q1 2010;March 2010;March 30,2010
2010;Q1 2010;March 2010;March 31,2010
2010;Q2 2010;April 2010;April 1,2010
2010;Q2 2010;April 2010;April 2,2010
2010;Q2 2010;April 2010;April 3,2010
2010;Q2 2010;April 2010;April 4,2010
2010;Q2 2010;April 2010;April 5,2010
2010;Q2 2010;April 2010;April 6,2010
2010;Q2 2010;April 2010;April 7,2010
2010;Q2 2010;April 2010;April 8,2010
2010;Q2 2010;April 2010;April 9,2010
2010;Q2 2010;April 2010;April 10,2010
2010;Q2 2010;April 2010;April 11,2010
2010;Q2 2010;April 2010;April 12,2010
2010;Q2 2010;April 2010;April 13,2010
2010;Q2 2010;April 2010;April 14,2010
2010;Q2 2010;April 2010;April 15,2010
2010;Q2 2010;April 2010;April 16,2010
2010;Q2 2010;April 2010;April 17,2010
2010;Q2 2010;April 2010;April 18,2010
2010;Q2 2010;April 2010;April 19,2010
2010;Q2 2010;April 2010;April 20,2010
2010;Q2 2010;April 2010;April 21,2010
2010;Q2 2010;April 2010;April 22,2010
2010;Q2 2010;April 2010;April 23,2010
2010;Q2 2010;April 2010;April 24,2010
2010;Q2 2010;April 2010;April 25,2010
2010;Q2 2010;April 2010;April 26,2010
2010;Q2 2010;April 2010;April 27,2010
2010;Q2 2010;April 2010;April 28,2010
2010;Q2 2010;April 2010;April 29,2010
2010;Q2 2010;April 2010;April 30,2010
2010;Q2 2010;May 2010;May 1,2010
2010;Q2 2010;May 2010;May 2,2010
2010;Q2 2010;May 2010;May 3,2010
2010;Q2 2010;May 2010;May 4,2010
2010;Q2 2010;May 2010;May 5,2010
2010;Q2 2010;May 2010;May 6,2010
2010;Q2 2010;May 2010;May 7,2010
2010;Q2 2010;May 2010;May 8,2010
2010;Q2 2010;May 2010;May 9,2010
2010;Q2 2010;May 2010;May 10,2010
2010;Q2 2010;May 2010;May 11,2010
2010;Q2 2010;May 2010;May 12,2010
2010;Q2 2010;May 2010;May 13,2010
2010;Q2 2010;May 2010;May 14,2010
2010;Q2 2010;May 2010;May 15,2010
2010;Q2 2010;May 2010;May 16,2010
2010;Q2 2010;May 2010;May 17,2010
2010;Q2 2010;May 2010;May 18,2010
2010;Q2 2010;May 2010;May 19,2010
2010;Q2 2010;May 2010;May 20,2010
2010;Q2 2010;May 2010;May 21,2010
2010;Q2 2010;May 2010;May 22,2010
2010;Q2 2010;May 2010;May 23,2010
2010;Q2 2010;May 2010;May 24,2010
2010;Q2 2010;May 2010;May 25,2010
2010;Q2 2010;May 2010;May 26,2010
2010;Q2 2010;May 2010;May 27,2010
2010;Q2 2010;May 2010;May 28,2010
2010;Q2 2010;May 2010;May 29,2010
2010;Q2 2010;May 2010;May 30,2010
2010;Q2 2010;May 2010;May 31,2010
2010;Q2 2010;June 2010;June 1,2010
2010;Q2 2010;June 2010;June 2,2010
2010;Q2 2010;June 2010;June 3,2010
2010;Q2 2010;June 2010;June 4,2010
2010;Q2 2010;June 2010;June 5,2010
2010;Q2 2010;June 2010;June 6,2010
2010;Q2 2010;June 2010;June 7,2010
2010;Q2 2010;June 2010;June 8,2010
2010;Q2 2010;June 2010;June 9,2010
2010;Q2 2010;June 2010;June 10,2010
2010;Q2 2010;June 2010;June 11,2010
2010;Q2 2010;June 2010;June 12,2010
2010;Q2 2010;June 2010;June 13,2010
2010;Q2 2010;June 2010;June 14,2010
2010;Q2 2010;June 2010;June 15,2010
2010;Q2 2010;June 2010;June 16,2010
2010;Q2 2010;June 2010;June 17,2010
2010;Q2 2010;June 2010;June 18,2010
2010;Q2 2010;June 2010;June 19,2010
2010;Q2 2010;June 2010;June 20,2010
2010;Q2 2010;June 2010;June 21,2010
2010;Q2 2010;June 2010;June 22,2010
2010;Q2 2010;June 2010;June 23,2010
2010;Q2 2010;June 2010;June 24,2010
2010;Q2 2010;June 2010;June 25,2010
2010;Q2 2010;June 2010;June 26,2010
2010;Q2 2010;June 2010;June 27,2010
2010;Q2 2010;June 2010;June 28,2010
2010;Q2 2010;June 2010;June 29,2010
2010;Q2 2010;June 2010;June 30,2010
2010;Q3 2010;July 2010;July 1,2010
2010;Q3 2010;July 2010;July 2,2010
2010;Q3 2010;July 2010;July 3,2010
2010;Q3 2010;July 2010;July 4,2010
2010;Q3 2010;July 2010;July 5,2010
2010;Q3 2010;July 2010;July 6,2010
2010;Q3 2010;July 2010;July 7,2010
2010;Q3 2010;July 2010;July 8,2010
2010;Q3 2010;July 2010;July 9,2010
2010;Q3 2010;July 2010;July 10,2010
2010;Q3 2010;July 2010;July 11,2010
2010;Q3 2010;July 2010;July 12,2010
2010;Q3 2010;July 2010;July 13,2010
2010;Q3 2010;July 2010;July 14,2010
2010;Q3 2010;July 2010;July 15,2010
2010;Q3 2010;July 2010;July 16,2010
2010;Q3 2010;July 2010;July 17,2010
2010;Q3 2010;July 2010;July 18,2010
2010;Q3 2010;July 2010;July 19,2010
2010;Q3 2010;July 2010;July 20,2010
2010;Q3 2010;July 2010;July 21,2010
2010;Q3 2010;July 2010;July 22,2010
2010;Q3 2010;July 2010;July 23,2010
2010;Q3 2010;July 2010;July 24,2010
2010;Q3 2010;July 2010;July 25,2010
2010;Q3 2010;July 2010;July 26,2010
2010;Q3 2010;July 2010;July 27,2010
2010;Q3 2010;July 2010;July 28,2010
2010;Q3 2010;July 2010;July 29,2010
2010;Q3 2010;July 2010;July 30,2010
2010;Q3 2010;July 2010;July 31,2010
2010;Q3 2010;August 2010;August 1,2010
2010;Q3 2010;August 2010;August 2,2010
2010;Q3 2010;August 2010;August 3,2010
2010;Q3 2010;August 2010;August 4,2010
2010;Q3 2010;August 2010;August 5,2010
2010;Q3 2010;August 2010;August 6,2010
2010;Q3 2010;August 2010;August 7,2010
2010;Q3 2010;August 2010;August 8,2010
2010;Q3 2010;August 2010;August 9,2010
2010;Q3 2010;August 2010;August 10,2010
2010;Q3 2010;August 2010;August 11,2010
2010;Q3 2010;August 2010;August 12,2010
2010;Q3 2010;August 2010;August 13,2010
2010;Q3 2010;August 2010;August 14,2010
2010;Q3 2010;August 2010;August 15,2010
2010;Q3 2010;August 2010;August 16,2010
2010;Q3 2010;August 2010;August 17,2010
2010;Q3 2010;August 2010;August 18,2010
2010;Q3 2010;August 2010;August 19,2010
2010;Q3 2010;August 2010;August 20,2010
2010;Q3 2010;August 2010;August 21,2010
2010;Q3 2010;August 2010;August 22,2010
2010;Q3 2010;August 2010;August 23,2010
2010;Q3 2010;August 2010;August 24,2010
2010;Q3 2010;August 2010;August 25,2010
2010;Q3 2010;August 2010;August 26,2010
2010;Q3 2010;August 2010;August 27,2010
2010;Q3 2010;August 2010;August 28,2010
2010;Q3 2010;August 2010;August 29,2010
2010;Q3 2010;August 2010;August 30,2010
2010;Q3 2010;August 2010;August 31,2010
2010;Q3 2010;September 2010;September 1,2010
2010;Q3 2010;September 2010;September 2,2010
2010;Q3 2010;September 2010;September 3,2010
2010;Q3 2010;September 2010;September 4,2010
2010;Q3 2010;September 2010;September 5,2010
2010;Q3 2010;September 2010;September 6,2010
2010;Q3 2010;September 2010;September 7,2010
2010;Q3 2010;September 2010;September 8,2010
2010;Q3 2010;September 2010;September 9,2010
2010;Q3 2010;September 2010;September 10,2010
2010;Q3 2010;September 2010;September 11,2010
2010;Q3 2010;September 2010;September 12,2010
2010;Q3 2010;September 2010;September 13,2010
2010;Q3 2010;September 2010;September 14,2010
2010;Q3 2010;September 2010;September 15,2010
2010;Q3 2010;September 2010;September 16,2010
2010;Q3 2010;September 2010;September 17,2010
2010;Q3 2010;September 2010;September 18,2010
2010;Q3 2010;September 2010;September 19,2010
2010;Q3 2010;September 2010;September 20,2010
2010;Q3 2010;September 2010;September 21,2010
2010;Q3 2010;September 2010;September 22,2010
2010;Q3 2010;September 2010;September 23,2010
2010;Q3 2010;September 2010;September 24,2010
2010;Q3 2010;September 2010;September 25,2010
2010;Q3 2010;September 2010;September 26,2010
2010;Q3 2010;September 2010;September 27,2010
2010;Q3 2010;September 2010;September 28,2010
2010;Q3 2010;September 2010;September 29,2010
2010;Q3 2010;September 2010;September 30,2010
2010;Q4 2010;October 2010;October 1,2010
2010;Q4 2010;October 2010;October 2,2010
2010;Q4 2010;October 2010;October 3,2010
2010;Q4 2010;October 2010;October 4,2010
2010;Q4 2010;October 2010;October 5,2010
2010;Q4 2010;October 2010;October 6,2010
2010;Q4 2010;October 2010;October 7,2010
2010;Q4 2010;October 2010;October 8,2010
2010;Q4 2010;October 2010;October 9,2010
2010;Q4 2010;October 2010;October 10,2010
2010;Q4 2010;October 2010;October 11,2010
2010;Q4 2010;October 2010;October 12,2010
2010;Q4 2010;October 2010;October 13,2010
2010;Q4 2010;October 2010;October 14,2010
2010;Q4 2010;October 2010;October 15,2010
2010;Q4 2010;October 2010;October 16,2010
2010;Q4 2010;October 2010;October 17,2010
2010;Q4 2010;October 2010;October 18,2010
2010;Q4 2010;October 2010;October 19,2010
2010;Q4 2010;October 2010;October 20,2010
2010;Q4 2010;October 2010;October 21,2010
2010;Q4 2010;October 2010;October 22,2010
2010;Q4 2010;October 2010;October 23,2010
2010;Q4 2010;October 2010;October 24,2010
2010;Q4 2010;October 2010;October 25,2010
2010;Q4 2010;October 2010;October 26,2010
2010;Q4 2010;October 2010;October 27,2010
2010;Q4 2010;October 2010;October 28,2010
2010;Q4 2010;October 2010;October 29,2010
2010;Q4 2010;October 2010;October 30,2010
2010;Q4 2010;October 2010;October 31,2010
2010;Q4 2010;November 2010;November 1,2010
2010;Q4 2010;November 2010;November 2,2010
2010;Q4 2010;November 2010;November 3,2010
2010;Q4 2010;November 2010;November 4,2010
2010;Q4 2010;November 2010;November 5,2010
2010;Q4 2010;November 2010;November 6,2010
2010;Q4 2010;November 2010;November 7,2010
2010;Q4 2010;November 2010;November 8,2010
2010;Q4 2010;November 2010;November 9,2010
2010;Q4 2010;November 2010;November 10,2010
2010;Q4 2010;November 2010;November 11,2010
2010;Q4 2010;November 2010;November 12,2010
2010;Q4 2010;November 2010;November 13,2010
2010;Q4 2010;November 2010;November 14,2010
2010;Q4 2010;November 2010;November 15,2010
2010;Q4 2010;November 2010;November 16,2010
2010;Q4 2010;November 2010;November 17,2010
2010;Q4 2010;November 2010;November 18,2010
2010;Q4 2010;November 2010;November 19,2010
2010;Q4 2010;November 2010;November 20,2010
2010;Q4 2010;November 2010;November 21,2010
2010;Q4 2010;November 2010;November 22,2010
2010;Q4 2010;November 2010;November 23,2010
2010;Q4 2010;November 2010;November 24,2010
2010;Q4 2010;November 2010;November 25,2010
2010;Q4 2010;November 2010;November 26,2010
2010;Q4 2010;November 2010;November 27,2010
2010;Q4 2010;November 2010;November 28,2010
2010;Q4 2010;November 2010;November 29,2010
2010;Q4 2010;November 2010;November 30,2010
2010;Q4 2010;December 2010;December 1,2010
2010;Q4 2010;December 2010;December 2,2010
2010;Q4 2010;December 2010;December 3,2010
2010;Q4 2010;December 2010;December 4,2010
2010;Q4 2010;December 2010;December 5,2010
2010;Q4 2010;December 2010;December 6,2010
2010;Q4 2010;December 2010;December 7,2010
2010;Q4 2010;December 2010;December 8,2010
2010;Q4 2010;December 2010;December 9,2010
2010;Q4 2010;December 2010;December 10,2010
2010;Q4 2010;December 2010;December 11,2010
2010;Q4 2010;December 2010;December 12,2010
2010;Q4 2010;December 2010;December 13,2010
2010;Q4 2010;December 2010;December 14,2010
2010;Q4 2010;December 2010;December 15,2010
2010;Q4 2010;December 2010;December 16,2010
2010;Q4 2010;December 2010;December 17,2010
2010;Q4 2010;December 2010;December 18,2010
2010;Q4 2010;December 2010;December 19,2010
2010;Q4 2010;December 2010;December 20,2010
2010;Q4 2010;December 2010;December 21,2010
2010;Q4 2010;December 2010;December 22,2010
2010;Q4 2010;December 2010;December 23,2010
2010;Q4 2010;December 2010;December 24,2010
2010;Q4 2010;December 2010;December 25,2010
2010;Q4 2010;December 2010;December 26,2010
2010;Q4 2010;December 2010;December 27,2010
2010;Q4 2010;December 2010;December 28,2010
2010;Q4 2010;December 2010;December 29,2010
2010;Q4 2010;December 2010;December 30,2010
2010;Q4 2010;December 2010;December 31,2010
2011;Q1 2011;January 2011;January 1,2011
2011;Q1 2011;January 2011;January 2,2011
2011;Q1 2011;January 2011;January 3,2011
2011;Q1 2011;January 2011;January 4,2011
2011;Q1 2011;January 2011;January 5,2011
2011;Q1 2011;January 2011;January 6,2011
2011;Q1 2011;January 2011;January 7,2011
2011;Q1 2011;January 2011;January 8,2011
2011;Q1 2011;January 2011;January 9,2011
2011;Q1 2011;January 2011;January 10,2011
2011;Q1 2011;January 2011;January 11,2011
2011;Q1 2011;January 2011;January 12,2011
2011;Q1 2011;January 2011;January 13,2011
2011;Q1 2011;January 2011;January 14,2011
2011;Q1 2011;January 2011;January 15,2011
2011;Q1 2011;January 2011;January 16,2011
2011;Q1 2011;January 2011;January 17,2011
2011;Q1 2011;January 2011;January 18,2011
2011;Q1 2011;January 2011;January 19,2011
2011;Q1 2011;January 2011;January 20,2011
2011;Q1 2011;January 2011;January 21,2011
2011;Q1 2011;January 2011;January 22,2011
2011;Q1 2011;January 2011;January 23,2011
2011;Q1 2011;January 2011;January 24,2011
2011;Q1 2011;January 2011;January 25,2011
2011;Q1 2011;January 2011;January 26,2011
2011;Q1 2011;January 2011;January 27,2011
2011;Q1 2011;January 2011;January 28,2011
2011;Q1 2011;January 2011;January 29,2011
2011;Q1 2011;January 2011;January 30,2011
2011;Q1 2011;January 2011;January 31,2011
2011;Q1 2011;February 2011;February 1,2011
2011;Q1 2011;February 2011;February 2,2011
2011;Q1 2011;February 2011;February 3,2011
2011;Q1 2011;February 2011;February 4,2011
2011;Q1 2011;February 2011;February 5,2011
2011;Q1 2011;February 2011;February 6,2011
2011;Q1 2011;February 2011;February 7,2011
2011;Q1 2011;February 2011;February 8,2011
2011;Q1 2011;February 2011;February 9,2011
2011;Q1 2011;February 2011;February 10,2011
2011;Q1 2011;February 2011;February 11,2011
2011;Q1 2011;February 2011;February 12,2011
2011;Q1 2011;February 2011;February 13,2011
2011;Q1 2011;February 2011;February 14,2011
2011;Q1 2011;February 2011;February 15,2011
2011;Q1 2011;February 2011;February 16,2011
2011;Q1 2011;February 2011;February 17,2011
2011;Q1 2011;February 2011;February 18,2011
2011;Q1 2011;February 2011;February 19,2011
2011;Q1 2011;February 2011;February 20,2011
2011;Q1 2011;February 2011;February 21,2011
2011;Q1 2011;February 2011;February 22,2011
2011;Q1 2011;February 2011;February 23,2011
2011;Q1 2011;February 2011;February 24,2011
2011;Q1 2011;February 2011;February 25,2011
2011;Q1 2011;February 2011;February 26,2011
2011;Q1 2011;February 2011;February 27,2011
2011;Q1 2011;February 2011;February 28,2011
2011;Q1 2011;March 2011;March 1,2011
2011;Q1 2011;March 2011;March 2,2011
2011;Q1 2011;March 2011;March 3,2011
2011;Q1 2011;March 2011;March 4,2011
2011;Q1 2011;March 2011;March 5,2011
2011;Q1 2011;March 2011;March 6,2011
2011;Q1 2011;March 2011;March 7,2011
2011;Q1 2011;March 2011;March 8,2011
2011;Q1 2011;March 2011;March 9,2011
2011;Q1 2011;March 2011;March 10,2011
2011;Q1 2011;March 2011;March 11,2011
2011;Q1 2011;March 2011;March 12,2011
2011;Q1 2011;March 2011;March 13,2011
2011;Q1 2011;March 2011;March 14,2011
2011;Q1 2011;March 2011;March 15,2011
2011;Q1 2011;March 2011;March 16,2011
2011;Q1 2011;March 2011;March 17,2011
2011;Q1 2011;March 2011;March 18,2011
2011;Q1 2011;March 2011;March 19,2011
2011;Q1 2011;March 2011;March 20,2011
2011;Q1 2011;March 2011;March 21,2011
2011;Q1 2011;March 2011;March 22,2011
2011;Q1 2011;March 2011;March 23,2011
2011;Q1 2011;March 2011;March 24,2011
2011;Q1 2011;March 2011;March 25,2011
2011;Q1 2011;March 2011;March 26,2011
2011;Q1 2011;March 2011;March 27,2011
2011;Q1 2011;March 2011;March 28,2011
2011;Q1 2011;March 2011;March 29,2011
2011;Q1 2011;March 2011;March 30,2011
2011;Q1 2011;March 2011;March 31,2011
2011;Q2 2011;April 2011;April 1,2011
2011;Q2 2011;April 2011;April 2,2011
2011;Q2 2011;April 2011;April 3,2011
2011;Q2 2011;April 2011;April 4,2011
2011;Q2 2011;April 2011;April 5,2011
2011;Q2 2011;April 2011;April 6,2011
2011;Q2 2011;April 2011;April 7,2011
2011;Q2 2011;April 2011;April 8,2011
2011;Q2 2011;April 2011;April 9,2011
2011;Q2 2011;April 2011;April 10,2011
2011;Q2 2011;April 2011;April 11,2011
2011;Q2 2011;April 2011;April 12,2011
2011;Q2 2011;April 2011;April 13,2011
2011;Q2 2011;April 2011;April 14,2011
2011;Q2 2011;April 2011;April 15,2011
2011;Q2 2011;April 2011;April 16,2011
2011;Q2 2011;April 2011;April 17,2011
2011;Q2 2011;April 2011;April 18,2011
2011;Q2 2011;April 2011;April 19,2011
2011;Q2 2011;April 2011;April 20,2011
2011;Q2 2011;April 2011;April 21,2011
2011;Q2 2011;April 2011;April 22,2011
2011;Q2 2011;April 2011;April 23,2011
2011;Q2 2011;April 2011;April 24,2011
2011;Q2 2011;April 2011;April 25,2011
2011;Q2 2011;April 2011;April 26,2011
2011;Q2 2011;April 2011;April 27,2011
2011;Q2 2011;April 2011;April 28,2011
2011;Q2 2011;April 2011;April 29,2011
2011;Q2 2011;April 2011;April 30,2011
2011;Q2 2011;May 2011;May 1,2011
2011;Q2 2011;May 2011;May 2,2011
2011;Q2 2011;May 2011;May 3,2011
2011;Q2 2011;May 2011;May 4,2011
2011;Q2 2011;May 2011;May 5,2011
2011;Q2 2011;May 2011;May 6,2011
2011;Q2 2011;May 2011;May 7,2011
2011;Q2 2011;May 2011;May 8,2011
2011;Q2 2011;May 2011;May 9,2011
2011;Q2 2011;May 2011;May 10,2011
2011;Q2 2011;May 2011;May 11,2011
2011;Q2 2011;May 2011;May 12,2011
2011;Q2 2011;May 2011;May 13,2011
2011;Q2 2011;May 2011;May 14,2011
2011;Q2 2011;May 2011;May 15,2011
2011;Q2 2011;May 2011;May 16,2011
2011;Q2 2011;May 2011;May 17,2011
2011;Q2 2011;May 2011;May 18,2011
2011;Q2 2011;May 2011;May 19,2011
2011;Q2 2011;May 2011;May 20,2011
2011;Q2 2011;May 2011;May 21,2011
2011;Q2 2011;May 2011;May 22,2011
2011;Q2 2011;May 2011;May 23,2011
2011;Q2 2011;May 2011;May 24,2011
2011;Q2 2011;May 2011;May 25,2011
2011;Q2 2011;May 2011;May 26,2011
2011;Q2 2011;May 2011;May 27,2011
2011;Q2 2011;May 2011;May 28,2011
2011;Q2 2011;May 2011;May 29,2011
2011;Q2 2011;May 2011;May 30,2011
2011;Q2 2011;May 2011;May 31,2011
2011;Q2 2011;June 2011;June 1,2011
2011;Q2 2011;June 2011;June 2,2011
2011;Q2 2011;June 2011;June 3,2011
2011;Q2 2011;June 2011;June 4,2011
2011;Q2 2011;June 2011;June 5,2011
2011;Q2 2011;June 2011;June 6,2011
2011;Q2 2011;June 2011;June 7,2011
2011;Q2 2011;June 2011;June 8,2011
2011;Q2 2011;June 2011;June 9,2011
2011;Q2 2011;June 2011;June 10,2011
2011;Q2 2011;June 2011;June 11,2011
2011;Q2 2011;June 2011;June 12,2011
2011;Q2 2011;June 2011;June 13,2011
2011;Q2 2011;June 2011;June 14,2011
2011;Q2 2011;June 2011;June 15,2011
2011;Q2 2011;June 2011;June 16,2011
2011;Q2 2011;June 2011;June 17,2011
2011;Q2 2011;June 2011;June 18,2011
2011;Q2 2011;June 2011;June 19,2011
2011;Q2 2011;June 2011;June 20,2011
2011;Q2 2011;June 2011;June 21,2011
2011;Q2 2011;June 2011;June 22,2011
2011;Q2 2011;June 2011;June 23,2011
2011;Q2 2011;June 2011;June 24,2011
2011;Q2 2011;June 2011;June 25,2011
2011;Q2 2011;June 2011;June 26,2011
2011;Q2 2011;June 2011;June 27,2011
2011;Q2 2011;June 2011;June 28,2011
2011;Q2 2011;June 2011;June 29,2011
2011;Q2 2011;June 2011;June 30,2011
2011;Q3 2011;July 2011;July 1,2011
2011;Q3 2011;July 2011;July 2,2011
2011;Q3 2011;July 2011;July 3,2011
2011;Q3 2011;July 2011;July 4,2011
2011;Q3 2011;July 2011;July 5,2011
2011;Q3 2011;July 2011;July 6,2011
2011;Q3 2011;July 2011;July 7,2011
2011;Q3 2011;July 2011;July 8,2011
2011;Q3 2011;July 2011;July 9,2011
2011;Q3 2011;July 2011;July 10,2011
2011;Q3 2011;July 2011;July 11,2011
2011;Q3 2011;July 2011;July 12,2011
2011;Q3 2011;July 2011;July 13,2011
2011;Q3 2011;July 2011;July 14,2011
2011;Q3 2011;July 2011;July 15,2011
2011;Q3 2011;July 2011;July 16,2011
2011;Q3 2011;July 2011;July 17,2011
2011;Q3 2011;July 2011;July 18,2011
2011;Q3 2011;July 2011;July 19,2011
2011;Q3 2011;July 2011;July 20,2011
2011;Q3 2011;July 2011;July 21,2011
2011;Q3 2011;July 2011;July 22,2011
2011;Q3 2011;July 2011;July 23,2011
2011;Q3 2011;July 2011;July 24,2011
2011;Q3 2011;July 2011;July 25,2011
2011;Q3 2011;July 2011;July 26,2011
2011;Q3 2011;July 2011;July 27,2011
2011;Q3 2011;July 2011;July 28,2011
2011;Q3 2011;July 2011;July 29,2011
2011;Q3 2011;July 2011;July 30,2011
2011;Q3 2011;July 2011;July 31,2011
2011;Q3 2011;August 2011;August 1,2011
2011;Q3 2011;August 2011;August 2,2011
2011;Q3 2011;August 2011;August 3,2011
2011;Q3 2011;August 2011;August 4,2011
2011;Q3 2011;August 2011;August 5,2011
2011;Q3 2011;August 2011;August 6,2011
2011;Q3 2011;August 2011;August 7,2011
2011;Q3 2011;August 2011;August 8,2011
2011;Q3 2011;August 2011;August 9,2011
2011;Q3 2011;August 2011;August 10,2011
2011;Q3 2011;August 2011;August 11,2011
2011;Q3 2011;August 2011;August 12,2011
2011;Q3 2011;August 2011;August 13,2011
2011;Q3 2011;August 2011;August 14,2011
2011;Q3 2011;August 2011;August 15,2011
2011;Q3 2011;August 2011;August 16,2011
2011;Q3 2011;August 2011;August 17,2011
2011;Q3 2011;August 2011;August 18,2011
2011;Q3 2011;August 2011;August 19,2011
2011;Q3 2011;August 2011;August 20,2011
2011;Q3 2011;August 2011;August 21,2011
2011;Q3 2011;August 2011;August 22,2011
2011;Q3 2011;August 2011;August 23,2011
2011;Q3 2011;August 2011;August 24,2011
2011;Q3 2011;August 2011;August 25,2011
2011;Q3 2011;August 2011;August 26,2011
2011;Q3 2011;August 2011;August 27,2011
2011;Q3 2011;August 2011;August 28,2011
2011;Q3 2011;August 2011;August 29,2011
2011;Q3 2011;August 2011;August 30,2011
2011;Q3 2011;August 2011;August 31,2011
2011;Q3 2011;September 2011;September 1,2011
2011;Q3 2011;September 2011;September 2,2011
2011;Q3 2011;September 2011;September 3,2011
2011;Q3 2011;September 2011;September 4,2011
2011;Q3 2011;September 2011;September 5,2011
2011;Q3 2011;September 2011;September 6,2011
2011;Q3 2011;September 2011;September 7,2011
2011;Q3 2011;September 2011;September 8,2011
2011;Q3 2011;September 2011;September 9,2011
2011;Q3 2011;September 2011;September 10,2011
2011;Q3 2011;September 2011;September 11,2011
2011;Q3 2011;September 2011;September 12,2011
2011;Q3 2011;September 2011;September 13,2011
2011;Q3 2011;September 2011;September 14,2011
2011;Q3 2011;September 2011;September 15,2011
2011;Q3 2011;September 2011;September 16,2011
2011;Q3 2011;September 2011;September 17,2011
2011;Q3 2011;September 2011;September 18,2011
2011;Q3 2011;September 2011;September 19,2011
2011;Q3 2011;September 2011;September 20,2011
2011;Q3 2011;September 2011;September 21,2011
2011;Q3 2011;September 2011;September 22,2011
2011;Q3 2011;September 2011;September 23,2011
2011;Q3 2011;September 2011;September 24,2011
2011;Q3 2011;September 2011;September 25,2011
2011;Q3 2011;September 2011;September 26,2011
2011;Q3 2011;September 2011;September 27,2011
2011;Q3 2011;September 2011;September 28,2011
2011;Q3 2011;September 2011;September 29,2011
2011;Q3 2011;September 2011;September 30,2011
2011;Q4 2011;October 2011;October 1,2011
2011;Q4 2011;October 2011;October 2,2011
2011;Q4 2011;October 2011;October 3,2011
2011;Q4 2011;October 2011;October 4,2011
2011;Q4 2011;October 2011;October 5,2011
2011;Q4 2011;October 2011;October 6,2011
2011;Q4 2011;October 2011;October 7,2011
2011;Q4 2011;October 2011;October 8,2011
2011;Q4 2011;October 2011;October 9,2011
2011;Q4 2011;October 2011;October 10,2011
2011;Q4 2011;October 2011;October 11,2011
2011;Q4 2011;October 2011;October 12,2011
2011;Q4 2011;October 2011;October 13,2011
2011;Q4 2011;October 2011;October 14,2011
2011;Q4 2011;October 2011;October 15,2011
2011;Q4 2011;October 2011;October 16,2011
2011;Q4 2011;October 2011;October 17,2011
2011;Q4 2011;October 2011;October 18,2011
2011;Q4 2011;October 2011;October 19,2011
2011;Q4 2011;October 2011;October 20,2011
2011;Q4 2011;October 2011;October 21,2011
2011;Q4 2011;October 2011;October 22,2011
2011;Q4 2011;October 2011;October 23,2011
2011;Q4 2011;October 2011;October 24,2011
2011;Q4 2011;October 2011;October 25,2011
2011;Q4 2011;October 2011;October 26,2011
2011;Q4 2011;October 2011;October 27,2011
2011;Q4 2011;October 2011;October 28,2011
2011;Q4 2011;October 2011;October 29,2011
2011;Q4 2011;October 2011;October 30,2011
2011;Q4 2011;October 2011;October 31,2011
2011;Q4 2011;November 2011;November 1,2011
2011;Q4 2011;November 2011;November 2,2011
2011;Q4 2011;November 2011;November 3,2011
2011;Q4 2011;November 2011;November 4,2011
2011;Q4 2011;November 2011;November 5,2011
2011;Q4 2011;November 2011;November 6,2011
2011;Q4 2011;November 2011;November 7,2011
2011;Q4 2011;November 2011;November 8,2011
2011;Q4 2011;November 2011;November 9,2011
2011;Q4 2011;November 2011;November 10,2011
2011;Q4 2011;November 2011;November 11,2011
2011;Q4 2011;November 2011;November 12,2011
2011;Q4 2011;November 2011;November 13,2011
2011;Q4 2011;November 2011;November 14,2011
2011;Q4 2011;November 2011;November 15,2011
2011;Q4 2011;November 2011;November 16,2011
2011;Q4 2011;November 2011;November 17,2011
2011;Q4 2011;November 2011;November 18,2011
2011;Q4 2011;November 2011;November 19,2011
2011;Q4 2011;November 2011;November 20,2011
2011;Q4 2011;November 2011;November 21,2011
2011;Q4 2011;November 2011;November 22,2011
2011;Q4 2011;November 2011;November 23,2011
2011;Q4 2011;November 2011;November 24,2011
2011;Q4 2011;November 2011;November 25,2011
2011;Q4 2011;November 2011;November 26,2011
2011;Q4 2011;November 2011;November 27,2011
2011;Q4 2011;November 2011;November 28,2011
2011;Q4 2011;November 2011;November 29,2011
2011;Q4 2011;November 2011;November 30,2011
2011;Q4 2011;December 2011;December 1,2011
2011;Q4 2011;December 2011;December 2,2011
2011;Q4 2011;December 2011;December 3,2011
2011;Q4 2011;December 2011;December 4,2011
2011;Q4 2011;December 2011;December 5,2011
2011;Q4 2011;December 2011;December 6,2011
2011;Q4 2011;December 2011;December 7,2011
2011;Q4 2011;December 2011;December 8,2011
2011;Q4 2011;December 2011;December 9,2011
2011;Q4 2011;December 2011;December 10,2011
2011;Q4 2011;December 2011;December 11,2011
2011;Q4 2011;December 2011;December 12,2011
2011;Q4 2011;December 2011;December 13,2011
2011;Q4 2011;December 2011;December 14,2011
2011;Q4 2011;December 2011;December 15,2011
2011;Q4 2011;December 2011;December 16,2011
2011;Q4 2011;December 2011;December 17,2011
2011;Q4 2011;December 2011;December 18,2011
2011;Q4 2011;December 2011;December 19,2011
2011;Q4 2011;December 2011;December 20,2011
2011;Q4 2011;December 2011;December 21,2011
2011;Q4 2011;December 2011;December 22,2011
2011;Q4 2011;December 2011;December 23,2011
2011;Q4 2011;December 2011;December 24,2011
2011;Q4 2011;December 2011;December 25,2011
2011;Q4 2011;December 2011;December 26,2011
2011;Q4 2011;December 2011;December 27,2011
2011;Q4 2011;December 2011;December 28,2011
2011;Q4 2011;December 2011;December 29,2011
2011;Q4 2011;December 2011;December 30,2011
2011;Q4 2011;December 2011;December 31,2011
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>Time.csv</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/csv</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -8,7 +8,7 @@
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>cycler.data</string> </value>
<value> <string>olapy.data</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
......
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>OlaPy, Iodide</title>
<link rel="stylesheet" type="text/css" href="https://iodide.io/dist/iodide.pyodide-20180623.css">
</head>
<body>
<!--%% meta
{
"title": "Python",
"languages": {
"js": {
"pluginType": "language",
"languageId": "js",
"displayName": "Javascript",
"codeMirrorMode": "javascript",
"module": "window",
"evaluator": "eval",
"keybinding": "j",
"url": ""
},
"py": {
"languageId": "py",
"displayName": "python",
"codeMirrorMode": "python",
"keybinding": "p",
"url": "/pyodide_dev.js",
"module": "pyodide",
"evaluator": "runPython",
"pluginType": "language"
}
},
"lastExport": "2018-05-04T17:13:00.489Z"
}
%% plugin
{
"languageId": "py",
"displayName": "python",
"codeMirrorMode": "python",
"keybinding": "p",
"url": "/pyodide_dev.js",
"module": "pyodide",
"evaluator": "runPython",
"pluginType": "language"
}
%% js
pyodide.loadPackage('olapy')
%% code {"language":"py"}
import pandas as pd
import pyodide
from olapy.core.services.xmla_lib import get_response
xmla_request_params = {'cube': 'sales','request_type': 'DISCOVER_PROPERTIES','properties': {},
'restrictions': {'PropertyName': 'ServerName'},'mdx_query': None}
dataframes = {'Facts' : pd.read_csv(pyodide.open_url("olapy-data/cubes/sales/Facts.csv"),sep=';', encoding='utf8'),
'Product':pd.read_csv(pyodide.open_url("olapy-data/cubes/sales/Product.csv"),sep=';', encoding='utf8'),
'Geography':pd.read_csv(pyodide.open_url("olapy-data/cubes/sales/Geography.csv"),sep=';', encoding='utf8')
}
get_response(xmla_request_params=xmla_request_params,dataframes=dataframes, output='xmla') # or output='dict'
%% code {"language":"py"}
import pandas as pd
import pyodide
from olapy.core.services.xmla_lib import get_response
dataframes = {'Facts' : pd.read_csv(pyodide.open_url("olapy-data/cubes/sales/Facts.csv"),sep=';', encoding='utf8'),
'Product':pd.read_csv(pyodide.open_url("olapy-data/cubes/sales/Product.csv"),sep=';', encoding='utf8'),
'Geography':pd.read_csv(pyodide.open_url("olapy-data/cubes/sales/Geography.csv"),sep=';', encoding='utf8')
}
xmla_request_params = {'cube': 'sales',
'properties': {'AxisFormat': 'TupleFormat', 'Format': 'Multidimensional', 'Content': 'SchemaData',
'Catalog': 'sales',
'LocaleIdentifier': '1033', 'Timeout': '0'},
'mdx_query': """SELECT FROM [sales] WHERE ([Measures].[Amount]) CELL PROPERTIES VALUE,
FORMAT_STRING, LANGUAGE, BACK_COLOR, FORE_COLOR, FONT_FLAGS"""}
get_response(xmla_request_params=xmla_request_params,dataframes=dataframes, output='xmla') # or output='dict'
-->
<script id="jsmd" type="text/jsmd">
</script>
<div id='page'></div>
<script src="./iodide_master.js"></script>
<!--<script src='https://iodide.io/dist/iodide.pyodide-20180623.js'></script>-->
<!--<script src='https://iodide.io/dist/iodide.v0.6-alpha.js'></script>-->
</body>
</html>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="DTMLDocument" module="OFS.DTMLDocument"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>olapy.html</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
var Module=typeof pyodide._module!=="undefined"?pyodide._module:{};Module.checkABI(1);if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="olapy.data";var REMOTE_PACKAGE_BASE="olapy.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","bin",true,true);Module["FS_createPath"]("/","config",true,true);Module["FS_createPath"]("/","lib",true,true);Module["FS_createPath"]("/lib","python3.7",true,true);Module["FS_createPath"]("/lib/python3.7","site-packages",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","olapy-0.7.0-py3.7.egg-info",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","cubes_templates",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/cubes_templates","foodmart_with_config",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/cubes_templates","sales",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/cubes_templates","foodmart",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/cubes_templates","Black_Friday",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","tests",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","config",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","micro_bench",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/micro_bench","olapy_pandas_VS_olapy_pyspark",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","olapy",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/olapy","etl",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/olapy","core",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/olapy/core","services",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/olapy/core/services","spark",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/olapy/core","mdx",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/olapy/core/mdx","parser",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/olapy/core/mdx","tools",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/olapy/core/mdx","executor",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/olapy/core/mdx/executor","spark",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createPreloadedFile"](this.name,null,byteArray,true,true,function(){Module["removeRunDependency"]("fp "+that.name)},function(){if(that.audio){Module["removeRunDependency"]("fp "+that.name)}else{err("Preloading file "+that.name+" failed")}},false,true);this.requests[this.name]=null}};function processPackageData(arrayBuffer){Module.finishedDataFileDownloads++;assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer instanceof ArrayBuffer,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);var curr;var compressedData={data:null,cachedOffset:963237,cachedIndexes:[-1,-1],cachedChunks:[null,null],offsets:[0,1239,2425,3729,4455,5608,6697,7233,7326,7414,7494,7592,7680,7749,7824,7910,8265,8620,9009,9414,9805,10121,10476,10810,11177,11556,11943,12310,12641,12974,13731,14845,15257,15339,15639,15664,15993,16018,16353,16378,17073,17530,18271,18728,19468,20037,20714,21243,21922,22419,23128,23621,24361,24964,25638,26140,26641,27134,28447,29978,31370,32763,34505,36258,37998,39756,41485,43227,44979,46720,48467,50209,51965,53721,55466,57218,58971,60735,62483,64235,65993,67766,69507,71271,73021,74764,76508,78249,79998,81714,83462,85216,86981,88747,90489,92225,93947,95715,97474,99230,100988,102731,104485,106246,107964,109653,111331,112999,114691,116380,118081,119766,121435,123116,124791,126477,128174,129866,131555,133244,134941,136610,138301,140009,141694,143384,145092,146795,148501,150186,151867,153557,155242,156911,158562,160242,161934,163622,165313,167009,168700,170383,172044,173707,175404,177093,178792,180480,182147,183850,185557,187238,188932,190601,192292,193985,195659,197328,199011,200704,202377,204051,205723,207412,209082,210778,212441,214125,215798,217507,219199,220874,222556,224230,225921,227589,229273,230981,232681,234356,236030,237721,239405,241111,242816,244478,246157,247820,249489,251156,252844,254518,256218,257912,259586,261258,262924,264632,266315,267989,269649,271339,273001,274693,276386,277919,279372,280905,282430,283967,285424,286946,288502,289997,291440,292863,294505,296071,297632,299187,300694,302261,303760,305309,306774,308282,309716,311307,312911,314513,315927,317569,319133,320610,322138,323619,325038,326481,328089,329664,331095,332580,334121,335606,337113,338505,339881,341389,342859,344319,345626,347091,348538,350014,351486,353044,354640,356168,357634,359173,360777,362150,363651,365135,366686,368147,369640,371063,372572,374149,375707,376228,376590,376968,377353,377725,378035,378371,378724,379070,379458,379855,380253,380562,380920,381865,383238,384630,385916,387402,389040,390687,392323,393969,395585,397203,398865,400517,402162,403814,405445,407058,408693,410298,411943,413595,415254,416918,418547,420200,421846,423523,425181,426818,428465,430120,431754,433401,435030,436683,438328,440001,441660,443331,444983,446626,448289,449925,451562,453190,454818,456451,458103,459759,461434,463096,464728,466292,467888,469453,471016,472588,474166,475749,477343,478929,480506,482091,483681,485267,486834,488436,490029,491617,493207,494773,496373,497931,499545,501127,502705,504293,505910,507504,509077,510623,512188,513739,515319,516895,518443,52e4,521555,523136,524683,526265,527843,529419,531007,532585,534141,535702,537306,538890,540463,542045,543627,545226,546783,548357,549922,551489,553083,554662,556259,557844,559417,561012,562581,564168,565741,567345,568924,570469,572049,573597,575199,576767,578335,579920,581501,583080,584646,586222,587793,589381,590926,592529,594098,595670,597248,598840,600434,602011,603590,605183,606783,608373,609949,611534,613083,614670,616243,617813,619372,620966,622514,624101,625666,627273,628863,630445,632040,633610,635201,636762,638321,639882,640644,641404,642139,642913,643637,644343,645021,645721,646432,647150,647917,648670,649367,650048,650716,651826,653196,654640,656039,657459,658843,660229,661711,663139,664550,665870,667223,668758,670232,671703,673176,674594,676070,677445,678936,680272,681758,683125,684574,686082,687550,688951,690348,691804,693249,694620,696059,697445,698796,700212,701707,703188,704537,705928,707384,708829,710246,711585,712962,714368,715772,717170,718506,719821,721224,722610,724031,725457,726878,728351,729779,731149,732604,734089,735388,736782,738175,739647,741040,742447,743807,745179,746588,748097,749256,750560,751795,752987,753641,754021,755115,755591,756528,757502,758510,758894,759283,760019,760608,761046,761721,762459,763412,764016,764799,766055,767111,768280,769179,770113,770759,771288,771814,772359,772906,773503,774040,774574,775188,775707,776253,777217,777697,778214,778753,779251,779890,781045,781981,783007,783485,783906,784718,785988,787134,787564,788713,789796,791082,791937,792992,793669,794392,795144,795851,796814,797654,798857,800334,801553,802626,803856,804998,806297,807608,808830,810099,811211,812153,813122,814118,815066,815771,816792,817809,818700,819586,820370,821084,822055,822532,823341,824307,824927,825769,826848,827602,828383,829215,830013,830847,831608,832470,833318,834166,834901,835547,836439,836980,837863,838697,839519,840315,840912,841679,842599,843737,844588,845524,846512,847449,848216,849212,850257,851122,851819,852543,853133,853953,854460,855432,856203,857235,858075,858948,859846,861122,862269,863228,864179,864820,865438,866345,867182,867899,868741,869666,870312,871324,871971,872846,873505,874400,875384,875958,876778,877619,878430,878880,879736,880624,881529,882248,882859,883448,883990,884502,885144,885488,886874,887856,888501,889262,889930,890517,891372,892156,892978,893892,894773,895488,896296,897236,898445,899682,900774,902066,903544,904811,905881,906876,908108,909163,909939,910639,911932,912938,913978,914617,915448,916433,917092,918335,919116,920062,921057,921973,923103,924274,925496,926797,927867,928871,929979,931165,932508,933770,934960,936097,937233,938463,939620,940896,942133,943317,944464,945593,946654,947819,948879,950039,950564,951452,952600,953665,954788,955882,956992,958209,959258,959876,960882,961953,963025],sizes:[1239,1186,1304,726,1153,1089,536,93,88,80,98,88,69,75,86,355,355,389,405,391,316,355,334,367,379,387,367,331,333,757,1114,412,82,300,25,329,25,335,25,695,457,741,457,740,569,677,529,679,497,709,493,740,603,674,502,501,493,1313,1531,1392,1393,1742,1753,1740,1758,1729,1742,1752,1741,1747,1742,1756,1756,1745,1752,1753,1764,1748,1752,1758,1773,1741,1764,1750,1743,1744,1741,1749,1716,1748,1754,1765,1766,1742,1736,1722,1768,1759,1756,1758,1743,1754,1761,1718,1689,1678,1668,1692,1689,1701,1685,1669,1681,1675,1686,1697,1692,1689,1689,1697,1669,1691,1708,1685,1690,1708,1703,1706,1685,1681,1690,1685,1669,1651,1680,1692,1688,1691,1696,1691,1683,1661,1663,1697,1689,1699,1688,1667,1703,1707,1681,1694,1669,1691,1693,1674,1669,1683,1693,1673,1674,1672,1689,1670,1696,1663,1684,1673,1709,1692,1675,1682,1674,1691,1668,1684,1708,1700,1675,1674,1691,1684,1706,1705,1662,1679,1663,1669,1667,1688,1674,1700,1694,1674,1672,1666,1708,1683,1674,1660,1690,1662,1692,1693,1533,1453,1533,1525,1537,1457,1522,1556,1495,1443,1423,1642,1566,1561,1555,1507,1567,1499,1549,1465,1508,1434,1591,1604,1602,1414,1642,1564,1477,1528,1481,1419,1443,1608,1575,1431,1485,1541,1485,1507,1392,1376,1508,1470,1460,1307,1465,1447,1476,1472,1558,1596,1528,1466,1539,1604,1373,1501,1484,1551,1461,1493,1423,1509,1577,1558,521,362,378,385,372,310,336,353,346,388,397,398,309,358,945,1373,1392,1286,1486,1638,1647,1636,1646,1616,1618,1662,1652,1645,1652,1631,1613,1635,1605,1645,1652,1659,1664,1629,1653,1646,1677,1658,1637,1647,1655,1634,1647,1629,1653,1645,1673,1659,1671,1652,1643,1663,1636,1637,1628,1628,1633,1652,1656,1675,1662,1632,1564,1596,1565,1563,1572,1578,1583,1594,1586,1577,1585,1590,1586,1567,1602,1593,1588,1590,1566,1600,1558,1614,1582,1578,1588,1617,1594,1573,1546,1565,1551,1580,1576,1548,1557,1555,1581,1547,1582,1578,1576,1588,1578,1556,1561,1604,1584,1573,1582,1582,1599,1557,1574,1565,1567,1594,1579,1597,1585,1573,1595,1569,1587,1573,1604,1579,1545,1580,1548,1602,1568,1568,1585,1581,1579,1566,1576,1571,1588,1545,1603,1569,1572,1578,1592,1594,1577,1579,1593,1600,1590,1576,1585,1549,1587,1573,1570,1559,1594,1548,1587,1565,1607,1590,1582,1595,1570,1591,1561,1559,1561,762,760,735,774,724,706,678,700,711,718,767,753,697,681,668,1110,1370,1444,1399,1420,1384,1386,1482,1428,1411,1320,1353,1535,1474,1471,1473,1418,1476,1375,1491,1336,1486,1367,1449,1508,1468,1401,1397,1456,1445,1371,1439,1386,1351,1416,1495,1481,1349,1391,1456,1445,1417,1339,1377,1406,1404,1398,1336,1315,1403,1386,1421,1426,1421,1473,1428,1370,1455,1485,1299,1394,1393,1472,1393,1407,1360,1372,1409,1509,1159,1304,1235,1192,654,380,1094,476,937,974,1008,384,389,736,589,438,675,738,953,604,783,1256,1056,1169,899,934,646,529,526,545,547,597,537,534,614,519,546,964,480,517,539,498,639,1155,936,1026,478,421,812,1270,1146,430,1149,1083,1286,855,1055,677,723,752,707,963,840,1203,1477,1219,1073,1230,1142,1299,1311,1222,1269,1112,942,969,996,948,705,1021,1017,891,886,784,714,971,477,809,966,620,842,1079,754,781,832,798,834,761,862,848,848,735,646,892,541,883,834,822,796,597,767,920,1138,851,936,988,937,767,996,1045,865,697,724,590,820,507,972,771,1032,840,873,898,1276,1147,959,951,641,618,907,837,717,842,925,646,1012,647,875,659,895,984,574,820,841,811,450,856,888,905,719,611,589,542,512,642,344,1386,982,645,761,668,587,855,784,822,914,881,715,808,940,1209,1237,1092,1292,1478,1267,1070,995,1232,1055,776,700,1293,1006,1040,639,831,985,659,1243,781,946,995,916,1130,1171,1222,1301,1070,1004,1108,1186,1343,1262,1190,1137,1136,1230,1157,1276,1237,1184,1147,1129,1061,1165,1060,1160,525,888,1148,1065,1123,1094,1110,1217,1049,618,1006,1071,1072,212],successes:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]};compressedData.data=byteArray;assert(typeof Module.LZ4==="object","LZ4 not present - was your app build with -s LZ4=1 ?");Module.LZ4.loadPackage({metadata:metadata,compressedData:compressedData});Module["removeRunDependency"]("datafile_olapy.data")}Module["addRunDependency"]("datafile_olapy.data");if(!Module.preloadResults)Module.preloadResults={};Module.preloadResults[PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({files:[{filename:"/bin/etl",start:0,end:435,audio:0},{filename:"/bin/olapy",start:435,end:874,audio:0},{filename:"/config/olapy-config.yml",start:874,end:1708,audio:0},{filename:"/lib/python3.7/site-packages/olapy-0.7.0-py3.7.egg-info/PKG-INFO",start:1708,end:5661,audio:0},{filename:"/lib/python3.7/site-packages/olapy-0.7.0-py3.7.egg-info/entry_points.txt",start:5661,end:5735,audio:0},{filename:"/lib/python3.7/site-packages/olapy-0.7.0-py3.7.egg-info/top_level.txt",start:5735,end:5782,audio:0},{filename:"/lib/python3.7/site-packages/olapy-0.7.0-py3.7.egg-info/SOURCES.txt",start:5782,end:9315,audio:0},{filename:"/lib/python3.7/site-packages/olapy-0.7.0-py3.7.egg-info/requires.txt",start:9315,end:9505,audio:0},{filename:"/lib/python3.7/site-packages/olapy-0.7.0-py3.7.egg-info/dependency_links.txt",start:9505,end:9506,audio:0},{filename:"/lib/python3.7/site-packages/cubes_templates/postgres_sales_db_dump.sql",start:9506,end:60783,audio:0},{filename:"/lib/python3.7/site-packages/cubes_templates/cubes-config.yml",start:60783,end:62014,audio:0},{filename:"/lib/python3.7/site-packages/cubes_templates/web_cube_config3.yml",start:62014,end:63152,audio:0},{filename:"/lib/python3.7/site-packages/cubes_templates/Requirements.txt",start:63152,end:63567,audio:0},{filename:"/lib/python3.7/site-packages/cubes_templates/web_cube_config2.yml",start:63567,end:63877,audio:0},{filename:"/lib/python3.7/site-packages/cubes_templates/sales_sqlite",start:63877,end:117125,audio:0},{filename:"/lib/python3.7/site-packages/cubes_templates/__init__.py",start:117125,end:117125,audio:0},{filename:"/lib/python3.7/site-packages/cubes_templates/web_cube_config.yml",start:117125,end:117515,audio:0},{filename:"/lib/python3.7/site-packages/cubes_templates/foodmart_with_config/Warehouse.csv",start:117515,end:120026,audio:0},{filename:"/lib/python3.7/site-packages/cubes_templates/foodmart_with_config/Store.csv",start:120026,end:124601,audio:0},{filename:"/lib/python3.7/site-packages/cubes_templates/foodmart_with_config/food_facts.csv",start:124601,end:418025,audio:0},{filename:"/lib/python3.7/site-packages/cubes_templates/foodmart_with_config/Product.csv",start:418025,end:552504,audio:0},{filename:"/lib/python3.7/site-packages/cubes_templates/sales/Geography.csv",start:552504,end:552886,audio:0},{filename:"/lib/python3.7/site-packages/cubes_templates/sales/Facts.csv",start:552886,end:553278,audio:0},{filename:"/lib/python3.7/site-packages/cubes_templates/sales/Time.csv",start:553278,end:582501,audio:0},{filename:"/lib/python3.7/site-packages/cubes_templates/sales/Product.csv",start:582501,end:582660,audio:0},{filename:"/lib/python3.7/site-packages/cubes_templates/foodmart/Warehouse.csv",start:582660,end:585783,audio:0},{filename:"/lib/python3.7/site-packages/cubes_templates/foodmart/Store.csv",start:585783,end:591010,audio:0},{filename:"/lib/python3.7/site-packages/cubes_templates/foodmart/Facts.csv",start:591010,end:915489,audio:0},{filename:"/lib/python3.7/site-packages/cubes_templates/foodmart/Time.csv",start:915489,end:947132,audio:0},{filename:"/lib/python3.7/site-packages/cubes_templates/foodmart/Product.csv",start:947132,end:1087887,audio:0},{filename:"/lib/python3.7/site-packages/cubes_templates/Black_Friday/Geography.csv",start:1087887,end:1088269,audio:0},{filename:"/lib/python3.7/site-packages/cubes_templates/Black_Friday/Facts.csv",start:1088269,end:1089427,audio:0},{filename:"/lib/python3.7/site-packages/cubes_templates/Black_Friday/Time.csv",start:1089427,end:1089500,audio:0},{filename:"/lib/python3.7/site-packages/cubes_templates/Black_Friday/Product.csv",start:1089500,end:1089781,audio:0},{filename:"/lib/python3.7/site-packages/tests/test_xmla.py",start:1089781,end:1109314,audio:0},{filename:"/lib/python3.7/site-packages/tests/test_separated_xmla_xs0_responses.py",start:1109314,end:1115207,audio:0},{filename:"/lib/python3.7/site-packages/tests/queries.py",start:1115207,end:1124908,audio:0},{filename:"/lib/python3.7/site-packages/tests/test_separated_xmla_cell_data_responses.py",start:1124908,end:1125879,audio:0},{filename:"/lib/python3.7/site-packages/tests/test_separated_xmla_slicers_responses.py",start:1125879,end:1129978,audio:0},{filename:"/lib/python3.7/site-packages/tests/db_creation_utils.py",start:1129978,end:1140230,audio:0},{filename:"/lib/python3.7/site-packages/tests/test_single_file_cube.py",start:1140230,end:1140964,audio:0},{filename:"/lib/python3.7/site-packages/tests/xs0_responses.py",start:1140964,end:1164218,audio:0},{filename:"/lib/python3.7/site-packages/tests/test_databases.py",start:1164218,end:1175548,audio:0},{filename:"/lib/python3.7/site-packages/tests/test_xmla_lib.py",start:1175548,end:1177233,audio:0},{filename:"/lib/python3.7/site-packages/tests/__init__.py",start:1177233,end:1177233,audio:0},{filename:"/lib/python3.7/site-packages/tests/test_custom_cube.py",start:1177233,end:1177604,audio:0},{filename:"/lib/python3.7/site-packages/tests/conftest.py",start:1177604,end:1180387,audio:0},{filename:"/lib/python3.7/site-packages/tests/test_parser.py",start:1180387,end:1187238,audio:0},{filename:"/lib/python3.7/site-packages/config/olapy-config.yml",start:1187238,end:1188072,audio:0},{filename:"/lib/python3.7/site-packages/config/__init__.py",start:1188072,end:1188072,audio:0},{filename:"/lib/python3.7/site-packages/micro_bench/cube_generator.py",start:1188072,end:1190898,audio:0},{filename:"/lib/python3.7/site-packages/micro_bench/queries_4_db.py",start:1190898,end:1194656,audio:0},{filename:"/lib/python3.7/site-packages/micro_bench/bench_databases.py",start:1194656,end:1198962,audio:0},{filename:"/lib/python3.7/site-packages/micro_bench/csv_olapy_bench_vs_other_olap_servers.py",start:1198962,end:1219415,audio:0},{filename:"/lib/python3.7/site-packages/micro_bench/micro_bench.py",start:1219415,end:1220273,audio:0},{filename:"/lib/python3.7/site-packages/micro_bench/__init__.py",start:1220273,end:1220273,audio:0},{filename:"/lib/python3.7/site-packages/micro_bench/olapy_pandas_VS_olapy_pyspark/mdx_queries.py",start:1220273,end:1221383,audio:0},{filename:"/lib/python3.7/site-packages/micro_bench/olapy_pandas_VS_olapy_pyspark/benchmark_tools.py",start:1221383,end:1226424,audio:0},{filename:"/lib/python3.7/site-packages/micro_bench/olapy_pandas_VS_olapy_pyspark/benchmark.py",start:1226424,end:1227982,audio:0},{filename:"/lib/python3.7/site-packages/micro_bench/olapy_pandas_VS_olapy_pyspark/__init__.py",start:1227982,end:1227982,audio:0},{filename:"/lib/python3.7/site-packages/olapy/cli.py",start:1227982,end:1229149,audio:0},{filename:"/lib/python3.7/site-packages/olapy/__init__.py",start:1229149,end:1229149,audio:0},{filename:"/lib/python3.7/site-packages/olapy/__main__.py",start:1229149,end:1229591,audio:0},{filename:"/lib/python3.7/site-packages/olapy/etl/etl.py",start:1229591,end:1234792,audio:0},{filename:"/lib/python3.7/site-packages/olapy/etl/__init__.py",start:1234792,end:1234792,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/__init__.py",start:1234792,end:1234792,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/services/xmla_execute_request_handler.py",start:1234792,end:1274075,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/services/xmla_discover_xsds.py",start:1274075,end:1317494,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/services/dict_execute_request_handler.py",start:1317494,end:1358110,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/services/xmla_discover_request_handler.py",start:1358110,end:1406577,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/services/models.py",start:1406577,end:1410504,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/services/xmla_discover_request_utils.py",start:1410504,end:1425555,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/services/dict_discover_request_handler.py",start:1425555,end:1454904,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/services/xmla_lib.py",start:1454904,end:1460802,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/services/xmla.py",start:1460802,end:1472338,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/services/__init__.py",start:1472338,end:1472851,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/services/request_properties_models.py",start:1472851,end:1473713,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/services/xmla_execute_xsds.py",start:1473713,end:1479313,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/services/spark/xmla_execute_request_handler.py",start:1479313,end:1493605,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/services/spark/xmla_discover_request_handler.py",start:1493605,end:1498615,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/services/spark/__init__.py",start:1498615,end:1498615,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/mdx/__init__.py",start:1498615,end:1498615,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/mdx/parser/__init__.py",start:1498615,end:1498615,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/mdx/parser/parse.py",start:1498615,end:1506235,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/mdx/tools/olapy_config_file_parser.py",start:1506235,end:1507710,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/mdx/tools/connection.py",start:1507710,end:1511160,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/mdx/tools/__init__.py",start:1511160,end:1511160,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/mdx/tools/config_file_parser.py",start:1511160,end:1517193,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/mdx/executor/cube_loader_db.py",start:1517193,end:1520091,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/mdx/executor/utils.py",start:1520091,end:1523510,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/mdx/executor/cube_loader_custom.py",start:1523510,end:1529582,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/mdx/executor/lite_execute.py",start:1529582,end:1533578,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/mdx/executor/cube_loader.py",start:1533578,end:1535122,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/mdx/executor/execute.py",start:1535122,end:1563878,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/mdx/executor/__init__.py",start:1563878,end:1564622,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/mdx/executor/spark/cube_loader.py",start:1564622,end:1566620,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/mdx/executor/spark/execute.py",start:1566620,end:1579343,audio:0},{filename:"/lib/python3.7/site-packages/olapy/core/mdx/executor/spark/__init__.py",start:1579343,end:1579343,audio:0}],remote_package_size:967333,package_uuid:"782f6794-10c0-4499-848b-0fee05f05f84"})})();
\ No newline at end of file
......@@ -8,7 +8,7 @@
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>matplotlib.js</string> </value>
<value> <string>olapy.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
......
{"dependencies": {"pytz": [], "python-dateutil": [], "pyparsing": [], "numpy": [], "matplotlib": ["cycler", "kiwisolver", "numpy", "pyparsing", "python-dateutil", "pytz"], "cycler": [], "kiwisolver": [], "pandas": ["numpy", "python-dateutil", "pytz"]}}
\ No newline at end of file
{"dependencies": {"pandas": ["numpy", "python-dateutil", "pytz"], "networkx": ["decorator", "setuptools", "matplotlib", "numpy"], "regex": [], "matplotlib": ["cycler", "kiwisolver", "numpy", "pyparsing", "python-dateutil", "pytz"], "scipy": ["numpy"], "pluggy": [], "decorator": [], "nose": ["setuptools"], "setuptools": ["pyparsing"], "kiwisolver": [], "pyparsing": [], "python-dateutil": [], "scikit-learn": ["numpy", "scipy", "joblib"], "more-itertools": [], "attrs": [], "py": [], "cycler": [], "pytz": [], "joblib": [], "pytest": ["atomicwrites", "attrs", "more-itertools", "pluggy", "py", "setuptools"], "atomicwrites": [], "xmlwitch": [], "numpy": [], "olapy": ["pandas", "xmlwitch", "attrs", "regex"], "test": []}, "import_name_to_package_name": {"pandas": "pandas", "networkx": "networkx", "networkx.algorithms": "networkx", "networkx.algorithms.approximation": "networkx", "networkx.algorithms.assortativity": "networkx", "networkx.algorithms.bipartite": "networkx", "networkx.algorithms.centrality": "networkx", "networkx.algorithms.chordal": "networkx", "networkx.algorithms.coloring": "networkx", "networkx.algorithms.community": "networkx", "networkx.algorithms.components": "networkx", "networkx.algorithms.connectivity": "networkx", "networkx.algorithms.flow": "networkx", "networkx.algorithms.isomorphism": "networkx", "networkx.algorithms.link_analysis": "networkx", "networkx.algorithms.node_classification": "networkx", "networkx.algorithms.operators": "networkx", "networkx.algorithms.shortest_paths": "networkx", "networkx.algorithms.traversal": "networkx", "networkx.algorithms.tree": "networkx", "networkx.classes": "networkx", "networkx.drawing": "networkx", "networkx.generators": "networkx", "networkx.linalg": "networkx", "networkx.readwrite": "networkx", "networkx.readwrite.json_graph": "networkx", "networkx.utils": "networkx", "regex": "regex", "matplotlib": "matplotlib", "mpl_toolkits": "matplotlib", "scipy": "scipy", "scipy.cluster": "scipy", "scipy.constants": "scipy", "scipy.fftpack": "scipy", "scipy.odr": "scipy", "scipy.sparse": "scipy", "scipy.interpolate": "scipy", "scipy.integrate": "scipy", "scipy.linalg": "scipy", "scipy.misc": "scipy", "scipy.ndimage": "scipy", "scipy.spatial": "scipy", "scipy.special": "scipy", "pluggy": "pluggy", "decorator": "decorator", "nose": "nose", "setuptools": "setuptools", "easy_install": "setuptools", "pkg_resources": "setuptools", "kiwisolver": "kiwisolver", "pyparsing": "pyparsing", "dateutil": "python-dateutil", "sklearn": "scikit-learn", "sklearn.calibration": "scikit-learn", "sklearn.cluster": "scikit-learn", "sklearn.compose": "scikit-learn", "sklearn.covariance": "scikit-learn", "sklearn.cross_decomposition": "scikit-learn", "sklearn.datasets": "scikit-learn", "sklearn.decomposition": "scikit-learn", "sklearn.discriminant_analysis": "scikit-learn", "sklearn.dummy": "scikit-learn", "sklearn.ensemble": "scikit-learn", "sklearn.exceptions": "scikit-learn", "sklearn.externals": "scikit-learn", "sklearn.feature_extraction": "scikit-learn", "sklearn.feature_selection": "scikit-learn", "sklearn.gaussian_process": "scikit-learn", "sklearn.impute": "scikit-learn", "sklearn.isotonic": "scikit-learn", "sklearn.kernel_approximation": "scikit-learn", "sklearn.kernel_ridge": "scikit-learn", "sklearn.linear_model": "scikit-learn", "sklearn.manifold": "scikit-learn", "sklearn.metrics": "scikit-learn", "sklearn.mixture": "scikit-learn", "sklearn.model_selection": "scikit-learn", "sklearn.multiclass": "scikit-learn", "sklearn.multioutput": "scikit-learn", "sklearn.naive_bayes": "scikit-learn", "sklearn.neighbors": "scikit-learn", "sklearn.neural_network": "scikit-learn", "sklearn.pipeline": "scikit-learn", "sklearn.preprocessing": "scikit-learn", "sklearn.random_projection": "scikit-learn", "sklearn.semi_supervised": "scikit-learn", "sklearn.svm": "scikit-learn", "sklearn.tree": "scikit-learn", "sklearn.utils": "scikit-learn", "more_itertools": "more-itertools", "attr": "attrs", "py": "py", "py.code": "py", "cycler": "cycler", "pytz": "pytz", "joblib": "joblib", "pytest": "pytest", "atomicwrites": "atomicwrites", "xmlwitch": "xmlwitch", "numpy": "numpy", "olapy": "olapy"}}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -8,7 +8,7 @@
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>xlrd.data</string> </value>
<value> <string>py.data</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
......
var Module=typeof pyodide._module!=="undefined"?pyodide._module:{};Module.checkABI(1);if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="py.data";var REMOTE_PACKAGE_BASE="py.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","lib",true,true);Module["FS_createPath"]("/lib","python3.7",true,true);Module["FS_createPath"]("/lib/python3.7","site-packages",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","py-1.5.4-py3.7.egg-info",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","py",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/py","_path",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/py","_code",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/py","_vendored_packages",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/py","_process",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/py","_log",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/py","_io",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createPreloadedFile"](this.name,null,byteArray,true,true,function(){Module["removeRunDependency"]("fp "+that.name)},function(){if(that.audio){Module["removeRunDependency"]("fp "+that.name)}else{err("Preloading file "+that.name+" failed")}},false,true);this.requests[this.name]=null}};function processPackageData(arrayBuffer){Module.finishedDataFileDownloads++;assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer instanceof ArrayBuffer,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);var curr;var compressedData={data:null,cachedOffset:153464,cachedIndexes:[-1,-1],cachedChunks:[null,null],offsets:[0,1299,2223,3030,4153,5409,6796,8029,9158,10504,11864,12756,13644,14718,15880,16993,18186,19378,20518,21596,22725,23837,24975,26028,26988,28067,29273,30374,31584,32605,33885,34964,35941,37274,38292,39339,40517,41761,42833,44081,45272,46454,47745,49019,50172,51222,52300,53647,54903,56136,57290,58459,59606,60793,61945,63157,64362,65689,66722,67857,68651,69800,71088,72304,73561,74758,75766,77010,78018,79474,80670,81907,83248,84513,85664,86791,87932,89213,90513,91823,93179,94416,95557,96724,97948,99198,100325,101429,102557,103757,104893,106018,106969,107914,109346,110517,111303,112154,112942,113888,114922,116020,117402,118657,119800,120728,121515,122378,123594,124792,125804,126971,127962,128954,130278,131327,132519,133753,135023,136150,137249,138462,139566,140799,141819,142927,144070,145462,146527,147803,148949,150008,150914,152320],sizes:[1299,924,807,1123,1256,1387,1233,1129,1346,1360,892,888,1074,1162,1113,1193,1192,1140,1078,1129,1112,1138,1053,960,1079,1206,1101,1210,1021,1280,1079,977,1333,1018,1047,1178,1244,1072,1248,1191,1182,1291,1274,1153,1050,1078,1347,1256,1233,1154,1169,1147,1187,1152,1212,1205,1327,1033,1135,794,1149,1288,1216,1257,1197,1008,1244,1008,1456,1196,1237,1341,1265,1151,1127,1141,1281,1300,1310,1356,1237,1141,1167,1224,1250,1127,1104,1128,1200,1136,1125,951,945,1432,1171,786,851,788,946,1034,1098,1382,1255,1143,928,787,863,1216,1198,1012,1167,991,992,1324,1049,1192,1234,1270,1127,1099,1213,1104,1233,1020,1108,1143,1392,1065,1276,1146,1059,906,1406,1144],successes:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]};compressedData.data=byteArray;assert(typeof Module.LZ4==="object","LZ4 not present - was your app build with -s LZ4=1 ?");Module.LZ4.loadPackage({metadata:metadata,compressedData:compressedData});Module["removeRunDependency"]("datafile_py.data")}Module["addRunDependency"]("datafile_py.data");if(!Module.preloadResults)Module.preloadResults={};Module.preloadResults[PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({files:[{filename:"/lib/python3.7/site-packages/py-1.5.4-py3.7.egg-info/PKG-INFO",start:0,end:3072,audio:0},{filename:"/lib/python3.7/site-packages/py-1.5.4-py3.7.egg-info/not-zip-safe",start:3072,end:3073,audio:0},{filename:"/lib/python3.7/site-packages/py-1.5.4-py3.7.egg-info/top_level.txt",start:3073,end:3076,audio:0},{filename:"/lib/python3.7/site-packages/py-1.5.4-py3.7.egg-info/SOURCES.txt",start:3076,end:6631,audio:0},{filename:"/lib/python3.7/site-packages/py-1.5.4-py3.7.egg-info/dependency_links.txt",start:6631,end:6632,audio:0},{filename:"/lib/python3.7/site-packages/py/_error.py",start:6632,end:9549,audio:0},{filename:"/lib/python3.7/site-packages/py/_xmlgen.py",start:9549,end:17913,audio:0},{filename:"/lib/python3.7/site-packages/py/test.py",start:17913,end:18135,audio:0},{filename:"/lib/python3.7/site-packages/py/__metainfo.py",start:18135,end:18190,audio:0},{filename:"/lib/python3.7/site-packages/py/_std.py",start:18190,end:18821,audio:0},{filename:"/lib/python3.7/site-packages/py/__init__.py",start:18821,end:24843,audio:0},{filename:"/lib/python3.7/site-packages/py/_version.py",start:24843,end:24959,audio:0},{filename:"/lib/python3.7/site-packages/py/_builtin.py",start:24959,end:31480,audio:0},{filename:"/lib/python3.7/site-packages/py/_path/local.py",start:31480,end:66806,audio:0},{filename:"/lib/python3.7/site-packages/py/_path/common.py",start:66806,end:81432,audio:0},{filename:"/lib/python3.7/site-packages/py/_path/cacheutil.py",start:81432,end:84765,audio:0},{filename:"/lib/python3.7/site-packages/py/_path/__init__.py",start:84765,end:84797,audio:0},{filename:"/lib/python3.7/site-packages/py/_path/svnwc.py",start:84797,end:128622,audio:0},{filename:"/lib/python3.7/site-packages/py/_path/svnurl.py",start:128622,end:143337,audio:0},{filename:"/lib/python3.7/site-packages/py/_code/assertion.py",start:143337,end:146511,audio:0},{filename:"/lib/python3.7/site-packages/py/_code/_py2traceback.py",start:146511,end:149276,audio:0},{filename:"/lib/python3.7/site-packages/py/_code/source.py",start:149276,end:163326,audio:0},{filename:"/lib/python3.7/site-packages/py/_code/code.py",start:163326,end:190818,audio:0},{filename:"/lib/python3.7/site-packages/py/_code/__init__.py",start:190818,end:190864,audio:0},{filename:"/lib/python3.7/site-packages/py/_code/_assertionold.py",start:190864,end:208733,audio:0},{filename:"/lib/python3.7/site-packages/py/_code/_assertionnew.py",start:208733,end:220183,audio:0},{filename:"/lib/python3.7/site-packages/py/_vendored_packages/__init__.py",start:220183,end:220183,audio:0},{filename:"/lib/python3.7/site-packages/py/_vendored_packages/apipkg.py",start:220183,end:226603,audio:0},{filename:"/lib/python3.7/site-packages/py/_vendored_packages/iniconfig.py",start:226603,end:231811,audio:0},{filename:"/lib/python3.7/site-packages/py/_process/killproc.py",start:231811,end:232459,audio:0},{filename:"/lib/python3.7/site-packages/py/_process/forkedfunc.py",start:232459,end:236151,audio:0},{filename:"/lib/python3.7/site-packages/py/_process/cmdexec.py",start:236151,end:237965,audio:0},{filename:"/lib/python3.7/site-packages/py/_process/__init__.py",start:237965,end:238005,audio:0},{filename:"/lib/python3.7/site-packages/py/_log/__init__.py",start:238005,end:238079,audio:0},{filename:"/lib/python3.7/site-packages/py/_log/warning.py",start:238079,end:240644,audio:0},{filename:"/lib/python3.7/site-packages/py/_log/log.py",start:240644,end:246647,audio:0},{filename:"/lib/python3.7/site-packages/py/_io/capture.py",start:246647,end:258287,audio:0},{filename:"/lib/python3.7/site-packages/py/_io/terminalwriter.py",start:258287,end:271773,audio:0},{filename:"/lib/python3.7/site-packages/py/_io/__init__.py",start:271773,end:271802,audio:0},{filename:"/lib/python3.7/site-packages/py/_io/saferepr.py",start:271802,end:274285,audio:0}],remote_package_size:157560,package_uuid:"98f6a0e2-14e6-48a5-89c8-5a6ae8268172"})})();
\ No newline at end of file
......@@ -8,7 +8,7 @@
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>xlrd.js</string> </value>
<value> <string>py.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -6,12 +6,6 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>pyodide.asm.data</string> </value>
......@@ -26,7 +20,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Pyodide ASM Data</string> </value>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -20,7 +20,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Pyodide ASM</string> </value>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -2,22 +2,22 @@
* The main bootstrap script for loading pyodide.
*/
// Regexp for validating package name and URI
var package_name_regexp = '[a-z0-9_][a-z0-9_\-]*'
var package_uri_regexp =
new RegExp('^https?://.*?(' + package_name_regexp + ').js$', 'i');
var package_name_regexp = new RegExp('^' + package_name_regexp + '$', 'i');
var languagePluginLoader = new Promise((resolve, reject) => {
// This is filled in by the Makefile to be either a local file or the
// deployed location. TODO: This should be done in a less hacky
// way.
const baseURL = '';
var baseURL = window.languagePluginUrl || 'https://iodide.io/pyodide-demo/';
baseURL = baseURL.substr(0, baseURL.lastIndexOf('/')) + '/';
////////////////////////////////////////////////////////////
// Package loading
var packages = undefined;
let loadedPackages = new Array();
var loadPackagePromise = new Promise((resolve) => resolve());
// Regexp for validating package name and URI
var package_name_regexp = '[a-z0-9_][a-z0-9_\-]*'
var package_uri_regexp =
new RegExp('^https?://.*?(' + package_name_regexp + ').js$', 'i');
var package_name_regexp = new RegExp('^' + package_name_regexp + '$', 'i');
let _uri_to_package_name = (package_uri) => {
// Generate a unique package name from URI
......@@ -33,10 +33,54 @@ var languagePluginLoader = new Promise((resolve, reject) => {
}
};
let loadPackage = (names) => {
// clang-format off
let preloadWasm = () => {
// On Chrome, we have to instantiate wasm asynchronously. Since that
// can't be done synchronously within the call to dlopen, we instantiate
// every .so that comes our way up front, caching it in the
// `preloadedWasm` dictionary.
let promise = new Promise((resolve) => resolve());
let FS = pyodide._module.FS;
function recurseDir(rootpath) {
let dirs;
try {
dirs = FS.readdir(rootpath);
} catch {
return;
}
for (entry of dirs) {
if (entry.startsWith('.')) {
continue;
}
const path = rootpath + entry;
if (entry.endsWith('.so')) {
if (Module['preloadedWasm'][path] === undefined) {
promise = promise
.then(() => Module['loadWebAssemblyModule'](
FS.readFile(path), {loadAsync: true}))
.then((module) => {
Module['preloadedWasm'][path] = module;
});
}
} else if (FS.isDir(FS.lookupPath(path).node.mode)) {
recurseDir(path + '/');
}
}
}
recurseDir('/');
return promise;
}
// clang-format on
let _loadPackage = (names, messageCallback) => {
// DFS to find all dependencies of the requested packages
let packages = window.pyodide.packages.dependencies;
let queue = new Array(names);
let packages = window.pyodide._module.packages.dependencies;
let loadedPackages = window.pyodide.loadedPackages;
let queue = [].concat(names || []);
let toLoad = new Array();
while (queue.length) {
let package_uri = queue.pop();
......@@ -44,21 +88,29 @@ var languagePluginLoader = new Promise((resolve, reject) => {
const package = _uri_to_package_name(package_uri);
if (package == null) {
throw new Error(`Invalid package name or URI '${package_uri}'`);
console.error(`Invalid package name or URI '${package_uri}'`);
return;
} else if (package == package_uri) {
package_uri = 'default channel';
}
console.log(`Loading ${package} from ${package_uri}`);
if (package in loadedPackages) {
if (package_uri != loadedPackages[package]) {
throw new Error(
`URI mismatch, attempting to load package ` +
`${package} from ${package_uri} while it is already ` +
`loaded from ${loadedPackages[package]}!`);
console.error(`URI mismatch, attempting to load package ` +
`${package} from ${package_uri} while it is already ` +
`loaded from ${loadedPackages[package]}!`);
return;
}
} else if (package in toLoad) {
if (package_uri != toLoad[package]) {
console.error(`URI mismatch, attempting to load package ` +
`${package} from ${package_uri} while it is already ` +
`being loaded from ${toLoad[package]}!`);
return;
}
} else {
console.log(`Loading ${package} from ${package_uri}`);
toLoad[package] = package_uri;
if (packages.hasOwnProperty(package)) {
packages[package].forEach((subpackage) => {
......@@ -67,27 +119,66 @@ var languagePluginLoader = new Promise((resolve, reject) => {
}
});
} else {
console.log(`Unknown package '${package}'`);
console.error(`Unknown package '${package}'`);
}
}
}
window.pyodide._module.locateFile = (path) => {
// handle packages loaded from custom URLs
let package = path.replace(/\.data$/, "");
if (package in toLoad) {
let package_uri = toLoad[package];
if (package_uri != 'default channel') {
return package_uri.replace(/\.js$/, ".data");
};
};
return baseURL + path;
};
let promise = new Promise((resolve, reject) => {
if (Object.keys(toLoad).length === 0) {
resolve('No new packages to load');
return;
}
const packageList = Array.from(Object.keys(toLoad)).join(', ');
if (messageCallback !== undefined) {
messageCallback(`Loading ${packageList}`);
}
pyodide.monitorRunDependencies = (n) => {
if (n === 0) {
// monitorRunDependencies is called at the beginning and the end of each
// package being loaded. We know we are done when it has been called
// exactly "toLoad * 2" times.
var packageCounter = Object.keys(toLoad).length * 2;
window.pyodide._module.monitorRunDependencies = () => {
packageCounter--;
if (packageCounter === 0) {
for (let package in toLoad) {
loadedPackages[package] = toLoad[package];
window.pyodide.loadedPackages[package] = toLoad[package];
}
delete window.pyodide._module.monitorRunDependencies;
window.removeEventListener('error', windowErrorHandler);
if (!isFirefox) {
preloadWasm().then(() => {resolve(`Loaded ${packageList}`)});
} else {
resolve(`Loaded ${packageList}`);
}
delete pyodide.monitorRunDependencies;
const packageList = Array.from(Object.keys(toLoad)).join(', ');
resolve(`Loaded ${packageList}`);
}
};
// Add a handler for any exceptions that are thrown in the process of
// loading a package
var windowErrorHandler = (err) => {
delete window.pyodide._module.monitorRunDependencies;
window.removeEventListener('error', windowErrorHandler);
// Set up a new Promise chain, since this one failed
loadPackagePromise = new Promise((resolve) => resolve());
reject(err.message);
};
window.addEventListener('error', windowErrorHandler);
for (let package in toLoad) {
let script = document.createElement('script');
let package_uri = toLoad[package];
......@@ -96,7 +187,19 @@ var languagePluginLoader = new Promise((resolve, reject) => {
} else {
script.src = `${package_uri}`;
}
script.onerror = (e) => { reject(e); };
script.onerror = (e) => {
// If the package_uri fails to load, call monitorRunDependencies twice
// (so packageCounter will still hit 0 and finish loading), and remove
// the package from toLoad so we don't mark it as loaded.
console.error(`Couldn't load package from URL ${script.src}`)
let index = toLoad.indexOf(package);
if (index !== -1) {
toLoad.splice(index, 1);
}
for (let i = 0; i < 2; i++) {
window.pyodide._module.monitorRunDependencies();
}
};
document.body.appendChild(script);
}
......@@ -107,13 +210,19 @@ var languagePluginLoader = new Promise((resolve, reject) => {
'_importlib.invalidate_caches()\n');
});
if (window.iodide !== undefined) {
window.iodide.evalQueue.await([ promise ]);
}
return promise;
};
let loadPackage = (names, messageCallback) => {
/* We want to make sure that only one loadPackage invocation runs at any
* given time, so this creates a "chain" of promises. */
loadPackagePromise =
loadPackagePromise.then(() => _loadPackage(names, messageCallback));
return loadPackagePromise;
};
////////////////////////////////////////////////////////////
// Fix Python recursion limit
function fixRecursionLimit(pyodide) {
// The Javascript/Wasm call stack may be too small to handle the default
// Python call stack limit of 1000 frames. This is generally the case on
......@@ -140,6 +249,28 @@ var languagePluginLoader = new Promise((resolve, reject) => {
`import sys; sys.setrecursionlimit(int(${recursionLimit}))`);
};
////////////////////////////////////////////////////////////
// Rearrange namespace for public API
let PUBLIC_API = [
'globals',
'loadPackage',
'loadedPackages',
'pyimport',
'repr',
'runPython',
'runPythonAsync',
'checkABI',
'version',
];
function makePublicAPI(module, public_api) {
var namespace = {_module : module};
for (let name of public_api) {
namespace[name] = module[name];
}
return namespace;
}
////////////////////////////////////////////////////////////
// Loading Pyodide
let wasmURL = `${baseURL}pyodide.asm.wasm`;
......@@ -148,11 +279,9 @@ var languagePluginLoader = new Promise((resolve, reject) => {
Module.noImageDecoding = true;
Module.noAudioDecoding = true;
Module.noWasmDecoding = true;
Module.preloadedWasm = {};
let isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;
if (isFirefox) {
console.log("Skipping wasm decoding");
Module.noWasmDecoding = true;
}
let wasm_promise = WebAssembly.compileStreaming(fetch(wasmURL));
Module.instantiateWasm = (info, receiveInstance) => {
......@@ -161,7 +290,16 @@ var languagePluginLoader = new Promise((resolve, reject) => {
return {};
};
Module.filePackagePrefixURL = baseURL;
Module.checkABI = function(ABI_number) {
if (ABI_number !== parseInt('1')) {
var ABI_mismatch_exception =
`ABI numbers differ. Expected 1, got ${ABI_number}`;
console.error(ABI_mismatch_exception);
throw ABI_mismatch_exception;
}
return true;
};
Module.locateFile = (path) => baseURL + path;
var postRunPromise = new Promise((resolve, reject) => {
Module.postRun = () => {
......@@ -169,8 +307,11 @@ var languagePluginLoader = new Promise((resolve, reject) => {
fetch(`${baseURL}packages.json`)
.then((response) => response.json())
.then((json) => {
window.pyodide.packages = json;
fixRecursionLimit(pyodide);
fixRecursionLimit(window.pyodide);
window.pyodide.globals =
window.pyodide.runPython('import sys\nsys.modules["__main__"]');
window.pyodide = makePublicAPI(window.pyodide, PUBLIC_API);
window.pyodide._module.packages = json;
resolve();
});
};
......@@ -194,7 +335,11 @@ var languagePluginLoader = new Promise((resolve, reject) => {
let script = document.createElement('script');
script.src = `${baseURL}pyodide.asm.js`;
script.onload = () => {
// The emscripten module needs to be at this location for the core
// filesystem to install itself. Once that's complete, it will be replaced
// by the call to `makePublicAPI` with a more limited public API.
window.pyodide = pyodide(Module);
window.pyodide.loadedPackages = new Array();
window.pyodide.loadPackage = loadPackage;
};
document.head.appendChild(script);
......@@ -216,7 +361,8 @@ var languagePluginLoader = new Promise((resolve, reject) => {
// Add a custom output handler for Python objects
window.iodide.addOutputHandler({
shouldHandle : (val) => {
return (typeof val === 'function' && pyodide.PyProxy.isPyProxy(val));
return (typeof val === 'function' &&
pyodide._module.PyProxy.isPyProxy(val));
},
render : (val) => {
......
"""
A library of helper utilities for connecting Python to the browser environment.
"""
from js import XMLHttpRequest
import ast
import io
def open_url(url):
"""
Fetches a given *url* and returns a io.StringIO to access its contents.
"""
req = XMLHttpRequest.new()
req.open('GET', url, False)
req.send(None)
return io.StringIO(req.response)
def eval_code(code, ns):
"""
Runs a string of code, the last part of which may be an expression.
"""
mod = ast.parse(code)
if isinstance(mod.body[-1], ast.Expr):
expr = ast.Expression(mod.body[-1].value)
del mod.body[-1]
else:
expr = None
if len(mod.body):
exec(compile(mod, '<exec>', mode='exec'), ns, ns)
if expr is not None:
return eval(compile(expr, '<eval>', mode='eval'), ns, ns)
else:
return None
__all__ = ['open_url', 'eval_code']
/**
* The main bootstrap script for loading pyodide.
*/
var languagePluginLoader = new Promise((resolve, reject) => {
// This is filled in by the Makefile to be either a local file or the
// deployed location. TODO: This should be done in a less hacky
// way.
var baseURL = window.languagePluginUrl || '';
baseURL = baseURL.substr(0, baseURL.lastIndexOf('/')) + '/';
////////////////////////////////////////////////////////////
// Package loading
let loadedPackages = new Array();
var loadPackagePromise = new Promise((resolve) => resolve());
// Regexp for validating package name and URI
var package_name_regexp = '[a-z0-9_][a-z0-9_\-]*'
var package_uri_regexp =
new RegExp('^https?://.*?(' + package_name_regexp + ').js$', 'i');
var package_name_regexp = new RegExp('^' + package_name_regexp + '$', 'i');
let _uri_to_package_name = (package_uri) => {
// Generate a unique package name from URI
if (package_name_regexp.test(package_uri)) {
return package_uri;
} else if (package_uri_regexp.test(package_uri)) {
let match = package_uri_regexp.exec(package_uri);
// Get the regexp group corresponding to the package name
return match[1];
} else {
return null;
}
};
// clang-format off
let preloadWasm = () => {
// On Chrome, we have to instantiate wasm asynchronously. Since that
// can't be done synchronously within the call to dlopen, we instantiate
// every .so that comes our way up front, caching it in the
// `preloadedWasm` dictionary.
let promise = new Promise((resolve) => resolve());
let FS = pyodide._module.FS;
function recurseDir(rootpath) {
let dirs;
try {
dirs = FS.readdir(rootpath);
} catch {
return;
}
for (entry of dirs) {
if (entry.startsWith('.')) {
continue;
}
const path = rootpath + entry;
if (entry.endsWith('.so')) {
if (Module['preloadedWasm'][path] === undefined) {
promise = promise
.then(() => Module['loadWebAssemblyModule'](
FS.readFile(path), {loadAsync: true}))
.then((module) => {
Module['preloadedWasm'][path] = module;
});
}
} else if (FS.isDir(FS.lookupPath(path).node.mode)) {
recurseDir(path + '/');
}
}
}
recurseDir('/');
return promise;
}
// clang-format on
let _loadPackage = (names, messageCallback) => {
// DFS to find all dependencies of the requested packages
let packages = window.pyodide._module.packages.dependencies;
let loadedPackages = window.pyodide.loadedPackages;
let queue = [].concat(names || []);
let toLoad = new Array();
while (queue.length) {
let package_uri = queue.pop();
const package = _uri_to_package_name(package_uri);
if (package == null) {
console.error(`Invalid package name or URI '${package_uri}'`);
return;
} else if (package == package_uri) {
package_uri = 'default channel';
}
if (package in loadedPackages) {
if (package_uri != loadedPackages[package]) {
console.error(`URI mismatch, attempting to load package ` +
`${package} from ${package_uri} while it is already ` +
`loaded from ${loadedPackages[package]}!`);
return;
}
} else if (package in toLoad) {
if (package_uri != toLoad[package]) {
console.error(`URI mismatch, attempting to load package ` +
`${package} from ${package_uri} while it is already ` +
`being loaded from ${toLoad[package]}!`);
return;
}
} else {
console.log(`Loading ${package} from ${package_uri}`);
toLoad[package] = package_uri;
if (packages.hasOwnProperty(package)) {
packages[package].forEach((subpackage) => {
if (!(subpackage in loadedPackages) && !(subpackage in toLoad)) {
queue.push(subpackage);
}
});
} else {
console.error(`Unknown package '${package}'`);
}
}
}
window.pyodide._module.locateFile = (path) => {
// handle packages loaded from custom URLs
let package = path.replace(/\.data$/, "");
if (package in toLoad) {
let package_uri = toLoad[package];
if (package_uri != 'default channel') {
return package_uri.replace(/\.js$/, ".data");
};
};
return baseURL + path;
};
let promise = new Promise((resolve, reject) => {
if (Object.keys(toLoad).length === 0) {
resolve('No new packages to load');
return;
}
const packageList = Array.from(Object.keys(toLoad)).join(', ');
if (messageCallback !== undefined) {
messageCallback(`Loading ${packageList}`);
}
// monitorRunDependencies is called at the beginning and the end of each
// package being loaded. We know we are done when it has been called
// exactly "toLoad * 2" times.
var packageCounter = Object.keys(toLoad).length * 2;
window.pyodide._module.monitorRunDependencies = () => {
packageCounter--;
if (packageCounter === 0) {
for (let package in toLoad) {
window.pyodide.loadedPackages[package] = toLoad[package];
}
delete window.pyodide._module.monitorRunDependencies;
window.removeEventListener('error', windowErrorHandler);
if (!isFirefox) {
preloadWasm().then(() => {resolve(`Loaded ${packageList}`)});
} else {
resolve(`Loaded ${packageList}`);
}
}
};
// Add a handler for any exceptions that are thrown in the process of
// loading a package
var windowErrorHandler = (err) => {
delete window.pyodide._module.monitorRunDependencies;
window.removeEventListener('error', windowErrorHandler);
// Set up a new Promise chain, since this one failed
loadPackagePromise = new Promise((resolve) => resolve());
reject(err.message);
};
window.addEventListener('error', windowErrorHandler);
for (let package in toLoad) {
let script = document.createElement('script');
let package_uri = toLoad[package];
if (package_uri == 'default channel') {
script.src = `${baseURL}${package}.js`;
} else {
script.src = `${package_uri}`;
}
script.onerror = (e) => {
// If the package_uri fails to load, call monitorRunDependencies twice
// (so packageCounter will still hit 0 and finish loading), and remove
// the package from toLoad so we don't mark it as loaded.
console.error(`Couldn't load package from URL ${script.src}`)
let index = toLoad.indexOf(package);
if (index !== -1) {
toLoad.splice(index, 1);
}
for (let i = 0; i < 2; i++) {
window.pyodide._module.monitorRunDependencies();
}
};
document.body.appendChild(script);
}
// We have to invalidate Python's import caches, or it won't
// see the new files. This is done here so it happens in parallel
// with the fetching over the network.
window.pyodide.runPython('import importlib as _importlib\n' +
'_importlib.invalidate_caches()\n');
});
return promise;
};
let loadPackage = (names, messageCallback) => {
/* We want to make sure that only one loadPackage invocation runs at any
* given time, so this creates a "chain" of promises. */
loadPackagePromise =
loadPackagePromise.then(() => _loadPackage(names, messageCallback));
return loadPackagePromise;
};
////////////////////////////////////////////////////////////
// Fix Python recursion limit
function fixRecursionLimit(pyodide) {
// The Javascript/Wasm call stack may be too small to handle the default
// Python call stack limit of 1000 frames. This is generally the case on
// Chrom(ium), but not on Firefox. Here, we determine the Javascript call
// stack depth available, and then divide by 50 (determined heuristically)
// to set the maximum Python call stack depth.
let depth = 0;
function recurse() {
depth += 1;
recurse();
}
try {
recurse();
} catch (err) {
;
}
let recursionLimit = depth / 50;
if (recursionLimit > 1000) {
recursionLimit = 1000;
}
pyodide.runPython(
`import sys; sys.setrecursionlimit(int(${recursionLimit}))`);
};
////////////////////////////////////////////////////////////
// Rearrange namespace for public API
let PUBLIC_API = [
'globals',
'loadPackage',
'loadedPackages',
'pyimport',
'repr',
'runPython',
'runPythonAsync',
'checkABI',
'version',
];
function makePublicAPI(module, public_api) {
var namespace = {_module : module};
for (let name of public_api) {
namespace[name] = module[name];
}
return namespace;
}
////////////////////////////////////////////////////////////
// Loading Pyodide
let wasmURL = `${baseURL}pyodide.asm.wasm`;
let Module = {};
window.Module = Module;
Module.noImageDecoding = true;
Module.noAudioDecoding = true;
Module.noWasmDecoding = true;
Module.preloadedWasm = {};
let isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;
let wasm_promise = WebAssembly.compileStreaming(fetch(wasmURL));
Module.instantiateWasm = (info, receiveInstance) => {
wasm_promise.then(module => WebAssembly.instantiate(module, info))
.then(instance => receiveInstance(instance));
return {};
};
Module.checkABI = function(ABI_number) {
if (ABI_number !== parseInt('1')) {
var ABI_mismatch_exception =
`ABI numbers differ. Expected 1, got ${ABI_number}`;
console.error(ABI_mismatch_exception);
throw ABI_mismatch_exception;
}
return true;
};
Module.locateFile = (path) => baseURL + path;
var postRunPromise = new Promise((resolve, reject) => {
Module.postRun = () => {
delete window.Module;
fetch(`${baseURL}packages.json`)
.then((response) => response.json())
.then((json) => {
fixRecursionLimit(window.pyodide);
window.pyodide.globals =
window.pyodide.runPython('import sys\nsys.modules["__main__"]');
window.pyodide = makePublicAPI(window.pyodide, PUBLIC_API);
window.pyodide._module.packages = json;
resolve();
});
};
});
var dataLoadPromise = new Promise((resolve, reject) => {
Module.monitorRunDependencies =
(n) => {
if (n === 0) {
delete Module.monitorRunDependencies;
resolve();
}
}
});
Promise.all([ postRunPromise, dataLoadPromise ]).then(() => resolve());
let data_script = document.createElement('script');
data_script.src = `${baseURL}pyodide.asm.data.js`;
data_script.onload = (event) => {
let script = document.createElement('script');
script.src = `${baseURL}pyodide.asm.js`;
script.onload = () => {
// The emscripten module needs to be at this location for the core
// filesystem to install itself. Once that's complete, it will be replaced
// by the call to `makePublicAPI` with a more limited public API.
window.pyodide = pyodide(Module);
window.pyodide.loadedPackages = new Array();
window.pyodide.loadPackage = loadPackage;
};
document.head.appendChild(script);
};
document.head.appendChild(data_script);
////////////////////////////////////////////////////////////
// Iodide-specific functionality, that doesn't make sense
// if not using with Iodide.
if (window.iodide !== undefined) {
// Load the custom CSS for Pyodide
let link = document.createElement('link');
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = `${baseURL}renderedhtml.css`;
document.getElementsByTagName('head')[0].appendChild(link);
// Add a custom output handler for Python objects
window.iodide.addOutputHandler({
shouldHandle : (val) => {
return (typeof val === 'function' &&
pyodide._module.PyProxy.isPyProxy(val));
},
render : (val) => {
let div = document.createElement('div');
div.className = 'rendered_html';
var element;
if (val._repr_html_ !== undefined) {
let result = val._repr_html_();
if (typeof result === 'string') {
div.appendChild(new DOMParser()
.parseFromString(result, 'text/html')
.body.firstChild);
element = div;
} else {
element = result;
}
} else {
let pre = document.createElement('pre');
pre.textContent = val.toString();
div.appendChild(pre);
element = div;
}
return element;
}
});
}
});
languagePluginLoader
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>pyodide_dev.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
var Module=typeof pyodide!=="undefined"?pyodide:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="pyparsing.data";var REMOTE_PACKAGE_BASE="pyparsing.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","lib",true,true);Module["FS_createPath"]("/lib","python3.6",true,true);Module["FS_createPath"]("/lib/python3.6","site-packages",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages","pyparsing-2.2.0-py3.6.egg-info",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages","__pycache__",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createPreloadedFile"](this.name,null,byteArray,true,true,function(){Module["removeRunDependency"]("fp "+that.name)},function(){if(that.audio){Module["removeRunDependency"]("fp "+that.name)}else{err("Preloading file "+that.name+" failed")}},false,true);this.requests[this.name]=null}};var files=metadata.files;for(var i=0;i<files.length;++i){new DataRequest(files[i].start,files[i].end,files[i].audio).open("GET",files[i].filename)}function processPackageData(arrayBuffer){Module.finishedDataFileDownloads++;assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer instanceof ArrayBuffer,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);var curr;if(Module["SPLIT_MEMORY"])err("warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting");var ptr=Module["getMemory"](byteArray.length);Module["HEAPU8"].set(byteArray,ptr);DataRequest.prototype.byteArray=Module["HEAPU8"].subarray(ptr,ptr+byteArray.length);var files=metadata.files;for(var i=0;i<files.length;++i){DataRequest.prototype.requests[files[i].filename].onload()}Module["removeRunDependency"]("datafile_pyparsing.data")}Module["addRunDependency"]("datafile_pyparsing.data");if(!Module.preloadResults)Module.preloadResults={};Module.preloadResults[PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({files:[{filename:"/lib/python3.6/site-packages/pyparsing.py",start:0,end:231121,audio:0},{filename:"/lib/python3.6/site-packages/pyparsing-2.2.0-py3.6.egg-info/top_level.txt",start:231121,end:231131,audio:0},{filename:"/lib/python3.6/site-packages/pyparsing-2.2.0-py3.6.egg-info/dependency_links.txt",start:231131,end:231132,audio:0},{filename:"/lib/python3.6/site-packages/pyparsing-2.2.0-py3.6.egg-info/PKG-INFO",start:231132,end:232052,audio:0},{filename:"/lib/python3.6/site-packages/pyparsing-2.2.0-py3.6.egg-info/SOURCES.txt",start:232052,end:237111,audio:0},{filename:"/lib/python3.6/site-packages/__pycache__/pyparsing.cpython-36.pyc",start:237111,end:439358,audio:0}],remote_package_size:439358,package_uuid:"28aa4f4a-c37c-41cd-a4e5-cc0435e7a49e"})})();
\ No newline at end of file
var Module=typeof pyodide._module!=="undefined"?pyodide._module:{};Module.checkABI(1);if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="pyparsing.data";var REMOTE_PACKAGE_BASE="pyparsing.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","lib",true,true);Module["FS_createPath"]("/lib","python3.7",true,true);Module["FS_createPath"]("/lib/python3.7","site-packages",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","pyparsing-2.2.0-py3.7.egg-info",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createPreloadedFile"](this.name,null,byteArray,true,true,function(){Module["removeRunDependency"]("fp "+that.name)},function(){if(that.audio){Module["removeRunDependency"]("fp "+that.name)}else{err("Preloading file "+that.name+" failed")}},false,true);this.requests[this.name]=null}};function processPackageData(arrayBuffer){Module.finishedDataFileDownloads++;assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer instanceof ArrayBuffer,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);var curr;var compressedData={data:null,cachedOffset:130543,cachedIndexes:[-1,-1],cachedChunks:[null,null],offsets:[0,1665,3098,4575,6063,7133,8413,9533,10443,11469,12534,13651,14654,15736,16836,17965,18915,20073,21183,22208,23443,24729,25824,26990,28156,29473,30657,31714,32472,33430,34117,35284,36515,37735,38818,40007,41108,42184,43137,43986,44506,45363,46500,47589,48727,49912,50786,51865,52989,54276,55340,56566,57642,59050,60022,60950,62289,63533,64457,65576,66847,68106,69156,70091,70976,72127,72962,74166,75314,76341,77468,78759,79767,80905,81796,82987,84088,85195,86396,87629,88834,89921,91172,92336,93560,94664,95953,97236,98550,99730,101037,102336,103674,105050,106475,107651,108810,110073,111382,112695,113998,114958,116058,117342,118158,119407,120422,121746,122659,123563,124637,125586,126953,128131,129142,130025],sizes:[1665,1433,1477,1488,1070,1280,1120,910,1026,1065,1117,1003,1082,1100,1129,950,1158,1110,1025,1235,1286,1095,1166,1166,1317,1184,1057,758,958,687,1167,1231,1220,1083,1189,1101,1076,953,849,520,857,1137,1089,1138,1185,874,1079,1124,1287,1064,1226,1076,1408,972,928,1339,1244,924,1119,1271,1259,1050,935,885,1151,835,1204,1148,1027,1127,1291,1008,1138,891,1191,1101,1107,1201,1233,1205,1087,1251,1164,1224,1104,1289,1283,1314,1180,1307,1299,1338,1376,1425,1176,1159,1263,1309,1313,1303,960,1100,1284,816,1249,1015,1324,913,904,1074,949,1367,1178,1011,883,518],successes:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]};compressedData.data=byteArray;assert(typeof Module.LZ4==="object","LZ4 not present - was your app build with -s LZ4=1 ?");Module.LZ4.loadPackage({metadata:metadata,compressedData:compressedData});Module["removeRunDependency"]("datafile_pyparsing.data")}Module["addRunDependency"]("datafile_pyparsing.data");if(!Module.preloadResults)Module.preloadResults={};Module.preloadResults[PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({files:[{filename:"/lib/python3.7/site-packages/pyparsing.py",start:0,end:231121,audio:0},{filename:"/lib/python3.7/site-packages/pyparsing-2.2.0-py3.7.egg-info/PKG-INFO",start:231121,end:232041,audio:0},{filename:"/lib/python3.7/site-packages/pyparsing-2.2.0-py3.7.egg-info/top_level.txt",start:232041,end:232051,audio:0},{filename:"/lib/python3.7/site-packages/pyparsing-2.2.0-py3.7.egg-info/SOURCES.txt",start:232051,end:237110,audio:0},{filename:"/lib/python3.7/site-packages/pyparsing-2.2.0-py3.7.egg-info/dependency_links.txt",start:237110,end:237111,audio:0}],remote_package_size:134639,package_uuid:"a08215a1-617b-4a6c-9f86-7dcfffe93841"})})();
\ No newline at end of file
var Module=typeof pyodide!=="undefined"?pyodide:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="python-dateutil.data";var REMOTE_PACKAGE_BASE="python-dateutil.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","lib",true,true);Module["FS_createPath"]("/lib","python3.6",true,true);Module["FS_createPath"]("/lib/python3.6","site-packages",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages","dateutil",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/dateutil","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/dateutil","tz",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/dateutil/tz","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/dateutil","parser",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/dateutil/parser","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/dateutil","zoneinfo",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/dateutil/zoneinfo","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages","python_dateutil-2.7.2-py3.6.egg-info",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createPreloadedFile"](this.name,null,byteArray,true,true,function(){Module["removeRunDependency"]("fp "+that.name)},function(){if(that.audio){Module["removeRunDependency"]("fp "+that.name)}else{err("Preloading file "+that.name+" failed")}},false,true);this.requests[this.name]=null}};var files=metadata.files;for(var i=0;i<files.length;++i){new DataRequest(files[i].start,files[i].end,files[i].audio).open("GET",files[i].filename)}function processPackageData(arrayBuffer){Module.finishedDataFileDownloads++;assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer instanceof ArrayBuffer,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);var curr;if(Module["SPLIT_MEMORY"])err("warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting");var ptr=Module["getMemory"](byteArray.length);Module["HEAPU8"].set(byteArray,ptr);DataRequest.prototype.byteArray=Module["HEAPU8"].subarray(ptr,ptr+byteArray.length);var files=metadata.files;for(var i=0;i<files.length;++i){DataRequest.prototype.requests[files[i].filename].onload()}Module["removeRunDependency"]("datafile_python-dateutil.data")}Module["addRunDependency"]("datafile_python-dateutil.data");if(!Module.preloadResults)Module.preloadResults={};Module.preloadResults[PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({files:[{filename:"/lib/python3.6/site-packages/dateutil/_common.py",start:0,end:932,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/tzwin.py",start:932,end:991,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/rrule.py",start:991,end:65858,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/easter.py",start:65858,end:68542,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/__init__.py",start:68542,end:68764,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/_version.py",start:68764,end:68880,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/relativedelta.py",start:68880,end:93373,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/utils.py",start:93373,end:95214,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/__pycache__/relativedelta.cpython-36.pyc",start:95214,end:110049,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/__pycache__/tzwin.cpython-36.pyc",start:110049,end:110208,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/__pycache__/utils.cpython-36.pyc",start:110208,end:112291,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/__pycache__/_version.cpython-36.pyc",start:112291,end:112447,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/__pycache__/_common.cpython-36.pyc",start:112447,end:113846,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/__pycache__/__init__.cpython-36.pyc",start:113846,end:114186,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/__pycache__/easter.cpython-36.pyc",start:114186,end:116345,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/__pycache__/rrule.cpython-36.pyc",start:116345,end:158308,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/tz/_common.py",start:158308,end:171200,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/tz/tz.py",start:171200,end:227580,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/tz/_factories.py",start:227580,end:229014,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/tz/__init__.py",start:229014,end:229517,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/tz/win.py",start:229517,end:240835,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/tz/__pycache__/_factories.cpython-36.pyc",start:240835,end:243019,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/tz/__pycache__/win.cpython-36.pyc",start:243019,end:252492,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/tz/__pycache__/_common.cpython-36.pyc",start:252492,end:264717,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/tz/__pycache__/__init__.cpython-36.pyc",start:264717,end:265362,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/tz/__pycache__/tz.cpython-36.pyc",start:265362,end:305860,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/parser/isoparser.py",start:305860,end:318705,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/parser/__init__.py",start:318705,end:320432,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/parser/_parser.py",start:320432,end:376190,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/parser/__pycache__/_parser.cpython-36.pyc",start:376190,end:414320,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/parser/__pycache__/isoparser.cpython-36.pyc",start:414320,end:425238,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/parser/__pycache__/__init__.cpython-36.pyc",start:425238,end:427252,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/zoneinfo/rebuild.py",start:427252,end:428971,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/zoneinfo/dateutil-zoneinfo.tar.gz",start:428971,end:568051,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/zoneinfo/__init__.py",start:568051,end:573940,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/zoneinfo/__pycache__/rebuild.cpython-36.pyc",start:573940,end:575800,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/zoneinfo/__pycache__/__init__.cpython-36.pyc",start:575800,end:581385,audio:0},{filename:"/lib/python3.6/site-packages/python_dateutil-2.7.2-py3.6.egg-info/top_level.txt",start:581385,end:581394,audio:0},{filename:"/lib/python3.6/site-packages/python_dateutil-2.7.2-py3.6.egg-info/dependency_links.txt",start:581394,end:581395,audio:0},{filename:"/lib/python3.6/site-packages/python_dateutil-2.7.2-py3.6.egg-info/zip-safe",start:581395,end:581396,audio:0},{filename:"/lib/python3.6/site-packages/python_dateutil-2.7.2-py3.6.egg-info/PKG-INFO",start:581396,end:589214,audio:0},{filename:"/lib/python3.6/site-packages/python_dateutil-2.7.2-py3.6.egg-info/SOURCES.txt",start:589214,end:590799,audio:0},{filename:"/lib/python3.6/site-packages/python_dateutil-2.7.2-py3.6.egg-info/requires.txt",start:590799,end:590809,audio:0}],remote_package_size:590809,package_uuid:"4f0f9fb5-9590-40c6-af98-fa434b9d4140"})})();
\ No newline at end of file
var Module=typeof pyodide._module!=="undefined"?pyodide._module:{};Module.checkABI(1);if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="python-dateutil.data";var REMOTE_PACKAGE_BASE="python-dateutil.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","lib",true,true);Module["FS_createPath"]("/lib","python3.7",true,true);Module["FS_createPath"]("/lib/python3.7","site-packages",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","dateutil",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/dateutil","parser",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/dateutil","tz",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/dateutil","zoneinfo",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","python_dateutil-2.7.2-py3.7.egg-info",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createPreloadedFile"](this.name,null,byteArray,true,true,function(){Module["removeRunDependency"]("fp "+that.name)},function(){if(that.audio){Module["removeRunDependency"]("fp "+that.name)}else{err("Preloading file "+that.name+" failed")}},false,true);this.requests[this.name]=null}};function processPackageData(arrayBuffer){Module.finishedDataFileDownloads++;assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer instanceof ArrayBuffer,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);var curr;var compressedData={data:null,cachedOffset:279131,cachedIndexes:[-1,-1],cachedChunks:[null,null],offsets:[0,1252,2689,4233,5522,6752,7742,8778,9728,10521,11215,12200,12799,13488,14261,15525,16857,17911,18949,20041,21253,22467,23504,24610,25665,26407,27282,27974,29054,30116,31041,31885,32703,33531,34466,35843,37174,38008,38930,39923,40912,41846,42775,43844,44795,45549,46376,47576,49015,50203,50848,51985,53180,54085,54993,55899,57049,58198,59393,60391,61387,62257,63352,64267,65362,66503,67692,68790,70054,71242,72517,73292,74165,74955,76101,77366,78661,79749,80697,81920,83006,84112,85424,86635,87876,88900,90083,91106,92425,93642,94733,95934,97038,98536,99754,100904,102024,103012,104153,105436,106479,107720,108899,109924,111119,112255,113526,114691,115664,116999,118254,119349,120538,121776,122807,123591,124363,125360,126249,127310,128654,129660,131645,133693,135741,137789,139837,141894,143942,145990,148038,150086,152134,154182,156230,158278,160326,162380,164428,166476,168524,170572,172622,174596,176644,178689,180743,182791,184839,186887,188935,190983,193031,195079,197127,199183,201231,203287,205344,207392,209440,211488,213536,215590,217638,219686,221734,223782,225830,227878,229926,231974,234025,236073,238121,240169,242217,244274,246322,248370,250418,252465,254513,256561,258617,260665,262722,264770,266823,268871,270228,271502,272882,273973,275073,276332,277546,278732],sizes:[1252,1437,1544,1289,1230,990,1036,950,793,694,985,599,689,773,1264,1332,1054,1038,1092,1212,1214,1037,1106,1055,742,875,692,1080,1062,925,844,818,828,935,1377,1331,834,922,993,989,934,929,1069,951,754,827,1200,1439,1188,645,1137,1195,905,908,906,1150,1149,1195,998,996,870,1095,915,1095,1141,1189,1098,1264,1188,1275,775,873,790,1146,1265,1295,1088,948,1223,1086,1106,1312,1211,1241,1024,1183,1023,1319,1217,1091,1201,1104,1498,1218,1150,1120,988,1141,1283,1043,1241,1179,1025,1195,1136,1271,1165,973,1335,1255,1095,1189,1238,1031,784,772,997,889,1061,1344,1006,1985,2048,2048,2048,2048,2057,2048,2048,2048,2048,2048,2048,2048,2048,2048,2054,2048,2048,2048,2048,2050,1974,2048,2045,2054,2048,2048,2048,2048,2048,2048,2048,2048,2056,2048,2056,2057,2048,2048,2048,2048,2054,2048,2048,2048,2048,2048,2048,2048,2048,2051,2048,2048,2048,2048,2057,2048,2048,2048,2047,2048,2048,2056,2048,2057,2048,2053,2048,1357,1274,1380,1091,1100,1259,1214,1186,399],successes:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1]};compressedData.data=byteArray;assert(typeof Module.LZ4==="object","LZ4 not present - was your app build with -s LZ4=1 ?");Module.LZ4.loadPackage({metadata:metadata,compressedData:compressedData});Module["removeRunDependency"]("datafile_python-dateutil.data")}Module["addRunDependency"]("datafile_python-dateutil.data");if(!Module.preloadResults)Module.preloadResults={};Module.preloadResults[PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({files:[{filename:"/lib/python3.7/site-packages/dateutil/_common.py",start:0,end:932,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/utils.py",start:932,end:2773,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/easter.py",start:2773,end:5457,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/relativedelta.py",start:5457,end:29950,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/tzwin.py",start:29950,end:30009,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/__init__.py",start:30009,end:30231,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/_version.py",start:30231,end:30347,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/rrule.py",start:30347,end:95214,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/parser/_parser.py",start:95214,end:150972,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/parser/isoparser.py",start:150972,end:163817,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/parser/__init__.py",start:163817,end:165544,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/tz/_common.py",start:165544,end:178436,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/tz/win.py",start:178436,end:189754,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/tz/tz.py",start:189754,end:246134,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/tz/_factories.py",start:246134,end:247568,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/tz/__init__.py",start:247568,end:248071,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/zoneinfo/dateutil-zoneinfo.tar.gz",start:248071,end:387151,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/zoneinfo/rebuild.py",start:387151,end:388870,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/zoneinfo/__init__.py",start:388870,end:394759,audio:0},{filename:"/lib/python3.7/site-packages/python_dateutil-2.7.2-py3.7.egg-info/PKG-INFO",start:394759,end:402682,audio:0},{filename:"/lib/python3.7/site-packages/python_dateutil-2.7.2-py3.7.egg-info/zip-safe",start:402682,end:402683,audio:0},{filename:"/lib/python3.7/site-packages/python_dateutil-2.7.2-py3.7.egg-info/top_level.txt",start:402683,end:402692,audio:0},{filename:"/lib/python3.7/site-packages/python_dateutil-2.7.2-py3.7.egg-info/SOURCES.txt",start:402692,end:404277,audio:0},{filename:"/lib/python3.7/site-packages/python_dateutil-2.7.2-py3.7.egg-info/requires.txt",start:404277,end:404286,audio:0},{filename:"/lib/python3.7/site-packages/python_dateutil-2.7.2-py3.7.egg-info/dependency_links.txt",start:404286,end:404287,audio:0}],remote_package_size:283227,package_uuid:"73c31cff-0251-489b-a637-c1409c7009b7"})})();
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Python - iodide</title>
<link rel="stylesheet" type="text/css" href="https://iodide.io/dist/iodide.pyodide-20180623.css">
</head>
<body>
<script id="jsmd" type="text/jsmd">
%% meta
{
"title": "Python",
"languages": {
"js": {
"pluginType": "language",
"languageId": "js",
"displayName": "Javascript",
"codeMirrorMode": "javascript",
"module": "window",
"evaluator": "eval",
"keybinding": "j",
"url": ""
},
"py": {
"languageId": "py",
"displayName": "python",
"codeMirrorMode": "python",
"keybinding": "p",
"url": "https://iodide.io/pyodide-demo/pyodide.js",
"module": "pyodide",
"evaluator": "runPython",
"pluginType": "language"
}
},
"lastExport": "2018-05-04T17:13:00.489Z"
}
%% md
# Pyodide 🐍
Pyodide adds support for Python in an Iodide notebook, running inside your browser.
**This is early days. Everything here is subject to change.**
(A major shortcoming is that `print` from Python currently prints to the Javascript debugger console, rather than to the notebook cell, so some of these examples are more contrived than they need to be.)
**Also to note: If you have any issues, try disabling any ad or tracking blockers for this site.**
First, let's use a plugin cell to load the Python interpreter and tell Iodide about the new cell type.
%% plugin
{
"languageId": "py",
"displayName": "python",
"codeMirrorMode": "python",
"keybinding": "p",
"url": "https://iodide.io/pyodide-demo/pyodide.js",
"module": "pyodide",
"evaluator": "runPython",
"pluginType": "language"
}
%% md
## Make a Python cell. Import stuff and use it.
Most of the standard library (at least the parts that make sense) are here and available to use.
%% code {"language":"py"}
# python
import sys
sys.version
%% md
## Basic data types
The basic data types (None, bool, ints, floats, lists, and dicts) are converted from Python to Javascript when they are output and displayed using the standard mechanisms in Iodide.
%% code {"language":"py"}
[0, 1, 32.0, 'foo', {'a': 10, 'b': '20'}, b'bytes']
%% md
## Sharing objects between Python and Javascript
The Python and Javascript sides can pass objects back and forth.
So, you can set a value in Javascript code:
%% js
// javascript
secret = "Wklv#lv#olnh#pdjlf$"
%% md
...and use it from Python by using `from js import ...`:
%% code {"language":"py"}
# python
from js import secret
decoded = ''.join(chr(ord(x) - 3) for x in secret)
%% md
...and then get it back from Javascript using `pyodide.pyimport`:
%% js
// javascript
var decoded = pyodide.pyimport("decoded")
decoded
%% md
## Custom data types
Non-basic data types, such as class instances, functions, File objects etc., can also be passed between Python and Javascript.
### Using Python objects from Javascript
For example, say we had the following Python function that we wanted to call from Javascript:
%% code {"language":"py"}
# python
def square(x):
return x * x
%% md
Since calling conventions are a bit different in Python than in Javascript, all Python callables take two arguments when called from Javascript: the positional arguments as an array, and the keyword arguments as an object.
%% js
// javascript
var square = pyodide.pyimport("square")
square(2.5)
%% md
This is equivalent to the following Python syntax:
%% code {"language":"py"}
# python
square(2.5)
%% md
You can also get the attributes of objects in a similar way. Say we had an instance of the following Python custom class:
%% code {"language":"py"}
# python
class Foo:
def __init__(self, val):
self.val = val
foo = Foo(42)
foo
%% md
We can get the value of its `val` property as so:
%% js
// javascript
var foo = pyodide.pyimport("foo")
foo.val
%% md
### Using Javascript objects from Python
Likewise, you can use Javascript objects from Python.
%% js
// javascript
function square(x) {
return x*x;
}
%% md
To call this function from Python...
%% code {"language":"py"}
from js import square
square(4)
%% md
## Exceptions
Python exceptions are converted to Javascript exceptions, and they include tracebacks.
%% code {"language":"py"}
x = 5 / 0
%% md
## World DOMination
By using `from js import document`, you can easily access the Web API from Python.
For example, get the title of the document:
%% code {"language":"py"}
# python
from js import document
document.title
%% md
You can set it, too:
%% code {"language":"py"}
# python
document.title = 'My mind is blown'
%% md
We can set up a special `div` element from a markdown cell, and then manipulate it from Python.
<div id="targetDiv">This is a div we'll target from Python</div>
%% code {"language":"py"}
# python
# Turn the div red
document.getElementById("targetDiv").setAttribute("style", "background-color: red")
%% md
## Numpy
You bet, [Numpy](http://numpy.org) works.
To save on download times, isn't loaded by default. We need to manually use
the `pyodide.loadPackage` function from a Javascript cell.
%% js
pyodide.loadPackage('numpy')
%% md
Now that the Numpy package has been loaded (i.e. transferred to your local browser), we can import it:
%% code {"language":"py"}
import numpy as np
%% md
Let's make a simple array of zeros. When it's displayed, it's using the same output code that Iodide uses for Javascript.
(On a technical level, it's important to note that Pyodide doesn't need to copy the whole array over to the Javascript side to do this: it's only accessing the parts of the array it needs to make the display.)
%% code {"language":"py"}
np.zeros((16, 16))
%% md
### Estimating pi
Here's a fun example where we can estimate pi by generating a bunch of random (x, y) points and calculating the ratio of them that fall within the unit circle.
%% code {"language":"py"}
from numpy import random
points = (random.rand(1000, 2) * 2.0) - 1.0
%% code {"language":"py"}
x = points[:, 0]
y = points[:, 1]
inside_circle = (x*x + y*y) < 1.0
pi = (float(np.sum(inside_circle)) / float(len(points))) * 4.0
pi
%% md
## Coming soon..
A couple things that already work that will be coming to this example notebook soon...
- Pandas support
- Plotting using D3 from Python
%% js
</script>
<div id='page'></div>
<script src='https://iodide.io/dist/iodide.pyodide-20180623.js'></script>
</body>
</html>
This source diff could not be displayed because it is too large. You can view the blob instead.
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>regex.data</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/octet-stream</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
var Module=typeof pyodide._module!=="undefined"?pyodide._module:{};Module.checkABI(1);if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="regex.data";var REMOTE_PACKAGE_BASE="regex.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","lib",true,true);Module["FS_createPath"]("/lib","python3.7",true,true);Module["FS_createPath"]("/lib/python3.7","site-packages",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","regex-2018.8.29-py3.7.egg-info",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createPreloadedFile"](this.name,null,byteArray,true,true,function(){Module["removeRunDependency"]("fp "+that.name)},function(){if(that.audio){Module["removeRunDependency"]("fp "+that.name)}else{err("Preloading file "+that.name+" failed")}},false,true);this.requests[this.name]=null}};function processPackageData(arrayBuffer){Module.finishedDataFileDownloads++;assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer instanceof ArrayBuffer,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);var curr;var compressedData={data:null,cachedOffset:497413,cachedIndexes:[-1,-1],cachedChunks:[null,null],offsets:[0,1265,2436,3818,5035,6220,7407,8572,9644,11009,11807,12472,13072,13605,14037,14468,15171,15733,16838,18012,19029,20265,21738,23153,24521,25733,26914,28087,29056,30116,31535,32438,33889,34890,35525,36022,36562,37308,38102,39086,39943,40873,41671,42730,43962,45081,46276,47224,48299,49498,50893,51691,52968,54038,54614,55325,55983,56702,57467,58383,59472,60363,61367,62376,63736,64912,65747,66671,67418,68775,69398,70518,71476,72225,73499,74605,75882,76723,77879,78070,78939,80141,81082,81772,82176,82618,83228,84014,84926,86057,86680,87322,88429,89707,90993,92341,93410,94497,95795,97025,97958,99002,100177,100901,101176,101912,102672,103269,104221,105506,105855,106524,107066,107599,108244,108889,109969,110680,111684,112689,113516,114578,115525,116398,116950,117678,118389,119373,120321,121313,121945,122806,123375,124177,124959,125739,126670,127392,128322,129368,130222,131520,132507,133523,134344,135395,136120,137513,138687,139996,141379,142516,143280,144602,145364,146163,146839,147779,148605,149845,151331,152570,153600,154662,155705,156758,157815,158870,159922,160977,162034,163092,164141,165199,166259,167310,168370,169428,170487,171540,172601,173664,174725,175370,176107,176555,177353,178228,179213,180004,180056,180081,180509,182391,184293,186048,187973,189536,191161,192938,194438,196248,198067,199838,201272,202846,204200,205580,207202,208785,210383,211737,213286,214480,215925,217263,218759,220216,221582,222988,224322,225930,227188,228442,229845,231136,232263,233329,234811,236263,237491,239247,240799,242564,244318,246190,248006,249545,251075,252671,254337,255821,257381,258952,260491,261684,263186,264716,266158,267319,268794,270001,271310,272603,274188,275077,276035,276991,278273,279419,280837,282323,283792,285336,286887,288144,289246,290090,290954,291763,292531,293263,294093,294836,295862,297034,298062,299288,300439,301026,301944,303257,304832,306078,307497,308963,310246,311834,313417,314737,316168,317502,318822,319993,320918,321733,322899,323853,324738,325872,326856,327859,328688,329766,330784,331817,332830,333773,334866,335720,336761,337928,339056,340184,341270,342501,343427,344313,345291,346418,347427,348243,349150,350230,351265,352402,353349,354199,355097,356157,357194,358090,359082,360106,360966,361953,363033,364200,365247,366320,367312,368301,369416,370270,371131,371975,372999,374005,375125,376266,377015,377718,378589,379722,380831,382049,383330,384715,385701,386825,388109,389143,390450,391785,392590,393527,394616,395856,397063,398160,399492,400789,402035,403167,403949,404660,405127,406002,406769,407504,408265,409007,409632,410316,410930,411570,412127,412646,413333,414005,415089,416044,417062,417751,418377,419219,419528,419906,420659,421380,422029,422603,423309,423972,424625,425209,425879,426636,427470,427902,428372,429055,429648,430430,431377,432078,432666,433453,434195,435117,435650,436375,437179,437917,438503,439215,439978,440881,441822,442898,443906,444961,445941,446693,447453,448268,448855,449573,450282,451e3,451799,452576,453314,453940,454565,455136,455943,456751,457616,458530,459656,460691,461374,462116,462917,463477,464124,465061,465859,466255,467369,468299,469222,469978,471005,471838,472560,473156,473935,475249,476337,477516,478838,479874,480978,482137,483001,483924,484629,485675,486849,487915,489101,490237,491522,492554,493545,494746,495766,496779],sizes:[1265,1171,1382,1217,1185,1187,1165,1072,1365,798,665,600,533,432,431,703,562,1105,1174,1017,1236,1473,1415,1368,1212,1181,1173,969,1060,1419,903,1451,1001,635,497,540,746,794,984,857,930,798,1059,1232,1119,1195,948,1075,1199,1395,798,1277,1070,576,711,658,719,765,916,1089,891,1004,1009,1360,1176,835,924,747,1357,623,1120,958,749,1274,1106,1277,841,1156,191,869,1202,941,690,404,442,610,786,912,1131,623,642,1107,1278,1286,1348,1069,1087,1298,1230,933,1044,1175,724,275,736,760,597,952,1285,349,669,542,533,645,645,1080,711,1004,1005,827,1062,947,873,552,728,711,984,948,992,632,861,569,802,782,780,931,722,930,1046,854,1298,987,1016,821,1051,725,1393,1174,1309,1383,1137,764,1322,762,799,676,940,826,1240,1486,1239,1030,1062,1043,1053,1057,1055,1052,1055,1057,1058,1049,1058,1060,1051,1060,1058,1059,1053,1061,1063,1061,645,737,448,798,875,985,791,52,25,428,1882,1902,1755,1925,1563,1625,1777,1500,1810,1819,1771,1434,1574,1354,1380,1622,1583,1598,1354,1549,1194,1445,1338,1496,1457,1366,1406,1334,1608,1258,1254,1403,1291,1127,1066,1482,1452,1228,1756,1552,1765,1754,1872,1816,1539,1530,1596,1666,1484,1560,1571,1539,1193,1502,1530,1442,1161,1475,1207,1309,1293,1585,889,958,956,1282,1146,1418,1486,1469,1544,1551,1257,1102,844,864,809,768,732,830,743,1026,1172,1028,1226,1151,587,918,1313,1575,1246,1419,1466,1283,1588,1583,1320,1431,1334,1320,1171,925,815,1166,954,885,1134,984,1003,829,1078,1018,1033,1013,943,1093,854,1041,1167,1128,1128,1086,1231,926,886,978,1127,1009,816,907,1080,1035,1137,947,850,898,1060,1037,896,992,1024,860,987,1080,1167,1047,1073,992,989,1115,854,861,844,1024,1006,1120,1141,749,703,871,1133,1109,1218,1281,1385,986,1124,1284,1034,1307,1335,805,937,1089,1240,1207,1097,1332,1297,1246,1132,782,711,467,875,767,735,761,742,625,684,614,640,557,519,687,672,1084,955,1018,689,626,842,309,378,753,721,649,574,706,663,653,584,670,757,834,432,470,683,593,782,947,701,588,787,742,922,533,725,804,738,586,712,763,903,941,1076,1008,1055,980,752,760,815,587,718,709,718,799,777,738,626,625,571,807,808,865,914,1126,1035,683,742,801,560,647,937,798,396,1114,930,923,756,1027,833,722,596,779,1314,1088,1179,1322,1036,1104,1159,864,923,705,1046,1174,1066,1186,1136,1285,1032,991,1201,1020,1013,634],successes:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]};compressedData.data=byteArray;assert(typeof Module.LZ4==="object","LZ4 not present - was your app build with -s LZ4=1 ?");Module.LZ4.loadPackage({metadata:metadata,compressedData:compressedData});Module["removeRunDependency"]("datafile_regex.data")}Module["addRunDependency"]("datafile_regex.data");if(!Module.preloadResults)Module.preloadResults={};Module.preloadResults[PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({files:[{filename:"/lib/python3.7/site-packages/_regex.so",start:0,end:589278,audio:0},{filename:"/lib/python3.7/site-packages/_regex_core.py",start:589278,end:729960,audio:0},{filename:"/lib/python3.7/site-packages/regex.py",start:729960,end:760586,audio:0},{filename:"/lib/python3.7/site-packages/test_regex.py",start:760586,end:959060,audio:0},{filename:"/lib/python3.7/site-packages/regex-2018.8.29-py3.7.egg-info/PKG-INFO",start:959060,end:1002382,audio:0},{filename:"/lib/python3.7/site-packages/regex-2018.8.29-py3.7.egg-info/top_level.txt",start:1002382,end:1002418,audio:0},{filename:"/lib/python3.7/site-packages/regex-2018.8.29-py3.7.egg-info/SOURCES.txt",start:1002418,end:1002685,audio:0},{filename:"/lib/python3.7/site-packages/regex-2018.8.29-py3.7.egg-info/dependency_links.txt",start:1002685,end:1002686,audio:0}],remote_package_size:501509,package_uuid:"ad8566ff-a9d2-49cb-b399-14be09158951"})})();
\ No newline at end of file
......@@ -8,7 +8,7 @@
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>kiwisolver.js</string> </value>
<value> <string>regex.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
......
......@@ -23,38 +23,38 @@
font-size: 185.7%;
margin: 1.08em 0 0 0;
font-weight: bold;
line-height: 1.0;
line-height: 1;
}
.rendered_html h2 {
font-size: 157.1%;
margin: 1.27em 0 0 0;
font-weight: bold;
line-height: 1.0;
line-height: 1;
}
.rendered_html h3 {
font-size: 128.6%;
margin: 1.55em 0 0 0;
font-weight: bold;
line-height: 1.0;
line-height: 1;
}
.rendered_html h4 {
font-size: 100%;
margin: 2em 0 0 0;
font-weight: bold;
line-height: 1.0;
line-height: 1;
}
.rendered_html h5 {
font-size: 100%;
margin: 2em 0 0 0;
font-weight: bold;
line-height: 1.0;
line-height: 1;
font-style: italic;
}
.rendered_html h6 {
font-size: 100%;
margin: 2em 0 0 0;
font-weight: bold;
line-height: 1.0;
line-height: 1;
font-style: italic;
}
.rendered_html h1:first-child {
......
......@@ -8,7 +8,7 @@
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>matplotlib.data</string> </value>
<value> <string>setuptools.data</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
......
var Module=typeof pyodide._module!=="undefined"?pyodide._module:{};Module.checkABI(1);if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="setuptools.data";var REMOTE_PACKAGE_BASE="setuptools.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","bin",true,true);Module["FS_createPath"]("/","lib",true,true);Module["FS_createPath"]("/lib","python3.7",true,true);Module["FS_createPath"]("/lib/python3.7","site-packages",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","pkg_resources",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/pkg_resources","extern",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/pkg_resources","_vendor",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/pkg_resources/_vendor","packaging",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","setuptools-40.0.0-py3.7.egg-info",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","setuptools",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/setuptools","extern",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/setuptools","_vendor",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/setuptools/_vendor","packaging",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/setuptools","command",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createPreloadedFile"](this.name,null,byteArray,true,true,function(){Module["removeRunDependency"]("fp "+that.name)},function(){if(that.audio){Module["removeRunDependency"]("fp "+that.name)}else{err("Preloading file "+that.name+" failed")}},false,true);this.requests[this.name]=null}};function processPackageData(arrayBuffer){Module.finishedDataFileDownloads++;assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer instanceof ArrayBuffer,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);var curr;var compressedData={data:null,cachedOffset:1020226,cachedIndexes:[-1,-1],cachedChunks:[null,null],offsets:[0,1145,2396,3785,5152,6263,7593,8813,9988,11133,12371,13647,14974,16004,17309,18474,19715,20943,22180,23376,24370,25752,27135,28415,29540,30439,31621,32928,34090,35139,36266,37500,38712,39850,41142,42401,43580,44721,46063,47378,48546,49551,50846,52012,53183,54275,55404,56692,57936,59190,60552,62009,63418,64833,66227,67365,68649,69978,71260,72633,73894,75133,76267,77313,78484,79958,81055,82134,82991,83831,84540,85232,85881,86819,87769,88814,89883,90971,92354,93965,95447,96923,98388,99593,100855,101997,102993,103971,104865,105986,107028,108167,109300,110486,111326,112496,113563,114634,115844,117034,118147,119306,120489,121807,122896,124021,124774,125595,126286,127453,128685,129904,130985,132173,133308,134248,135327,136151,136605,137599,138709,139883,140969,142189,143089,144132,145311,146598,147661,148910,150082,151460,152341,153338,154661,155831,156701,157810,159149,160394,161499,162355,163214,164281,165188,166414,167582,168628,169756,170981,171975,173125,173978,175166,176231,177372,178567,179849,181010,182211,183373,184574,185802,186911,188189,189473,190780,192095,193351,194617,195950,197330,198741,199880,200968,202308,203500,204876,206136,206905,208100,209389,210350,211525,212762,214039,214679,215602,216842,217995,219284,220514,221730,222971,223806,224995,226180,227271,228426,229529,230494,231656,232658,233864,234671,235910,236904,237818,239077,240216,241114,242227,243370,244552,245719,246910,247729,248934,250188,251285,252347,253167,254120,254713,255435,256595,257735,258939,260260,261467,262848,263910,265162,266535,267686,268870,269783,271591,273427,275293,276925,278745,280459,282322,283948,285758,287540,289407,291289,293054,294716,296449,298105,299858,301673,303435,305284,307024,308873,310747,312529,314369,316086,316926,317949,319223,320012,320573,321757,322956,324284,325534,327280,329076,330854,332667,334480,336232,338003,339851,341515,343316,345058,346811,348555,350244,352021,353666,355309,357159,358976,360698,362410,364274,366011,367753,369595,371374,372471,373870,374459,376156,377567,378809,379233,379895,381045,382500,383736,384919,386066,387039,388530,389634,390977,392383,393649,394895,396175,397427,398595,399887,401182,402272,403493,404555,405655,406855,407875,409171,410491,411953,413160,414534,415681,416817,417957,419084,420166,421343,422400,423200,424467,426298,428176,429995,431638,433331,435217,437063,438607,440438,442297,444201,446034,447846,449416,451099,452745,454591,456388,458193,460006,461768,463592,465375,467204,468967,470407,471064,472186,473613,474104,475037,476213,478039,479917,481716,483370,485073,486949,488809,490339,492166,494016,495932,497752,499570,501152,502815,504436,506301,508103,509896,511715,513487,515292,517076,518923,520559,521997,522654,523776,525202,525693,526626,527743,529161,530408,531626,532897,534109,535278,536478,537656,538911,539932,541220,542317,543276,544162,545323,546357,547332,548445,549307,550475,551558,552413,553166,554016,554898,555826,556545,557808,558891,560146,561931,563677,565432,567281,569132,570882,572699,574573,576219,577994,579785,581489,583267,584979,586770,588318,590095,591935,593787,595559,597292,599086,600846,602641,604519,606122,607167,608300,608992,610629,612086,613044,613538,614356,615682,617235,618332,619439,620639,621805,623237,624739,625967,627008,628137,629266,630488,631570,632691,633702,634932,636260,637406,638719,640099,641168,642319,644124,645965,647833,649443,651270,652995,654864,656512,658331,660115,661996,663837,665625,667258,668972,670664,672433,674242,676006,677810,679610,681441,683282,685063,686925,688527,689341,690366,691709,692449,693040,694378,695768,697098,698552,699791,701103,702371,703574,704777,705879,706857,707909,709234,710460,711726,713166,714295,715312,716645,717928,719473,720550,721679,722616,723360,724183,724889,725448,726227,727268,728213,729300,730291,731593,733221,734803,736147,737564,738868,740112,741312,742363,743288,744045,745222,746320,747377,748565,749709,750653,751826,752894,754164,755467,756782,757959,759204,760401,761706,762781,763973,764770,765514,766281,767382,768595,769824,770981,772131,773225,774378,775244,776164,776732,777548,778684,779738,780903,782033,782907,783979,785080,786414,787483,788722,789777,791160,792211,793127,794434,795720,796701,797819,799096,800352,801401,802330,803244,804384,805268,806483,807632,808678,809802,811115,812104,813245,814134,815300,816469,817631,818865,820094,821249,822313,823547,824708,825891,827026,828284,829585,830889,832025,833398,834690,836055,837405,838810,839977,841219,842500,843794,845062,846372,847324,848415,849710,850550,851785,852877,854192,855017,855935,857043,857998,859332,860550,861802,863095,864118,865263,866288,867480,868572,869734,870706,871845,873006,874087,874973,876159,877116,877941,879191,880331,881137,882282,883370,884452,885418,886649,887608,888671,889961,891276,892176,893377,894672,895740,896764,897968,898969,900076,901273,902434,903728,905069,906413,907786,908902,910102,911235,912285,913420,914652,915946,917080,918192,919313,920423,921585,922832,923901,924918,926051,927289,928357,929640,930833,932001,933263,934623,935839,936892,938174,939422,940542,941730,943146,944607,945901,947239,948569,949880,951225,952384,953593,954833,956134,957341,958614,959590,960670,961781,962925,964100,965340,966552,967769,969022,970234,971340,972451,973620,974929,976239,977524,978864,980080,981233,982410,983557,984886,986186,987366,988534,989720,990871,992074,993356,994440,995644,996882,998075,999135,999901,1000751,1002039,1003208,1004529,1005804,1007139,1008434,1009592,1010735,1011900,1013152,1014385,1015671,1017077,1018351,1019435],sizes:[1145,1251,1389,1367,1111,1330,1220,1175,1145,1238,1276,1327,1030,1305,1165,1241,1228,1237,1196,994,1382,1383,1280,1125,899,1182,1307,1162,1049,1127,1234,1212,1138,1292,1259,1179,1141,1342,1315,1168,1005,1295,1166,1171,1092,1129,1288,1244,1254,1362,1457,1409,1415,1394,1138,1284,1329,1282,1373,1261,1239,1134,1046,1171,1474,1097,1079,857,840,709,692,649,938,950,1045,1069,1088,1383,1611,1482,1476,1465,1205,1262,1142,996,978,894,1121,1042,1139,1133,1186,840,1170,1067,1071,1210,1190,1113,1159,1183,1318,1089,1125,753,821,691,1167,1232,1219,1081,1188,1135,940,1079,824,454,994,1110,1174,1086,1220,900,1043,1179,1287,1063,1249,1172,1378,881,997,1323,1170,870,1109,1339,1245,1105,856,859,1067,907,1226,1168,1046,1128,1225,994,1150,853,1188,1065,1141,1195,1282,1161,1201,1162,1201,1228,1109,1278,1284,1307,1315,1256,1266,1333,1380,1411,1139,1088,1340,1192,1376,1260,769,1195,1289,961,1175,1237,1277,640,923,1240,1153,1289,1230,1216,1241,835,1189,1185,1091,1155,1103,965,1162,1002,1206,807,1239,994,914,1259,1139,898,1113,1143,1182,1167,1191,819,1205,1254,1097,1062,820,953,593,722,1160,1140,1204,1321,1207,1381,1062,1252,1373,1151,1184,913,1808,1836,1866,1632,1820,1714,1863,1626,1810,1782,1867,1882,1765,1662,1733,1656,1753,1815,1762,1849,1740,1849,1874,1782,1840,1717,840,1023,1274,789,561,1184,1199,1328,1250,1746,1796,1778,1813,1813,1752,1771,1848,1664,1801,1742,1753,1744,1689,1777,1645,1643,1850,1817,1722,1712,1864,1737,1742,1842,1779,1097,1399,589,1697,1411,1242,424,662,1150,1455,1236,1183,1147,973,1491,1104,1343,1406,1266,1246,1280,1252,1168,1292,1295,1090,1221,1062,1100,1200,1020,1296,1320,1462,1207,1374,1147,1136,1140,1127,1082,1177,1057,800,1267,1831,1878,1819,1643,1693,1886,1846,1544,1831,1859,1904,1833,1812,1570,1683,1646,1846,1797,1805,1813,1762,1824,1783,1829,1763,1440,657,1122,1427,491,933,1176,1826,1878,1799,1654,1703,1876,1860,1530,1827,1850,1916,1820,1818,1582,1663,1621,1865,1802,1793,1819,1772,1805,1784,1847,1636,1438,657,1122,1426,491,933,1117,1418,1247,1218,1271,1212,1169,1200,1178,1255,1021,1288,1097,959,886,1161,1034,975,1113,862,1168,1083,855,753,850,882,928,719,1263,1083,1255,1785,1746,1755,1849,1851,1750,1817,1874,1646,1775,1791,1704,1778,1712,1791,1548,1777,1840,1852,1772,1733,1794,1760,1795,1878,1603,1045,1133,692,1637,1457,958,494,818,1326,1553,1097,1107,1200,1166,1432,1502,1228,1041,1129,1129,1222,1082,1121,1011,1230,1328,1146,1313,1380,1069,1151,1805,1841,1868,1610,1827,1725,1869,1648,1819,1784,1881,1841,1788,1633,1714,1692,1769,1809,1764,1804,1800,1831,1841,1781,1862,1602,814,1025,1343,740,591,1338,1390,1330,1454,1239,1312,1268,1203,1203,1102,978,1052,1325,1226,1266,1440,1129,1017,1333,1283,1545,1077,1129,937,744,823,706,559,779,1041,945,1087,991,1302,1628,1582,1344,1417,1304,1244,1200,1051,925,757,1177,1098,1057,1188,1144,944,1173,1068,1270,1303,1315,1177,1245,1197,1305,1075,1192,797,744,767,1101,1213,1229,1157,1150,1094,1153,866,920,568,816,1136,1054,1165,1130,874,1072,1101,1334,1069,1239,1055,1383,1051,916,1307,1286,981,1118,1277,1256,1049,929,914,1140,884,1215,1149,1046,1124,1313,989,1141,889,1166,1169,1162,1234,1229,1155,1064,1234,1161,1183,1135,1258,1301,1304,1136,1373,1292,1365,1350,1405,1167,1242,1281,1294,1268,1310,952,1091,1295,840,1235,1092,1315,825,918,1108,955,1334,1218,1252,1293,1023,1145,1025,1192,1092,1162,972,1139,1161,1081,886,1186,957,825,1250,1140,806,1145,1088,1082,966,1231,959,1063,1290,1315,900,1201,1295,1068,1024,1204,1001,1107,1197,1161,1294,1341,1344,1373,1116,1200,1133,1050,1135,1232,1294,1134,1112,1121,1110,1162,1247,1069,1017,1133,1238,1068,1283,1193,1168,1262,1360,1216,1053,1282,1248,1120,1188,1416,1461,1294,1338,1330,1311,1345,1159,1209,1240,1301,1207,1273,976,1080,1111,1144,1175,1240,1212,1217,1253,1212,1106,1111,1169,1309,1310,1285,1340,1216,1153,1177,1147,1329,1300,1180,1168,1186,1151,1203,1282,1084,1204,1238,1193,1060,766,850,1288,1169,1321,1275,1335,1295,1158,1143,1165,1252,1233,1286,1406,1274,1084,791],successes:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]};compressedData.data=byteArray;assert(typeof Module.LZ4==="object","LZ4 not present - was your app build with -s LZ4=1 ?");Module.LZ4.loadPackage({metadata:metadata,compressedData:compressedData});Module["removeRunDependency"]("datafile_setuptools.data")}Module["addRunDependency"]("datafile_setuptools.data");if(!Module.preloadResults)Module.preloadResults={};Module.preloadResults[PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({files:[{filename:"/bin/easy_install",start:0,end:471,audio:0},{filename:"/bin/easy_install-3.7",start:471,end:950,audio:0},{filename:"/lib/python3.7/site-packages/easy_install.py",start:950,end:1076,audio:0},{filename:"/lib/python3.7/site-packages/pkg_resources/__init__.py",start:1076,end:104889,audio:0},{filename:"/lib/python3.7/site-packages/pkg_resources/py31compat.py",start:104889,end:105442,audio:0},{filename:"/lib/python3.7/site-packages/pkg_resources/extern/__init__.py",start:105442,end:107940,audio:0},{filename:"/lib/python3.7/site-packages/pkg_resources/_vendor/appdirs.py",start:107940,end:130314,audio:0},{filename:"/lib/python3.7/site-packages/pkg_resources/_vendor/six.py",start:130314,end:160412,audio:0},{filename:"/lib/python3.7/site-packages/pkg_resources/_vendor/__init__.py",start:160412,end:160412,audio:0},{filename:"/lib/python3.7/site-packages/pkg_resources/_vendor/pyparsing.py",start:160412,end:390279,audio:0},{filename:"/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/_compat.py",start:390279,end:391139,audio:0},{filename:"/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/utils.py",start:391139,end:391560,audio:0},{filename:"/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/requirements.py",start:391560,end:395915,audio:0},{filename:"/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/_structures.py",start:395915,end:397331,audio:0},{filename:"/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/markers.py",start:397331,end:405579,audio:0},{filename:"/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/specifiers.py",start:405579,end:433604,audio:0},{filename:"/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/__init__.py",start:433604,end:434117,audio:0},{filename:"/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/__about__.py",start:434117,end:434837,audio:0},{filename:"/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/version.py",start:434837,end:446393,audio:0},{filename:"/lib/python3.7/site-packages/setuptools-40.0.0-py3.7.egg-info/PKG-INFO",start:446393,end:449618,audio:0},{filename:"/lib/python3.7/site-packages/setuptools-40.0.0-py3.7.egg-info/zip-safe",start:449618,end:449619,audio:0},{filename:"/lib/python3.7/site-packages/setuptools-40.0.0-py3.7.egg-info/entry_points.txt",start:449619,end:452609,audio:0},{filename:"/lib/python3.7/site-packages/setuptools-40.0.0-py3.7.egg-info/top_level.txt",start:452609,end:452647,audio:0},{filename:"/lib/python3.7/site-packages/setuptools-40.0.0-py3.7.egg-info/SOURCES.txt",start:452647,end:459251,audio:0},{filename:"/lib/python3.7/site-packages/setuptools-40.0.0-py3.7.egg-info/requires.txt",start:459251,end:459326,audio:0},{filename:"/lib/python3.7/site-packages/setuptools-40.0.0-py3.7.egg-info/dependency_links.txt",start:459326,end:459565,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/glob.py",start:459565,end:464772,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/pep425tags.py",start:464772,end:475649,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/archive_util.py",start:475649,end:482241,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/gui.exe",start:482241,end:547777,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/depends.py",start:547777,end:553614,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/gui-64.exe",start:553614,end:628878,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/wheel.py",start:628878,end:636980,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/package_index.py",start:636980,end:677290,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/dep_util.py",start:677290,end:678225,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/site-patch.py",start:678225,end:680527,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/config.py",start:680527,end:698548,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/gui-32.exe",start:698548,end:764084,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/cli.exe",start:764084,end:829620,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/namespaces.py",start:829620,end:832819,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/monkey.py",start:832819,end:838023,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/windows_support.py",start:838023,end:838741,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/ssl_support.py",start:838741,end:847233,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/msvc.py",start:847233,end:888110,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/lib2to3_ex.py",start:888110,end:890123,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/unicode_utils.py",start:890123,end:891119,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/cli-64.exe",start:891119,end:965871,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/dist.py",start:965871,end:1008484,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/cli-32.exe",start:1008484,end:1074020,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/script (dev).tmpl",start:1074020,end:1074238,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/glibc.py",start:1074238,end:1077388,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/py27compat.py",start:1077388,end:1077924,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/extension.py",start:1077924,end:1079653,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/__init__.py",start:1079653,end:1085367,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/sandbox.py",start:1085367,end:1099643,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/py31compat.py",start:1099643,end:1100463,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/py36compat.py",start:1100463,end:1103354,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/launch.py",start:1103354,end:1104141,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/build_meta.py",start:1104141,end:1109812,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/script.tmpl",start:1109812,end:1109950,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/py33compat.py",start:1109950,end:1111145,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/version.py",start:1111145,end:1111289,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/extern/__init__.py",start:1111289,end:1113790,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/_vendor/six.py",start:1113790,end:1143888,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/_vendor/__init__.py",start:1143888,end:1143888,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/_vendor/pyparsing.py",start:1143888,end:1373755,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/_vendor/packaging/_compat.py",start:1373755,end:1374615,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/_vendor/packaging/utils.py",start:1374615,end:1375036,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/_vendor/packaging/requirements.py",start:1375036,end:1379379,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/_vendor/packaging/_structures.py",start:1379379,end:1380795,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/_vendor/packaging/markers.py",start:1380795,end:1389034,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/_vendor/packaging/specifiers.py",start:1389034,end:1417059,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/_vendor/packaging/__init__.py",start:1417059,end:1417572,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/_vendor/packaging/__about__.py",start:1417572,end:1418292,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/_vendor/packaging/version.py",start:1418292,end:1429848,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/command/build_clib.py",start:1429848,end:1434332,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/command/register.py",start:1434332,end:1434602,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/command/build_ext.py",start:1434602,end:1447499,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/command/install_scripts.py",start:1447499,end:1449938,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/command/bdist_wininst.py",start:1449938,end:1450575,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/command/install.py",start:1450575,end:1455258,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/command/easy_install.py",start:1455258,end:1542309,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/command/rotate.py",start:1542309,end:1544473,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/command/setopt.py",start:1544473,end:1549558,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/command/alias.py",start:1549558,end:1551984,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/command/install_lib.py",start:1551984,end:1555824,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/command/dist_info.py",start:1555824,end:1556784,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/command/upload.py",start:1556784,end:1557956,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/command/upload_docs.py",start:1557956,end:1565267,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/command/test.py",start:1565267,end:1574495,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/command/sdist.py",start:1574495,end:1581206,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/command/build_py.py",start:1581206,end:1590802,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/command/install_egg_info.py",start:1590802,end:1593005,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/command/bdist_rpm.py",start:1593005,end:1594513,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/command/__init__.py",start:1594513,end:1595107,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/command/develop.py",start:1595107,end:1603167,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/command/egg_info.py",start:1603167,end:1627967,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/command/saveopts.py",start:1627967,end:1628625,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/command/launcher manifest.xml",start:1628625,end:1629253,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/command/bdist_egg.py",start:1629253,end:1647440,audio:0},{filename:"/lib/python3.7/site-packages/setuptools/command/py36compat.py",start:1647440,end:1652426,audio:0}],remote_package_size:1024322,package_uuid:"636bafd9-d79b-4ca6-9ad1-01f214868369"})})();
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>setuptools.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ter.fonts</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>opensansextrabold.woff2</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/octet-stream</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>opensansitalic.woff</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/x-font-woff</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>opensansitalic.woff2</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/octet-stream</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
This source diff could not be displayed because it is too large. You can view the blob instead.
var Module = typeof pyodide !== 'undefined' ? pyodide : {};
if (!Module.expectedDataFileDownloads) {
Module.expectedDataFileDownloads = 0;
Module.finishedDataFileDownloads = 0;
}
Module.expectedDataFileDownloads++;
(function() {
var loadPackage = function(metadata) {
var PACKAGE_PATH;
if (typeof window === 'object') {
PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/');
} else if (typeof location !== 'undefined') {
// worker
PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/');
} else {
throw 'using preloaded data can only be done on a web page or in a web worker';
}
var PACKAGE_NAME = '/home/nexedir/pyodide/packages/xlrd/build/xlrd.data';
var REMOTE_PACKAGE_BASE = 'xlrd.data';
if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) {
Module['locateFile'] = Module['locateFilePackage'];
err('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)');
}
var REMOTE_PACKAGE_NAME = Module['locateFile'] ? Module['locateFile'](REMOTE_PACKAGE_BASE, '') : REMOTE_PACKAGE_BASE;
var REMOTE_PACKAGE_SIZE = metadata.remote_package_size;
var PACKAGE_UUID = metadata.package_uuid;
function fetchRemotePackage(packageName, packageSize, callback, errback) {
var xhr = new XMLHttpRequest();
xhr.open('GET', packageName, true);
xhr.responseType = 'arraybuffer';
xhr.onprogress = function(event) {
var url = packageName;
var size = packageSize;
if (event.total) size = event.total;
if (event.loaded) {
if (!xhr.addedTotal) {
xhr.addedTotal = true;
if (!Module.dataFileDownloads) Module.dataFileDownloads = {};
Module.dataFileDownloads[url] = {
loaded: event.loaded,
total: size
};
} else {
Module.dataFileDownloads[url].loaded = event.loaded;
}
var total = 0;
var loaded = 0;
var num = 0;
for (var download in Module.dataFileDownloads) {
var data = Module.dataFileDownloads[download];
total += data.total;
loaded += data.loaded;
num++;
}
total = Math.ceil(total * Module.expectedDataFileDownloads/num);
if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')');
} else if (!Module.dataFileDownloads) {
if (Module['setStatus']) Module['setStatus']('Downloading data...');
}
};
xhr.onerror = function(event) {
throw new Error("NetworkError for: " + packageName);
}
xhr.onload = function(event) {
if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0
var packageData = xhr.response;
callback(packageData);
} else {
throw new Error(xhr.statusText + " : " + xhr.responseURL);
}
};
xhr.send(null);
};
function handleError(error) {
console.error('package error:', error);
};
var fetchedCallback = null;
var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null;
if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) {
if (fetchedCallback) {
fetchedCallback(data);
fetchedCallback = null;
} else {
fetched = data;
}
}, handleError);
function runWithFS() {
function assert(check, msg) {
if (!check) throw msg + new Error().stack;
}
Module['FS_createPath']('/', 'lib', true, true);
Module['FS_createPath']('/lib', 'python3.6', true, true);
Module['FS_createPath']('/lib/python3.6', 'site-packages', true, true);
Module['FS_createPath']('/lib/python3.6/site-packages', 'xlrd', true, true);
Module['FS_createPath']('/lib/python3.6/site-packages/xlrd', 'examples', true, true);
function DataRequest(start, end, audio) {
this.start = start;
this.end = end;
this.audio = audio;
}
DataRequest.prototype = {
requests: {},
open: function(mode, name) {
this.name = name;
this.requests[name] = this;
Module['addRunDependency']('fp ' + this.name);
},
send: function() {},
onload: function() {
var byteArray = this.byteArray.subarray(this.start, this.end);
this.finish(byteArray);
},
finish: function(byteArray) {
var that = this;
Module['FS_createPreloadedFile'](this.name, null, byteArray, true, true, function() {
Module['removeRunDependency']('fp ' + that.name);
}, function() {
if (that.audio) {
Module['removeRunDependency']('fp ' + that.name); // workaround for chromium bug 124926 (still no audio with this, but at least we don't hang)
} else {
err('Preloading file ' + that.name + ' failed');
}
}, false, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change
this.requests[this.name] = null;
}
};
var files = metadata.files;
for (var i = 0; i < files.length; ++i) {
new DataRequest(files[i].start, files[i].end, files[i].audio).open('GET', files[i].filename);
}
function processPackageData(arrayBuffer) {
Module.finishedDataFileDownloads++;
assert(arrayBuffer, 'Loading data file failed.');
assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData');
var byteArray = new Uint8Array(arrayBuffer);
var curr;
// copy the entire loaded file into a spot in the heap. Files will refer to slices in that. They cannot be freed though
// (we may be allocating before malloc is ready, during startup).
if (Module['SPLIT_MEMORY']) err('warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting');
var ptr = Module['getMemory'](byteArray.length);
Module['HEAPU8'].set(byteArray, ptr);
DataRequest.prototype.byteArray = Module['HEAPU8'].subarray(ptr, ptr+byteArray.length);
var files = metadata.files;
for (var i = 0; i < files.length; ++i) {
DataRequest.prototype.requests[files[i].filename].onload();
}
Module['removeRunDependency']('datafile_/home/nexedir/pyodide/packages/xlrd/build/xlrd.data');
};
Module['addRunDependency']('datafile_/home/nexedir/pyodide/packages/xlrd/build/xlrd.data');
if (!Module.preloadResults) Module.preloadResults = {};
Module.preloadResults[PACKAGE_NAME] = {fromCache: false};
if (fetched) {
processPackageData(fetched);
fetched = null;
} else {
fetchedCallback = processPackageData;
}
}
if (Module['calledRun']) {
runWithFS();
} else {
if (!Module['preRun']) Module['preRun'] = [];
Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it
}
}
loadPackage({"files": [{"start": 0, "audio": 0, "end": 1756, "filename": "/lib/python3.6/site-packages/xlrd/timemachine.py"}, {"start": 1756, "audio": 0, "end": 9698, "filename": "/lib/python3.6/site-packages/xlrd/xldate.py"}, {"start": 9698, "audio": 0, "end": 30673, "filename": "/lib/python3.6/site-packages/xlrd/compdoc.py"}, {"start": 30673, "audio": 0, "end": 87640, "filename": "/lib/python3.6/site-packages/xlrd/book.py"}, {"start": 87640, "audio": 0, "end": 93987, "filename": "/lib/python3.6/site-packages/xlrd/__init__.py"}, {"start": 93987, "audio": 0, "end": 188670, "filename": "/lib/python3.6/site-packages/xlrd/formula.py"}, {"start": 188670, "audio": 0, "end": 205350, "filename": "/lib/python3.6/site-packages/xlrd/biffh.py"}, {"start": 205350, "audio": 0, "end": 239529, "filename": "/lib/python3.6/site-packages/xlrd/xlsx.py"}, {"start": 239529, "audio": 0, "end": 239551, "filename": "/lib/python3.6/site-packages/xlrd/info.py"}, {"start": 239551, "audio": 0, "end": 345729, "filename": "/lib/python3.6/site-packages/xlrd/sheet.py"}, {"start": 345729, "audio": 0, "end": 390814, "filename": "/lib/python3.6/site-packages/xlrd/formatting.py"}, {"start": 390814, "audio": 0, "end": 397946, "filename": "/lib/python3.6/site-packages/xlrd/examples/xlrdnameAPIdemo.py"}, {"start": 397946, "audio": 0, "end": 420474, "filename": "/lib/python3.6/site-packages/xlrd/examples/namesdemo.xls"}], "remote_package_size": 420474, "package_uuid": "fee1cb8e-27fc-40c5-b7ba-c0fde67e1aad"});
})();
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>xmlwitch.data</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/octet-stream</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
var Module=typeof pyodide._module!=="undefined"?pyodide._module:{};Module.checkABI(1);if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="xmlwitch.data";var REMOTE_PACKAGE_BASE="xmlwitch.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","lib",true,true);Module["FS_createPath"]("/lib","python3.7",true,true);Module["FS_createPath"]("/lib/python3.7","site-packages",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","xmlwitch-0.3-py3.7.egg-info",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createPreloadedFile"](this.name,null,byteArray,true,true,function(){Module["removeRunDependency"]("fp "+that.name)},function(){if(that.audio){Module["removeRunDependency"]("fp "+that.name)}else{err("Preloading file "+that.name+" failed")}},false,true);this.requests[this.name]=null}};function processPackageData(arrayBuffer){Module.finishedDataFileDownloads++;assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer instanceof ArrayBuffer,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);var curr;var compressedData={data:null,cachedOffset:4030,cachedIndexes:[-1,-1],cachedChunks:[null,null],offsets:[0,1122,2091,3359],sizes:[1122,969,1268,671],successes:[1,1,1,1]};compressedData.data=byteArray;assert(typeof Module.LZ4==="object","LZ4 not present - was your app build with -s LZ4=1 ?");Module.LZ4.loadPackage({metadata:metadata,compressedData:compressedData});Module["removeRunDependency"]("datafile_xmlwitch.data")}Module["addRunDependency"]("datafile_xmlwitch.data");if(!Module.preloadResults)Module.preloadResults={};Module.preloadResults[PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({files:[{filename:"/lib/python3.7/site-packages/xmlwitch.py",start:0,end:4685,audio:0},{filename:"/lib/python3.7/site-packages/xmlwitch-0.3-py3.7.egg-info/PKG-INFO",start:4685,end:6704,audio:0},{filename:"/lib/python3.7/site-packages/xmlwitch-0.3-py3.7.egg-info/top_level.txt",start:6704,end:6713,audio:0},{filename:"/lib/python3.7/site-packages/xmlwitch-0.3-py3.7.egg-info/SOURCES.txt",start:6713,end:7206,audio:0},{filename:"/lib/python3.7/site-packages/xmlwitch-0.3-py3.7.egg-info/dependency_links.txt",start:7206,end:7207,audio:0}],remote_package_size:8126,package_uuid:"4a34aedb-3e3f-42c7-a0d8-f706213617e9"})})();
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>xmlwitch.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment