Commit 6477fe48 authored by Ayush Tiwari's avatar Ayush Tiwari

[bt5-erp5_notebook] Add erp5_notebook BT5 as submodule

parent 0b0d4012
[submodule "bt5/erp5_notebook"]
path = bt5/erp5_notebook
url = https://lab.nexedi.com/tiwariayush/bt5-erp5_notebook
Subproject commit e86d1ed366994cb0c394e07e45746c6495104f20
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_list</string>
</tuple>
</value>
</item>
<item>
<key> <string>category</string> </key>
<value> <string>object_list</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>view</string> </value>
</item>
<item>
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Action Information</string> </value>
</item>
<item>
<key> <string>priority</string> </key>
<value> <float>1.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>View</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/NotebookModule_viewNotebookList</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_view</string>
</tuple>
</value>
</item>
<item>
<key> <string>category</string> </key>
<value> <string>object_view</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>view</string> </value>
</item>
<item>
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Action Information</string> </value>
</item>
<item>
<key> <string>priority</string> </key>
<value> <float>1.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>View</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/Notebook_view</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<module>
<id>notebook_module</id>
<permission_list>
<permission type='tuple'>
<name>Access Transient Objects</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Author</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Access contents information</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Author</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Access session data</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Author</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Add portal content</name>
<role>Assignor</role>
<role>Author</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Add portal folders</name>
<role>Assignor</role>
<role>Author</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Change local roles</name>
<role>Assignor</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Copy or Move</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Author</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Delete objects</name>
<role>Assignor</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>List folder contents</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Author</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Modify portal content</name>
<role>Assignor</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>View</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>View History</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Author</role>
<role>Manager</role>
</permission>
</permission_list>
<portal_type>Notebook Module</portal_type>
<title>Notebooks</title>
</module>
\ No newline at end of file
<allowed_content_type_list>
<portal_type id="Notebook Module">
<item>Notebook</item>
</portal_type>
</allowed_content_type_list>
\ No newline at end of file
<base_category_list>
<portal_type id="Notebook">
<item>follow_up</item>
<item>function</item>
<item>group</item>
<item>publication_section</item>
<item>site</item>
</portal_type>
<portal_type id="Notebook Module">
<item>business_application</item>
</portal_type>
</base_category_list>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Base Type" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_property_domain_dict</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>content_icon</string> </key>
<value> <string>folder_icon.gif</string> </value>
</item>
<item>
<key> <string>factory</string> </key>
<value> <string>addFolder</string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<tuple>
<string>module</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Notebook Module</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Base Type</string> </value>
</item>
<item>
<key> <string>type_class</string> </key>
<value> <string>Folder</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>short_title</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>domain_name</string> </key>
<value> <string>erp5_ui</string> </value>
</item>
<item>
<key> <string>property_name</string> </key>
<value> <string>short_title</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>domain_name</string> </key>
<value> <string>erp5_ui</string> </value>
</item>
<item>
<key> <string>property_name</string> </key>
<value> <string>title</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Base Type" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>content_icon</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>factory</string> </key>
<value> <string>addXMLObject</string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<tuple>
<string>document</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Notebook</string> </value>
</item>
<item>
<key> <string>init_script</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>permission</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Base Type</string> </value>
</item>
<item>
<key> <string>type_class</string> </key>
<value> <string>TextDocument</string> </value>
</item>
<item>
<key> <string>type_interface</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>type_mixin</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<workflow_chain>
<chain>
<type>Notebook</type>
<workflow>document_conversion_interaction_workflow, document_publication_workflow, document_security_interaction_workflow, edit_workflow, processing_status_workflow</workflow>
</chain>
</workflow_chain>
\ 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>erp5_notebook</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="ERP5 Form" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string>Base_doSelect</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>edit_order</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
<string>right</string>
<string>center</string>
<string>bottom</string>
<string>hidden</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>bottom</string> </key>
<value>
<list>
<string>listbox</string>
</list>
</value>
</item>
<item>
<key> <string>center</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list/>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>NotebookModule_viewNotebookList</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>NotebookModule_viewNotebookList</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_list</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Notebooks</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>update_action_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="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>columns</string>
<string>selection_name</string>
<string>sort</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>listbox</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>columns</string> </key>
<value>
<list>
<tuple>
<string>title</string>
<string>Title</string>
</tuple>
<tuple>
<string>reference</string>
<string>Reference</string>
</tuple>
<tuple>
<string>version</string>
<string>Version</string>
</tuple>
<tuple>
<string>language</string>
<string>Language</string>
</tuple>
<tuple>
<string>revision</string>
<string>Revision</string>
</tuple>
<tuple>
<string>description</string>
<string>Description</string>
</tuple>
<tuple>
<string>modification_date</string>
<string>Modification Date</string>
</tuple>
<tuple>
<string>translated_validation_state_title</string>
<string>State</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_list_mode_listbox</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value>
<list>
<tuple>
<string>Notebook</string>
<string>Notebook</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>selection_name</string> </key>
<value> <string>notebook_module_selection</string> </value>
</item>
<item>
<key> <string>sort</string> </key>
<value>
<list>
<tuple>
<string>modification_date</string>
<string>descending</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Notebooks</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ERP5 Form" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string>Base_edit</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>edit_order</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string>multipart/form-data</string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
<string>right</string>
<string>center</string>
<string>bottom</string>
<string>hidden</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>bottom</string> </key>
<value>
<list>
<string>my_text_content</string>
</list>
</value>
</item>
<item>
<key> <string>center</string> </key>
<value>
<list>
<string>my_description</string>
</list>
</value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list>
<string>my_title</string>
<string>my_short_title</string>
<string>my_reference</string>
<string>my_contributor_title_list</string>
<string>my_effective_date</string>
<string>my_revision</string>
<string>my_translated_portal_type</string>
</list>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list>
<string>my_classification</string>
<string>my_group_list</string>
<string>my_site_list</string>
<string>my_function_list</string>
<string>my_follow_up_title_list</string>
<string>my_publication_section_list</string>
<string>my_translated_validation_state_title</string>
<string>my_subject_list</string>
</list>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Notebook_view</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>Notebook_view</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_view</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Notebook</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>update_action_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="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_classification</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_view_mode_classification</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewDMSFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_contributor_title_list</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_contributor_title_list</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Document_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_description</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>description</string> </key>
<value> <string>Short description that will appear in the search result list.</string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_description</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Document_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Description</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>my_effective_date</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_effective_date</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Document_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>view_separator</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_follow_up_title_list</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_follow_up_title_list</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Document_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
<item>
<key> <string>view_separator</string> </key>
<value> <string encoding="cdata"><![CDATA[
<br />\n
]]></string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_function_list</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_function_list</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Document_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_group_list</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_group_list</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Document_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_publication_section_list</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_publication_section_list</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Document_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_reference</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>description</string> </key>
<value> <string>Reference of the web page used to retrieved it</string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_reference</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Document_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Reference</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_revision</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>description</string> </key>
<value> <string>an increasing number with each modification done to the web page</string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_revision</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Document_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Revision</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_short_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>description</string> </key>
<value> <string>Short title is displayed in any navigation widget (breadcrumb, navigation menu, section list, ...) with a higher priority than long title, except in Site Map</string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_short_title</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Document_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Short Title</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_site_list</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_site_list</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Document_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_subject_list</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_subject_list</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Document_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>css_class</string>
<string>default</string>
<string>editable</string>
<string>renderjs_extra</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_text_content</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>renderjs_extra</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_text_content</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewWebFieldLibrary</string> </value>
</item>
<item>
<key> <string>renderjs_extra</string> </key>
<value>
<list/>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: \'%s\' % (here.getData())</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: [(\'editor\', \'notebook_editor\'), (\'portal_type\', context.getPortalType()), (\'maximize\', \'listbox\' not in field.id)]</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>display_width</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_view_mode_title</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_translated_portal_type</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_view_mode_translated_portal_type</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewDMSFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_translated_validation_state_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_translated_validation_state_title</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Document_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
"""
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)
<?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>cycler.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!=="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="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>cycler.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>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Security-Policy"
content="script-src 'unsafe-inline' 'unsafe-eval' *; style-src 'unsafe-inline' *">
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width" />
<title>JSMD Eval Gadget</title>
<script src="rsvp.js" type="text/javascript"></script>
<script src="marked.js" type="text/javascript"></script>
<script src="gadget_jsmd_eval.js" type="text/javascript"></script>
</head>
<body class="pane-content">
</body>
</html>
<?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>gadget_jsmd_eval.html</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</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, console, RSVP, document, URL, eval, XMLHttpRequest, marked */
/*jslint nomen: true, indent: 2, maxerr: 3 */
(function (window) {
"use strict";
var IODide = function createIODide() {
return;
},
JSMDCell = function createJSMDCell(type, line_list) {
this._type = type;
this._line_list = line_list;
},
split_line_regex = /[\r\n|\n|\r]/,
cell_type_regexp = /^\%\% (\w+)$/;
window.iodide = new IODide();
IODide.prototype.addOutputHandler = function () {
return;
};
// Copied from jio
function ajax(param) {
var xhr = new XMLHttpRequest();
return new RSVP.Promise(function (resolve, reject) {
var k;
xhr.open(param.type || "GET", param.url, true);
xhr.responseType = param.dataType || "";
if (typeof param.headers === 'object' && param.headers !== null) {
for (k in param.headers) {
if (param.headers.hasOwnProperty(k)) {
xhr.setRequestHeader(k, param.headers[k]);
}
}
}
xhr.addEventListener("load", function (e) {
if (e.target.status >= 400) {
return reject(e);
}
resolve(e);
});
xhr.addEventListener("error", reject);
if (typeof param.xhrFields === 'object' && param.xhrFields !== null) {
for (k in param.xhrFields) {
if (param.xhrFields.hasOwnProperty(k)) {
xhr[k] = param.xhrFields[k];
}
}
}
if (param.timeout !== undefined && param.timeout !== 0) {
xhr.timeout = param.timeout;
xhr.ontimeout = function () {
return reject(new Error("Gateway Timeout"));
};
}
if (typeof param.beforeSend === 'function') {
param.beforeSend(xhr);
}
xhr.send(param.data);
}, function () {
xhr.abort();
});
}
function parseJSMDCellList(jsmd) {
// Split the text into a list of Iodide cells
var line_list = jsmd.split(split_line_regex),
i,
len = line_list.length,
current_line,
current_type,
current_text_list,
next_type,
cell_list = [];
function pushNewCell() {
if (current_type !== undefined) {
cell_list.push(new JSMDCell(current_type[1],
current_text_list));
}
}
for (i = 0; i < len; i += 1) {
current_line = line_list[i];
next_type = current_line.match(cell_type_regexp);
if (next_type) {
// New type detexted
pushNewCell();
current_type = next_type;
current_text_list = [];
} else if (current_text_list !== undefined) {
current_text_list.push(current_line);
}
}
// Push last cell
pushNewCell();
return cell_list;
}
function executeUnknownCellType(cell) {
throw new Error('Unsupported cell: ' + cell._type);
}
function executeJSCell(line_list) {
// console.info('eval', line_list);
var text = line_list.join('\n'),
pre,
br,
code;
try {
return eval.call(window, text);
} catch (e) {
console.error(e);
pre = document.createElement('pre');
pre.textContent = e.message;
br = document.createElement('br');
pre.appendChild(br);
code = document.createElement('code');
code.textContent = text;
pre.appendChild(code);
document.body.appendChild(pre);
throw e;
}
}
function executeCssCell(line_list) {
var style = document.createElement('style');
style.textContent = line_list.join('\n');
document.head.appendChild(style);
}
function loadJSResource(url) {
// Copied from renderJS
return new RSVP.Promise(
function waitForJSLoadEvent(resolve, reject) {
var newScript;
newScript = document.createElement('script');
newScript.async = false;
newScript.type = 'text/javascript';
newScript.onload = function (evt) {
resolve(evt.target.value);
};
newScript.onerror = function (error) {
console.warn(error);
reject(error);
};
newScript.src = url;
document.head.appendChild(newScript);
}
);
}
function deferJSResourceLoading(url) {
return function () {
return loadJSResource(url);
};
}
function loadCSSResource(url) {
// Copied from renderJS
return new RSVP.Promise(
function waitForCSSLoadEvent(resolve, reject) {
var link;
link = document.createElement('link');
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = url;
link.onload = resolve;
link.onerror = reject;
document.head.appendChild(link);
}
);
}
function deferCSSResourceLoading(url) {
return function () {
return loadCSSResource(url);
};
}
function loadTextResource(line) {
var line_split = line.split('=', 2),
variable = line_split[0],
url = line_split[1];
console.log(line_split);
return new RSVP.Queue()
.push(function () {
return ajax({url: url});
})
.push(function (evt) {
window[variable] = evt.target.responseText;
});
}
function deferTextResourceLoading(line) {
return function () {
return loadTextResource(line);
};
}
function executeResourceCell(line_list) {
var queue = new RSVP.Queue(),
len = line_list.length,
i;
for (i = 0; i < len; i += 1) {
if (line_list[i]) {
queue.push(deferJSResourceLoading(line_list[i]));
}
}
return queue;
}
function executeFetchCell(line_list) {
var queue = new RSVP.Queue(),
len = line_list.length,
i,
line;
for (i = 0; i < len; i += 1) {
line = line_list[i];
if (line) {
if (line.startsWith('js: ')) {
queue.push(deferJSResourceLoading(line.slice(4)));
} else if (line.startsWith('css: ')) {
queue.push(deferCSSResourceLoading(line.slice(5)));
} else if (line.startsWith('text: ')) {
queue.push(deferTextResourceLoading(line.slice(6)));
} else {
queue.cancel();
throw new Error('Unsupported fetch type: ' + line);
}
}
}
return queue;
}
function executeMarkdownCell(line_list) {
var renderer = new marked.Renderer();
return new RSVP.Promise(function (resolve, reject) {
marked(line_list.join('\n'),
{renderer: renderer},
function (err, content) {
if (err) {
reject(err);
}
var div = document.createElement('div');
div.classList.add('user-markdown');
div.innerHTML = content;
document.body.appendChild(div);
resolve();
});
});
}
function executeCell(cell) {
if (cell._type === 'raw') {
// Do nothing...
return;
}
if (cell._type === 'js') {
return executeJSCell(cell._line_list);
}
if (cell._type === 'resource') {
return executeResourceCell(cell._line_list);
}
if (cell._type === 'fetch') {
return executeFetchCell(cell._line_list);
}
if (cell._type === 'md') {
return executeMarkdownCell(cell._line_list);
}
if (cell._type === 'css') {
return executeCssCell(cell._line_list);
}
return executeUnknownCellType(cell);
}
function deferCellExecution(cell) {
return function () {
return executeCell(cell);
};
}
document.addEventListener('DOMContentLoaded', function () {
var jsmd = document.querySelector('[type="text/x-jsmd"]').textContent,
cell_list = parseJSMDCellList(jsmd),
len = cell_list.length,
i,
queue = new RSVP.Queue();
for (i = 0; i < len; i += 1) {
queue.push(deferCellExecution(cell_list[i]));
}
return queue
.push(function () {
console.info('JSMD executed.');
}, function (error) {
console.error(error);
var pre = document.createElement('pre');
pre.textContent = error;
document.body.appendChild(pre);
});
}, false);
}(window));
\ 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>gadget_jsmd_eval.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>
html {
height: 100%;
width: 100%;
display: block;
box-sizing: border-box;
margin: 0;
padding: 0;
}
*, *:before, *:after {
box-sizing: inherit;
}
body {
height: 100%;
width: 100%;
display: block;
word-wrap: break-word;
margin: 0;
padding: 0;
}
iframe {
max-width: 100%;
max-height: 100vh;
width: 100%;
height: 25em;
border: none;
margin: 0;
padding: 0;
}
<?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>gadget_jsmd_viewer.css</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/css</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>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width" />
<title>JSMD Editor Gadget</title>
<link rel="stylesheet" type="text/css" href="gadget_jsmd_viewer.css" />
<script src="rsvp.js" type="text/javascript"></script>
<script src="renderjs.js" type="text/javascript"></script>
<script src="jiodev.js" type="text/javascript"></script>
<script src="gadget_global.js" type="text/javascript"></script>
<script src="gadget_jsmd_viewer.js" type="text/javascript"></script>
</head>
<body>
<div></div>
</body>
</html>
<?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>gadget_jsmd_viewer.html</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</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, console, RSVP, jIO, DOMParser, Blob, document,
URL, loopEventListener */
/*jslint nomen: true, indent: 2, maxerr: 3 */
(function (window, rJS, RSVP, jIO, DOMParser, document, URL,
loopEventListener) {
"use strict";
function fetchHTML(url, base_url) {
url = new URL(url, base_url).href;
return new RSVP.Queue()
.push(function () {
return jIO.util.ajax({url: url});
})
.push(function (evt) {
// Insert a "base" element, in order to resolve all relative links
// which could get broken with a data url
var doc = (new DOMParser()).parseFromString(evt.target.responseText,
'text/html'),
base = doc.createElement('base');
base.href = url;
doc.head.insertBefore(base, doc.head.firstChild);
return doc;
});
}
rJS(window)
/////////////////////////////////////////////////////////////////
// declared methods
/////////////////////////////////////////////////////////////////
.declareMethod("render", function (options) {
return this.changeState(options);
})
.onStateChange(function () {
// Reset everything if something change
var gadget = this,
base_url = document.location.toString(),
doc;
return fetchHTML("gadget_jsmd_eval.html", base_url)
.push(function (result) {
doc = result;
// Insert text
doc.body.textContent = '';
// Insert the JSMD value inside the HTML
var script = document.createElement('script'),
iframe = document.createElement("iframe");
script.setAttribute('type', 'text/x-jsmd');
script.setAttribute('id', 'jsmd-source');
script.textContent = gadget.state.value;
doc.head.appendChild(script);
/*
blob = new Blob([doc.documentElement.outerHTML],
{type: "text/html;charset=UTF-8"});
return jIO.util.readBlobAsDataURL(blob);
})
.push(function (evt) {
*/
// XXX Insecure
iframe.setAttribute("sandbox", "allow-scripts allow-same-origin");
// iframe.setAttribute("csp", "default-src *; script-src * 'unsafe-inline';");
// iframe.setAttribute("src", evt.target.result);
iframe.setAttribute("srcdoc", doc.documentElement.outerHTML);
gadget.element.innerHTML = iframe.outerHTML;
gadget.listenResize();
});
})
.declareJob('listenResize', function () {
var gadget = this;
function resize() {
gadget.element.querySelector("iframe").style.height =
(window.innerHeight -
gadget.element.querySelector("iframe").offsetTop) + "px";
}
resize();
return loopEventListener(window, 'resize', false, resize);
});
}(window, rJS, RSVP, jIO, DOMParser, document, URL, loopEventListener));
\ 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>gadget_jsmd_viewer.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>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>OfficeJS Jio Web Page View</title>
<script src="rsvp.js"></script>
<script src="renderjs.js"></script>
<script src="gadget_officejs_jio_notebook.js"></script>
<link rel="stylesheet" href="iodide_master.css">
</head>
<body>
<div id='page'></div>
<script id="jsmd" type="text/jsmd"></script>
</body>
</html>
\ 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>gadget_notebook.html</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</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";
rJS(window)
/////////////////////////////////////////////////////////////////
// Acquired methods
/////////////////////////////////////////////////////////////////
.declareAcquiredMethod("updateHeader", "updateHeader")
.declareAcquiredMethod("getUrlParameter", "getUrlParameter")
.declareAcquiredMethod("getUrlFor", "getUrlFor")
.declareAcquiredMethod("updateDocument", "updateDocument")
.declareAcquiredMethod("notifySubmitting", "notifySubmitting")
.declareAcquiredMethod("notifySubmitted", 'notifySubmitted')
/////////////////////////////////////////////////////////////////
// declared methods
/////////////////////////////////////////////////////////////////
.declareMethod("render", function (options) {
return this.changeState({
key: options.key,
value: options.value,
first_render: true
});
})
.onStateChange(function (modified_dict) {
this.element.querySelector('script').textContent = this.state.value;
if (!modified_dict.hasOwnProperty('first_render')) {
throw new Error('Sorry, it is not possible to dynamically change the iodide content');
}
var iodide = document.createElement("script");
iodide.src = "iodide_master.js";
this.element.appendChild(iodide);
})
.declareMethod("getContent", function () {
var dict = {};
dict[this.state.key] = localStorage.getItem('AUTOSAVE: untitled');
return dict;
});
}(window, rJS, RSVP));
\ 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>gadget_officejs_jio_notebook.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>iodide.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>opensans.ttf</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>opensans.woff</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/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>opensans.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>opensansbold.ttf</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>opensansbold.woff</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/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>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="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.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.
<?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</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/css</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>iodide_master.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="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>kiwisolver.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!=="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
<?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>kiwisolver.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>
/**
* marked - a markdown parser
* Copyright (c) 2011-2018, Christopher Jeffrey. (MIT Licensed)
* https://github.com/markedjs/marked
*/
;(function(root) {
'use strict';
/**
* Block-Level Grammar
*/
var block = {
newline: /^\n+/,
code: /^( {4}[^\n]+\n*)+/,
fences: noop,
hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,
heading: /^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/,
nptable: noop,
blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,
list: /^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,
html: '^ {0,3}(?:' // optional indentation
+ '<(script|pre|style)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)' // (1)
+ '|comment[^\\n]*(\\n+|$)' // (2)
+ '|<\\?[\\s\\S]*?\\?>\\n*' // (3)
+ '|<![A-Z][\\s\\S]*?>\\n*' // (4)
+ '|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>\\n*' // (5)
+ '|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:\\n{2,}|$)' // (6)
+ '|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=\\h*\\n)[\\s\\S]*?(?:\\n{2,}|$)' // (7) open tag
+ '|</(?!script|pre|style)[a-z][\\w-]*\\s*>(?=\\h*\\n)[\\s\\S]*?(?:\\n{2,}|$)' // (7) closing tag
+ ')',
def: /^ {0,3}\[(label)\]: *\n? *<?([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,
table: noop,
lheading: /^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,
paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading| {0,3}>|<\/?(?:tag)(?: +|\n|\/?>)|<(?:script|pre|style|!--))[^\n]+)*)/,
text: /^[^\n]+/
};
block._label = /(?!\s*\])(?:\\[\[\]]|[^\[\]])+/;
block._title = /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/;
block.def = edit(block.def)
.replace('label', block._label)
.replace('title', block._title)
.getRegex();
block.bullet = /(?:[*+-]|\d{1,9}\.)/;
block.item = /^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/;
block.item = edit(block.item, 'gm')
.replace(/bull/g, block.bullet)
.getRegex();
block.list = edit(block.list)
.replace(/bull/g, block.bullet)
.replace('hr', '\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))')
.replace('def', '\\n+(?=' + block.def.source + ')')
.getRegex();
block._tag = 'address|article|aside|base|basefont|blockquote|body|caption'
+ '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'
+ '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'
+ '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'
+ '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'
+ '|track|ul';
block._comment = /<!--(?!-?>)[\s\S]*?-->/;
block.html = edit(block.html, 'i')
.replace('comment', block._comment)
.replace('tag', block._tag)
.replace('attribute', / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/)
.getRegex();
block.paragraph = edit(block.paragraph)
.replace('hr', block.hr)
.replace('heading', block.heading)
.replace('lheading', block.lheading)
.replace('tag', block._tag) // pars can be interrupted by type (6) html blocks
.getRegex();
block.blockquote = edit(block.blockquote)
.replace('paragraph', block.paragraph)
.getRegex();
/**
* Normal Block Grammar
*/
block.normal = merge({}, block);
/**
* GFM Block Grammar
*/
block.gfm = merge({}, block.normal, {
fences: /^ {0,3}(`{3,}|~{3,})([^`\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,
paragraph: /^/,
heading: /^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/
});
block.gfm.paragraph = edit(block.paragraph)
.replace('(?!', '(?!'
+ block.gfm.fences.source.replace('\\1', '\\2') + '|'
+ block.list.source.replace('\\1', '\\3') + '|')
.getRegex();
/**
* GFM + Tables Block Grammar
*/
block.tables = merge({}, block.gfm, {
nptable: /^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,
table: /^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/
});
/**
* Pedantic grammar
*/
block.pedantic = merge({}, block.normal, {
html: edit(
'^ *(?:comment *(?:\\n|\\s*$)'
+ '|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)' // closed tag
+ '|<tag(?:"[^"]*"|\'[^\']*\'|\\s[^\'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))')
.replace('comment', block._comment)
.replace(/tag/g, '(?!(?:'
+ 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'
+ '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'
+ '\\b)\\w+(?!:|[^\\w\\s@]*@)\\b')
.getRegex(),
def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/
});
/**
* Block Lexer
*/
function Lexer(options) {
this.tokens = [];
this.tokens.links = Object.create(null);
this.options = options || marked.defaults;
this.rules = block.normal;
if (this.options.pedantic) {
this.rules = block.pedantic;
} else if (this.options.gfm) {
if (this.options.tables) {
this.rules = block.tables;
} else {
this.rules = block.gfm;
}
}
}
/**
* Expose Block Rules
*/
Lexer.rules = block;
/**
* Static Lex Method
*/
Lexer.lex = function(src, options) {
var lexer = new Lexer(options);
return lexer.lex(src);
};
/**
* Preprocessing
*/
Lexer.prototype.lex = function(src) {
src = src
.replace(/\r\n|\r/g, '\n')
.replace(/\t/g, ' ')
.replace(/\u00a0/g, ' ')
.replace(/\u2424/g, '\n');
return this.token(src, true);
};
/**
* Lexing
*/
Lexer.prototype.token = function(src, top) {
src = src.replace(/^ +$/gm, '');
var next,
loose,
cap,
bull,
b,
item,
listStart,
listItems,
t,
space,
i,
tag,
l,
isordered,
istask,
ischecked;
while (src) {
// newline
if (cap = this.rules.newline.exec(src)) {
src = src.substring(cap[0].length);
if (cap[0].length > 1) {
this.tokens.push({
type: 'space'
});
}
}
// code
if (cap = this.rules.code.exec(src)) {
src = src.substring(cap[0].length);
cap = cap[0].replace(/^ {4}/gm, '');
this.tokens.push({
type: 'code',
text: !this.options.pedantic
? rtrim(cap, '\n')
: cap
});
continue;
}
// fences (gfm)
if (cap = this.rules.fences.exec(src)) {
src = src.substring(cap[0].length);
this.tokens.push({
type: 'code',
lang: cap[2] ? cap[2].trim() : cap[2],
text: cap[3] || ''
});
continue;
}
// heading
if (cap = this.rules.heading.exec(src)) {
src = src.substring(cap[0].length);
this.tokens.push({
type: 'heading',
depth: cap[1].length,
text: cap[2]
});
continue;
}
// table no leading pipe (gfm)
if (top && (cap = this.rules.nptable.exec(src))) {
item = {
type: 'table',
header: splitCells(cap[1].replace(/^ *| *\| *$/g, '')),
align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
cells: cap[3] ? cap[3].replace(/\n$/, '').split('\n') : []
};
if (item.header.length === item.align.length) {
src = src.substring(cap[0].length);
for (i = 0; i < item.align.length; i++) {
if (/^ *-+: *$/.test(item.align[i])) {
item.align[i] = 'right';
} else if (/^ *:-+: *$/.test(item.align[i])) {
item.align[i] = 'center';
} else if (/^ *:-+ *$/.test(item.align[i])) {
item.align[i] = 'left';
} else {
item.align[i] = null;
}
}
for (i = 0; i < item.cells.length; i++) {
item.cells[i] = splitCells(item.cells[i], item.header.length);
}
this.tokens.push(item);
continue;
}
}
// hr
if (cap = this.rules.hr.exec(src)) {
src = src.substring(cap[0].length);
this.tokens.push({
type: 'hr'
});
continue;
}
// blockquote
if (cap = this.rules.blockquote.exec(src)) {
src = src.substring(cap[0].length);
this.tokens.push({
type: 'blockquote_start'
});
cap = cap[0].replace(/^ *> ?/gm, '');
// Pass `top` to keep the current
// "toplevel" state. This is exactly
// how markdown.pl works.
this.token(cap, top);
this.tokens.push({
type: 'blockquote_end'
});
continue;
}
// list
if (cap = this.rules.list.exec(src)) {
src = src.substring(cap[0].length);
bull = cap[2];
isordered = bull.length > 1;
listStart = {
type: 'list_start',
ordered: isordered,
start: isordered ? +bull : '',
loose: false
};
this.tokens.push(listStart);
// Get each top-level item.
cap = cap[0].match(this.rules.item);
listItems = [];
next = false;
l = cap.length;
i = 0;
for (; i < l; i++) {
item = cap[i];
// Remove the list item's bullet
// so it is seen as the next token.
space = item.length;
item = item.replace(/^ *([*+-]|\d+\.) */, '');
// Outdent whatever the
// list item contains. Hacky.
if (~item.indexOf('\n ')) {
space -= item.length;
item = !this.options.pedantic
? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')
: item.replace(/^ {1,4}/gm, '');
}
// Determine whether the next list item belongs here.
// Backpedal if it does not belong in this list.
if (i !== l - 1) {
b = block.bullet.exec(cap[i + 1])[0];
if (bull.length > 1 ? b.length === 1
: (b.length > 1 || (this.options.smartLists && b !== bull))) {
src = cap.slice(i + 1).join('\n') + src;
i = l - 1;
}
}
// Determine whether item is loose or not.
// Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/
// for discount behavior.
loose = next || /\n\n(?!\s*$)/.test(item);
if (i !== l - 1) {
next = item.charAt(item.length - 1) === '\n';
if (!loose) loose = next;
}
if (loose) {
listStart.loose = true;
}
// Check for task list items
istask = /^\[[ xX]\] /.test(item);
ischecked = undefined;
if (istask) {
ischecked = item[1] !== ' ';
item = item.replace(/^\[[ xX]\] +/, '');
}
t = {
type: 'list_item_start',
task: istask,
checked: ischecked,
loose: loose
};
listItems.push(t);
this.tokens.push(t);
// Recurse.
this.token(item, false);
this.tokens.push({
type: 'list_item_end'
});
}
if (listStart.loose) {
l = listItems.length;
i = 0;
for (; i < l; i++) {
listItems[i].loose = true;
}
}
this.tokens.push({
type: 'list_end'
});
continue;
}
// html
if (cap = this.rules.html.exec(src)) {
src = src.substring(cap[0].length);
this.tokens.push({
type: this.options.sanitize
? 'paragraph'
: 'html',
pre: !this.options.sanitizer
&& (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),
text: cap[0]
});
continue;
}
// def
if (top && (cap = this.rules.def.exec(src))) {
src = src.substring(cap[0].length);
if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);
tag = cap[1].toLowerCase().replace(/\s+/g, ' ');
if (!this.tokens.links[tag]) {
this.tokens.links[tag] = {
href: cap[2],
title: cap[3]
};
}
continue;
}
// table (gfm)
if (top && (cap = this.rules.table.exec(src))) {
item = {
type: 'table',
header: splitCells(cap[1].replace(/^ *| *\| *$/g, '')),
align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
cells: cap[3] ? cap[3].replace(/(?: *\| *)?\n$/, '').split('\n') : []
};
if (item.header.length === item.align.length) {
src = src.substring(cap[0].length);
for (i = 0; i < item.align.length; i++) {
if (/^ *-+: *$/.test(item.align[i])) {
item.align[i] = 'right';
} else if (/^ *:-+: *$/.test(item.align[i])) {
item.align[i] = 'center';
} else if (/^ *:-+ *$/.test(item.align[i])) {
item.align[i] = 'left';
} else {
item.align[i] = null;
}
}
for (i = 0; i < item.cells.length; i++) {
item.cells[i] = splitCells(
item.cells[i].replace(/^ *\| *| *\| *$/g, ''),
item.header.length);
}
this.tokens.push(item);
continue;
}
}
// lheading
if (cap = this.rules.lheading.exec(src)) {
src = src.substring(cap[0].length);
this.tokens.push({
type: 'heading',
depth: cap[2] === '=' ? 1 : 2,
text: cap[1]
});
continue;
}
// top-level paragraph
if (top && (cap = this.rules.paragraph.exec(src))) {
src = src.substring(cap[0].length);
this.tokens.push({
type: 'paragraph',
text: cap[1].charAt(cap[1].length - 1) === '\n'
? cap[1].slice(0, -1)
: cap[1]
});
continue;
}
// text
if (cap = this.rules.text.exec(src)) {
// Top-level should never reach here.
src = src.substring(cap[0].length);
this.tokens.push({
type: 'text',
text: cap[0]
});
continue;
}
if (src) {
throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));
}
}
return this.tokens;
};
/**
* Inline-Level Grammar
*/
var inline = {
escape: /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,
autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/,
url: noop,
tag: '^comment'
+ '|^</[a-zA-Z][\\w:-]*\\s*>' // self-closing tag
+ '|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>' // open tag
+ '|^<\\?[\\s\\S]*?\\?>' // processing instruction, e.g. <?php ?>
+ '|^<![a-zA-Z]+\\s[\\s\\S]*?>' // declaration, e.g. <!DOCTYPE html>
+ '|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>', // CDATA section
link: /^!?\[(label)\]\(href(?:\s+(title))?\s*\)/,
reflink: /^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,
nolink: /^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,
strong: /^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/,
em: /^_([^\s_])_(?!_)|^\*([^\s*"<\[])\*(?!\*)|^_([^\s][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s"<\[][\s\S]*?[^\s*])\*(?!\*)|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,
code: /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,
br: /^( {2,}|\\)\n(?!\s*$)/,
del: noop,
text: /^(`+|[^`])[\s\S]*?(?=[\\<!\[`*]|\b_| {2,}\n|$)/
};
// list of punctuation marks from common mark spec
// without ` and ] to workaround Rule 17 (inline code blocks/links)
inline._punctuation = '!"#$%&\'()*+,\\-./:;<=>?@\\[^_{|}~';
inline.em = edit(inline.em).replace(/punctuation/g, inline._punctuation).getRegex();
inline._escapes = /\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g;
inline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;
inline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;
inline.autolink = edit(inline.autolink)
.replace('scheme', inline._scheme)
.replace('email', inline._email)
.getRegex();
inline._attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/;
inline.tag = edit(inline.tag)
.replace('comment', block._comment)
.replace('attribute', inline._attribute)
.getRegex();
inline._label = /(?:\[[^\[\]]*\]|\\[\[\]]?|`[^`]*`|`(?!`)|[^\[\]\\`])*?/;
inline._href = /\s*(<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*)/;
inline._title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/;
inline.link = edit(inline.link)
.replace('label', inline._label)
.replace('href', inline._href)
.replace('title', inline._title)
.getRegex();
inline.reflink = edit(inline.reflink)
.replace('label', inline._label)
.getRegex();
/**
* Normal Inline Grammar
*/
inline.normal = merge({}, inline);
/**
* Pedantic Inline Grammar
*/
inline.pedantic = merge({}, inline.normal, {
strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,
em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,
link: edit(/^!?\[(label)\]\((.*?)\)/)
.replace('label', inline._label)
.getRegex(),
reflink: edit(/^!?\[(label)\]\s*\[([^\]]*)\]/)
.replace('label', inline._label)
.getRegex()
});
/**
* GFM Inline Grammar
*/
inline.gfm = merge({}, inline.normal, {
escape: edit(inline.escape).replace('])', '~|])').getRegex(),
_extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,
url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,
_backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,
del: /^~+(?=\S)([\s\S]*?\S)~+/,
text: edit(inline.text)
.replace(']|', '~]|')
.replace('|$', '|https?://|ftp://|www\\.|[a-zA-Z0-9.!#$%&\'*+/=?^_`{\\|}~-]+@|$')
.getRegex()
});
inline.gfm.url = edit(inline.gfm.url, 'i')
.replace('email', inline.gfm._extended_email)
.getRegex();
/**
* GFM + Line Breaks Inline Grammar
*/
inline.breaks = merge({}, inline.gfm, {
br: edit(inline.br).replace('{2,}', '*').getRegex(),
text: edit(inline.gfm.text).replace('{2,}', '*').getRegex()
});
/**
* Inline Lexer & Compiler
*/
function InlineLexer(links, options) {
this.options = options || marked.defaults;
this.links = links;
this.rules = inline.normal;
this.renderer = this.options.renderer || new Renderer();
this.renderer.options = this.options;
if (!this.links) {
throw new Error('Tokens array requires a `links` property.');
}
if (this.options.pedantic) {
this.rules = inline.pedantic;
} else if (this.options.gfm) {
if (this.options.breaks) {
this.rules = inline.breaks;
} else {
this.rules = inline.gfm;
}
}
}
/**
* Expose Inline Rules
*/
InlineLexer.rules = inline;
/**
* Static Lexing/Compiling Method
*/
InlineLexer.output = function(src, links, options) {
var inline = new InlineLexer(links, options);
return inline.output(src);
};
/**
* Lexing/Compiling
*/
InlineLexer.prototype.output = function(src) {
var out = '',
link,
text,
href,
title,
cap,
prevCapZero;
while (src) {
// escape
if (cap = this.rules.escape.exec(src)) {
src = src.substring(cap[0].length);
out += escape(cap[1]);
continue;
}
// tag
if (cap = this.rules.tag.exec(src)) {
if (!this.inLink && /^<a /i.test(cap[0])) {
this.inLink = true;
} else if (this.inLink && /^<\/a>/i.test(cap[0])) {
this.inLink = false;
}
if (!this.inRawBlock && /^<(pre|code|kbd|script)(\s|>)/i.test(cap[0])) {
this.inRawBlock = true;
} else if (this.inRawBlock && /^<\/(pre|code|kbd|script)(\s|>)/i.test(cap[0])) {
this.inRawBlock = false;
}
src = src.substring(cap[0].length);
out += this.options.sanitize
? this.options.sanitizer
? this.options.sanitizer(cap[0])
: escape(cap[0])
: cap[0];
continue;
}
// link
if (cap = this.rules.link.exec(src)) {
var lastParenIndex = findClosingBracket(cap[2], '()');
if (lastParenIndex > -1) {
var removeChars = cap[2].length - lastParenIndex;
cap[2] = cap[2].substring(0, lastParenIndex);
cap[0] = cap[0].substring(0, cap[0].length - removeChars);
}
src = src.substring(cap[0].length);
this.inLink = true;
href = cap[2];
if (this.options.pedantic) {
link = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(href);
if (link) {
href = link[1];
title = link[3];
} else {
title = '';
}
} else {
title = cap[3] ? cap[3].slice(1, -1) : '';
}
href = href.trim().replace(/^<([\s\S]*)>$/, '$1');
out += this.outputLink(cap, {
href: InlineLexer.escapes(href),
title: InlineLexer.escapes(title)
});
this.inLink = false;
continue;
}
// reflink, nolink
if ((cap = this.rules.reflink.exec(src))
|| (cap = this.rules.nolink.exec(src))) {
src = src.substring(cap[0].length);
link = (cap[2] || cap[1]).replace(/\s+/g, ' ');
link = this.links[link.toLowerCase()];
if (!link || !link.href) {
out += cap[0].charAt(0);
src = cap[0].substring(1) + src;
continue;
}
this.inLink = true;
out += this.outputLink(cap, link);
this.inLink = false;
continue;
}
// strong
if (cap = this.rules.strong.exec(src)) {
src = src.substring(cap[0].length);
out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1]));
continue;
}
// em
if (cap = this.rules.em.exec(src)) {
src = src.substring(cap[0].length);
out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1]));
continue;
}
// code
if (cap = this.rules.code.exec(src)) {
src = src.substring(cap[0].length);
out += this.renderer.codespan(escape(cap[2].trim(), true));
continue;
}
// br
if (cap = this.rules.br.exec(src)) {
src = src.substring(cap[0].length);
out += this.renderer.br();
continue;
}
// del (gfm)
if (cap = this.rules.del.exec(src)) {
src = src.substring(cap[0].length);
out += this.renderer.del(this.output(cap[1]));
continue;
}
// autolink
if (cap = this.rules.autolink.exec(src)) {
src = src.substring(cap[0].length);
if (cap[2] === '@') {
text = escape(this.mangle(cap[1]));
href = 'mailto:' + text;
} else {
text = escape(cap[1]);
href = text;
}
out += this.renderer.link(href, null, text);
continue;
}
// url (gfm)
if (!this.inLink && (cap = this.rules.url.exec(src))) {
if (cap[2] === '@') {
text = escape(cap[0]);
href = 'mailto:' + text;
} else {
// do extended autolink path validation
do {
prevCapZero = cap[0];
cap[0] = this.rules._backpedal.exec(cap[0])[0];
} while (prevCapZero !== cap[0]);
text = escape(cap[0]);
if (cap[1] === 'www.') {
href = 'http://' + text;
} else {
href = text;
}
}
src = src.substring(cap[0].length);
out += this.renderer.link(href, null, text);
continue;
}
// text
if (cap = this.rules.text.exec(src)) {
src = src.substring(cap[0].length);
if (this.inRawBlock) {
out += this.renderer.text(cap[0]);
} else {
out += this.renderer.text(escape(this.smartypants(cap[0])));
}
continue;
}
if (src) {
throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));
}
}
return out;
};
InlineLexer.escapes = function(text) {
return text ? text.replace(InlineLexer.rules._escapes, '$1') : text;
};
/**
* Compile Link
*/
InlineLexer.prototype.outputLink = function(cap, link) {
var href = link.href,
title = link.title ? escape(link.title) : null;
return cap[0].charAt(0) !== '!'
? this.renderer.link(href, title, this.output(cap[1]))
: this.renderer.image(href, title, escape(cap[1]));
};
/**
* Smartypants Transformations
*/
InlineLexer.prototype.smartypants = function(text) {
if (!this.options.smartypants) return text;
return text
// em-dashes
.replace(/---/g, '\u2014')
// en-dashes
.replace(/--/g, '\u2013')
// opening singles
.replace(/(^|[-\u2014/(\[{"\s])'/g, '$1\u2018')
// closing singles & apostrophes
.replace(/'/g, '\u2019')
// opening doubles
.replace(/(^|[-\u2014/(\[{\u2018\s])"/g, '$1\u201c')
// closing doubles
.replace(/"/g, '\u201d')
// ellipses
.replace(/\.{3}/g, '\u2026');
};
/**
* Mangle Links
*/
InlineLexer.prototype.mangle = function(text) {
if (!this.options.mangle) return text;
var out = '',
l = text.length,
i = 0,
ch;
for (; i < l; i++) {
ch = text.charCodeAt(i);
if (Math.random() > 0.5) {
ch = 'x' + ch.toString(16);
}
out += '&#' + ch + ';';
}
return out;
};
/**
* Renderer
*/
function Renderer(options) {
this.options = options || marked.defaults;
}
Renderer.prototype.code = function(code, infostring, escaped) {
var lang = (infostring || '').match(/\S*/)[0];
if (this.options.highlight) {
var out = this.options.highlight(code, lang);
if (out != null && out !== code) {
escaped = true;
code = out;
}
}
if (!lang) {
return '<pre><code>'
+ (escaped ? code : escape(code, true))
+ '</code></pre>';
}
return '<pre><code class="'
+ this.options.langPrefix
+ escape(lang, true)
+ '">'
+ (escaped ? code : escape(code, true))
+ '</code></pre>\n';
};
Renderer.prototype.blockquote = function(quote) {
return '<blockquote>\n' + quote + '</blockquote>\n';
};
Renderer.prototype.html = function(html) {
return html;
};
Renderer.prototype.heading = function(text, level, raw, slugger) {
if (this.options.headerIds) {
return '<h'
+ level
+ ' id="'
+ this.options.headerPrefix
+ slugger.slug(raw)
+ '">'
+ text
+ '</h'
+ level
+ '>\n';
}
// ignore IDs
return '<h' + level + '>' + text + '</h' + level + '>\n';
};
Renderer.prototype.hr = function() {
return this.options.xhtml ? '<hr/>\n' : '<hr>\n';
};
Renderer.prototype.list = function(body, ordered, start) {
var type = ordered ? 'ol' : 'ul',
startatt = (ordered && start !== 1) ? (' start="' + start + '"') : '';
return '<' + type + startatt + '>\n' + body + '</' + type + '>\n';
};
Renderer.prototype.listitem = function(text) {
return '<li>' + text + '</li>\n';
};
Renderer.prototype.checkbox = function(checked) {
return '<input '
+ (checked ? 'checked="" ' : '')
+ 'disabled="" type="checkbox"'
+ (this.options.xhtml ? ' /' : '')
+ '> ';
};
Renderer.prototype.paragraph = function(text) {
return '<p>' + text + '</p>\n';
};
Renderer.prototype.table = function(header, body) {
if (body) body = '<tbody>' + body + '</tbody>';
return '<table>\n'
+ '<thead>\n'
+ header
+ '</thead>\n'
+ body
+ '</table>\n';
};
Renderer.prototype.tablerow = function(content) {
return '<tr>\n' + content + '</tr>\n';
};
Renderer.prototype.tablecell = function(content, flags) {
var type = flags.header ? 'th' : 'td';
var tag = flags.align
? '<' + type + ' align="' + flags.align + '">'
: '<' + type + '>';
return tag + content + '</' + type + '>\n';
};
// span level renderer
Renderer.prototype.strong = function(text) {
return '<strong>' + text + '</strong>';
};
Renderer.prototype.em = function(text) {
return '<em>' + text + '</em>';
};
Renderer.prototype.codespan = function(text) {
return '<code>' + text + '</code>';
};
Renderer.prototype.br = function() {
return this.options.xhtml ? '<br/>' : '<br>';
};
Renderer.prototype.del = function(text) {
return '<del>' + text + '</del>';
};
Renderer.prototype.link = function(href, title, text) {
href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);
if (href === null) {
return text;
}
var out = '<a href="' + escape(href) + '"';
if (title) {
out += ' title="' + title + '"';
}
out += '>' + text + '</a>';
return out;
};
Renderer.prototype.image = function(href, title, text) {
href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);
if (href === null) {
return text;
}
var out = '<img src="' + href + '" alt="' + text + '"';
if (title) {
out += ' title="' + title + '"';
}
out += this.options.xhtml ? '/>' : '>';
return out;
};
Renderer.prototype.text = function(text) {
return text;
};
/**
* TextRenderer
* returns only the textual part of the token
*/
function TextRenderer() {}
// no need for block level renderers
TextRenderer.prototype.strong =
TextRenderer.prototype.em =
TextRenderer.prototype.codespan =
TextRenderer.prototype.del =
TextRenderer.prototype.text = function (text) {
return text;
};
TextRenderer.prototype.link =
TextRenderer.prototype.image = function(href, title, text) {
return '' + text;
};
TextRenderer.prototype.br = function() {
return '';
};
/**
* Parsing & Compiling
*/
function Parser(options) {
this.tokens = [];
this.token = null;
this.options = options || marked.defaults;
this.options.renderer = this.options.renderer || new Renderer();
this.renderer = this.options.renderer;
this.renderer.options = this.options;
this.slugger = new Slugger();
}
/**
* Static Parse Method
*/
Parser.parse = function(src, options) {
var parser = new Parser(options);
return parser.parse(src);
};
/**
* Parse Loop
*/
Parser.prototype.parse = function(src) {
this.inline = new InlineLexer(src.links, this.options);
// use an InlineLexer with a TextRenderer to extract pure text
this.inlineText = new InlineLexer(
src.links,
merge({}, this.options, {renderer: new TextRenderer()})
);
this.tokens = src.reverse();
var out = '';
while (this.next()) {
out += this.tok();
}
return out;
};
/**
* Next Token
*/
Parser.prototype.next = function() {
return this.token = this.tokens.pop();
};
/**
* Preview Next Token
*/
Parser.prototype.peek = function() {
return this.tokens[this.tokens.length - 1] || 0;
};
/**
* Parse Text Tokens
*/
Parser.prototype.parseText = function() {
var body = this.token.text;
while (this.peek().type === 'text') {
body += '\n' + this.next().text;
}
return this.inline.output(body);
};
/**
* Parse Current Token
*/
Parser.prototype.tok = function() {
switch (this.token.type) {
case 'space': {
return '';
}
case 'hr': {
return this.renderer.hr();
}
case 'heading': {
return this.renderer.heading(
this.inline.output(this.token.text),
this.token.depth,
unescape(this.inlineText.output(this.token.text)),
this.slugger);
}
case 'code': {
return this.renderer.code(this.token.text,
this.token.lang,
this.token.escaped);
}
case 'table': {
var header = '',
body = '',
i,
row,
cell,
j;
// header
cell = '';
for (i = 0; i < this.token.header.length; i++) {
cell += this.renderer.tablecell(
this.inline.output(this.token.header[i]),
{ header: true, align: this.token.align[i] }
);
}
header += this.renderer.tablerow(cell);
for (i = 0; i < this.token.cells.length; i++) {
row = this.token.cells[i];
cell = '';
for (j = 0; j < row.length; j++) {
cell += this.renderer.tablecell(
this.inline.output(row[j]),
{ header: false, align: this.token.align[j] }
);
}
body += this.renderer.tablerow(cell);
}
return this.renderer.table(header, body);
}
case 'blockquote_start': {
body = '';
while (this.next().type !== 'blockquote_end') {
body += this.tok();
}
return this.renderer.blockquote(body);
}
case 'list_start': {
body = '';
var ordered = this.token.ordered,
start = this.token.start;
while (this.next().type !== 'list_end') {
body += this.tok();
}
return this.renderer.list(body, ordered, start);
}
case 'list_item_start': {
body = '';
var loose = this.token.loose;
if (this.token.task) {
body += this.renderer.checkbox(this.token.checked);
}
while (this.next().type !== 'list_item_end') {
body += !loose && this.token.type === 'text'
? this.parseText()
: this.tok();
}
return this.renderer.listitem(body);
}
case 'html': {
// TODO parse inline content if parameter markdown=1
return this.renderer.html(this.token.text);
}
case 'paragraph': {
return this.renderer.paragraph(this.inline.output(this.token.text));
}
case 'text': {
return this.renderer.paragraph(this.parseText());
}
default: {
var errMsg = 'Token with "' + this.token.type + '" type was not found.';
if (this.options.silent) {
console.log(errMsg);
} else {
throw new Error(errMsg);
}
}
}
};
/**
* Slugger generates header id
*/
function Slugger () {
this.seen = {};
}
/**
* Convert string to unique id
*/
Slugger.prototype.slug = function (value) {
var slug = value
.toLowerCase()
.trim()
.replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g, '')
.replace(/\s/g, '-');
if (this.seen.hasOwnProperty(slug)) {
var originalSlug = slug;
do {
this.seen[originalSlug]++;
slug = originalSlug + '-' + this.seen[originalSlug];
} while (this.seen.hasOwnProperty(slug));
}
this.seen[slug] = 0;
return slug;
};
/**
* Helpers
*/
function escape(html, encode) {
if (encode) {
if (escape.escapeTest.test(html)) {
return html.replace(escape.escapeReplace, function (ch) { return escape.replacements[ch]; });
}
} else {
if (escape.escapeTestNoEncode.test(html)) {
return html.replace(escape.escapeReplaceNoEncode, function (ch) { return escape.replacements[ch]; });
}
}
return html;
}
escape.escapeTest = /[&<>"']/;
escape.escapeReplace = /[&<>"']/g;
escape.replacements = {
'&': '&amp;',
'<': '&lt;',
'>': '&gt;',
'"': '&quot;',
"'": '&#39;'
};
escape.escapeTestNoEncode = /[<>"']|&(?!#?\w+;)/;
escape.escapeReplaceNoEncode = /[<>"']|&(?!#?\w+;)/g;
function unescape(html) {
// explicitly match decimal, hex, and named HTML entities
return html.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig, function(_, n) {
n = n.toLowerCase();
if (n === 'colon') return ':';
if (n.charAt(0) === '#') {
return n.charAt(1) === 'x'
? String.fromCharCode(parseInt(n.substring(2), 16))
: String.fromCharCode(+n.substring(1));
}
return '';
});
}
function edit(regex, opt) {
regex = regex.source || regex;
opt = opt || '';
return {
replace: function(name, val) {
val = val.source || val;
val = val.replace(/(^|[^\[])\^/g, '$1');
regex = regex.replace(name, val);
return this;
},
getRegex: function() {
return new RegExp(regex, opt);
}
};
}
function cleanUrl(sanitize, base, href) {
if (sanitize) {
try {
var prot = decodeURIComponent(unescape(href))
.replace(/[^\w:]/g, '')
.toLowerCase();
} catch (e) {
return null;
}
if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {
return null;
}
}
if (base && !originIndependentUrl.test(href)) {
href = resolveUrl(base, href);
}
try {
href = encodeURI(href).replace(/%25/g, '%');
} catch (e) {
return null;
}
return href;
}
function resolveUrl(base, href) {
if (!baseUrls[' ' + base]) {
// we can ignore everything in base after the last slash of its path component,
// but we might need to add _that_
// https://tools.ietf.org/html/rfc3986#section-3
if (/^[^:]+:\/*[^/]*$/.test(base)) {
baseUrls[' ' + base] = base + '/';
} else {
baseUrls[' ' + base] = rtrim(base, '/', true);
}
}
base = baseUrls[' ' + base];
if (href.slice(0, 2) === '//') {
return base.replace(/:[\s\S]*/, ':') + href;
} else if (href.charAt(0) === '/') {
return base.replace(/(:\/*[^/]*)[\s\S]*/, '$1') + href;
} else {
return base + href;
}
}
var baseUrls = {};
var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;
function noop() {}
noop.exec = noop;
function merge(obj) {
var i = 1,
target,
key;
for (; i < arguments.length; i++) {
target = arguments[i];
for (key in target) {
if (Object.prototype.hasOwnProperty.call(target, key)) {
obj[key] = target[key];
}
}
}
return obj;
}
function splitCells(tableRow, count) {
// ensure that every cell-delimiting pipe has a space
// before it to distinguish it from an escaped pipe
var row = tableRow.replace(/\|/g, function (match, offset, str) {
var escaped = false,
curr = offset;
while (--curr >= 0 && str[curr] === '\\') escaped = !escaped;
if (escaped) {
// odd number of slashes means | is escaped
// so we leave it alone
return '|';
} else {
// add space before unescaped |
return ' |';
}
}),
cells = row.split(/ \|/),
i = 0;
if (cells.length > count) {
cells.splice(count);
} else {
while (cells.length < count) cells.push('');
}
for (; i < cells.length; i++) {
// leading or trailing whitespace is ignored per the gfm spec
cells[i] = cells[i].trim().replace(/\\\|/g, '|');
}
return cells;
}
// Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').
// /c*$/ is vulnerable to REDOS.
// invert: Remove suffix of non-c chars instead. Default falsey.
function rtrim(str, c, invert) {
if (str.length === 0) {
return '';
}
// Length of suffix matching the invert condition.
var suffLen = 0;
// Step left until we fail to match the invert condition.
while (suffLen < str.length) {
var currChar = str.charAt(str.length - suffLen - 1);
if (currChar === c && !invert) {
suffLen++;
} else if (currChar !== c && invert) {
suffLen++;
} else {
break;
}
}
return str.substr(0, str.length - suffLen);
}
function findClosingBracket(str, b) {
if (str.indexOf(b[1]) === -1) {
return -1;
}
var level = 0;
for (var i = 0; i < str.length; i++) {
if (str[i] === '\\') {
i++;
} else if (str[i] === b[0]) {
level++;
} else if (str[i] === b[1]) {
level--;
if (level < 0) {
return i;
}
}
}
return -1;
}
/**
* Marked
*/
function marked(src, opt, callback) {
// throw error in case of non string input
if (typeof src === 'undefined' || src === null) {
throw new Error('marked(): input parameter is undefined or null');
}
if (typeof src !== 'string') {
throw new Error('marked(): input parameter is of type '
+ Object.prototype.toString.call(src) + ', string expected');
}
if (callback || typeof opt === 'function') {
if (!callback) {
callback = opt;
opt = null;
}
opt = merge({}, marked.defaults, opt || {});
var highlight = opt.highlight,
tokens,
pending,
i = 0;
try {
tokens = Lexer.lex(src, opt);
} catch (e) {
return callback(e);
}
pending = tokens.length;
var done = function(err) {
if (err) {
opt.highlight = highlight;
return callback(err);
}
var out;
try {
out = Parser.parse(tokens, opt);
} catch (e) {
err = e;
}
opt.highlight = highlight;
return err
? callback(err)
: callback(null, out);
};
if (!highlight || highlight.length < 3) {
return done();
}
delete opt.highlight;
if (!pending) return done();
for (; i < tokens.length; i++) {
(function(token) {
if (token.type !== 'code') {
return --pending || done();
}
return highlight(token.text, token.lang, function(err, code) {
if (err) return done(err);
if (code == null || code === token.text) {
return --pending || done();
}
token.text = code;
token.escaped = true;
--pending || done();
});
})(tokens[i]);
}
return;
}
try {
if (opt) opt = merge({}, marked.defaults, opt);
return Parser.parse(Lexer.lex(src, opt), opt);
} catch (e) {
e.message += '\nPlease report this to https://github.com/markedjs/marked.';
if ((opt || marked.defaults).silent) {
return '<p>An error occurred:</p><pre>'
+ escape(e.message + '', true)
+ '</pre>';
}
throw e;
}
}
/**
* Options
*/
marked.options =
marked.setOptions = function(opt) {
merge(marked.defaults, opt);
return marked;
};
marked.getDefaults = function () {
return {
baseUrl: null,
breaks: false,
gfm: true,
headerIds: true,
headerPrefix: '',
highlight: null,
langPrefix: 'language-',
mangle: true,
pedantic: false,
renderer: new Renderer(),
sanitize: false,
sanitizer: null,
silent: false,
smartLists: false,
smartypants: false,
tables: true,
xhtml: false
};
};
marked.defaults = marked.getDefaults();
/**
* Expose
*/
marked.Parser = Parser;
marked.parser = Parser.parse;
marked.Renderer = Renderer;
marked.TextRenderer = TextRenderer;
marked.Lexer = Lexer;
marked.lexer = Lexer.lex;
marked.InlineLexer = InlineLexer;
marked.inlineLexer = InlineLexer.output;
marked.Slugger = Slugger;
marked.parse = marked;
if (typeof module !== 'undefined' && typeof exports === 'object') {
module.exports = marked;
} else if (typeof define === 'function' && define.amd) {
define(function() { return marked; });
} else {
root.marked = marked;
}
})(this || (typeof window !== 'undefined' ? window : global));
\ 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>marked.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="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>matplotlib.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!=="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
<?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>matplotlib.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>
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>numpy.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!=="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="numpy.data";var REMOTE_PACKAGE_BASE="numpy.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","numpy-1.14.1-py3.6.egg-info",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages","numpy",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy","f2py",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/f2py","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/f2py","src",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/f2py","tests",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/f2py/tests","src",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/f2py/tests/src","regression",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/f2py/tests/src","size",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/f2py/tests/src","mixed",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/f2py/tests/src","string",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/f2py/tests/src","array_from_pyobj",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/f2py/tests/src","common",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/f2py/tests/src","assumed_shape",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/f2py/tests/src","kind",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/f2py/tests/src","parameter",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy","ma",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/ma","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/ma","tests",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy","random",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/random","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/random","tests",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy","lib",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/lib","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/lib","tests",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/lib/tests","data",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy","testing",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/testing","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/testing","nose_tools",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/testing/nose_tools","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/testing","tests",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy","fft",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/fft","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/fft","tests",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy","matrixlib",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/matrixlib","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/matrixlib","tests",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy","distutils",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/distutils","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/distutils","command",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/distutils/command","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/distutils","fcompiler",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/distutils/fcompiler","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/distutils","mingw",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/distutils","tests",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy","polynomial",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/polynomial","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/polynomial","tests",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy","compat",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/compat","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy","doc",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/doc","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy","linalg",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/linalg","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/linalg","tests",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy","tests",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy","core",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/core","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/core","lib",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/core","include",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/core/include","numpy",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/core","tests",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/numpy/core/tests","data",true,true);Module["FS_createPath"]("/","bin",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_numpy.data")}Module["addRunDependency"]("datafile_numpy.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/numpy-1.14.1-py3.6.egg-info/top_level.txt",start:0,end:6,audio:0},{filename:"/lib/python3.6/site-packages/numpy-1.14.1-py3.6.egg-info/dependency_links.txt",start:6,end:7,audio:0},{filename:"/lib/python3.6/site-packages/numpy-1.14.1-py3.6.egg-info/PKG-INFO",start:7,end:2363,audio:0},{filename:"/lib/python3.6/site-packages/numpy-1.14.1-py3.6.egg-info/SOURCES.txt",start:2363,end:47426,audio:0},{filename:"/lib/python3.6/site-packages/numpy/ctypeslib.py",start:47426,end:62156,audio:0},{filename:"/lib/python3.6/site-packages/numpy/_globals.py",start:62156,end:64015,audio:0},{filename:"/lib/python3.6/site-packages/numpy/add_newdocs.py",start:64015,end:298762,audio:0},{filename:"/lib/python3.6/site-packages/numpy/conftest.py",start:298762,end:300319,audio:0},{filename:"/lib/python3.6/site-packages/numpy/__config__.py",start:300319,end:301256,audio:0},{filename:"/lib/python3.6/site-packages/numpy/LICENSE.txt",start:301256,end:303568,audio:0},{filename:"/lib/python3.6/site-packages/numpy/version.py",start:303568,end:303862,audio:0},{filename:"/lib/python3.6/site-packages/numpy/__init__.py",start:303862,end:310113,audio:0},{filename:"/lib/python3.6/site-packages/numpy/matlib.py",start:310113,end:319922,audio:0},{filename:"/lib/python3.6/site-packages/numpy/_import_tools.py",start:319922,end:333156,audio:0},{filename:"/lib/python3.6/site-packages/numpy/dual.py",start:333156,end:335020,audio:0},{filename:"/lib/python3.6/site-packages/numpy/setup.py",start:335020,end:335940,audio:0},{filename:"/lib/python3.6/site-packages/numpy/_distributor_init.py",start:335940,end:336271,audio:0},{filename:"/lib/python3.6/site-packages/numpy/__pycache__/add_newdocs.cpython-36.pyc",start:336271,end:542473,audio:0},{filename:"/lib/python3.6/site-packages/numpy/__pycache__/__config__.cpython-36.pyc",start:542473,end:543473,audio:0},{filename:"/lib/python3.6/site-packages/numpy/__pycache__/_globals.cpython-36.pyc",start:543473,end:545681,audio:0},{filename:"/lib/python3.6/site-packages/numpy/__pycache__/_distributor_init.cpython-36.pyc",start:545681,end:546165,audio:0},{filename:"/lib/python3.6/site-packages/numpy/__pycache__/__init__.cpython-36.pyc",start:546165,end:551733,audio:0},{filename:"/lib/python3.6/site-packages/numpy/__pycache__/conftest.cpython-36.pyc",start:551733,end:553176,audio:0},{filename:"/lib/python3.6/site-packages/numpy/__pycache__/dual.cpython-36.pyc",start:553176,end:555013,audio:0},{filename:"/lib/python3.6/site-packages/numpy/__pycache__/ctypeslib.cpython-36.pyc",start:555013,end:567105,audio:0},{filename:"/lib/python3.6/site-packages/numpy/__pycache__/_import_tools.cpython-36.pyc",start:567105,end:576883,audio:0},{filename:"/lib/python3.6/site-packages/numpy/__pycache__/setup.cpython-36.pyc",start:576883,end:577750,audio:0},{filename:"/lib/python3.6/site-packages/numpy/__pycache__/version.cpython-36.pyc",start:577750,end:578034,audio:0},{filename:"/lib/python3.6/site-packages/numpy/__pycache__/matlib.cpython-36.pyc",start:578034,end:588255,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/cfuncs.py",start:588255,end:633368,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/rules.py",start:633368,end:691893,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/use_rules.py",start:691893,end:695545,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/cb_rules.py",start:695545,end:717901,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/common_rules.py",start:717901,end:722931,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/f90mod_rules.py",start:722931,end:732781,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/crackfortran.py",start:732781,end:861185,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/__init__.py",start:861185,end:863212,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/auxfuncs.py",start:863212,end:885038,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/func2subr.py",start:885038,end:894262,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/setup.py",start:894262,end:898187,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/capi_maps.py",start:898187,end:929726,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/f2py_testing.py",start:929726,end:931249,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/diagnose.py",start:931249,end:936544,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/info.py",start:936544,end:936680,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/__main__.py",start:936680,end:937419,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/__version__.py",start:937419,end:937673,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/f2py2e.py",start:937673,end:960581,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/__pycache__/use_rules.cpython-36.pyc",start:960581,end:963699,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/__pycache__/rules.cpython-36.pyc",start:963699,end:997903,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/__pycache__/capi_maps.cpython-36.pyc",start:997903,end:1015935,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/__pycache__/common_rules.cpython-36.pyc",start:1015935,end:1020656,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/__pycache__/f90mod_rules.cpython-36.pyc",start:1020656,end:1028059,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/__pycache__/func2subr.cpython-36.pyc",start:1028059,end:1034831,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/__pycache__/crackfortran.cpython-36.pyc",start:1034831,end:1110993,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/__pycache__/cfuncs.cpython-36.pyc",start:1110993,end:1149379,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/__pycache__/__version__.cpython-36.pyc",start:1149379,end:1149797,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/__pycache__/__main__.cpython-36.pyc",start:1149797,end:1150589,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/__pycache__/__init__.cpython-36.pyc",start:1150589,end:1152647,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/__pycache__/cb_rules.cpython-36.pyc",start:1152647,end:1167574,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/__pycache__/auxfuncs.cpython-36.pyc",start:1167574,end:1189901,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/__pycache__/diagnose.cpython-36.pyc",start:1189901,end:1193675,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/__pycache__/f2py2e.cpython-36.pyc",start:1193675,end:1212977,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/__pycache__/info.cpython-36.pyc",start:1212977,end:1213289,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/__pycache__/setup.cpython-36.pyc",start:1213289,end:1217084,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/__pycache__/f2py_testing.cpython-36.pyc",start:1217084,end:1218561,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/src/fortranobject.c",start:1218561,end:1254374,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/src/fortranobject.h",start:1254374,end:1259305,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/test_return_integer.py",start:1259305,end:1264001,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/test_return_real.py",start:1264001,end:1269411,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/test_mixed.py",start:1269411,end:1270386,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/test_array_from_pyobj.py",start:1270386,end:1292497,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/test_string.py",start:1292497,end:1293225,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/test_return_logical.py",start:1293225,end:1298175,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/test_block_docstring.py",start:1298175,end:1298798,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/test_assumed_shape.py",start:1298798,end:1299799,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/test_return_character.py",start:1299799,end:1303668,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/__init__.py",start:1303668,end:1303668,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/test_size.py",start:1303668,end:1305056,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/test_common.py",start:1305056,end:1305956,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/test_callback.py",start:1305956,end:1309970,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/test_parameter.py",start:1309970,end:1313947,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/test_kind.py",start:1313947,end:1315073,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/test_return_complex.py",start:1315073,end:1319857,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/util.py",start:1319857,end:1329311,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/test_regression.py",start:1329311,end:1330140,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/src/regression/inout.f90",start:1330140,end:1330417,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/src/size/foo.f90",start:1330417,end:1331232,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/src/mixed/foo_fixed.f90",start:1331232,end:1331411,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/src/mixed/foo.f",start:1331411,end:1331496,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/src/mixed/foo_free.f90",start:1331496,end:1331635,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/src/string/char.f90",start:1331635,end:1332253,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c",start:1332253,end:1341054,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/src/common/block.f",start:1341054,end:1341278,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/src/assumed_shape/.f2py_f2cmap",start:1341278,end:1341307,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/src/assumed_shape/precision.f90",start:1341307,end:1341437,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/src/assumed_shape/foo_free.f90",start:1341437,end:1341897,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/src/assumed_shape/foo_use.f90",start:1341897,end:1342166,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/src/assumed_shape/foo_mod.f90",start:1342166,end:1342665,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/src/kind/foo.f90",start:1342665,end:1343012,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/src/parameter/constant_integer.f90",start:1343012,end:1343624,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/src/parameter/constant_non_compound.f90",start:1343624,end:1344233,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/src/parameter/constant_compound.f90",start:1344233,end:1344702,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/src/parameter/constant_both.f90",start:1344702,end:1346641,audio:0},{filename:"/lib/python3.6/site-packages/numpy/f2py/tests/src/parameter/constant_real.f90",start:1346641,end:1347251,audio:0},{filename:"/lib/python3.6/site-packages/numpy/ma/extras.py",start:1347251,end:1403214,audio:0},{filename:"/lib/python3.6/site-packages/numpy/ma/timer_comparison.py",start:1403214,end:1418800,audio:0},{filename:"/lib/python3.6/site-packages/numpy/ma/version.py",start:1418800,end:1419180,audio:0},{filename:"/lib/python3.6/site-packages/numpy/ma/core.py",start:1419180,end:1675023,audio:0},{filename:"/lib/python3.6/site-packages/numpy/ma/__init__.py",start:1675023,end:1676499,audio:0},{filename:"/lib/python3.6/site-packages/numpy/ma/mrecords.py",start:1676499,end:1703934,audio:0},{filename:"/lib/python3.6/site-packages/numpy/ma/bench.py",start:1703934,end:1708851,audio:0},{filename:"/lib/python3.6/site-packages/numpy/ma/setup.py",start:1708851,end:1709280,audio:0},{filename:"/lib/python3.6/site-packages/numpy/ma/testutils.py",start:1709280,end:1719664,audio:0},{filename:"/lib/python3.6/site-packages/numpy/ma/__pycache__/timer_comparison.cpython-36.pyc",start:1719664,end:1731037,audio:0},{filename:"/lib/python3.6/site-packages/numpy/ma/__pycache__/extras.cpython-36.pyc",start:1731037,end:1780667,audio:0},{filename:"/lib/python3.6/site-packages/numpy/ma/__pycache__/mrecords.cpython-36.pyc",start:1780667,end:1803229,audio:0},{filename:"/lib/python3.6/site-packages/numpy/ma/__pycache__/bench.cpython-36.pyc",start:1803229,end:1807091,audio:0},{filename:"/lib/python3.6/site-packages/numpy/ma/__pycache__/core.cpython-36.pyc",start:1807091,end:2016844,audio:0},{filename:"/lib/python3.6/site-packages/numpy/ma/__pycache__/__init__.cpython-36.pyc",start:2016844,end:2018463,audio:0},{filename:"/lib/python3.6/site-packages/numpy/ma/__pycache__/setup.cpython-36.pyc",start:2018463,end:2019063,audio:0},{filename:"/lib/python3.6/site-packages/numpy/ma/__pycache__/version.cpython-36.pyc",start:2019063,end:2019710,audio:0},{filename:"/lib/python3.6/site-packages/numpy/ma/__pycache__/testutils.cpython-36.pyc",start:2019710,end:2028021,audio:0},{filename:"/lib/python3.6/site-packages/numpy/ma/tests/test_core.py",start:2028021,end:2220265,audio:0},{filename:"/lib/python3.6/site-packages/numpy/ma/tests/test_subclassing.py",start:2220265,end:2233931,audio:0},{filename:"/lib/python3.6/site-packages/numpy/ma/tests/test_extras.py",start:2233931,end:2298039,audio:0},{filename:"/lib/python3.6/site-packages/numpy/ma/tests/__init__.py",start:2298039,end:2298039,audio:0},{filename:"/lib/python3.6/site-packages/numpy/ma/tests/test_deprecations.py",start:2298039,end:2300449,audio:0},{filename:"/lib/python3.6/site-packages/numpy/ma/tests/test_old_ma.py",start:2300449,end:2332584,audio:0},{filename:"/lib/python3.6/site-packages/numpy/ma/tests/test_regression.py",start:2332584,end:2335021,audio:0},{filename:"/lib/python3.6/site-packages/numpy/ma/tests/test_mrecords.py",start:2335021,end:2354950,audio:0},{filename:"/lib/python3.6/site-packages/numpy/random/randomkit.h",start:2354950,end:2361749,audio:0},{filename:"/lib/python3.6/site-packages/numpy/random/mtrand.so",start:2361749,end:3571073,audio:0},{filename:"/lib/python3.6/site-packages/numpy/random/__init__.py",start:3571073,end:3576554,audio:0},{filename:"/lib/python3.6/site-packages/numpy/random/setup.py",start:3576554,end:3578866,audio:0},{filename:"/lib/python3.6/site-packages/numpy/random/info.py",start:3578866,end:3584065,audio:0},{filename:"/lib/python3.6/site-packages/numpy/random/__pycache__/__init__.cpython-36.pyc",start:3584065,end:3589779,audio:0},{filename:"/lib/python3.6/site-packages/numpy/random/__pycache__/info.cpython-36.pyc",start:3589779,end:3595066,audio:0},{filename:"/lib/python3.6/site-packages/numpy/random/__pycache__/setup.cpython-36.pyc",start:3595066,end:3597100,audio:0},{filename:"/lib/python3.6/site-packages/numpy/random/tests/test_random.py",start:3597100,end:3662395,audio:0},{filename:"/lib/python3.6/site-packages/numpy/random/tests/__init__.py",start:3662395,end:3662395,audio:0},{filename:"/lib/python3.6/site-packages/numpy/random/tests/test_regression.py",start:3662395,end:3667514,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/shape_base.py",start:3667514,end:3696182,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/format.py",start:3696182,end:3725338,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/user_array.py",start:3725338,end:3733155,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/financial.py",start:3733155,end:3757650,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/polynomial.py",start:3757650,end:3796222,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/function_base.py",start:3796222,end:3966254,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/recfunctions.py",start:3966254,end:4005928,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/arrayterator.py",start:4005928,end:4013119,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/_datasource.py",start:4013119,end:4038430,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/index_tricks.py",start:4038430,end:4065110,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/nanfunctions.py",start:4065110,end:4115964,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/twodim_base.py",start:4115964,end:4141781,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/npyio.py",start:4141781,end:4224953,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/ufunclike.py",start:4224953,end:4230667,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/__init__.py",start:4230667,end:4231968,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/_version.py",start:4231968,end:4236835,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/scimath.py",start:4236835,end:4250920,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/type_check.py",start:4250920,end:4267420,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/setup.py",start:4267420,end:4267799,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/_iotools.py",start:4267799,end:4300415,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/info.py",start:4300415,end:4307031,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/stride_tricks.py",start:4307031,end:4315816,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/mixins.py",start:4315816,end:4323100,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/arraysetops.py",start:4323100,end:4343667,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/utils.py",start:4343667,end:4380007,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/arraypad.py",start:4380007,end:4431864,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/__pycache__/mixins.cpython-36.pyc",start:4431864,end:4439228,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/__pycache__/twodim_base.cpython-36.pyc",start:4439228,end:4465801,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/__pycache__/utils.cpython-36.pyc",start:4465801,end:4493744,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/__pycache__/ufunclike.cpython-36.pyc",start:4493744,end:4499580,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/__pycache__/_datasource.cpython-36.pyc",start:4499580,end:4522066,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/__pycache__/shape_base.cpython-36.pyc",start:4522066,end:4548915,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/__pycache__/polynomial.cpython-36.pyc",start:4548915,end:4584942,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/__pycache__/financial.cpython-36.pyc",start:4584942,end:4608117,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/__pycache__/_iotools.cpython-36.pyc",start:4608117,end:4635155,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/__pycache__/arraypad.cpython-36.pyc",start:4635155,end:4677124,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/__pycache__/user_array.cpython-36.pyc",start:4677124,end:4688597,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/__pycache__/recfunctions.cpython-36.pyc",start:4688597,end:4721034,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/__pycache__/_version.cpython-36.pyc",start:4721034,end:4725884,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/__pycache__/arrayterator.cpython-36.pyc",start:4725884,end:4733057,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/__pycache__/type_check.cpython-36.pyc",start:4733057,end:4749158,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/__pycache__/format.cpython-36.pyc",start:4749158,end:4772404,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/__pycache__/arraysetops.cpython-36.pyc",start:4772404,end:4791040,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/__pycache__/__init__.cpython-36.pyc",start:4791040,end:4792190,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/__pycache__/npyio.cpython-36.pyc",start:4792190,end:4856156,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/__pycache__/info.cpython-36.pyc",start:4856156,end:4862957,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/__pycache__/scimath.cpython-36.pyc",start:4862957,end:4877808,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/__pycache__/index_tricks.cpython-36.pyc",start:4877808,end:4902116,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/__pycache__/setup.cpython-36.pyc",start:4902116,end:4902689,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/__pycache__/stride_tricks.cpython-36.pyc",start:4902689,end:4910572,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/__pycache__/nanfunctions.cpython-36.pyc",start:4910572,end:4957463,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/__pycache__/function_base.cpython-36.pyc",start:4957463,end:5101752,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/test_io.py",start:5101752,end:5194218,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/test_twodim_base.py",start:5194218,end:5211972,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/test_format.py",start:5211972,end:5246503,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/test_function_base.py",start:5246503,end:5379483,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/test_index_tricks.py",start:5379483,end:5393172,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/test__version.py",start:5393172,end:5395297,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/test_mixins.py",start:5395297,end:5402146,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/test_stride_tricks.py",start:5402146,end:5417188,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/test_ufunclike.py",start:5417188,end:5420206,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/test_recfunctions.py",start:5420206,end:5455414,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/test_nanfunctions.py",start:5455414,end:5490249,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/test_financial.py",start:5490249,end:5507417,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/test_type_check.py",start:5507417,end:5520520,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/test_shape_base.py",start:5520520,end:5539889,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/__init__.py",start:5539889,end:5539889,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/test__iotools.py",start:5539889,end:5553464,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/test_polynomial.py",start:5553464,end:5560616,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/test_arraysetops.py",start:5560616,end:5578648,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/test_arraypad.py",start:5578648,end:5622295,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/test_utils.py",start:5622295,end:5623951,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/test__datasource.py",start:5623951,end:5634281,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/test_regression.py",start:5634281,end:5642823,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/test_arrayterator.py",start:5642823,end:5644278,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/test_packbits.py",start:5644278,end:5657207,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/data/py2-objarr.npy",start:5657207,end:5657465,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/data/py3-objarr.npz",start:5657465,end:5657914,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/data/py3-objarr.npy",start:5657914,end:5658255,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/data/win64python2.npy",start:5658255,end:5658351,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/data/python3.npy",start:5658351,end:5658447,audio:0},{filename:"/lib/python3.6/site-packages/numpy/lib/tests/data/py2-objarr.npz",start:5658447,end:5658813,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/print_coercion_tables.py",start:5658813,end:5661518,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/decorators.py",start:5661518,end:5661646,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/noseclasses.py",start:5661646,end:5661776,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/__init__.py",start:5661776,end:5662251,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/nosetester.py",start:5662251,end:5662540,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/setup.py",start:5662540,end:5663217,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/utils.py",start:5663217,end:5664143,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/__pycache__/utils.cpython-36.pyc",start:5664143,end:5665145,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/__pycache__/print_coercion_tables.cpython-36.pyc",start:5665145,end:5667630,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/__pycache__/decorators.cpython-36.pyc",start:5667630,end:5667915,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/__pycache__/nosetester.cpython-36.pyc",start:5667915,end:5668328,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/__pycache__/__init__.cpython-36.pyc",start:5668328,end:5669023,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/__pycache__/noseclasses.cpython-36.pyc",start:5669023,end:5669311,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/__pycache__/setup.cpython-36.pyc",start:5669311,end:5670116,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/nose_tools/decorators.py",start:5670116,end:5678707,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/nose_tools/noseclasses.py",start:5678707,end:5693306,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/nose_tools/parameterized.py",start:5693306,end:5711592,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/nose_tools/__init__.py",start:5711592,end:5711592,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/nose_tools/nosetester.py",start:5711592,end:5732154,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/nose_tools/utils.py",start:5732154,end:5807588,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/nose_tools/__pycache__/utils.cpython-36.pyc",start:5807588,end:5871115,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/nose_tools/__pycache__/decorators.cpython-36.pyc",start:5871115,end:5880039,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/nose_tools/__pycache__/nosetester.cpython-36.pyc",start:5880039,end:5895478,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/nose_tools/__pycache__/__init__.cpython-36.pyc",start:5895478,end:5895633,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/nose_tools/__pycache__/noseclasses.cpython-36.pyc",start:5895633,end:5905533,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/nose_tools/__pycache__/parameterized.cpython-36.pyc",start:5905533,end:5922175,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/tests/test_decorators.py",start:5922175,end:5926729,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/tests/__init__.py",start:5926729,end:5926729,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/tests/test_doctesting.py",start:5926729,end:5928051,audio:0},{filename:"/lib/python3.6/site-packages/numpy/testing/tests/test_utils.py",start:5928051,end:5974290,audio:0},{filename:"/lib/python3.6/site-packages/numpy/fft/helper.py",start:5974290,end:5983882,audio:0},{filename:"/lib/python3.6/site-packages/numpy/fft/fftpack.py",start:5983882,end:6029941,audio:0},{filename:"/lib/python3.6/site-packages/numpy/fft/__init__.py",start:6029941,end:6030199,audio:0},{filename:"/lib/python3.6/site-packages/numpy/fft/setup.py",start:6030199,end:6030749,audio:0},{filename:"/lib/python3.6/site-packages/numpy/fft/info.py",start:6030749,end:6037984,audio:0},{filename:"/lib/python3.6/site-packages/numpy/fft/fftpack_lite.so",start:6037984,end:6075751,audio:0},{filename:"/lib/python3.6/site-packages/numpy/fft/__pycache__/helper.cpython-36.pyc",start:6075751,end:6085486,audio:0},{filename:"/lib/python3.6/site-packages/numpy/fft/__pycache__/fftpack.cpython-36.pyc",start:6085486,end:6130899,audio:0},{filename:"/lib/python3.6/site-packages/numpy/fft/__pycache__/__init__.cpython-36.pyc",start:6130899,end:6131300,audio:0},{filename:"/lib/python3.6/site-packages/numpy/fft/__pycache__/info.cpython-36.pyc",start:6131300,end:6138671,audio:0},{filename:"/lib/python3.6/site-packages/numpy/fft/__pycache__/setup.cpython-36.pyc",start:6138671,end:6139339,audio:0},{filename:"/lib/python3.6/site-packages/numpy/fft/tests/test_fftpack.py",start:6139339,end:6146436,audio:0},{filename:"/lib/python3.6/site-packages/numpy/fft/tests/test_helper.py",start:6146436,end:6152435,audio:0},{filename:"/lib/python3.6/site-packages/numpy/fft/tests/__init__.py",start:6152435,end:6152435,audio:0},{filename:"/lib/python3.6/site-packages/numpy/matrixlib/__init__.py",start:6152435,end:6152725,audio:0},{filename:"/lib/python3.6/site-packages/numpy/matrixlib/setup.py",start:6152725,end:6153173,audio:0},{filename:"/lib/python3.6/site-packages/numpy/matrixlib/defmatrix.py",start:6153173,end:6186146,audio:0},{filename:"/lib/python3.6/site-packages/numpy/matrixlib/__pycache__/defmatrix.cpython-36.pyc",start:6186146,end:6218610,audio:0},{filename:"/lib/python3.6/site-packages/numpy/matrixlib/__pycache__/__init__.cpython-36.pyc",start:6218610,end:6219063,audio:0},{filename:"/lib/python3.6/site-packages/numpy/matrixlib/__pycache__/setup.cpython-36.pyc",start:6219063,end:6219691,audio:0},{filename:"/lib/python3.6/site-packages/numpy/matrixlib/tests/test_numeric.py",start:6219691,end:6220276,audio:0},{filename:"/lib/python3.6/site-packages/numpy/matrixlib/tests/test_defmatrix.py",start:6220276,end:6235354,audio:0},{filename:"/lib/python3.6/site-packages/numpy/matrixlib/tests/__init__.py",start:6235354,end:6235354,audio:0},{filename:"/lib/python3.6/site-packages/numpy/matrixlib/tests/test_multiarray.py",start:6235354,end:6236059,audio:0},{filename:"/lib/python3.6/site-packages/numpy/matrixlib/tests/test_regression.py",start:6236059,end:6237141,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/from_template.py",start:6237141,end:6244971,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/msvc9compiler.py",start:6244971,end:6247229,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/msvccompiler.py",start:6247229,end:6249220,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__config__.py",start:6249220,end:6250157,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/line_endings.py",start:6250157,end:6252210,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/log.py",start:6252210,end:6254955,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/ccompiler.py",start:6254955,end:6283502,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/unixccompiler.py",start:6283502,end:6288658,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/environment.py",start:6288658,end:6291004,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/misc_util.py",start:6291004,end:6373283,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/npy_pkg_config.py",start:6373283,end:6386526,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/core.py",start:6386526,end:6394709,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__init__.py",start:6394709,end:6395797,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/lib2def.py",start:6395797,end:6399309,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/pathccompiler.py",start:6399309,end:6400088,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/extension.py",start:6400088,end:6403055,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/exec_command.py",start:6403055,end:6411718,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/cpuinfo.py",start:6411718,end:6434733,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/conv_template.py",start:6434733,end:6444442,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/compat.py",start:6444442,end:6444660,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/numpy_distribution.py",start:6444660,end:6445360,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/setup.py",start:6445360,end:6445971,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/intelccompiler.py",start:6445971,end:6450262,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/info.py",start:6450262,end:6450419,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/mingw32ccompiler.py",start:6450419,end:6475620,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/system_info.py",start:6475620,end:6565121,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__version__.py",start:6565121,end:6565272,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__pycache__/misc_util.cpython-36.pyc",start:6565272,end:6632361,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__pycache__/mingw32ccompiler.cpython-36.pyc",start:6632361,end:6646777,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__pycache__/extension.cpython-36.pyc",start:6646777,end:6648885,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__pycache__/cpuinfo.cpython-36.pyc",start:6648885,end:6682574,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__pycache__/environment.cpython-36.pyc",start:6682574,end:6685288,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__pycache__/pathccompiler.cpython-36.pyc",start:6685288,end:6686277,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__pycache__/log.cpython-36.pyc",start:6686277,end:6688749,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__pycache__/line_endings.cpython-36.pyc",start:6688749,end:6690869,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__pycache__/unixccompiler.cpython-36.pyc",start:6690869,end:6694252,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__pycache__/__config__.cpython-36.pyc",start:6694252,end:6695262,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__pycache__/msvccompiler.cpython-36.pyc",start:6695262,end:6697252,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__pycache__/npy_pkg_config.cpython-36.pyc",start:6697252,end:6709761,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__pycache__/intelccompiler.cpython-36.pyc",start:6709761,end:6713861,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__pycache__/ccompiler.cpython-36.pyc",start:6713861,end:6733981,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__pycache__/__version__.cpython-36.pyc",start:6733981,end:6734328,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__pycache__/core.cpython-36.pyc",start:6734328,end:6739103,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__pycache__/compat.cpython-36.pyc",start:6739103,end:6739585,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__pycache__/__init__.cpython-36.pyc",start:6739585,end:6740626,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__pycache__/conv_template.cpython-36.pyc",start:6740626,end:6748795,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__pycache__/exec_command.cpython-36.pyc",start:6748795,end:6756744,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__pycache__/info.cpython-36.pyc",start:6756744,end:6757082,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__pycache__/setup.cpython-36.pyc",start:6757082,end:6757833,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__pycache__/numpy_distribution.cpython-36.pyc",start:6757833,end:6758685,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__pycache__/system_info.cpython-36.pyc",start:6758685,end:6828758,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__pycache__/msvc9compiler.cpython-36.pyc",start:6828758,end:6831004,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__pycache__/from_template.cpython-36.pyc",start:6831004,end:6837992,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/__pycache__/lib2def.cpython-36.pyc",start:6837992,end:6841300,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/install_clib.py",start:6841300,end:6842741,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/autodist.py",start:6842741,end:6844789,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/config.py",start:6844789,end:6862799,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/egg_info.py",start:6862799,end:6863786,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/develop.py",start:6863786,end:6864427,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/config_compiler.py",start:6864427,end:6868806,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/build_clib.py",start:6868806,end:6882195,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/sdist.py",start:6882195,end:6882994,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/build.py",start:6882994,end:6884612,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/__init__.py",start:6884612,end:6885710,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/build_ext.py",start:6885710,end:6910974,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/build_py.py",start:6910974,end:6912184,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/build_scripts.py",start:6912184,end:6913915,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/install_data.py",start:6913915,end:6914829,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/install.py",start:6914829,end:6917956,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/install_headers.py",start:6917956,end:6918941,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/build_src.py",start:6918941,end:6949887,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/bdist_rpm.py",start:6949887,end:6950662,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/__pycache__/build_clib.cpython-36.pyc",start:6950662,end:6958221,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/__pycache__/autodist.cpython-36.pyc",start:6958221,end:6960451,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/__pycache__/install_headers.cpython-36.pyc",start:6960451,end:6961486,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/__pycache__/config.cpython-36.pyc",start:6961486,end:6973753,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/__pycache__/build_py.cpython-36.pyc",start:6973753,end:6975183,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/__pycache__/egg_info.cpython-36.pyc",start:6975183,end:6976350,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/__pycache__/build_scripts.cpython-36.pyc",start:6976350,end:6978091,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/__pycache__/develop.cpython-36.pyc",start:6978091,end:6979028,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/__pycache__/build_ext.cpython-36.pyc",start:6979028,end:6991326,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/__pycache__/build.cpython-36.pyc",start:6991326,end:6993237,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/__pycache__/install_data.cpython-36.pyc",start:6993237,end:6994218,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/__pycache__/__init__.cpython-36.pyc",start:6994218,end:6995327,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/__pycache__/sdist.cpython-36.pyc",start:6995327,end:6996352,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/__pycache__/install_clib.cpython-36.pyc",start:6996352,end:6998069,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/__pycache__/bdist_rpm.cpython-36.pyc",start:6998069,end:6998983,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/__pycache__/config_compiler.cpython-36.pyc",start:6998983,end:7003226,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/__pycache__/build_src.cpython-36.pyc",start:7003226,end:7021789,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/command/__pycache__/install.cpython-36.pyc",start:7021789,end:7023925,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/compaq.py",start:7023925,end:7028034,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/pg.py",start:7028034,end:7032247,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/none.py",start:7032247,end:7033071,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/intel.py",start:7033071,end:7039844,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/hpux.py",start:7039844,end:7041263,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/ibm.py",start:7041263,end:7044698,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/nag.py",start:7044698,end:7047306,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/mips.py",start:7047306,end:7049086,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/__init__.py",start:7049086,end:7088433,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/g95.py",start:7088433,end:7089829,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/vast.py",start:7089829,end:7091562,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/absoft.py",start:7091562,end:7097129,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/pathf95.py",start:7097129,end:7098256,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/sun.py",start:7098256,end:7099901,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/gnu.py",start:7099901,end:7119664,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/lahey.py",start:7119664,end:7121057,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/__pycache__/pg.cpython-36.pyc",start:7121057,end:7125760,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/__pycache__/vast.cpython-36.pyc",start:7125760,end:7127651,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/__pycache__/absoft.cpython-36.pyc",start:7127651,end:7132189,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/__pycache__/ibm.cpython-36.pyc",start:7132189,end:7135576,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/__pycache__/g95.cpython-36.pyc",start:7135576,end:7137149,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/__pycache__/hpux.cpython-36.pyc",start:7137149,end:7138996,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/__pycache__/pathf95.cpython-36.pyc",start:7138996,end:7140440,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/__pycache__/sun.cpython-36.pyc",start:7140440,end:7142535,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/__pycache__/none.cpython-36.pyc",start:7142535,end:7143581,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/__pycache__/nag.cpython-36.pyc",start:7143581,end:7146668,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/__pycache__/__init__.cpython-36.pyc",start:7146668,end:7175096,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/__pycache__/mips.cpython-36.pyc",start:7175096,end:7177333,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/__pycache__/gnu.cpython-36.pyc",start:7177333,end:7190129,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/__pycache__/intel.cpython-36.pyc",start:7190129,end:7197202,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/__pycache__/lahey.cpython-36.pyc",start:7197202,end:7199083,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/fcompiler/__pycache__/compaq.cpython-36.pyc",start:7199083,end:7203408,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/mingw/gfortran_vs2003_hack.c",start:7203408,end:7203482,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/tests/test_system_info.py",start:7203482,end:7210967,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/tests/test_misc_util.py",start:7210967,end:7214275,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/tests/test_npy_pkg_config.py",start:7214275,end:7216984,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/tests/test_fcompiler_nagfor.py",start:7216984,end:7218231,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/tests/test_fcompiler_intel.py",start:7218231,end:7219441,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/tests/test_fcompiler_gnu.py",start:7219441,end:7221729,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/tests/test_exec_command.py",start:7221729,end:7228945,audio:0},{filename:"/lib/python3.6/site-packages/numpy/distutils/tests/__init__.py",start:7228945,end:7228945,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/hermite_e.py",start:7228945,end:7287031,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/polynomial.py",start:7287031,end:7339839,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/chebyshev.py",start:7339839,end:7406808,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/_polybase.py",start:7406808,end:7436900,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/legendre.py",start:7436900,end:7494304,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/__init__.py",start:7494304,end:7495444,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/hermite.py",start:7495444,end:7553340,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/polyutils.py",start:7553340,end:7564869,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/setup.py",start:7564869,end:7565254,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/laguerre.py",start:7565254,end:7621563,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/__pycache__/chebyshev.cpython-36.pyc",start:7621563,end:7687885,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/__pycache__/polynomial.cpython-36.pyc",start:7687885,end:7739729,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/__pycache__/legendre.cpython-36.pyc",start:7739729,end:7795897,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/__pycache__/hermite.cpython-36.pyc",start:7795897,end:7852764,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/__pycache__/__init__.cpython-36.pyc",start:7852764,end:7854142,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/__pycache__/hermite_e.cpython-36.pyc",start:7854142,end:7911036,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/__pycache__/_polybase.cpython-36.pyc",start:7911036,end:7941986,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/__pycache__/polyutils.cpython-36.pyc",start:7941986,end:7954536,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/__pycache__/setup.cpython-36.pyc",start:7954536,end:7955123,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/__pycache__/laguerre.cpython-36.pyc",start:7955123,end:8010333,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/tests/test_laguerre.py",start:8010333,end:8027731,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/tests/test_chebyshev.py",start:8027731,end:8048151,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/tests/test_hermite.py",start:8048151,end:8066610,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/tests/__init__.py",start:8066610,end:8066610,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/tests/test_legendre.py",start:8066610,end:8084772,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/tests/test_polynomial.py",start:8084772,end:8104025,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/tests/test_polyutils.py",start:8104025,end:8107110,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/tests/test_hermite_e.py",start:8107110,end:8125899,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/tests/test_classes.py",start:8125899,end:8144913,audio:0},{filename:"/lib/python3.6/site-packages/numpy/polynomial/tests/test_printing.py",start:8144913,end:8147053,audio:0},{filename:"/lib/python3.6/site-packages/numpy/compat/__init__.py",start:8147053,end:8147551,audio:0},{filename:"/lib/python3.6/site-packages/numpy/compat/_inspect.py",start:8147551,end:8155105,audio:0},{filename:"/lib/python3.6/site-packages/numpy/compat/setup.py",start:8155105,end:8155476,audio:0},{filename:"/lib/python3.6/site-packages/numpy/compat/py3k.py",start:8155476,end:8159113,audio:0},{filename:"/lib/python3.6/site-packages/numpy/compat/__pycache__/py3k.cpython-36.pyc",start:8159113,end:8163460,audio:0},{filename:"/lib/python3.6/site-packages/numpy/compat/__pycache__/_inspect.cpython-36.pyc",start:8163460,end:8171127,audio:0},{filename:"/lib/python3.6/site-packages/numpy/compat/__pycache__/__init__.cpython-36.pyc",start:8171127,end:8171808,audio:0},{filename:"/lib/python3.6/site-packages/numpy/compat/__pycache__/setup.cpython-36.pyc",start:8171808,end:8172354,audio:0},{filename:"/lib/python3.6/site-packages/numpy/doc/broadcasting.py",start:8172354,end:8177919,audio:0},{filename:"/lib/python3.6/site-packages/numpy/doc/misc.py",start:8177919,end:8184113,audio:0},{filename:"/lib/python3.6/site-packages/numpy/doc/internals.py",start:8184113,end:8193782,audio:0},{filename:"/lib/python3.6/site-packages/numpy/doc/indexing.py",start:8193782,end:8209451,audio:0},{filename:"/lib/python3.6/site-packages/numpy/doc/ufuncs.py",start:8209451,end:8214878,audio:0},{filename:"/lib/python3.6/site-packages/numpy/doc/__init__.py",start:8214878,end:8215452,audio:0},{filename:"/lib/python3.6/site-packages/numpy/doc/basics.py",start:8215452,end:8223370,audio:0},{filename:"/lib/python3.6/site-packages/numpy/doc/structured_arrays.py",start:8223370,end:8247813,audio:0},{filename:"/lib/python3.6/site-packages/numpy/doc/constants.py",start:8247813,end:8256695,audio:0},{filename:"/lib/python3.6/site-packages/numpy/doc/glossary.py",start:8256695,end:8269066,audio:0},{filename:"/lib/python3.6/site-packages/numpy/doc/byteswapping.py",start:8269066,end:8274412,audio:0},{filename:"/lib/python3.6/site-packages/numpy/doc/subclassing.py",start:8274412,end:8302972,audio:0},{filename:"/lib/python3.6/site-packages/numpy/doc/creation.py",start:8302972,end:8308473,audio:0},{filename:"/lib/python3.6/site-packages/numpy/doc/__pycache__/broadcasting.cpython-36.pyc",start:8308473,end:8314224,audio:0},{filename:"/lib/python3.6/site-packages/numpy/doc/__pycache__/constants.cpython-36.pyc",start:8314224,end:8322008,audio:0},{filename:"/lib/python3.6/site-packages/numpy/doc/__pycache__/creation.cpython-36.pyc",start:8322008,end:8327691,audio:0},{filename:"/lib/python3.6/site-packages/numpy/doc/__pycache__/glossary.cpython-36.pyc",start:8327691,end:8340244,audio:0},{filename:"/lib/python3.6/site-packages/numpy/doc/__pycache__/byteswapping.cpython-36.pyc",start:8340244,end:8345772,audio:0},{filename:"/lib/python3.6/site-packages/numpy/doc/__pycache__/structured_arrays.cpython-36.pyc",start:8345772,end:8370406,audio:0},{filename:"/lib/python3.6/site-packages/numpy/doc/__pycache__/subclassing.cpython-36.pyc",start:8370406,end:8399151,audio:0},{filename:"/lib/python3.6/site-packages/numpy/doc/__pycache__/__init__.cpython-36.pyc",start:8399151,end:8400007,audio:0},{filename:"/lib/python3.6/site-packages/numpy/doc/__pycache__/misc.cpython-36.pyc",start:8400007,end:8406379,audio:0},{filename:"/lib/python3.6/site-packages/numpy/doc/__pycache__/basics.cpython-36.pyc",start:8406379,end:8414475,audio:0},{filename:"/lib/python3.6/site-packages/numpy/doc/__pycache__/indexing.cpython-36.pyc",start:8414475,end:8430326,audio:0},{filename:"/lib/python3.6/site-packages/numpy/doc/__pycache__/ufuncs.cpython-36.pyc",start:8430326,end:8435931,audio:0},{filename:"/lib/python3.6/site-packages/numpy/doc/__pycache__/internals.cpython-36.pyc",start:8435931,end:8445783,audio:0},{filename:"/lib/python3.6/site-packages/numpy/linalg/lapack_lite.so",start:8445783,end:9815733,audio:0},{filename:"/lib/python3.6/site-packages/numpy/linalg/_umath_linalg.so",start:9815733,end:11278356,audio:0},{filename:"/lib/python3.6/site-packages/numpy/linalg/__init__.py",start:11278356,end:11280688,audio:0},{filename:"/lib/python3.6/site-packages/numpy/linalg/setup.py",start:11280688,end:11282566,audio:0},{filename:"/lib/python3.6/site-packages/numpy/linalg/info.py",start:11282566,end:11283764,audio:0},{filename:"/lib/python3.6/site-packages/numpy/linalg/linalg.py",start:11283764,end:11364201,audio:0},{filename:"/lib/python3.6/site-packages/numpy/linalg/__pycache__/linalg.cpython-36.pyc",start:11364201,end:11437557,audio:0},{filename:"/lib/python3.6/site-packages/numpy/linalg/__pycache__/__init__.cpython-36.pyc",start:11437557,end:11440043,audio:0},{filename:"/lib/python3.6/site-packages/numpy/linalg/__pycache__/info.cpython-36.pyc",start:11440043,end:11441423,audio:0},{filename:"/lib/python3.6/site-packages/numpy/linalg/__pycache__/setup.cpython-36.pyc",start:11441423,end:11443080,audio:0},{filename:"/lib/python3.6/site-packages/numpy/linalg/tests/test_build.py",start:11443080,end:11444836,audio:0},{filename:"/lib/python3.6/site-packages/numpy/linalg/tests/__init__.py",start:11444836,end:11444836,audio:0},{filename:"/lib/python3.6/site-packages/numpy/linalg/tests/test_deprecations.py",start:11444836,end:11445612,audio:0},{filename:"/lib/python3.6/site-packages/numpy/linalg/tests/test_linalg.py",start:11445612,end:11508e3,audio:0},{filename:"/lib/python3.6/site-packages/numpy/linalg/tests/test_regression.py",start:11508e3,end:11513741,audio:0},{filename:"/lib/python3.6/site-packages/numpy/tests/test_numpy_version.py",start:11513741,end:11514458,audio:0},{filename:"/lib/python3.6/site-packages/numpy/tests/test_matlib.py",start:11514458,end:11516446,audio:0},{filename:"/lib/python3.6/site-packages/numpy/tests/__init__.py",start:11516446,end:11516446,audio:0},{filename:"/lib/python3.6/site-packages/numpy/tests/test_reloading.py",start:11516446,end:11517484,audio:0},{filename:"/lib/python3.6/site-packages/numpy/tests/test_warnings.py",start:11517484,end:11520170,audio:0},{filename:"/lib/python3.6/site-packages/numpy/tests/test_scripts.py",start:11520170,end:11523229,audio:0},{filename:"/lib/python3.6/site-packages/numpy/tests/test_ctypeslib.py",start:11523229,end:11527560,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/memmap.py",start:11527560,end:11538992,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/shape_base.py",start:11538992,end:11557808,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/numerictypes.py",start:11557808,end:11586910,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/umath_tests.so",start:11586910,end:11599142,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/multiarray_tests.so",start:11599142,end:11712675,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/umath.so",start:11712675,end:12477289,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/generate_numpy_api.py",start:12477289,end:12484795,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/setup_common.py",start:12484795,end:12500748,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/defchararray.py",start:12500748,end:12568117,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/function_base.py",start:12568117,end:12580457,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/numeric.py",start:12580457,end:12666188,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/machar.py",start:12666188,end:12676977,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/operand_flag_tests.so",start:12676977,end:12680659,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/_internal.py",start:12680659,end:12702475,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/fromnumeric.py",start:12702475,end:12803112,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/__init__.py",start:12803112,end:12806156,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/records.py",start:12806156,end:12836249,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/struct_ufunc_test.so",start:12836249,end:12840637,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/_dummy.so",start:12840637,end:12841321,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/setup.py",start:12841321,end:12882798,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/multiarray.so",start:12882798,end:14704889,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/_methods.py",start:14704889,end:14709593,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/arrayprint.py",start:14709593,end:14766858,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/einsumfunc.py",start:14766858,end:14807550,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/info.py",start:14807550,end:14812242,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/cversions.py",start:14812242,end:14812655,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/test_rational.so",start:14812655,end:14869496,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/getlimits.py",start:14869496,end:14887918,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/__pycache__/getlimits.cpython-36.pyc",start:14887918,end:14902027,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/__pycache__/_methods.cpython-36.pyc",start:14902027,end:14905643,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/__pycache__/shape_base.cpython-36.pyc",start:14905643,end:14924178,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/__pycache__/memmap.cpython-36.pyc",start:14924178,end:14934320,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/__pycache__/cversions.cpython-36.pyc",start:14934320,end:14934931,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/__pycache__/fromnumeric.cpython-36.pyc",start:14934931,end:15034599,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/__pycache__/generate_numpy_api.cpython-36.pyc",start:15034599,end:15041019,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/__pycache__/einsumfunc.cpython-36.pyc",start:15041019,end:15071255,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/__pycache__/arrayprint.cpython-36.pyc",start:15071255,end:15120146,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/__pycache__/machar.cpython-36.pyc",start:15120146,end:15127836,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/__pycache__/__init__.cpython-36.pyc",start:15127836,end:15130223,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/__pycache__/defchararray.cpython-36.pyc",start:15130223,end:15197480,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/__pycache__/_internal.cpython-36.pyc",start:15197480,end:15215902,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/__pycache__/info.cpython-36.pyc",start:15215902,end:15220780,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/__pycache__/setup.cpython-36.pyc",start:15220780,end:15243107,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/__pycache__/setup_common.cpython-36.pyc",start:15243107,end:15253434,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/__pycache__/numeric.cpython-36.pyc",start:15253434,end:15336633,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/__pycache__/numerictypes.cpython-36.pyc",start:15336633,end:15360752,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/__pycache__/records.cpython-36.pyc",start:15360752,end:15383557,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/__pycache__/function_base.cpython-36.pyc",start:15383557,end:15394565,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/lib/libnpymath.a",start:15394565,end:15600423,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/include/numpy/npy_common.h",start:15600423,end:15638070,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/include/numpy/ndarraytypes.h",start:15638070,end:15702409,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/include/numpy/arrayobject.h",start:15702409,end:15702573,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/include/numpy/halffloat.h",start:15702573,end:15704451,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/include/numpy/npy_interrupt.h",start:15704451,end:15707890,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/include/numpy/oldnumeric.h",start:15707890,end:15708598,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/include/numpy/numpyconfig.h",start:15708598,end:15709765,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/include/numpy/arrayscalars.h",start:15709765,end:15713274,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/include/numpy/npy_3kcompat.h",start:15713274,end:15725589,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h",start:15725589,end:15730193,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/include/numpy/_neighborhood_iterator_imp.h",start:15730193,end:15732054,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/include/numpy/noprefix.h",start:15732054,end:15738840,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/include/numpy/ndarrayobject.h",start:15738840,end:15749731,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/include/numpy/ufuncobject.h",start:15749731,end:15762255,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/include/numpy/utils.h",start:15762255,end:15762883,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/include/numpy/npy_no_deprecated_api.h",start:15762883,end:15763450,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/include/numpy/npy_cpu.h",start:15763450,end:15766499,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/include/numpy/old_defines.h",start:15766499,end:15772805,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/include/numpy/npy_os.h",start:15772805,end:15773622,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/include/numpy/npy_endian.h",start:15773622,end:15775957,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/include/numpy/npy_math.h",start:15775957,end:15794477,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_machar.py",start:15794477,end:15795712,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_numeric.py",start:15795712,end:15897838,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_longdouble.py",start:15897838,end:15903798,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_abc.py",start:15903798,end:15906270,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_api.py",start:15906270,end:15925176,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_function_base.py",start:15925176,end:15936589,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_print.py",start:15936589,end:15944678,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_getlimits.py",start:15944678,end:15949264,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_item_selection.py",start:15949264,end:15952933,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_mem_overlap.py",start:15952933,end:15982497,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_scalarmath.py",start:15982497,end:16009203,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_dtype.py",start:16009203,end:16038275,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_indexing.py",start:16038275,end:16088359,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_scalarprint.py",start:16088359,end:16099093,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_einsum.py",start:16099093,end:16139929,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_shape_base.py",start:16139929,end:16160228,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_extint128.py",start:16160228,end:16166012,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_ufunc.py",start:16166012,end:16221300,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_scalar_ctors.py",start:16221300,end:16223662,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_umath.py",start:16223662,end:16322694,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/__init__.py",start:16322694,end:16322694,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_memmap.py",start:16322694,end:16329725,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_datetime.py",start:16329725,end:16423115,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_nditer.py",start:16423115,end:16529247,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_scalarinherit.py",start:16529247,end:16531114,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_multiarray.py",start:16531114,end:16806455,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_deprecations.py",start:16806455,end:16826053,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_unicode.py",start:16826053,end:16839786,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_numerictypes.py",start:16839786,end:16855198,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_defchararray.py",start:16855198,end:16880891,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_errstate.py",start:16880891,end:16882467,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_records.py",start:16882467,end:16898760,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_arrayprint.py",start:16898760,end:16930138,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_half.py",start:16930138,end:16948765,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_umath_complex.py",start:16948765,end:16968421,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_regression.py",start:16968421,end:17048141,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/test_indexerrors.py",start:17048141,end:17053067,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/data/astype_copy.pkl",start:17053067,end:17053783,audio:0},{filename:"/lib/python3.6/site-packages/numpy/core/tests/data/recarray_from_file.fits",start:17053783,end:17062423,audio:0},{filename:"/bin/f2py3",start:17062423,end:17063226,audio:0}],remote_package_size:17063226,package_uuid:"1026dc95-48af-4663-b8ad-d286932ba7a7"})})();
\ 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>numpy.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>
{"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
<?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>packages.json</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/json</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>pandas.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>
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>pandas.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>
This source diff could not be displayed because it is too large. You can view the blob instead.
var Module = typeof Module !== 'undefined' ? Module : {};
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 = 'pyodide.asm.data';
var REMOTE_PACKAGE_BASE = 'pyodide.asm.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', 'email', true, true);
Module['FS_createPath']('/lib/python3.6/email', 'mime', true, true);
Module['FS_createPath']('/lib/python3.6', 'urllib', true, true);
Module['FS_createPath']('/lib/python3.6', 'importlib', true, true);
Module['FS_createPath']('/lib/python3.6', 'asyncio', true, true);
Module['FS_createPath']('/lib/python3.6', 'unittest', true, true);
Module['FS_createPath']('/lib/python3.6/unittest', 'test', true, true);
Module['FS_createPath']('/lib/python3.6/unittest/test', 'testmock', true, true);
Module['FS_createPath']('/lib/python3.6', 'site-packages', true, true);
Module['FS_createPath']('/lib/python3.6', 'distutils', true, true);
Module['FS_createPath']('/lib/python3.6/distutils', 'command', true, true);
Module['FS_createPath']('/lib/python3.6/distutils', 'tests', true, true);
Module['FS_createPath']('/lib/python3.6', 'collections', true, true);
Module['FS_createPath']('/lib/python3.6', 'xml', true, true);
Module['FS_createPath']('/lib/python3.6/xml', 'dom', true, true);
Module['FS_createPath']('/lib/python3.6/xml', 'sax', true, true);
Module['FS_createPath']('/lib/python3.6/xml', 'parsers', true, true);
Module['FS_createPath']('/lib/python3.6/xml', 'etree', true, true);
Module['FS_createPath']('/lib/python3.6', 'logging', true, true);
Module['FS_createPath']('/lib/python3.6', 'http', true, true);
Module['FS_createPath']('/lib/python3.6', 'xmlrpc', true, true);
Module['FS_createPath']('/lib/python3.6', 'html', true, true);
Module['FS_createPath']('/lib/python3.6', 'wsgiref', true, true);
Module['FS_createPath']('/lib/python3.6', 'json', true, true);
Module['FS_createPath']('/lib/python3.6', 'encodings', true, true);
Module['FS_createPath']('/lib/python3.6', 'pydoc_data', true, true);
Module['FS_createPath']('/lib/python3.6', 'concurrent', true, true);
Module['FS_createPath']('/lib/python3.6/concurrent', 'futures', 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_pyodide.asm.data');
};
Module['addRunDependency']('datafile_pyodide.asm.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": [{"filename": "/lib/python3.6/aifc.py", "start": 0, "end": 32422, "audio": 0}, {"filename": "/lib/python3.6/getopt.py", "start": 32422, "end": 39911, "audio": 0}, {"filename": "/lib/python3.6/_bootlocale.py", "start": 39911, "end": 41212, "audio": 0}, {"filename": "/lib/python3.6/mailbox.py", "start": 41212, "end": 119836, "audio": 0}, {"filename": "/lib/python3.6/_testcapi.py", "start": 119836, "end": 119983, "audio": 0}, {"filename": "/lib/python3.6/bdb.py", "start": 119983, "end": 143337, "audio": 0}, {"filename": "/lib/python3.6/imghdr.py", "start": 143337, "end": 147132, "audio": 0}, {"filename": "/lib/python3.6/mailcap.py", "start": 147132, "end": 155236, "audio": 0}, {"filename": "/lib/python3.6/dis.py", "start": 155236, "end": 173368, "audio": 0}, {"filename": "/lib/python3.6/sysconfig.py", "start": 173368, "end": 198229, "audio": 0}, {"filename": "/lib/python3.6/_dummy_thread.py", "start": 198229, "end": 203347, "audio": 0}, {"filename": "/lib/python3.6/decimal.py", "start": 203347, "end": 203667, "audio": 0}, {"filename": "/lib/python3.6/string.py", "start": 203667, "end": 215462, "audio": 0}, {"filename": "/lib/python3.6/pkgutil.py", "start": 215462, "end": 236777, "audio": 0}, {"filename": "/lib/python3.6/posixpath.py", "start": 236777, "end": 252126, "audio": 0}, {"filename": "/lib/python3.6/xdrlib.py", "start": 252126, "end": 258039, "audio": 0}, {"filename": "/lib/python3.6/cgitb.py", "start": 258039, "end": 270062, "audio": 0}, {"filename": "/lib/python3.6/_sysconfigdata__emscripten_.py", "start": 270062, "end": 289248, "audio": 0}, {"filename": "/lib/python3.6/textwrap.py", "start": 289248, "end": 308806, "audio": 0}, {"filename": "/lib/python3.6/mimetypes.py", "start": 308806, "end": 329802, "audio": 0}, {"filename": "/lib/python3.6/compileall.py", "start": 329802, "end": 341716, "audio": 0}, {"filename": "/lib/python3.6/imaplib.py", "start": 341716, "end": 394746, "audio": 0}, {"filename": "/lib/python3.6/smtpd.py", "start": 394746, "end": 429457, "audio": 0}, {"filename": "/lib/python3.6/random.py", "start": 429457, "end": 456767, "audio": 0}, {"filename": "/lib/python3.6/opcode.py", "start": 456767, "end": 462600, "audio": 0}, {"filename": "/lib/python3.6/imp.py", "start": 462600, "end": 473269, "audio": 0}, {"filename": "/lib/python3.6/_threading_local.py", "start": 473269, "end": 480679, "audio": 0}, {"filename": "/lib/python3.6/ast.py", "start": 480679, "end": 492845, "audio": 0}, {"filename": "/lib/python3.6/weakref.py", "start": 492845, "end": 513311, "audio": 0}, {"filename": "/lib/python3.6/threading.py", "start": 513311, "end": 562347, "audio": 0}, {"filename": "/lib/python3.6/contextlib.py", "start": 562347, "end": 575509, "audio": 0}, {"filename": "/lib/python3.6/binhex.py", "start": 575509, "end": 589463, "audio": 0}, {"filename": "/lib/python3.6/tokenize.py", "start": 589463, "end": 618422, "audio": 0}, {"filename": "/lib/python3.6/keyword.py", "start": 618422, "end": 620633, "audio": 0}, {"filename": "/lib/python3.6/operator.py", "start": 620633, "end": 631496, "audio": 0}, {"filename": "/lib/python3.6/subprocess.py", "start": 631496, "end": 693295, "audio": 0}, {"filename": "/lib/python3.6/_strptime.py", "start": 693295, "end": 718042, "audio": 0}, {"filename": "/lib/python3.6/tabnanny.py", "start": 718042, "end": 729445, "audio": 0}, {"filename": "/lib/python3.6/ipaddress.py", "start": 729445, "end": 805226, "audio": 0}, {"filename": "/lib/python3.6/optparse.py", "start": 805226, "end": 865597, "audio": 0}, {"filename": "/lib/python3.6/rlcompleter.py", "start": 865597, "end": 872694, "audio": 0}, {"filename": "/lib/python3.6/linecache.py", "start": 872694, "end": 878006, "audio": 0}, {"filename": "/lib/python3.6/_compat_pickle.py", "start": 878006, "end": 886755, "audio": 0}, {"filename": "/lib/python3.6/shlex.py", "start": 886755, "end": 899711, "audio": 0}, {"filename": "/lib/python3.6/stat.py", "start": 899711, "end": 904749, "audio": 0}, {"filename": "/lib/python3.6/ssl.py", "start": 904749, "end": 949213, "audio": 0}, {"filename": "/lib/python3.6/traceback.py", "start": 949213, "end": 972329, "audio": 0}, {"filename": "/lib/python3.6/zipfile.py", "start": 972329, "end": 1047963, "audio": 0}, {"filename": "/lib/python3.6/sched.py", "start": 1047963, "end": 1054474, "audio": 0}, {"filename": "/lib/python3.6/struct.py", "start": 1054474, "end": 1054731, "audio": 0}, {"filename": "/lib/python3.6/macpath.py", "start": 1054731, "end": 1060638, "audio": 0}, {"filename": "/lib/python3.6/configparser.py", "start": 1060638, "end": 1114212, "audio": 0}, {"filename": "/lib/python3.6/filecmp.py", "start": 1114212, "end": 1124042, "audio": 0}, {"filename": "/lib/python3.6/pyclbr.py", "start": 1124042, "end": 1137600, "audio": 0}, {"filename": "/lib/python3.6/fnmatch.py", "start": 1137600, "end": 1140766, "audio": 0}, {"filename": "/lib/python3.6/_pyio.py", "start": 1140766, "end": 1228827, "audio": 0}, {"filename": "/lib/python3.6/socket.py", "start": 1228827, "end": 1256270, "audio": 0}, {"filename": "/lib/python3.6/LICENSE.txt", "start": 1256270, "end": 1269027, "audio": 0}, {"filename": "/lib/python3.6/calendar.py", "start": 1269027, "end": 1292240, "audio": 0}, {"filename": "/lib/python3.6/re.py", "start": 1292240, "end": 1307792, "audio": 0}, {"filename": "/lib/python3.6/site.py", "start": 1307792, "end": 1328225, "audio": 0}, {"filename": "/lib/python3.6/pickle.py", "start": 1328225, "end": 1383916, "audio": 0}, {"filename": "/lib/python3.6/queue.py", "start": 1383916, "end": 1392696, "audio": 0}, {"filename": "/lib/python3.6/nturl2path.py", "start": 1392696, "end": 1395140, "audio": 0}, {"filename": "/lib/python3.6/this.py", "start": 1395140, "end": 1396143, "audio": 0}, {"filename": "/lib/python3.6/quopri.py", "start": 1396143, "end": 1403397, "audio": 0}, {"filename": "/lib/python3.6/pipes.py", "start": 1403397, "end": 1412313, "audio": 0}, {"filename": "/lib/python3.6/zipapp.py", "start": 1412313, "end": 1419470, "audio": 0}, {"filename": "/lib/python3.6/wave.py", "start": 1419470, "end": 1437179, "audio": 0}, {"filename": "/lib/python3.6/typing.py", "start": 1437179, "end": 1517021, "audio": 0}, {"filename": "/lib/python3.6/nntplib.py", "start": 1517021, "end": 1560099, "audio": 0}, {"filename": "/lib/python3.6/sre_parse.py", "start": 1560099, "end": 1596635, "audio": 0}, {"filename": "/lib/python3.6/netrc.py", "start": 1596635, "end": 1602319, "audio": 0}, {"filename": "/lib/python3.6/sunau.py", "start": 1602319, "end": 1620414, "audio": 0}, {"filename": "/lib/python3.6/cgi.py", "start": 1620414, "end": 1656458, "audio": 0}, {"filename": "/lib/python3.6/stringprep.py", "start": 1656458, "end": 1669375, "audio": 0}, {"filename": "/lib/python3.6/uu.py", "start": 1669375, "end": 1676130, "audio": 0}, {"filename": "/lib/python3.6/pprint.py", "start": 1676130, "end": 1696990, "audio": 0}, {"filename": "/lib/python3.6/pystone.py", "start": 1696990, "end": 1704644, "audio": 0}, {"filename": "/lib/python3.6/csv.py", "start": 1704644, "end": 1720824, "audio": 0}, {"filename": "/lib/python3.6/datetime.py", "start": 1720824, "end": 1800969, "audio": 0}, {"filename": "/lib/python3.6/_markupbase.py", "start": 1800969, "end": 1815567, "audio": 0}, {"filename": "/lib/python3.6/copyreg.py", "start": 1815567, "end": 1822574, "audio": 0}, {"filename": "/lib/python3.6/getpass.py", "start": 1822574, "end": 1828568, "audio": 0}, {"filename": "/lib/python3.6/telnetlib.py", "start": 1828568, "end": 1851704, "audio": 0}, {"filename": "/lib/python3.6/functools.py", "start": 1851704, "end": 1882846, "audio": 0}, {"filename": "/lib/python3.6/sndhdr.py", "start": 1882846, "end": 1889934, "audio": 0}, {"filename": "/lib/python3.6/gettext.py", "start": 1889934, "end": 1911464, "audio": 0}, {"filename": "/lib/python3.6/os.py", "start": 1911464, "end": 1948989, "audio": 0}, {"filename": "/lib/python3.6/formatter.py", "start": 1948989, "end": 1964132, "audio": 0}, {"filename": "/lib/python3.6/pickletools.py", "start": 1964132, "end": 2055941, "audio": 0}, {"filename": "/lib/python3.6/lzma.py", "start": 2055941, "end": 2068924, "audio": 0}, {"filename": "/lib/python3.6/selectors.py", "start": 2068924, "end": 2088362, "audio": 0}, {"filename": "/lib/python3.6/io.py", "start": 2088362, "end": 2091879, "audio": 0}, {"filename": "/lib/python3.6/socketserver.py", "start": 2091879, "end": 2117735, "audio": 0}, {"filename": "/lib/python3.6/code.py", "start": 2117735, "end": 2128349, "audio": 0}, {"filename": "/lib/python3.6/poplib.py", "start": 2128349, "end": 2143311, "audio": 0}, {"filename": "/lib/python3.6/heapq.py", "start": 2143311, "end": 2166240, "audio": 0}, {"filename": "/lib/python3.6/argparse.py", "start": 2166240, "end": 2256508, "audio": 0}, {"filename": "/lib/python3.6/gzip.py", "start": 2256508, "end": 2276842, "audio": 0}, {"filename": "/lib/python3.6/base64.py", "start": 2276842, "end": 2297329, "audio": 0}, {"filename": "/lib/python3.6/__future__.py", "start": 2297329, "end": 2302170, "audio": 0}, {"filename": "/lib/python3.6/shutil.py", "start": 2302170, "end": 2342397, "audio": 0}, {"filename": "/lib/python3.6/numbers.py", "start": 2342397, "end": 2352640, "audio": 0}, {"filename": "/lib/python3.6/webbrowser.py", "start": 2352640, "end": 2353006, "audio": 0}, {"filename": "/lib/python3.6/dummy_threading.py", "start": 2353006, "end": 2355821, "audio": 0}, {"filename": "/lib/python3.6/genericpath.py", "start": 2355821, "end": 2360577, "audio": 0}, {"filename": "/lib/python3.6/pstats.py", "start": 2360577, "end": 2387141, "audio": 0}, {"filename": "/lib/python3.6/token.py", "start": 2387141, "end": 2390216, "audio": 0}, {"filename": "/lib/python3.6/tty.py", "start": 2390216, "end": 2391095, "audio": 0}, {"filename": "/lib/python3.6/modulefinder.py", "start": 2391095, "end": 2414122, "audio": 0}, {"filename": "/lib/python3.6/reprlib.py", "start": 2414122, "end": 2419458, "audio": 0}, {"filename": "/lib/python3.6/cmd.py", "start": 2419458, "end": 2434318, "audio": 0}, {"filename": "/lib/python3.6/crypt.py", "start": 2434318, "end": 2436182, "audio": 0}, {"filename": "/lib/python3.6/sre_constants.py", "start": 2436182, "end": 2443003, "audio": 0}, {"filename": "/lib/python3.6/chunk.py", "start": 2443003, "end": 2448428, "audio": 0}, {"filename": "/lib/python3.6/ntpath.py", "start": 2448428, "end": 2471576, "audio": 0}, {"filename": "/lib/python3.6/abc.py", "start": 2471576, "end": 2480224, "audio": 0}, {"filename": "/lib/python3.6/cProfile.py", "start": 2480224, "end": 2485537, "audio": 0}, {"filename": "/lib/python3.6/_collections_abc.py", "start": 2485537, "end": 2511840, "audio": 0}, {"filename": "/lib/python3.6/tracemalloc.py", "start": 2511840, "end": 2528498, "audio": 0}, {"filename": "/lib/python3.6/plistlib.py", "start": 2528498, "end": 2560478, "audio": 0}, {"filename": "/lib/python3.6/tarfile.py", "start": 2560478, "end": 2653664, "audio": 0}, {"filename": "/lib/python3.6/pdb.py", "start": 2653664, "end": 2714976, "audio": 0}, {"filename": "/lib/python3.6/difflib.py", "start": 2714976, "end": 2799177, "audio": 0}, {"filename": "/lib/python3.6/timeit.py", "start": 2799177, "end": 2812511, "audio": 0}, {"filename": "/lib/python3.6/trace.py", "start": 2812511, "end": 2841481, "audio": 0}, {"filename": "/lib/python3.6/sre_compile.py", "start": 2841481, "end": 2860819, "audio": 0}, {"filename": "/lib/python3.6/codecs.py", "start": 2860819, "end": 2897095, "audio": 0}, {"filename": "/lib/python3.6/pathlib.py", "start": 2897095, "end": 2944897, "audio": 0}, {"filename": "/lib/python3.6/py_compile.py", "start": 2944897, "end": 2952078, "audio": 0}, {"filename": "/lib/python3.6/colorsys.py", "start": 2952078, "end": 2956142, "audio": 0}, {"filename": "/lib/python3.6/secrets.py", "start": 2956142, "end": 2958180, "audio": 0}, {"filename": "/lib/python3.6/symbol.py", "start": 2958180, "end": 2960291, "audio": 0}, {"filename": "/lib/python3.6/runpy.py", "start": 2960291, "end": 2972250, "audio": 0}, {"filename": "/lib/python3.6/symtable.py", "start": 2972250, "end": 2979527, "audio": 0}, {"filename": "/lib/python3.6/codeop.py", "start": 2979527, "end": 2985521, "audio": 0}, {"filename": "/lib/python3.6/fractions.py", "start": 2985521, "end": 3009160, "audio": 0}, {"filename": "/lib/python3.6/_compression.py", "start": 3009160, "end": 3014500, "audio": 0}, {"filename": "/lib/python3.6/pydoc.py", "start": 3014500, "end": 3118283, "audio": 0}, {"filename": "/lib/python3.6/asyncore.py", "start": 3118283, "end": 3138442, "audio": 0}, {"filename": "/lib/python3.6/antigravity.py", "start": 3138442, "end": 3138918, "audio": 0}, {"filename": "/lib/python3.6/_sitebuiltins.py", "start": 3138918, "end": 3142033, "audio": 0}, {"filename": "/lib/python3.6/platform.py", "start": 3142033, "end": 3188176, "audio": 0}, {"filename": "/lib/python3.6/_weakrefset.py", "start": 3188176, "end": 3193881, "audio": 0}, {"filename": "/lib/python3.6/types.py", "start": 3193881, "end": 3202751, "audio": 0}, {"filename": "/lib/python3.6/_pydecimal.py", "start": 3202751, "end": 3432979, "audio": 0}, {"filename": "/lib/python3.6/fileinput.py", "start": 3432979, "end": 3447450, "audio": 0}, {"filename": "/lib/python3.6/bisect.py", "start": 3447450, "end": 3450045, "audio": 0}, {"filename": "/lib/python3.6/hashlib.py", "start": 3450045, "end": 3459522, "audio": 0}, {"filename": "/lib/python3.6/__phello__.foo.py", "start": 3459522, "end": 3459586, "audio": 0}, {"filename": "/lib/python3.6/ftplib.py", "start": 3459586, "end": 3494841, "audio": 0}, {"filename": "/lib/python3.6/doctest.py", "start": 3494841, "end": 3599232, "audio": 0}, {"filename": "/lib/python3.6/pty.py", "start": 3599232, "end": 3603995, "audio": 0}, {"filename": "/lib/python3.6/signal.py", "start": 3603995, "end": 3606118, "audio": 0}, {"filename": "/lib/python3.6/smtplib.py", "start": 3606118, "end": 3650234, "audio": 0}, {"filename": "/lib/python3.6/bz2.py", "start": 3650234, "end": 3662712, "audio": 0}, {"filename": "/lib/python3.6/locale.py", "start": 3662712, "end": 3737436, "audio": 0}, {"filename": "/lib/python3.6/shelve.py", "start": 3737436, "end": 3745964, "audio": 0}, {"filename": "/lib/python3.6/warnings.py", "start": 3745964, "end": 3764452, "audio": 0}, {"filename": "/lib/python3.6/copy.py", "start": 3764452, "end": 3773267, "audio": 0}, {"filename": "/lib/python3.6/glob.py", "start": 3773267, "end": 3778905, "audio": 0}, {"filename": "/lib/python3.6/tempfile.py", "start": 3778905, "end": 3805540, "audio": 0}, {"filename": "/lib/python3.6/enum.py", "start": 3805540, "end": 3839012, "audio": 0}, {"filename": "/lib/python3.6/macurl2path.py", "start": 3839012, "end": 3841744, "audio": 0}, {"filename": "/lib/python3.6/statistics.py", "start": 3841744, "end": 3862417, "audio": 0}, {"filename": "/lib/python3.6/asynchat.py", "start": 3862417, "end": 3873745, "audio": 0}, {"filename": "/lib/python3.6/inspect.py", "start": 3873745, "end": 3989585, "audio": 0}, {"filename": "/lib/python3.6/profile.py", "start": 3989585, "end": 4011606, "audio": 0}, {"filename": "/lib/python3.6/uuid.py", "start": 4011606, "end": 4035240, "audio": 0}, {"filename": "/lib/python3.6/hmac.py", "start": 4035240, "end": 4040297, "audio": 0}, {"filename": "/lib/python3.6/email/contentmanager.py", "start": 4040297, "end": 4050969, "audio": 0}, {"filename": "/lib/python3.6/email/_parseaddr.py", "start": 4050969, "end": 4068168, "audio": 0}, {"filename": "/lib/python3.6/email/_header_value_parser.py", "start": 4068168, "end": 4167685, "audio": 0}, {"filename": "/lib/python3.6/email/header.py", "start": 4167685, "end": 4191787, "audio": 0}, {"filename": "/lib/python3.6/email/headerregistry.py", "start": 4191787, "end": 4212014, "audio": 0}, {"filename": "/lib/python3.6/email/base64mime.py", "start": 4212014, "end": 4215572, "audio": 0}, {"filename": "/lib/python3.6/email/quoprimime.py", "start": 4215572, "end": 4225431, "audio": 0}, {"filename": "/lib/python3.6/email/_encoded_words.py", "start": 4225431, "end": 4233345, "audio": 0}, {"filename": "/lib/python3.6/email/encoders.py", "start": 4233345, "end": 4235131, "audio": 0}, {"filename": "/lib/python3.6/email/_policybase.py", "start": 4235131, "end": 4250204, "audio": 0}, {"filename": "/lib/python3.6/email/feedparser.py", "start": 4250204, "end": 4272979, "audio": 0}, {"filename": "/lib/python3.6/email/errors.py", "start": 4272979, "end": 4276514, "audio": 0}, {"filename": "/lib/python3.6/email/__init__.py", "start": 4276514, "end": 4278280, "audio": 0}, {"filename": "/lib/python3.6/email/parser.py", "start": 4278280, "end": 4283323, "audio": 0}, {"filename": "/lib/python3.6/email/message.py", "start": 4283323, "end": 4330042, "audio": 0}, {"filename": "/lib/python3.6/email/iterators.py", "start": 4330042, "end": 4332177, "audio": 0}, {"filename": "/lib/python3.6/email/generator.py", "start": 4332177, "end": 4352152, "audio": 0}, {"filename": "/lib/python3.6/email/charset.py", "start": 4352152, "end": 4369303, "audio": 0}, {"filename": "/lib/python3.6/email/policy.py", "start": 4369303, "end": 4379676, "audio": 0}, {"filename": "/lib/python3.6/email/architecture.rst", "start": 4379676, "end": 4389237, "audio": 0}, {"filename": "/lib/python3.6/email/utils.py", "start": 4389237, "end": 4403134, "audio": 0}, {"filename": "/lib/python3.6/email/mime/nonmultipart.py", "start": 4403134, "end": 4403825, "audio": 0}, {"filename": "/lib/python3.6/email/mime/image.py", "start": 4403825, "end": 4405654, "audio": 0}, {"filename": "/lib/python3.6/email/mime/multipart.py", "start": 4405654, "end": 4407275, "audio": 0}, {"filename": "/lib/python3.6/email/mime/__init__.py", "start": 4407275, "end": 4407275, "audio": 0}, {"filename": "/lib/python3.6/email/mime/text.py", "start": 4407275, "end": 4408712, "audio": 0}, {"filename": "/lib/python3.6/email/mime/message.py", "start": 4408712, "end": 4410029, "audio": 0}, {"filename": "/lib/python3.6/email/mime/application.py", "start": 4410029, "end": 4411350, "audio": 0}, {"filename": "/lib/python3.6/email/mime/audio.py", "start": 4411350, "end": 4414089, "audio": 0}, {"filename": "/lib/python3.6/email/mime/base.py", "start": 4414089, "end": 4415005, "audio": 0}, {"filename": "/lib/python3.6/urllib/request.py", "start": 4415005, "end": 4515003, "audio": 0}, {"filename": "/lib/python3.6/urllib/robotparser.py", "start": 4515003, "end": 4523490, "audio": 0}, {"filename": "/lib/python3.6/urllib/__init__.py", "start": 4523490, "end": 4523490, "audio": 0}, {"filename": "/lib/python3.6/urllib/error.py", "start": 4523490, "end": 4526131, "audio": 0}, {"filename": "/lib/python3.6/urllib/response.py", "start": 4526131, "end": 4528430, "audio": 0}, {"filename": "/lib/python3.6/urllib/parse.py", "start": 4528430, "end": 4565033, "audio": 0}, {"filename": "/lib/python3.6/importlib/_bootstrap_external.py", "start": 4565033, "end": 4619520, "audio": 0}, {"filename": "/lib/python3.6/importlib/__init__.py", "start": 4619520, "end": 4625390, "audio": 0}, {"filename": "/lib/python3.6/importlib/abc.py", "start": 4625390, "end": 4636172, "audio": 0}, {"filename": "/lib/python3.6/importlib/machinery.py", "start": 4636172, "end": 4637016, "audio": 0}, {"filename": "/lib/python3.6/importlib/util.py", "start": 4637016, "end": 4647899, "audio": 0}, {"filename": "/lib/python3.6/importlib/_bootstrap.py", "start": 4647899, "end": 4686742, "audio": 0}, {"filename": "/lib/python3.6/asyncio/unix_events.py", "start": 4686742, "end": 4723576, "audio": 0}, {"filename": "/lib/python3.6/asyncio/coroutines.py", "start": 4723576, "end": 4734409, "audio": 0}, {"filename": "/lib/python3.6/asyncio/events.py", "start": 4734409, "end": 4757904, "audio": 0}, {"filename": "/lib/python3.6/asyncio/base_subprocess.py", "start": 4757904, "end": 4767000, "audio": 0}, {"filename": "/lib/python3.6/asyncio/sslproto.py", "start": 4767000, "end": 4792892, "audio": 0}, {"filename": "/lib/python3.6/asyncio/protocols.py", "start": 4792892, "end": 4797404, "audio": 0}, {"filename": "/lib/python3.6/asyncio/log.py", "start": 4797404, "end": 4797528, "audio": 0}, {"filename": "/lib/python3.6/asyncio/subprocess.py", "start": 4797528, "end": 4805154, "audio": 0}, {"filename": "/lib/python3.6/asyncio/base_tasks.py", "start": 4805154, "end": 4807340, "audio": 0}, {"filename": "/lib/python3.6/asyncio/queues.py", "start": 4807340, "end": 4815297, "audio": 0}, {"filename": "/lib/python3.6/asyncio/selector_events.py", "start": 4815297, "end": 4857293, "audio": 0}, {"filename": "/lib/python3.6/asyncio/windows_events.py", "start": 4857293, "end": 4885124, "audio": 0}, {"filename": "/lib/python3.6/asyncio/streams.py", "start": 4885124, "end": 4909596, "audio": 0}, {"filename": "/lib/python3.6/asyncio/__init__.py", "start": 4909596, "end": 4911032, "audio": 0}, {"filename": "/lib/python3.6/asyncio/transports.py", "start": 4911032, "end": 4921098, "audio": 0}, {"filename": "/lib/python3.6/asyncio/tasks.py", "start": 4921098, "end": 4945742, "audio": 0}, {"filename": "/lib/python3.6/asyncio/base_futures.py", "start": 4945742, "end": 4947816, "audio": 0}, {"filename": "/lib/python3.6/asyncio/windows_utils.py", "start": 4947816, "end": 4954699, "audio": 0}, {"filename": "/lib/python3.6/asyncio/constants.py", "start": 4954699, "end": 4955070, "audio": 0}, {"filename": "/lib/python3.6/asyncio/compat.py", "start": 4955070, "end": 4955613, "audio": 0}, {"filename": "/lib/python3.6/asyncio/proactor_events.py", "start": 4955613, "end": 4975789, "audio": 0}, {"filename": "/lib/python3.6/asyncio/test_utils.py", "start": 4975789, "end": 4990472, "audio": 0}, {"filename": "/lib/python3.6/asyncio/locks.py", "start": 4990472, "end": 5005474, "audio": 0}, {"filename": "/lib/python3.6/asyncio/futures.py", "start": 5005474, "end": 5021250, "audio": 0}, {"filename": "/lib/python3.6/asyncio/base_events.py", "start": 5021250, "end": 5078002, "audio": 0}, {"filename": "/lib/python3.6/unittest/suite.py", "start": 5078002, "end": 5088481, "audio": 0}, {"filename": "/lib/python3.6/unittest/result.py", "start": 5088481, "end": 5095923, "audio": 0}, {"filename": "/lib/python3.6/unittest/case.py", "start": 5095923, "end": 5152884, "audio": 0}, {"filename": "/lib/python3.6/unittest/runner.py", "start": 5152884, "end": 5160635, "audio": 0}, {"filename": "/lib/python3.6/unittest/mock.py", "start": 5160635, "end": 5240135, "audio": 0}, {"filename": "/lib/python3.6/unittest/__init__.py", "start": 5240135, "end": 5243278, "audio": 0}, {"filename": "/lib/python3.6/unittest/loader.py", "start": 5243278, "end": 5265502, "audio": 0}, {"filename": "/lib/python3.6/unittest/main.py", "start": 5265502, "end": 5276054, "audio": 0}, {"filename": "/lib/python3.6/unittest/signals.py", "start": 5276054, "end": 5278457, "audio": 0}, {"filename": "/lib/python3.6/unittest/util.py", "start": 5278457, "end": 5283890, "audio": 0}, {"filename": "/lib/python3.6/unittest/__main__.py", "start": 5283890, "end": 5284375, "audio": 0}, {"filename": "/lib/python3.6/unittest/test/test_functiontestcase.py", "start": 5284375, "end": 5289915, "audio": 0}, {"filename": "/lib/python3.6/unittest/test/test_program.py", "start": 5289915, "end": 5303636, "audio": 0}, {"filename": "/lib/python3.6/unittest/test/test_result.py", "start": 5303636, "end": 5328133, "audio": 0}, {"filename": "/lib/python3.6/unittest/test/test_assertions.py", "start": 5328133, "end": 5345163, "audio": 0}, {"filename": "/lib/python3.6/unittest/test/test_case.py", "start": 5345163, "end": 5417749, "audio": 0}, {"filename": "/lib/python3.6/unittest/test/test_skipping.py", "start": 5417749, "end": 5427065, "audio": 0}, {"filename": "/lib/python3.6/unittest/test/test_suite.py", "start": 5427065, "end": 5442249, "audio": 0}, {"filename": "/lib/python3.6/unittest/test/test_setups.py", "start": 5442249, "end": 5458752, "audio": 0}, {"filename": "/lib/python3.6/unittest/test/__init__.py", "start": 5458752, "end": 5459336, "audio": 0}, {"filename": "/lib/python3.6/unittest/test/dummy.py", "start": 5459336, "end": 5459386, "audio": 0}, {"filename": "/lib/python3.6/unittest/test/test_loader.py", "start": 5459386, "end": 5520155, "audio": 0}, {"filename": "/lib/python3.6/unittest/test/_test_warnings.py", "start": 5520155, "end": 5522459, "audio": 0}, {"filename": "/lib/python3.6/unittest/test/test_discovery.py", "start": 5522459, "end": 5555724, "audio": 0}, {"filename": "/lib/python3.6/unittest/test/test_break.py", "start": 5555724, "end": 5565721, "audio": 0}, {"filename": "/lib/python3.6/unittest/test/test_runner.py", "start": 5565721, "end": 5577734, "audio": 0}, {"filename": "/lib/python3.6/unittest/test/__main__.py", "start": 5577734, "end": 5578330, "audio": 0}, {"filename": "/lib/python3.6/unittest/test/support.py", "start": 5578330, "end": 5582082, "audio": 0}, {"filename": "/lib/python3.6/unittest/test/testmock/testsentinel.py", "start": 5582082, "end": 5582906, "audio": 0}, {"filename": "/lib/python3.6/unittest/test/testmock/testcallable.py", "start": 5582906, "end": 5587189, "audio": 0}, {"filename": "/lib/python3.6/unittest/test/testmock/testhelpers.py", "start": 5587189, "end": 5615005, "audio": 0}, {"filename": "/lib/python3.6/unittest/test/testmock/testmock.py", "start": 5615005, "end": 5665489, "audio": 0}, {"filename": "/lib/python3.6/unittest/test/testmock/__init__.py", "start": 5665489, "end": 5665954, "audio": 0}, {"filename": "/lib/python3.6/unittest/test/testmock/testwith.py", "start": 5665954, "end": 5676369, "audio": 0}, {"filename": "/lib/python3.6/unittest/test/testmock/testpatch.py", "start": 5676369, "end": 5731923, "audio": 0}, {"filename": "/lib/python3.6/unittest/test/testmock/testmagicmethods.py", "start": 5731923, "end": 5746334, "audio": 0}, {"filename": "/lib/python3.6/unittest/test/testmock/__main__.py", "start": 5746334, "end": 5746957, "audio": 0}, {"filename": "/lib/python3.6/unittest/test/testmock/support.py", "start": 5746957, "end": 5747344, "audio": 0}, {"filename": "/lib/python3.6/site-packages/README.txt", "start": 5747344, "end": 5747463, "audio": 0}, {"filename": "/lib/python3.6/site-packages/sitecustomize.py", "start": 5747463, "end": 5747711, "audio": 0}, {"filename": "/lib/python3.6/site-packages/pyodide.py", "start": 5747711, "end": 5748613, "audio": 0}, {"filename": "/lib/python3.6/site-packages/six.py", "start": 5748613, "end": 5779501, "audio": 0}, {"filename": "/lib/python3.6/distutils/bcppcompiler.py", "start": 5779501, "end": 5794436, "audio": 0}, {"filename": "/lib/python3.6/distutils/sysconfig.py", "start": 5794436, "end": 5814497, "audio": 0}, {"filename": "/lib/python3.6/distutils/archive_util.py", "start": 5814497, "end": 5822618, "audio": 0}, {"filename": "/lib/python3.6/distutils/dep_util.py", "start": 5822618, "end": 5826109, "audio": 0}, {"filename": "/lib/python3.6/distutils/msvc9compiler.py", "start": 5826109, "end": 5856721, "audio": 0}, {"filename": "/lib/python3.6/distutils/versionpredicate.py", "start": 5856721, "end": 5861854, "audio": 0}, {"filename": "/lib/python3.6/distutils/msvccompiler.py", "start": 5861854, "end": 5885430, "audio": 0}, {"filename": "/lib/python3.6/distutils/fancy_getopt.py", "start": 5885430, "end": 5903214, "audio": 0}, {"filename": "/lib/python3.6/distutils/log.py", "start": 5903214, "end": 5905122, "audio": 0}, {"filename": "/lib/python3.6/distutils/ccompiler.py", "start": 5905122, "end": 5952537, "audio": 0}, {"filename": "/lib/python3.6/distutils/_msvccompiler.py", "start": 5952537, "end": 5974066, "audio": 0}, {"filename": "/lib/python3.6/distutils/unixccompiler.py", "start": 5974066, "end": 5988550, "audio": 0}, {"filename": "/lib/python3.6/distutils/filelist.py", "start": 5988550, "end": 6001382, "audio": 0}, {"filename": "/lib/python3.6/distutils/README", "start": 6001382, "end": 6001677, "audio": 0}, {"filename": "/lib/python3.6/distutils/version.py", "start": 6001677, "end": 6014022, "audio": 0}, {"filename": "/lib/python3.6/distutils/debug.py", "start": 6014022, "end": 6014161, "audio": 0}, {"filename": "/lib/python3.6/distutils/cygwinccompiler.py", "start": 6014161, "end": 6030636, "audio": 0}, {"filename": "/lib/python3.6/distutils/config.py", "start": 6030636, "end": 6035516, "audio": 0}, {"filename": "/lib/python3.6/distutils/core.py", "start": 6035516, "end": 6044392, "audio": 0}, {"filename": "/lib/python3.6/distutils/errors.py", "start": 6044392, "end": 6047969, "audio": 0}, {"filename": "/lib/python3.6/distutils/__init__.py", "start": 6047969, "end": 6048205, "audio": 0}, {"filename": "/lib/python3.6/distutils/cmd.py", "start": 6048205, "end": 6067334, "audio": 0}, {"filename": "/lib/python3.6/distutils/dir_util.py", "start": 6067334, "end": 6075112, "audio": 0}, {"filename": "/lib/python3.6/distutils/extension.py", "start": 6075112, "end": 6085627, "audio": 0}, {"filename": "/lib/python3.6/distutils/file_util.py", "start": 6085627, "end": 6093775, "audio": 0}, {"filename": "/lib/python3.6/distutils/dist.py", "start": 6093775, "end": 6143465, "audio": 0}, {"filename": "/lib/python3.6/distutils/util.py", "start": 6143465, "end": 6164254, "audio": 0}, {"filename": "/lib/python3.6/distutils/spawn.py", "start": 6164254, "end": 6171665, "audio": 0}, {"filename": "/lib/python3.6/distutils/text_file.py", "start": 6171665, "end": 6184148, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/wininst-9.0.exe", "start": 6184148, "end": 6380244, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/wininst-6.0.exe", "start": 6380244, "end": 6441684, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/bdist_dumb.py", "start": 6441684, "end": 6446596, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/wininst-14.0.exe", "start": 6446596, "end": 6904836, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/install_lib.py", "start": 6904836, "end": 6913233, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/install_scripts.py", "start": 6913233, "end": 6915250, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/bdist_wininst.py", "start": 6915250, "end": 6930686, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/config.py", "start": 6930686, "end": 6943772, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/wininst-7.1.exe", "start": 6943772, "end": 7009308, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/build_clib.py", "start": 7009308, "end": 7017330, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/install_egg_info.py", "start": 7017330, "end": 7019933, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/wininst-8.0.exe", "start": 7019933, "end": 7081373, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/register.py", "start": 7081373, "end": 7093085, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/sdist.py", "start": 7093085, "end": 7110911, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/build.py", "start": 7110911, "end": 7116659, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/__init__.py", "start": 7116659, "end": 7117458, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/bdist.py", "start": 7117458, "end": 7123020, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/build_ext.py", "start": 7123020, "end": 7154505, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/build_py.py", "start": 7154505, "end": 7171669, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/clean.py", "start": 7171669, "end": 7174445, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/wininst-10.0.exe", "start": 7174445, "end": 7365421, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/wininst-10.0-amd64.exe", "start": 7365421, "end": 7587629, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/check.py", "start": 7587629, "end": 7593125, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/build_scripts.py", "start": 7593125, "end": 7599357, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/install_data.py", "start": 7599357, "end": 7602179, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/install.py", "start": 7602179, "end": 7628916, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/wininst-9.0-amd64.exe", "start": 7628916, "end": 7853172, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/wininst-14.0-amd64.exe", "start": 7853172, "end": 8440948, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/install_headers.py", "start": 8440948, "end": 8442246, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/bdist_rpm.py", "start": 8442246, "end": 8463916, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/bdist_msi.py", "start": 8463916, "end": 8499147, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/upload.py", "start": 8499147, "end": 8506478, "audio": 0}, {"filename": "/lib/python3.6/distutils/command/command_template", "start": 8506478, "end": 8507111, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_versionpredicate.py", "start": 8507111, "end": 8507391, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_check.py", "start": 8507391, "end": 8512647, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_config_cmd.py", "start": 8512647, "end": 8515429, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_util.py", "start": 8515429, "end": 8526679, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_clean.py", "start": 8526679, "end": 8528120, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_core.py", "start": 8528120, "end": 8532197, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_dir_util.py", "start": 8532197, "end": 8536851, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_install.py", "start": 8536851, "end": 8545386, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_bdist.py", "start": 8545386, "end": 8546929, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_msvc9compiler.py", "start": 8546929, "end": 8552967, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_bdist_rpm.py", "start": 8552967, "end": 8557975, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_build_scripts.py", "start": 8557975, "end": 8561568, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_bdist_dumb.py", "start": 8561568, "end": 8564467, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_log.py", "start": 8564467, "end": 8565756, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_file_util.py", "start": 8565756, "end": 8569859, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_spawn.py", "start": 8569859, "end": 8571719, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_msvccompiler.py", "start": 8571719, "end": 8576591, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_filelist.py", "start": 8576591, "end": 8588066, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_cygwinccompiler.py", "start": 8588066, "end": 8593702, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_text_file.py", "start": 8593702, "end": 8597138, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_install_headers.py", "start": 8597138, "end": 8598376, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_version.py", "start": 8598376, "end": 8600990, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_install_data.py", "start": 8600990, "end": 8603567, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_build_py.py", "start": 8603567, "end": 8609902, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_build.py", "start": 8609902, "end": 8611867, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_extension.py", "start": 8611867, "end": 8614635, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_sdist.py", "start": 8614635, "end": 8631122, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_install_lib.py", "start": 8631122, "end": 8635096, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_unixccompiler.py", "start": 8635096, "end": 8639958, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/__init__.py", "start": 8639958, "end": 8641018, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/xxmodule.c", "start": 8641018, "end": 8653386, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_dep_util.py", "start": 8653386, "end": 8656206, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_upload.py", "start": 8656206, "end": 8661730, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_build_clib.py", "start": 8661730, "end": 8666405, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_register.py", "start": 8666405, "end": 8676170, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_sysconfig.py", "start": 8676170, "end": 8684136, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_config.py", "start": 8684136, "end": 8687979, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_build_ext.py", "start": 8687979, "end": 8707425, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/Setup.sample", "start": 8707425, "end": 8709674, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_cmd.py", "start": 8709674, "end": 8713509, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_dist.py", "start": 8713509, "end": 8729559, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_bdist_msi.py", "start": 8729559, "end": 8730287, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_install_scripts.py", "start": 8730287, "end": 8732912, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_archive_util.py", "start": 8732912, "end": 8747243, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/test_bdist_wininst.py", "start": 8747243, "end": 8748283, "audio": 0}, {"filename": "/lib/python3.6/distutils/tests/support.py", "start": 8748283, "end": 8754816, "audio": 0}, {"filename": "/lib/python3.6/collections/__init__.py", "start": 8754816, "end": 8800628, "audio": 0}, {"filename": "/lib/python3.6/collections/abc.py", "start": 8800628, "end": 8800696, "audio": 0}, {"filename": "/lib/python3.6/xml/__init__.py", "start": 8800696, "end": 8801253, "audio": 0}, {"filename": "/lib/python3.6/xml/dom/minicompat.py", "start": 8801253, "end": 8804620, "audio": 0}, {"filename": "/lib/python3.6/xml/dom/pulldom.py", "start": 8804620, "end": 8816381, "audio": 0}, {"filename": "/lib/python3.6/xml/dom/domreg.py", "start": 8816381, "end": 8819783, "audio": 0}, {"filename": "/lib/python3.6/xml/dom/__init__.py", "start": 8819783, "end": 8823802, "audio": 0}, {"filename": "/lib/python3.6/xml/dom/minidom.py", "start": 8823802, "end": 8890621, "audio": 0}, {"filename": "/lib/python3.6/xml/dom/NodeFilter.py", "start": 8890621, "end": 8891557, "audio": 0}, {"filename": "/lib/python3.6/xml/dom/xmlbuilder.py", "start": 8891557, "end": 8904553, "audio": 0}, {"filename": "/lib/python3.6/xml/dom/expatbuilder.py", "start": 8904553, "end": 8940309, "audio": 0}, {"filename": "/lib/python3.6/xml/sax/handler.py", "start": 8940309, "end": 8954231, "audio": 0}, {"filename": "/lib/python3.6/xml/sax/saxutils.py", "start": 8954231, "end": 8966436, "audio": 0}, {"filename": "/lib/python3.6/xml/sax/_exceptions.py", "start": 8966436, "end": 8971221, "audio": 0}, {"filename": "/lib/python3.6/xml/sax/expatreader.py", "start": 8971221, "end": 8986925, "audio": 0}, {"filename": "/lib/python3.6/xml/sax/__init__.py", "start": 8986925, "end": 8990518, "audio": 0}, {"filename": "/lib/python3.6/xml/sax/xmlreader.py", "start": 8990518, "end": 9003202, "audio": 0}, {"filename": "/lib/python3.6/xml/parsers/expat.py", "start": 9003202, "end": 9003450, "audio": 0}, {"filename": "/lib/python3.6/xml/parsers/__init__.py", "start": 9003450, "end": 9003617, "audio": 0}, {"filename": "/lib/python3.6/xml/etree/cElementTree.py", "start": 9003617, "end": 9003699, "audio": 0}, {"filename": "/lib/python3.6/xml/etree/__init__.py", "start": 9003699, "end": 9005303, "audio": 0}, {"filename": "/lib/python3.6/xml/etree/ElementInclude.py", "start": 9005303, "end": 9010454, "audio": 0}, {"filename": "/lib/python3.6/xml/etree/ElementTree.py", "start": 9010454, "end": 9067482, "audio": 0}, {"filename": "/lib/python3.6/xml/etree/ElementPath.py", "start": 9067482, "end": 9077417, "audio": 0}, {"filename": "/lib/python3.6/logging/handlers.py", "start": 9077417, "end": 9135470, "audio": 0}, {"filename": "/lib/python3.6/logging/config.py", "start": 9135470, "end": 9171414, "audio": 0}, {"filename": "/lib/python3.6/logging/__init__.py", "start": 9171414, "end": 9242566, "audio": 0}, {"filename": "/lib/python3.6/http/client.py", "start": 9242566, "end": 9296955, "audio": 0}, {"filename": "/lib/python3.6/http/cookies.py", "start": 9296955, "end": 9318212, "audio": 0}, {"filename": "/lib/python3.6/http/server.py", "start": 9318212, "end": 9362004, "audio": 0}, {"filename": "/lib/python3.6/http/cookiejar.py", "start": 9362004, "end": 9438388, "audio": 0}, {"filename": "/lib/python3.6/http/__init__.py", "start": 9438388, "end": 9444341, "audio": 0}, {"filename": "/lib/python3.6/xmlrpc/client.py", "start": 9444341, "end": 9493328, "audio": 0}, {"filename": "/lib/python3.6/xmlrpc/server.py", "start": 9493328, "end": 9530498, "audio": 0}, {"filename": "/lib/python3.6/xmlrpc/__init__.py", "start": 9530498, "end": 9530536, "audio": 0}, {"filename": "/lib/python3.6/html/__init__.py", "start": 9530536, "end": 9535292, "audio": 0}, {"filename": "/lib/python3.6/html/parser.py", "start": 9535292, "end": 9553021, "audio": 0}, {"filename": "/lib/python3.6/html/entities.py", "start": 9553021, "end": 9628336, "audio": 0}, {"filename": "/lib/python3.6/wsgiref/simple_server.py", "start": 9628336, "end": 9633475, "audio": 0}, {"filename": "/lib/python3.6/wsgiref/handlers.py", "start": 9633475, "end": 9654476, "audio": 0}, {"filename": "/lib/python3.6/wsgiref/__init__.py", "start": 9654476, "end": 9655063, "audio": 0}, {"filename": "/lib/python3.6/wsgiref/validate.py", "start": 9655063, "end": 9670226, "audio": 0}, {"filename": "/lib/python3.6/wsgiref/headers.py", "start": 9670226, "end": 9676992, "audio": 0}, {"filename": "/lib/python3.6/wsgiref/util.py", "start": 9676992, "end": 9682626, "audio": 0}, {"filename": "/lib/python3.6/json/scanner.py", "start": 9682626, "end": 9685042, "audio": 0}, {"filename": "/lib/python3.6/json/tool.py", "start": 9685042, "end": 9686687, "audio": 0}, {"filename": "/lib/python3.6/json/__init__.py", "start": 9686687, "end": 9701083, "audio": 0}, {"filename": "/lib/python3.6/json/decoder.py", "start": 9701083, "end": 9713668, "audio": 0}, {"filename": "/lib/python3.6/json/encoder.py", "start": 9713668, "end": 9729688, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp861.py", "start": 9729688, "end": 9764321, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp775.py", "start": 9764321, "end": 9798797, "audio": 0}, {"filename": "/lib/python3.6/encodings/palmos.py", "start": 9798797, "end": 9812316, "audio": 0}, {"filename": "/lib/python3.6/encodings/iso8859_14.py", "start": 9812316, "end": 9825968, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp865.py", "start": 9825968, "end": 9860586, "audio": 0}, {"filename": "/lib/python3.6/encodings/uu_codec.py", "start": 9860586, "end": 9863307, "audio": 0}, {"filename": "/lib/python3.6/encodings/mac_greek.py", "start": 9863307, "end": 9877028, "audio": 0}, {"filename": "/lib/python3.6/encodings/iso2022_jp_1.py", "start": 9877028, "end": 9878089, "audio": 0}, {"filename": "/lib/python3.6/encodings/euc_jis_2004.py", "start": 9878089, "end": 9879140, "audio": 0}, {"filename": "/lib/python3.6/encodings/mac_arabic.py", "start": 9879140, "end": 9915607, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp855.py", "start": 9915607, "end": 9949457, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp437.py", "start": 9949457, "end": 9984021, "audio": 0}, {"filename": "/lib/python3.6/encodings/idna.py", "start": 9984021, "end": 9993191, "audio": 0}, {"filename": "/lib/python3.6/encodings/iso8859_16.py", "start": 9993191, "end": 10006748, "audio": 0}, {"filename": "/lib/python3.6/encodings/mac_latin2.py", "start": 10006748, "end": 10020866, "audio": 0}, {"filename": "/lib/python3.6/encodings/gbk.py", "start": 10020866, "end": 10021881, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp875.py", "start": 10021881, "end": 10034735, "audio": 0}, {"filename": "/lib/python3.6/encodings/kz1048.py", "start": 10034735, "end": 10048458, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp950.py", "start": 10048458, "end": 10049481, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp65001.py", "start": 10049481, "end": 10050587, "audio": 0}, {"filename": "/lib/python3.6/encodings/euc_jp.py", "start": 10050587, "end": 10051614, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp932.py", "start": 10051614, "end": 10052637, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp037.py", "start": 10052637, "end": 10065758, "audio": 0}, {"filename": "/lib/python3.6/encodings/iso8859_8.py", "start": 10065758, "end": 10076794, "audio": 0}, {"filename": "/lib/python3.6/encodings/latin_1.py", "start": 10076794, "end": 10078058, "audio": 0}, {"filename": "/lib/python3.6/encodings/iso8859_2.py", "start": 10078058, "end": 10091462, "audio": 0}, {"filename": "/lib/python3.6/encodings/koi8_t.py", "start": 10091462, "end": 10104655, "audio": 0}, {"filename": "/lib/python3.6/encodings/koi8_u.py", "start": 10104655, "end": 10118417, "audio": 0}, {"filename": "/lib/python3.6/encodings/iso2022_jp.py", "start": 10118417, "end": 10119470, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp852.py", "start": 10119470, "end": 10154472, "audio": 0}, {"filename": "/lib/python3.6/encodings/euc_jisx0213.py", "start": 10154472, "end": 10155523, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp1125.py", "start": 10155523, "end": 10190120, "audio": 0}, {"filename": "/lib/python3.6/encodings/mac_turkish.py", "start": 10190120, "end": 10203633, "audio": 0}, {"filename": "/lib/python3.6/encodings/utf_7.py", "start": 10203633, "end": 10204579, "audio": 0}, {"filename": "/lib/python3.6/encodings/johab.py", "start": 10204579, "end": 10205602, "audio": 0}, {"filename": "/lib/python3.6/encodings/iso8859_9.py", "start": 10205602, "end": 10218758, "audio": 0}, {"filename": "/lib/python3.6/encodings/shift_jisx0213.py", "start": 10218758, "end": 10219817, "audio": 0}, {"filename": "/lib/python3.6/encodings/punycode.py", "start": 10219817, "end": 10226698, "audio": 0}, {"filename": "/lib/python3.6/encodings/hz.py", "start": 10226698, "end": 10227709, "audio": 0}, {"filename": "/lib/python3.6/encodings/hex_codec.py", "start": 10227709, "end": 10229217, "audio": 0}, {"filename": "/lib/python3.6/encodings/big5hkscs.py", "start": 10229217, "end": 10230256, "audio": 0}, {"filename": "/lib/python3.6/encodings/rot_13.py", "start": 10230256, "end": 10232684, "audio": 0}, {"filename": "/lib/python3.6/encodings/iso8859_1.py", "start": 10232684, "end": 10245860, "audio": 0}, {"filename": "/lib/python3.6/encodings/euc_kr.py", "start": 10245860, "end": 10246887, "audio": 0}, {"filename": "/lib/python3.6/encodings/iso2022_jp_2004.py", "start": 10246887, "end": 10247960, "audio": 0}, {"filename": "/lib/python3.6/encodings/shift_jis_2004.py", "start": 10247960, "end": 10249019, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp869.py", "start": 10249019, "end": 10281984, "audio": 0}, {"filename": "/lib/python3.6/encodings/unicode_internal.py", "start": 10281984, "end": 10283180, "audio": 0}, {"filename": "/lib/python3.6/encodings/charmap.py", "start": 10283180, "end": 10285264, "audio": 0}, {"filename": "/lib/python3.6/encodings/tis_620.py", "start": 10285264, "end": 10297564, "audio": 0}, {"filename": "/lib/python3.6/encodings/iso8859_11.py", "start": 10297564, "end": 10309899, "audio": 0}, {"filename": "/lib/python3.6/encodings/shift_jis.py", "start": 10309899, "end": 10310938, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp866.py", "start": 10310938, "end": 10345334, "audio": 0}, {"filename": "/lib/python3.6/encodings/iso8859_10.py", "start": 10345334, "end": 10358923, "audio": 0}, {"filename": "/lib/python3.6/encodings/aliases.py", "start": 10358923, "end": 10374500, "audio": 0}, {"filename": "/lib/python3.6/encodings/oem.py", "start": 10374500, "end": 10375519, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp1254.py", "start": 10375519, "end": 10389021, "audio": 0}, {"filename": "/lib/python3.6/encodings/base64_codec.py", "start": 10389021, "end": 10390554, "audio": 0}, {"filename": "/lib/python3.6/encodings/gb18030.py", "start": 10390554, "end": 10391585, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp1257.py", "start": 10391585, "end": 10404959, "audio": 0}, {"filename": "/lib/python3.6/encodings/iso2022_kr.py", "start": 10404959, "end": 10406012, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp1252.py", "start": 10406012, "end": 10419523, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp949.py", "start": 10419523, "end": 10420546, "audio": 0}, {"filename": "/lib/python3.6/encodings/unicode_escape.py", "start": 10420546, "end": 10421730, "audio": 0}, {"filename": "/lib/python3.6/encodings/koi8_r.py", "start": 10421730, "end": 10435509, "audio": 0}, {"filename": "/lib/python3.6/encodings/mac_centeuro.py", "start": 10435509, "end": 10449611, "audio": 0}, {"filename": "/lib/python3.6/encodings/mac_roman.py", "start": 10449611, "end": 10463091, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp1006.py", "start": 10463091, "end": 10476659, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp862.py", "start": 10476659, "end": 10510029, "audio": 0}, {"filename": "/lib/python3.6/encodings/quopri_codec.py", "start": 10510029, "end": 10511554, "audio": 0}, {"filename": "/lib/python3.6/encodings/mac_cyrillic.py", "start": 10511554, "end": 10525008, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp856.py", "start": 10525008, "end": 10537431, "audio": 0}, {"filename": "/lib/python3.6/encodings/zlib_codec.py", "start": 10537431, "end": 10539635, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp273.py", "start": 10539635, "end": 10553767, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp1255.py", "start": 10553767, "end": 10566233, "audio": 0}, {"filename": "/lib/python3.6/encodings/__init__.py", "start": 10566233, "end": 10571875, "audio": 0}, {"filename": "/lib/python3.6/encodings/ptcp154.py", "start": 10571875, "end": 10585890, "audio": 0}, {"filename": "/lib/python3.6/encodings/utf_32_be.py", "start": 10585890, "end": 10586820, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp1250.py", "start": 10586820, "end": 10600506, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp1251.py", "start": 10600506, "end": 10613867, "audio": 0}, {"filename": "/lib/python3.6/encodings/utf_32_le.py", "start": 10613867, "end": 10614797, "audio": 0}, {"filename": "/lib/python3.6/encodings/iso2022_jp_2.py", "start": 10614797, "end": 10615858, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp858.py", "start": 10615858, "end": 10649873, "audio": 0}, {"filename": "/lib/python3.6/encodings/utf_16_be.py", "start": 10649873, "end": 10650910, "audio": 0}, {"filename": "/lib/python3.6/encodings/iso8859_4.py", "start": 10650910, "end": 10664286, "audio": 0}, {"filename": "/lib/python3.6/encodings/iso2022_jp_3.py", "start": 10664286, "end": 10665347, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp500.py", "start": 10665347, "end": 10678468, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp1256.py", "start": 10678468, "end": 10691282, "audio": 0}, {"filename": "/lib/python3.6/encodings/gb2312.py", "start": 10691282, "end": 10692309, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp1026.py", "start": 10692309, "end": 10705422, "audio": 0}, {"filename": "/lib/python3.6/encodings/bz2_codec.py", "start": 10705422, "end": 10707671, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp857.py", "start": 10707671, "end": 10741579, "audio": 0}, {"filename": "/lib/python3.6/encodings/iso8859_3.py", "start": 10741579, "end": 10754668, "audio": 0}, {"filename": "/lib/python3.6/encodings/mac_croatian.py", "start": 10754668, "end": 10768301, "audio": 0}, {"filename": "/lib/python3.6/encodings/utf_16_le.py", "start": 10768301, "end": 10769338, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp860.py", "start": 10769338, "end": 10804019, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp424.py", "start": 10804019, "end": 10816074, "audio": 0}, {"filename": "/lib/python3.6/encodings/utf_32.py", "start": 10816074, "end": 10821203, "audio": 0}, {"filename": "/lib/python3.6/encodings/mac_romanian.py", "start": 10821203, "end": 10834864, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp874.py", "start": 10834864, "end": 10847459, "audio": 0}, {"filename": "/lib/python3.6/encodings/iso8859_15.py", "start": 10847459, "end": 10860671, "audio": 0}, {"filename": "/lib/python3.6/encodings/mbcs.py", "start": 10860671, "end": 10861882, "audio": 0}, {"filename": "/lib/python3.6/encodings/mac_farsi.py", "start": 10861882, "end": 10877052, "audio": 0}, {"filename": "/lib/python3.6/encodings/mac_iceland.py", "start": 10877052, "end": 10890550, "audio": 0}, {"filename": "/lib/python3.6/encodings/iso2022_jp_ext.py", "start": 10890550, "end": 10891619, "audio": 0}, {"filename": "/lib/python3.6/encodings/ascii.py", "start": 10891619, "end": 10892867, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp1258.py", "start": 10892867, "end": 10906231, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp864.py", "start": 10906231, "end": 10939894, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp720.py", "start": 10939894, "end": 10953580, "audio": 0}, {"filename": "/lib/python3.6/encodings/iso8859_6.py", "start": 10953580, "end": 10964413, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp1140.py", "start": 10964413, "end": 10977518, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp1253.py", "start": 10977518, "end": 10990612, "audio": 0}, {"filename": "/lib/python3.6/encodings/iso8859_7.py", "start": 10990612, "end": 11003456, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp863.py", "start": 11003456, "end": 11037708, "audio": 0}, {"filename": "/lib/python3.6/encodings/iso8859_5.py", "start": 11037708, "end": 11050723, "audio": 0}, {"filename": "/lib/python3.6/encodings/hp_roman8.py", "start": 11050723, "end": 11064198, "audio": 0}, {"filename": "/lib/python3.6/encodings/raw_unicode_escape.py", "start": 11064198, "end": 11065406, "audio": 0}, {"filename": "/lib/python3.6/encodings/undefined.py", "start": 11065406, "end": 11066705, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp850.py", "start": 11066705, "end": 11100810, "audio": 0}, {"filename": "/lib/python3.6/encodings/utf_8.py", "start": 11100810, "end": 11101815, "audio": 0}, {"filename": "/lib/python3.6/encodings/utf_16.py", "start": 11101815, "end": 11107051, "audio": 0}, {"filename": "/lib/python3.6/encodings/utf_8_sig.py", "start": 11107051, "end": 11111184, "audio": 0}, {"filename": "/lib/python3.6/encodings/cp737.py", "start": 11111184, "end": 11145865, "audio": 0}, {"filename": "/lib/python3.6/encodings/big5.py", "start": 11145865, "end": 11146884, "audio": 0}, {"filename": "/lib/python3.6/encodings/iso8859_13.py", "start": 11146884, "end": 11160155, "audio": 0}, {"filename": "/lib/python3.6/pydoc_data/topics.py", "start": 11160155, "end": 11797226, "audio": 0}, {"filename": "/lib/python3.6/pydoc_data/__init__.py", "start": 11797226, "end": 11797226, "audio": 0}, {"filename": "/lib/python3.6/pydoc_data/_pydoc.css", "start": 11797226, "end": 11797322, "audio": 0}, {"filename": "/lib/python3.6/concurrent/__init__.py", "start": 11797322, "end": 11797360, "audio": 0}, {"filename": "/lib/python3.6/concurrent/futures/__init__.py", "start": 11797360, "end": 11798160, "audio": 0}, {"filename": "/lib/python3.6/concurrent/futures/process.py", "start": 11798160, "end": 11818652, "audio": 0}, {"filename": "/lib/python3.6/concurrent/futures/thread.py", "start": 11818652, "end": 11824163, "audio": 0}, {"filename": "/lib/python3.6/concurrent/futures/_base.py", "start": 11824163, "end": 11845378, "audio": 0}], "remote_package_size": 11845378, "package_uuid": "3fd74dc7-311e-4d94-8081-a3d2de0f3f6c"});
})();
<?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.asm.data.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="File" module="OFS.Image"/>
</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>
</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>Pyodide ASM Data</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>pyodide.asm.html</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</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>pyodide.asm.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="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>pyodide.asm.wasm</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/wasm</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Pyodide ASM</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/**
* 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 = '';
////////////////////////////////////////////////////////////
// Package loading
var packages = undefined;
let loadedPackages = new Array();
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;
}
};
let loadPackage = (names) => {
// DFS to find all dependencies of the requested packages
let packages = window.pyodide.packages.dependencies;
let queue = new Array(names);
let toLoad = new Array();
while (queue.length) {
let package_uri = queue.pop();
const package = _uri_to_package_name(package_uri);
if (package == null) {
throw new Error(`Invalid package name or URI '${package_uri}'`);
} 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]}!`);
}
} else {
toLoad[package] = package_uri;
if (packages.hasOwnProperty(package)) {
packages[package].forEach((subpackage) => {
if (!(subpackage in loadedPackages) && !(subpackage in toLoad)) {
queue.push(subpackage);
}
});
} else {
console.log(`Unknown package '${package}'`);
}
}
}
let promise = new Promise((resolve, reject) => {
if (Object.keys(toLoad).length === 0) {
resolve('No new packages to load');
}
pyodide.monitorRunDependencies = (n) => {
if (n === 0) {
for (let package in toLoad) {
loadedPackages[package] = toLoad[package];
}
delete pyodide.monitorRunDependencies;
const packageList = Array.from(Object.keys(toLoad)).join(', ');
resolve(`Loaded ${packageList}`);
}
};
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) => { reject(e); };
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');
});
if (window.iodide !== undefined) {
window.iodide.evalQueue.await([ promise ]);
}
return promise;
};
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}))`);
};
////////////////////////////////////////////////////////////
// Loading Pyodide
let wasmURL = `${baseURL}pyodide.asm.wasm`;
let Module = {};
window.Module = Module;
Module.noImageDecoding = true;
Module.noAudioDecoding = true;
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) => {
wasm_promise.then(module => WebAssembly.instantiate(module, info))
.then(instance => receiveInstance(instance));
return {};
};
Module.filePackagePrefixURL = baseURL;
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) => {
window.pyodide.packages = json;
fixRecursionLimit(pyodide);
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 = () => {
window.pyodide = pyodide(Module);
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.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.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>
"""
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']
<?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.py</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.
<?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>pyparsing.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!=="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
<?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>pyparsing.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>
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>python-dateutil.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!=="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
<?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>python-dateutil.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>
<!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>
<?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>python.html</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</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>pytz.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!=="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="pytz.data";var REMOTE_PACKAGE_BASE="pytz.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","pytz",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/pytz","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/pytz","zoneinfo",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/pytz/zoneinfo","Africa",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/pytz/zoneinfo","Chile",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/pytz/zoneinfo","Antarctica",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/pytz/zoneinfo","Canada",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/pytz/zoneinfo","Asia",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/pytz/zoneinfo","Arctic",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/pytz/zoneinfo","America",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/pytz/zoneinfo/America","Indiana",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/pytz/zoneinfo/America","North_Dakota",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/pytz/zoneinfo/America","Kentucky",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/pytz/zoneinfo/America","Argentina",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/pytz/zoneinfo","Indian",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/pytz/zoneinfo","Pacific",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/pytz/zoneinfo","Europe",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/pytz/zoneinfo","Brazil",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/pytz/zoneinfo","US",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/pytz/zoneinfo","Etc",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/pytz/zoneinfo","Australia",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/pytz/zoneinfo","Atlantic",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/pytz/zoneinfo","Mexico",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages","pytz-2018.4-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_pytz.data")}Module["addRunDependency"]("datafile_pytz.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/pytz/lazy.py",start:0,end:5494,audio:0},{filename:"/lib/python3.6/site-packages/pytz/reference.py",start:5494,end:9272,audio:0},{filename:"/lib/python3.6/site-packages/pytz/tzfile.py",start:9272,end:14017,audio:0},{filename:"/lib/python3.6/site-packages/pytz/exceptions.py",start:14017,end:15346,audio:0},{filename:"/lib/python3.6/site-packages/pytz/tzinfo.py",start:15346,end:34618,audio:0},{filename:"/lib/python3.6/site-packages/pytz/__init__.py",start:34618,end:68774,audio:0},{filename:"/lib/python3.6/site-packages/pytz/__pycache__/tzinfo.cpython-36.pyc",start:68774,end:83692,audio:0},{filename:"/lib/python3.6/site-packages/pytz/__pycache__/tzfile.cpython-36.pyc",start:83692,end:86788,audio:0},{filename:"/lib/python3.6/site-packages/pytz/__pycache__/__init__.cpython-36.pyc",start:86788,end:115760,audio:0},{filename:"/lib/python3.6/site-packages/pytz/__pycache__/exceptions.cpython-36.pyc",start:115760,end:117583,audio:0},{filename:"/lib/python3.6/site-packages/pytz/__pycache__/lazy.cpython-36.pyc",start:117583,end:122910,audio:0},{filename:"/lib/python3.6/site-packages/pytz/__pycache__/reference.cpython-36.pyc",start:122910,end:126770,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/ROC",start:126770,end:127560,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Navajo",start:127560,end:130013,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Portugal",start:130013,end:133482,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Iceland",start:133482,end:134670,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/NZ-CHAT",start:134670,end:136757,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/MST",start:136757,end:136884,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/tzdata.zi",start:136884,end:243523,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Poland",start:243523,end:246228,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/CET",start:246228,end:248330,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/WET",start:248330,end:250203,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Japan",start:250203,end:250521,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/zone1970.tab",start:250521,end:268302,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/HST",start:268302,end:268430,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Zulu",start:268430,end:268557,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Egypt",start:268557,end:270529,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/UTC",start:270529,end:270656,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Israel",start:270656,end:272921,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Cuba",start:272921,end:275358,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Libya",start:275358,end:276013,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/PRC",start:276013,end:276427,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Singapore",start:276427,end:276851,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/leapseconds",start:276851,end:279047,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/posixrules",start:279047,end:282592,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/GB",start:282592,end:286279,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/ROK",start:286279,end:286810,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Eire",start:286810,end:290353,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/GMT-0",start:290353,end:290480,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/CST6CDT",start:290480,end:292774,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/UCT",start:292774,end:292901,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Iran",start:292901,end:294619,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/GMT",start:294619,end:294746,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Universal",start:294746,end:294873,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/W-SU",start:294873,end:296417,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/GB-Eire",start:296417,end:300104,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Hongkong",start:300104,end:301293,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/iso3166.tab",start:301293,end:305738,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/MST7MDT",start:305738,end:308032,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/GMT0",start:308032,end:308159,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/EST5EDT",start:308159,end:310453,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/EET",start:310453,end:312329,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Greenwich",start:312329,end:312456,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/NZ",start:312456,end:314916,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/PST8PDT",start:314916,end:317210,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/EST",start:317210,end:317337,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/MET",start:317337,end:319439,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Kwajalein",start:319439,end:319698,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/GMT+0",start:319698,end:319825,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Turkey",start:319825,end:321991,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Factory",start:321991,end:322139,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/zone.tab",start:322139,end:341304,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Jamaica",start:341304,end:341811,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Kinshasa",start:341811,end:341982,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Lusaka",start:341982,end:342153,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Timbuktu",start:342153,end:342323,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Djibouti",start:342323,end:342608,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Ndjamena",start:342608,end:342833,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Juba",start:342833,end:343516,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Asmara",start:343516,end:343801,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Lome",start:343801,end:343971,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Abidjan",start:343971,end:344141,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Cairo",start:344141,end:346113,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Mogadishu",start:346113,end:346398,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Lubumbashi",start:346398,end:346569,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Luanda",start:346569,end:346740,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Maputo",start:346740,end:346911,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Brazzaville",start:346911,end:347082,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/El_Aaiun",start:347082,end:348555,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Banjul",start:348555,end:348725,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Sao_Tome",start:348725,end:348959,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Ceuta",start:348959,end:351018,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Bamako",start:351018,end:351188,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Asmera",start:351188,end:351473,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Harare",start:351473,end:351644,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Tripoli",start:351644,end:352299,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Johannesburg",start:352299,end:352570,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Freetown",start:352570,end:352740,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Mbabane",start:352740,end:353011,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Dar_es_Salaam",start:353011,end:353296,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Libreville",start:353296,end:353467,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Blantyre",start:353467,end:353638,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Nouakchott",start:353638,end:353808,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Nairobi",start:353808,end:354093,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Bujumbura",start:354093,end:354264,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Conakry",start:354264,end:354434,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Kigali",start:354434,end:354605,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Kampala",start:354605,end:354890,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Casablanca",start:354890,end:356533,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Douala",start:356533,end:356704,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Niamey",start:356704,end:356875,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Monrovia",start:356875,end:357108,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Khartoum",start:357108,end:357821,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Bissau",start:357821,end:358029,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Algiers",start:358029,end:358789,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Porto-Novo",start:358789,end:358960,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Maseru",start:358960,end:359231,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Gaborone",start:359231,end:359402,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Tunis",start:359402,end:360112,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Dakar",start:360112,end:360282,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Lagos",start:360282,end:360453,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Ouagadougou",start:360453,end:360623,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Addis_Ababa",start:360623,end:360908,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Windhoek",start:360908,end:361938,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Malabo",start:361938,end:362109,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Bangui",start:362109,end:362280,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Accra",start:362280,end:363122,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Chile/EasterIsland",start:363122,end:365364,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Chile/Continental",start:365364,end:367902,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/South_Pole",start:367902,end:370362,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Rothera",start:370362,end:370548,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/McMurdo",start:370548,end:373008,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Davis",start:373008,end:373319,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/DumontDUrville",start:373319,end:373535,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Vostok",start:373535,end:373722,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Palmer",start:373722,end:375154,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Mawson",start:375154,end:375379,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Troll",start:375379,end:376555,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Syowa",start:376555,end:376742,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Macquarie",start:376742,end:378285,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Casey",start:378285,end:378596,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Mountain",start:378596,end:380998,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Central",start:380998,end:383889,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Pacific",start:383889,end:386790,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Yukon",start:386790,end:388883,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Saskatchewan",start:388883,end:389877,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Atlantic",start:389877,end:393315,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Newfoundland",start:393315,end:396979,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Eastern",start:396979,end:400482,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Atyrau",start:400482,end:401507,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kamchatka",start:401507,end:402705,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Omsk",start:402705,end:403948,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kuching",start:403948,end:404469,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Istanbul",start:404469,end:406635,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ust-Nera",start:406635,end:407925,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Damascus",start:407925,end:410245,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kuala_Lumpur",start:410245,end:410669,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ulan_Bator",start:410669,end:411590,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Yekaterinburg",start:411590,end:412871,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Chita",start:412871,end:414128,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Macau",start:414128,end:414899,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Riyadh",start:414899,end:415086,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Taipei",start:415086,end:415876,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Bangkok",start:415876,end:416096,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Shanghai",start:416096,end:416510,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Beirut",start:416510,end:418685,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Bishkek",start:418685,end:419730,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Pontianak",start:419730,end:420125,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Hong_Kong",start:420125,end:421314,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Karachi",start:421314,end:421731,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Yangon",start:421731,end:422028,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Qyzylorda",start:422028,end:423075,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Hebron",start:423075,end:425398,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Oral",start:425398,end:426437,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Harbin",start:426437,end:426851,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Tokyo",start:426851,end:427169,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Macao",start:427169,end:427940,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Baku",start:427940,end:429209,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kabul",start:429209,end:429438,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kolkata",start:429438,end:429750,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Singapore",start:429750,end:430174,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Seoul",start:430174,end:430705,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Calcutta",start:430705,end:431017,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Sakhalin",start:431017,end:432251,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Choibalsan",start:432251,end:433242,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Dushanbe",start:433242,end:433863,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Manila",start:433863,end:434230,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Chongqing",start:434230,end:434644,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ujung_Pandang",start:434644,end:434932,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Hovd",start:434932,end:435853,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Tehran",start:435853,end:437571,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kuwait",start:437571,end:437758,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Jayapura",start:437758,end:438009,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Urumqi",start:438009,end:438196,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Novosibirsk",start:438196,end:439451,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Novokuznetsk",start:439451,end:440648,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Amman",start:440648,end:442525,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Vladivostok",start:442525,end:443769,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Vientiane",start:443769,end:443989,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ashkhabad",start:443989,end:444640,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Khandyga",start:444640,end:445951,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Pyongyang",start:445951,end:446223,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Dhaka",start:446223,end:446593,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Thimbu",start:446593,end:446822,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Aqtobe",start:446822,end:447869,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Tbilisi",start:447869,end:448949,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Brunei",start:448949,end:449178,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Chungking",start:449178,end:449592,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Phnom_Penh",start:449592,end:449812,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Nicosia",start:449812,end:451828,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Anadyr",start:451828,end:453050,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Krasnoyarsk",start:453050,end:454293,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Muscat",start:454293,end:454480,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Dili",start:454480,end:454733,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Gaza",start:454733,end:457028,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Magadan",start:457028,end:458286,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Saigon",start:458286,end:458675,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Aqtau",start:458675,end:459692,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Katmandu",start:459692,end:459930,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Colombo",start:459930,end:460343,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Rangoon",start:460343,end:460640,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Tashkent",start:460640,end:461275,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Samarkand",start:461275,end:461894,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Thimphu",start:461894,end:462123,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ho_Chi_Minh",start:462123,end:462512,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Famagusta",start:462512,end:464554,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Srednekolymsk",start:464554,end:465798,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Tomsk",start:465798,end:467053,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ulaanbaatar",start:467053,end:467974,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Barnaul",start:467974,end:469229,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Jerusalem",start:469229,end:471494,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Yakutsk",start:471494,end:472737,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Dacca",start:472737,end:473107,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Irkutsk",start:473107,end:474383,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kathmandu",start:474383,end:474621,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Almaty",start:474621,end:475652,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Makassar",start:475652,end:475940,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Tel_Aviv",start:475940,end:478205,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Aden",start:478205,end:478392,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ashgabat",start:478392,end:479043,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Dubai",start:479043,end:479230,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Jakarta",start:479230,end:479622,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Yerevan",start:479622,end:480835,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Bahrain",start:480835,end:481060,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Baghdad",start:481060,end:482064,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Qatar",start:482064,end:482289,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kashgar",start:482289,end:482476,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Arctic/Longyearbyen",start:482476,end:484727,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Monterrey",start:484727,end:486143,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Tegucigalpa",start:486143,end:486421,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Rio_Branco",start:486421,end:487083,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Belem",start:487083,end:487685,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Danmarkshavn",start:487685,end:488397,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Merida",start:488397,end:489853,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Nome",start:489853,end:492229,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Menominee",start:492229,end:494512,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Godthab",start:494512,end:496404,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Eirunepe",start:496404,end:497094,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Ojinaga",start:497094,end:498616,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Toronto",start:498616,end:502119,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Metlakatla",start:502119,end:503537,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Inuvik",start:503537,end:505465,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Atka",start:505465,end:507830,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/El_Salvador",start:507830,end:508080,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Catamarca",start:508080,end:509189,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Punta_Arenas",start:509189,end:511100,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Kralendijk",start:511100,end:511312,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Mazatlan",start:511312,end:512876,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Port-au-Prince",start:512876,end:514331,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Dawson",start:514331,end:516424,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Resolute",start:516424,end:518354,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Porto_Velho",start:518354,end:518956,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Jujuy",start:518956,end:520037,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Pangnirtung",start:520037,end:522145,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Bogota",start:522145,end:522416,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Scoresbysund",start:522416,end:524346,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Mendoza",start:524346,end:525455,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Santiago",start:525455,end:527993,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Adak",start:527993,end:530358,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Halifax",start:530358,end:533796,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Cuiaba",start:533796,end:535784,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Boise",start:535784,end:538187,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Fort_Wayne",start:538187,end:539862,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/St_Thomas",start:539862,end:540032,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Boa_Vista",start:540032,end:540690,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Curacao",start:540690,end:540902,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Phoenix",start:540902,end:541255,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Atikokan",start:541255,end:541600,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Montreal",start:541600,end:545103,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Dominica",start:545103,end:545273,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Sao_Paulo",start:545273,end:547289,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Cayenne",start:547289,end:547513,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Vancouver",start:547513,end:550414,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Rankin_Inlet",start:550414,end:552344,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Yakutat",start:552344,end:554658,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Moncton",start:554658,end:557821,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Denver",start:557821,end:560274,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Yellowknife",start:560274,end:562254,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/St_Lucia",start:562254,end:562424,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Cordoba",start:562424,end:563533,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Guyana",start:563533,end:563799,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Iqaluit",start:563799,end:565845,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Miquelon",start:565845,end:567541,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Thule",start:567541,end:569069,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Marigot",start:569069,end:569239,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Port_of_Spain",start:569239,end:569409,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Cayman",start:569409,end:569612,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/St_Vincent",start:569612,end:569782,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Santo_Domingo",start:569782,end:570273,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Managua",start:570273,end:570736,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Shiprock",start:570736,end:573189,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Santa_Isabel",start:573189,end:575545,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Panama",start:575545,end:575748,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Costa_Rica",start:575748,end:576089,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Maceio",start:576089,end:576859,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/New_York",start:576859,end:580404,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Cancun",start:580404,end:581220,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Grand_Turk",start:581220,end:583101,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Guadeloupe",start:583101,end:583271,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Edmonton",start:583271,end:585673,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Lower_Princes",start:585673,end:585885,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Barbados",start:585885,end:586229,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Nassau",start:586229,end:588513,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Fort_Nelson",start:588513,end:590762,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Aruba",start:590762,end:590974,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Porto_Acre",start:590974,end:591636,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Paramaribo",start:591636,end:591932,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Detroit",start:591932,end:594120,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Asuncion",start:594120,end:596197,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Los_Angeles",start:596197,end:599042,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Dawson_Creek",start:599042,end:600101,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Caracas",start:600101,end:600390,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Hermosillo",start:600390,end:600844,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Bahia",start:600844,end:601894,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Juneau",start:601894,end:604256,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Guayaquil",start:604256,end:604527,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Santarem",start:604527,end:605159,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Blanc-Sablon",start:605159,end:605466,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Louisville",start:605466,end:608247,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Bahia_Banderas",start:608247,end:609835,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Matamoros",start:609835,end:611251,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Ensenada",start:611251,end:613607,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Martinique",start:613607,end:613864,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Mexico_City",start:613864,end:615482,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Belize",start:615482,end:616460,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Indianapolis",start:616460,end:618135,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Swift_Current",start:618135,end:618709,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Rosario",start:618709,end:619818,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Coral_Harbour",start:619818,end:620163,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Fortaleza",start:620163,end:620905,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Whitehorse",start:620905,end:622998,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Montserrat",start:622998,end:623168,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Campo_Grande",start:623168,end:625184,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Tijuana",start:625184,end:627540,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Havana",start:627540,end:629977,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Manaus",start:629977,end:630607,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/St_Barthelemy",start:630607,end:630777,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/La_Paz",start:630777,end:631034,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Rainy_River",start:631034,end:633165,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Chihuahua",start:633165,end:634687,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Montevideo",start:634687,end:636251,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Knox_IN",start:636251,end:638688,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Puerto_Rico",start:638688,end:638943,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Goose_Bay",start:638943,end:642162,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Antigua",start:642162,end:642332,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Buenos_Aires",start:642332,end:643441,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Guatemala",start:643441,end:643747,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Nipigon",start:643747,end:645878,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/St_Kitts",start:645878,end:646048,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Tortola",start:646048,end:646218,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Cambridge_Bay",start:646218,end:648316,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/St_Johns",start:648316,end:651980,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Sitka",start:651980,end:654330,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Regina",start:654330,end:655324,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Anchorage",start:655324,end:657704,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Winnipeg",start:657704,end:660595,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Lima",start:660595,end:661026,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Glace_Bay",start:661026,end:663232,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Anguilla",start:663232,end:663402,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Jamaica",start:663402,end:663909,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Thunder_Bay",start:663909,end:666120,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Creston",start:666120,end:666353,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Grenada",start:666353,end:666523,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Chicago",start:666523,end:670108,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Noronha",start:670108,end:670850,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Araguaina",start:670850,end:671760,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Recife",start:671760,end:672502,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Virgin",start:672502,end:672672,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Vevay",start:672672,end:674095,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Vincennes",start:674095,end:675798,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Knox",start:675798,end:678235,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Winamac",start:678235,end:680022,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Marengo",start:680022,end:681753,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Indianapolis",start:681753,end:683428,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Tell_City",start:683428,end:685163,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Petersburg",start:685163,end:687076,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/North_Dakota/Center",start:687076,end:689465,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/North_Dakota/Beulah",start:689465,end:691854,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/North_Dakota/New_Salem",start:691854,end:694243,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Kentucky/Monticello",start:694243,end:696604,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Kentucky/Louisville",start:696604,end:699385,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Salta",start:699385,end:700466,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Catamarca",start:700466,end:701575,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Jujuy",start:701575,end:702656,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Mendoza",start:702656,end:703765,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/San_Luis",start:703765,end:704904,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Cordoba",start:704904,end:706013,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Ushuaia",start:706013,end:707122,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Tucuman",start:707122,end:708259,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/La_Rioja",start:708259,end:709382,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/ComodRivadavia",start:709382,end:710491,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Buenos_Aires",start:710491,end:711600,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Rio_Gallegos",start:711600,end:712709,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/San_Juan",start:712709,end:713832,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Cocos",start:713832,end:714023,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Reunion",start:714023,end:714210,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Christmas",start:714210,end:714392,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Mahe",start:714392,end:714579,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Comoro",start:714579,end:714864,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Kerguelen",start:714864,end:715051,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Mayotte",start:715051,end:715336,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Chagos",start:715336,end:715561,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Mauritius",start:715561,end:715828,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Maldives",start:715828,end:716048,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Antananarivo",start:716048,end:716333,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Auckland",start:716333,end:718793,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Pago_Pago",start:718793,end:718989,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Niue",start:718989,end:719255,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Ponape",start:719255,end:719438,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Nauru",start:719438,end:719720,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Pitcairn",start:719720,end:719943,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Wake",start:719943,end:720126,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Truk",start:720126,end:720309,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Port_Moresby",start:720309,end:720515,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Wallis",start:720515,end:720698,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Apia",start:720698,end:721832,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Chuuk",start:721832,end:722015,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Fakaofo",start:722015,end:722236,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Samoa",start:722236,end:722432,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Pohnpei",start:722432,end:722615,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Easter",start:722615,end:724857,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Galapagos",start:724857,end:725125,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Noumea",start:725125,end:725453,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Honolulu",start:725453,end:725729,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Kiritimati",start:725729,end:725992,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Guadalcanal",start:725992,end:726180,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Saipan",start:726180,end:726405,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Tahiti",start:726405,end:726592,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Chatham",start:726592,end:728679,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Fiji",start:728679,end:729783,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Majuro",start:729783,end:730004,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Norfolk",start:730004,end:730327,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Enderbury",start:730327,end:730586,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Efate",start:730586,end:731078,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Johnston",start:731078,end:731354,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Gambier",start:731354,end:731540,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Guam",start:731540,end:731765,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Marquesas",start:731765,end:731960,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Midway",start:731960,end:732156,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Funafuti",start:732156,end:732339,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Kosrae",start:732339,end:732590,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Palau",start:732590,end:732772,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Tarawa",start:732772,end:732955,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Kwajalein",start:732955,end:733214,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Yap",start:733214,end:733397,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Tongatapu",start:733397,end:733790,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Rarotonga",start:733790,end:734392,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Bougainville",start:734392,end:734688,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Belgrade",start:734688,end:736645,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Sarajevo",start:736645,end:738602,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Rome",start:738602,end:741294,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Zaporozhye",start:741294,end:743409,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Istanbul",start:743409,end:745575,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/London",start:745575,end:749262,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Amsterdam",start:749262,end:752211,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Andorra",start:752211,end:753962,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Warsaw",start:753962,end:756667,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Athens",start:756667,end:758938,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Zurich",start:758938,end:760856,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Busingen",start:760856,end:762774,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Simferopol",start:762774,end:764264,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Kaliningrad",start:764264,end:765782,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Zagreb",start:765782,end:767739,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Jersey",start:767739,end:771426,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Belfast",start:771426,end:775113,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Kirov",start:775113,end:776280,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Skopje",start:776280,end:778237,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Volgograd",start:778237,end:779404,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Brussels",start:779404,end:782374,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Chisinau",start:782374,end:784819,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/San_Marino",start:784819,end:787511,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Malta",start:787511,end:790140,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Stockholm",start:790140,end:792058,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Uzhgorod",start:792058,end:794161,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Vilnius",start:794161,end:796360,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Vaduz",start:796360,end:798278,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Sofia",start:798278,end:800408,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Vienna",start:800408,end:802645,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Isle_of_Man",start:802645,end:806332,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Helsinki",start:806332,end:808241,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Copenhagen",start:808241,end:810401,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Dublin",start:810401,end:813944,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Moscow",start:813944,end:815488,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Oslo",start:815488,end:817739,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Nicosia",start:817739,end:819755,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Prague",start:819755,end:822027,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Vatican",start:822027,end:824719,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Paris",start:824719,end:827690,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Mariehamn",start:827690,end:829599,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Gibraltar",start:829599,end:832660,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Budapest",start:832660,end:835065,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Lisbon",start:835065,end:838534,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Saratov",start:838534,end:839731,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Kiev",start:839731,end:841828,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Berlin",start:841828,end:844163,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Bratislava",start:844163,end:846435,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Astrakhan",start:846435,end:847632,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Madrid",start:847632,end:850269,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Riga",start:850269,end:852504,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Minsk",start:852504,end:853874,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Monaco",start:853874,end:856827,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Tirane",start:856827,end:858925,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Tiraspol",start:858925,end:861370,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Ljubljana",start:861370,end:863327,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Podgorica",start:863327,end:865284,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Ulyanovsk",start:865284,end:866565,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Luxembourg",start:866565,end:869539,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Samara",start:869539,end:870792,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Bucharest",start:870792,end:873013,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Tallinn",start:873013,end:875200,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Guernsey",start:875200,end:878887,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Brazil/DeNoronha",start:878887,end:879629,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Brazil/East",start:879629,end:881645,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Brazil/West",start:881645,end:882275,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Brazil/Acre",start:882275,end:882937,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/US/Aleutian",start:882937,end:885302,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/US/Hawaii",start:885302,end:885578,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/US/Mountain",start:885578,end:888031,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/US/Central",start:888031,end:891616,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/US/Pacific",start:891616,end:894461,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/US/Samoa",start:894461,end:894657,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/US/Arizona",start:894657,end:895010,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/US/East-Indiana",start:895010,end:896685,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/US/Eastern",start:896685,end:900230,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/US/Indiana-Starke",start:900230,end:902667,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/US/Michigan",start:902667,end:904855,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/US/Alaska",start:904855,end:907235,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-4",start:907235,end:907384,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+11",start:907384,end:907533,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+12",start:907533,end:907682,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+9",start:907682,end:907830,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/Zulu",start:907830,end:907957,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-1",start:907957,end:908106,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+10",start:908106,end:908255,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/UTC",start:908255,end:908382,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-11",start:908382,end:908532,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-7",start:908532,end:908681,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-8",start:908681,end:908830,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-6",start:908830,end:908979,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+5",start:908979,end:909127,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-5",start:909127,end:909276,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-0",start:909276,end:909403,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-3",start:909403,end:909552,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+4",start:909552,end:909700,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/UCT",start:909700,end:909827,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-13",start:909827,end:909977,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT",start:909977,end:910104,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-2",start:910104,end:910253,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-14",start:910253,end:910403,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/Universal",start:910403,end:910530,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+3",start:910530,end:910678,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+6",start:910678,end:910826,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+1",start:910826,end:910974,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-10",start:910974,end:911124,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT0",start:911124,end:911251,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+2",start:911251,end:911399,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/Greenwich",start:911399,end:911526,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-9",start:911526,end:911675,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-12",start:911675,end:911825,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+0",start:911825,end:911952,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+8",start:911952,end:912100,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+7",start:912100,end:912248,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Australia/North",start:912248,end:912571,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Queensland",start:912571,end:913023,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Darwin",start:913023,end:913346,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Currie",start:913346,end:915569,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Yancowinna",start:915569,end:917843,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Perth",start:917843,end:918322,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Australia/ACT",start:918322,end:920545,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Tasmania",start:920545,end:922880,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Hobart",start:922880,end:925215,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Adelaide",start:925215,end:927453,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Brisbane",start:927453,end:927905,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Canberra",start:927905,end:930128,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Eucla",start:930128,end:930631,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Australia/LHI",start:930631,end:932520,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Australia/South",start:932520,end:934758,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Australia/West",start:934758,end:935237,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Victoria",start:935237,end:937460,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Lindeman",start:937460,end:937982,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Australia/NSW",start:937982,end:940205,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Sydney",start:940205,end:942428,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Lord_Howe",start:942428,end:944317,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Broken_Hill",start:944317,end:946591,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Melbourne",start:946591,end:948814,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/South_Georgia",start:948814,end:948995,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/St_Helena",start:948995,end:949165,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Reykjavik",start:949165,end:950353,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Faeroe",start:950353,end:952182,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Bermuda",start:952182,end:954186,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Madeira",start:954186,end:957670,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Faroe",start:957670,end:959499,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Canary",start:959499,end:961410,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Stanley",start:961410,end:962661,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Azores",start:962661,end:966154,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Cape_Verde",start:966154,end:966438,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Jan_Mayen",start:966438,end:968689,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Mexico/BajaNorte",start:968689,end:971045,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Mexico/General",start:971045,end:972663,audio:0},{filename:"/lib/python3.6/site-packages/pytz/zoneinfo/Mexico/BajaSur",start:972663,end:974227,audio:0},{filename:"/lib/python3.6/site-packages/pytz-2018.4-py3.6.egg-info/top_level.txt",start:974227,end:974232,audio:0},{filename:"/lib/python3.6/site-packages/pytz-2018.4-py3.6.egg-info/dependency_links.txt",start:974232,end:974233,audio:0},{filename:"/lib/python3.6/site-packages/pytz-2018.4-py3.6.egg-info/zip-safe",start:974233,end:974234,audio:0},{filename:"/lib/python3.6/site-packages/pytz-2018.4-py3.6.egg-info/PKG-INFO",start:974234,end:999676,audio:0},{filename:"/lib/python3.6/site-packages/pytz-2018.4-py3.6.egg-info/SOURCES.txt",start:999676,end:1017482,audio:0}],remote_package_size:1017482,package_uuid:"81d70154-9885-4352-aacd-116da699f5c2"})})();
\ 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>pytz.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>
.rendered_html {
overflow: auto;
max-height: 30em;
color: black;
/* any extras will just be numbers: */
}
.rendered_html em {
font-style: italic;
}
.rendered_html strong {
font-weight: bold;
}
.rendered_html u {
text-decoration: underline;
}
.rendered_html :link {
text-decoration: underline;
}
.rendered_html :visited {
text-decoration: underline;
}
.rendered_html h1 {
font-size: 185.7%;
margin: 1.08em 0 0 0;
font-weight: bold;
line-height: 1.0;
}
.rendered_html h2 {
font-size: 157.1%;
margin: 1.27em 0 0 0;
font-weight: bold;
line-height: 1.0;
}
.rendered_html h3 {
font-size: 128.6%;
margin: 1.55em 0 0 0;
font-weight: bold;
line-height: 1.0;
}
.rendered_html h4 {
font-size: 100%;
margin: 2em 0 0 0;
font-weight: bold;
line-height: 1.0;
}
.rendered_html h5 {
font-size: 100%;
margin: 2em 0 0 0;
font-weight: bold;
line-height: 1.0;
font-style: italic;
}
.rendered_html h6 {
font-size: 100%;
margin: 2em 0 0 0;
font-weight: bold;
line-height: 1.0;
font-style: italic;
}
.rendered_html h1:first-child {
margin-top: 0.538em;
}
.rendered_html h2:first-child {
margin-top: 0.636em;
}
.rendered_html h3:first-child {
margin-top: 0.777em;
}
.rendered_html h4:first-child {
margin-top: 1em;
}
.rendered_html h5:first-child {
margin-top: 1em;
}
.rendered_html h6:first-child {
margin-top: 1em;
}
.rendered_html ul:not(.list-inline),
.rendered_html ol:not(.list-inline) {
padding-left: 2em;
}
.rendered_html ul {
list-style: disc;
}
.rendered_html ul ul {
list-style: square;
margin-top: 0;
}
.rendered_html ul ul ul {
list-style: circle;
}
.rendered_html ol {
list-style: decimal;
}
.rendered_html ol ol {
list-style: upper-alpha;
margin-top: 0;
}
.rendered_html ol ol ol {
list-style: lower-alpha;
}
.rendered_html ol ol ol ol {
list-style: lower-roman;
}
.rendered_html ol ol ol ol ol {
list-style: decimal;
}
.rendered_html * + ul {
margin-top: 1em;
}
.rendered_html * + ol {
margin-top: 1em;
}
.rendered_html hr {
color: black;
background-color: black;
}
.rendered_html pre {
margin: 1em 2em;
padding: 0px;
background-color: white;
}
.rendered_html code {
background-color: #eff0f1;
}
.rendered_html p code {
padding: 1px 5px;
}
.rendered_html pre code {
background-color: white;
}
.rendered_html pre,
.rendered_html code {
border: 0;
color: black;
font-size: 100%;
}
.rendered_html blockquote {
margin: 1em 2em;
}
.rendered_html table {
margin-left: auto;
margin-right: auto;
border: none;
border-collapse: collapse;
border-spacing: 0;
color: black;
font-size: 12px;
table-layout: fixed;
}
.rendered_html thead {
border-bottom: 1px solid black;
vertical-align: bottom;
}
.rendered_html tr,
.rendered_html th,
.rendered_html td {
text-align: right;
vertical-align: middle;
padding: 0.5em 0.5em;
line-height: normal;
white-space: normal;
max-width: none;
border: none;
}
.rendered_html th {
font-weight: bold;
}
.rendered_html tbody tr:nth-child(odd) {
background: #f5f5f5;
}
.rendered_html tbody tr:hover {
background: rgba(66, 165, 245, 0.2);
}
.rendered_html * + table {
margin-top: 1em;
}
.rendered_html p {
text-align: left;
}
.rendered_html * + p {
margin-top: 1em;
}
.rendered_html img {
display: block;
margin-left: auto;
margin-right: auto;
}
.rendered_html * + img {
margin-top: 1em;
}
.rendered_html img,
.rendered_html svg {
max-width: 100%;
height: auto;
}
.rendered_html img.unconfined,
.rendered_html svg.unconfined {
max-width: none;
}
.rendered_html .alert {
margin-bottom: initial;
}
.rendered_html * + .alert {
margin-top: 1em;
}
[dir="rtl"] .rendered_html p {
text-align: right;
}
<?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>renderedhtml.css</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/css</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>xlrd.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 !== '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>xlrd.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>
erp5_base
erp5_dms
\ No newline at end of file
Notebook Module | view
Notebook | view
\ No newline at end of file
notebook_module
\ No newline at end of file
Notebook Module | Notebook
\ No newline at end of file
Notebook Module | business_application
Notebook | follow_up
Notebook | function
Notebook | group
Notebook | publication_section
Notebook | site
\ No newline at end of file
Notebook
Notebook Module
\ No newline at end of file
Notebook | document_conversion_interaction_workflow
Notebook | document_publication_workflow
Notebook | document_security_interaction_workflow
Notebook | edit_workflow
Notebook | processing_status_workflow
\ No newline at end of file
erp5_notebook
\ No newline at end of file
erp5_notebook
\ No newline at end of file
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