From bf92cd62ae98bc363cd5690f9e398c273c4c5d25 Mon Sep 17 00:00:00 2001 From: Pascal <engelerp@phys.ethz.ch> Date: Fri, 30 Aug 2024 08:40:46 +0200 Subject: [PATCH] Added stitchtility and playground --- stitch_project/api/Playground.ipynb | 5004 +++++++++++++++++++++ stitch_project/api/Stitch/Stitchtility.py | 26 + 2 files changed, 5030 insertions(+) create mode 100644 stitch_project/api/Playground.ipynb create mode 100644 stitch_project/api/Stitch/Stitchtility.py diff --git a/stitch_project/api/Playground.ipynb b/stitch_project/api/Playground.ipynb new file mode 100644 index 0000000..9d9bb1d --- /dev/null +++ b/stitch_project/api/Playground.ipynb @@ -0,0 +1,5004 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "9bcd1cb8", + "metadata": {}, + "outputs": [], + "source": [ + "from Stitch.Stitch import *\n", + "from Stitch.Stitchtility import *\n", + "import numpy as np\n", + "import time\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "082fb6ad", + "metadata": {}, + "outputs": [], + "source": [ + "def experimentDuration(nRingup, nMeas, nSweeps):\n", + " cycles = 0.\n", + " cycleDuration = 1./100000000.\n", + " for n in nRingup:\n", + " cycles += n\n", + " for n in nMeas:\n", + " cycles += n\n", + " for n in nSweeps:\n", + " cycles += n\n", + " return cycles*cycleDuration" + ] + }, + { + "cell_type": "code", + "execution_count": 216, + "id": "689b45ed", + "metadata": {}, + "outputs": [], + "source": [ + "myStitch = Stitch('COM6', alwaysOpen=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 264, + "id": "cdf25108", + "metadata": {}, + "outputs": [], + "source": [ + "frequenciesHz = np.linspace(5000., 5008., 500)\n", + "rampsHzSq = np.full_like(frequenciesHz, 10000.)\n", + "ringupPeriods = np.full_like(frequenciesHz, 50.)\n", + "measurePeriods = np.full_like(frequenciesHz, 12000.)" + ] + }, + { + "cell_type": "code", + "execution_count": 265, + "id": "c13777a7", + "metadata": {}, + "outputs": [], + "source": [ + "freqsDphi = [frequencyHzToDphi(x) for x in frequenciesHz]\n", + "rampsDdphi = [rampHzSqToDdphi(x) for x in rampsHzSq]\n", + "nSweeps = []\n", + "for i in range(1,len(freqsDphi)):\n", + " nSweeps.append(DeltaDphiAndDdphiToNsweep(freqsDphi[i]-freqsDphi[i-1], rampsDdphi[i-1]))\n", + "nRingup = [numPeriodsToNringup(ringupPeriods[i], frequenciesHz[i]) for i in range(len(frequenciesHz))]\n", + "nMeas = [numPeriodsToNmeas(measurePeriods[i], frequenciesHz[i]) for i in range(len(frequenciesHz))]\n", + "for i in range(len(nMeas)):\n", + " nMeas[i] = 100*i + 60" + ] + }, + { + "cell_type": "code", + "execution_count": 266, + "id": "8f68ec44", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "5.1218525" + ] + }, + "execution_count": 266, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "experimentDuration(nRingup, nMeas, nSweeps)" + ] + }, + { + "cell_type": "code", + "execution_count": 267, + "id": "32a815cc", + "metadata": {}, + "outputs": [], + "source": [ + "myStitch.setFrequencies(freqsDphi)\n", + "myStitch.setMeasureDurations(nMeas)\n", + "myStitch.setRingupDurations(nRingup)\n", + "myStitch.setSweepDurations(nSweeps)\n", + "myStitch.setSweepFrequencyDeltas(rampsDdphi)\n", + "myStitch.setNumFrequencies(len(frequenciesHz))" + ] + }, + { + "cell_type": "code", + "execution_count": 268, + "id": "54a896c3", + "metadata": {}, + "outputs": [], + "source": [ + "myStitch.startExperiment()" + ] + }, + { + "cell_type": "code", + "execution_count": 269, + "id": "741dcc42", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Received 500 frames\n" + ] + } + ], + "source": [ + "data = myStitch.getData()" + ] + }, + { + "cell_type": "code", + "execution_count": 105, + "id": "802bd181", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[b'W\\x0e\\x1a\\x12\\x1d\\x8d\\x07\\x00'], [b'\\x0e\\xdf\\xa3\\x03O\\x8b\\x07\\x00'], [b'\\xac*\\n\\xcdy\\x89\\x07\\x00'], [b'\\xb1\\x1c\\x0c\\x95\\x8f\\x87\\x07\\x00'], [b'\\x8aIQ\\x1b\\xe5\\x84\\x07\\x00'], [b'~)-+Y\\x82\\x07\\x00'], [b'\\xff\\xb7\\xfc\\xf5\\xd7\\x7f\\x07\\x00'], [b'\\xad\\x0f\\x0b\\x0c\\xd1|\\x07\\x00'], [b'O\\x10k\\xe36y\\x07\\x00'], [b'\\xa8\\x97+\\xe6\\xe7t\\x07\\x00'], [b'\\x08\\xe1\\xee\\x1b\\xc8q\\x07\\x00'], [b'\\x10\\xa7\\x1cd0o\\x07\\x00'], [b'\\xc7\\x85l\\xc2\\x87k\\x07\\x00'], [b'8\\xc9M\\xc2\\x88i\\x07\\x00'], [b'K\\xc7\\xe8\\x19\\x0fg\\x07\\x00'], [b'\\xf9\\xb2ZV0e\\x07\\x00'], [b'\\xe7\\x9a\\xd2\\xab\\xc4b\\x07\\x00'], [b'\\x9e\\x03C+\\x9ca\\x07\\x00'], [b'O\\xa8\\x81c^`\\x07\\x00'], [b'P\\xa5V\\x9a\\x9b^\\x07\\x00'], [b'\\x16*/\\xa4:]\\x07\\x00'], [b'A7^w\\xc4[\\x07\\x00'], [b'\\xe1\\x19\\x071\\xb4Z\\x07\\x00'], [b'\\xff\\xf4\\xecS\\x12Z\\x07\\x00'], [b'\\xfa\\xbb\\xd9e/Y\\x07\\x00'], [b'\\x19h9h\\x8eX\\x07\\x00'], [b'\\xe4\\x94F\\xdf\\x92W\\x07\\x00'], [b'r\\xa1\\xafo!V\\x07\\x00'], [b'\\xe6\\xd2\\xdfR\\xdcT\\x07\\x00'], [b'\\x86,\\xcf\\xbe\\x07S\\x07\\x00'], [b'/\\xe4\\xf9\\x01\\xcbQ\\x07\\x00'], [b'\\x81\\x11\\xd1\\xc8\\xb7P\\x07\\x00'], [b'gj6b\\xedO\\x07\\x00'], [b'\\xf9=>f\\xdeN\\x07\\x00'], [b'?\\xe5\\xb8\\xeb+M\\x07\\x00'], [b'\\xa9\\x92\\x17T\\x02L\\x07\\x00'], [b'\\x8a\\x83\\xb6\\x00\\xbfL\\x07\\x00'], [b'\\x13\\x15\\x92{1L\\x07\\x00'], [b'\\xea\\x8b( \\xafK\\x07\\x00'], [b'~@H\\xdd~I\\x07\\x00'], [b'>\\x8b}m0I\\x07\\x00'], [b'\\xc2\\xb58\\x9dcH\\x07\\x00'], [b'\\xcac\\xb3\\x83>I\\x07\\x00'], [b'\\xe6\\x03\\xe1\\xa9GI\\x07\\x00'], [b'\\x9a0\\xe4B\\x0cJ\\x07\\x00'], [b'\\xdd/U:`J\\x07\\x00'], [b'\\xec)zAIJ\\x07\\x00'], [b'\\x01S\\x9eD\\xc9I\\x07\\x00'], [b'\\xd9Zr\\x86\\xd2G\\x07\\x00'], [b'\\x8a \\xd8\\x96\\xbdF\\x07\\x00'], [b'\\xc8\\xd7\\xad\\x19\\x84D\\x07\\x00'], [b'\\xf6\\xb4?1\\xabC\\x07\\x00'], [b'\\xc0\\xafrKQA\\x07\\x00'], [b'@r+5s@\\x07\\x00'], [b'#\\t\\x9d\\xa27>\\x07\\x00'], [b'\\xc1\\x97\\xcf\\x91\\xf1=\\x07\\x00'], [b'\\xfb\\x86\\x84s4<\\x07\\x00'], [b'\\x00\\xbb\\xae\\xc1T<\\x07\\x00'], [b'\\teo\\xb7\\xa5:\\x07\\x00'], [b'9\\xaf\\x97\\xe7b:\\x07\\x00'], [b\",Z\\xf9('9\\x07\\x00\"], [b'H\\xa50\\x1f\\xc98\\x07\\x00'], [b' \\xaa\\x1b\\xfa\\xea7\\x07\\x00'], [b'\\x99\\x89\\xde\\x9a\\x067\\x07\\x00'], [b'G\\x18\\xad\\xe8Y6\\x07\\x00'], [b'\\xd0)\\xe0\\x87&5\\x07\\x00'], [b'\\x9c,\\x15dm4\\x07\\x00'], [b'\\x00W\\xa4N\\n3\\x07\\x00'], [b'\\xe6\\xc0\\x14\\x08\\x951\\x07\\x00'], [b'\\xeb\\xb4\\x8e\\xad\\xfe/\\x07\\x00'], [b'j\\x16\\xdc\\x00y.\\x07\\x00'], [b'\\x87!B\\xfe\\xc0,\\x07\\x00'], [b'\\x84/Dz`*\\x07\\x00'], [b\"\\x86S\\x12^\\xb1'\\x07\\x00\"], [b'| ?\\xc5\\xd6$\\x07\\x00'], [b'\\xef\\xc6OX\\xf5!\\x07\\x00'], [b'bs\\xa8\\xff\\x7f\\x1e\\x07\\x00'], [b'\\xc0 p\\x90K\\x1b\\x07\\x00'], [b'\\xb5\\x9f\\x1a\\x8d \\x18\\x07\\x00'], [b'C\\xf1\\x08\\x9b\\x1f\\x15\\x07\\x00'], [b'}!\\xf7sG\\x13\\x07\\x00'], [b'9\\xe2\\x98H\\xe4\\x0f\\x07\\x00'], [b'\\xecP\\xb6\\xdb\\xfd\\r\\x07\\x00'], [b'\\xe1O\\x06\\x15\\xf2\\t\\x07\\x00'], [b'\\x98\\xe4\\xfc\\x8fX\\x08\\x07\\x00'], [b'\\x1b\\xa5\\xa6\\xfa\\xdf\\x04\\x07\\x00'], [b'\\x82\\x81\\x17q\\xf7\\x02\\x07\\x00'], [b'\\xac\\xf0\\xb9\\x91\\xef\\xff\\x06\\x00'], [b'H\\x9e\\xa1\\xfcG\\xfd\\x06\\x00'], [b'2\\xb9\\x04\\xf0r\\xfa\\x06\\x00'], [b'\\x18\\xaa\\xff\\x12~\\xf7\\x06\\x00'], [b'\\xbd}\\x8e\\x9c\\xb6\\xf5\\x06\\x00'], [b'2\\xeb\\xaeu\\xa9\\xf2\\x06\\x00'], [b'\\xe4\\x1e\\x11\\x0e\\xfc\\xf0\\x06\\x00'], [b'\\xb4x\\xe81>\\xef\\x06\\x00'], [b'\\x10\\x16\\xb9\\xf7u\\xee\\x06\\x00'], [b'\\xccv\\xa9\\xd5X\\xed\\x06\\x00'], [b'\\x9eQr\\x07k\\xec\\x06\\x00'], [b'e|k\\x1c\\xf8\\xeb\\x06\\x00'], [b'\\xfa\\xc4h\\xa70\\xea\\x06\\x00'], [b'\\x86:\\x1f\\xa8 \\xe9\\x06\\x00'], [b'7\\xf4-\\\\2\\xe7\\x06\\x00'], [b'\\xdc\\xea\\xfa\\x0e]\\xe5\\x06\\x00'], [b'2\\x97\\xc7V\\xa5\\xe4\\x06\\x00'], [b'\\xb2\\x9f,5D\\xe3\\x06\\x00'], [b'\\xf8@\\x80\\xd40\\xe3\\x06\\x00'], [b'\\xd3W\\x83g\\x1f\\xe2\\x06\\x00'], [b'\\x03\\xd6-e\\xae\\xe1\\x06\\x00'], [b'sTN\\x84\\xf3\\xe0\\x06\\x00'], [b'\\x88\\xe0\\xe0\\x07\\xd3\\xdf\\x06\\x00'], [b'\\x95\\xaa8k\\xc2\\xde\\x06\\x00'], [b'\\x01\\xb1w\\xb7\\xdb\\xdc\\x06\\x00'], [b'\\x00\\xb4E\\x8e\\x19\\xdb\\x06\\x00'], [b'U\\xf4\\xe5\\xbd+\\xd9\\x06\\x00'], [b'\\xb6\\x8e\\xe8\\x9b\\xeb\\xd7\\x06\\x00'], [b'k2\\xdb\\xa5\\x13\\xd7\\x06\\x00'], [b'\\xde=\\xc6T\\xdc\\xd5\\x06\\x00'], [b'\\\\\\x18\\xac\\xca\\xb3\\xd5\\x06\\x00'], [b'Y\\xb5\\x0b\\xe9\\xcb\\xd4\\x06\\x00'], [b'\\xb6Rq\\xb7[\\xd5\\x06\\x00'], [b'\\xd7\\x0e\\xf6B\\xff\\xd4\\x06\\x00'], [b'\\x87\\xb5\\x84\\xcb8\\xd5\\x06\\x00'], [b'\\xd7\\xefi-A\\xd6\\x06\\x00'], [b'\\r\\xf5\\xe8\\xa7\\xe5\\xd6\\x06\\x00'], [b'\\x16\\x00\\xcb\\xa1V\\xd9\\x06\\x00'], [b'\\x9c\\x19\\xc0\\xea9\\xda\\x06\\x00'], [b'\\xc1\\xb9\\x9c\\x85\\xa4\\xdc\\x06\\x00'], [b'\\xa0Kq\\x08\\x92\\xdd\\x06\\x00'], [b'\\xd1\\xb7\\xa9\\xe3\\x1b\\xdf\\x06\\x00'], [b'\\x11\\xc32h\\xe5\\xe0\\x06\\x00'], [b'\\xfd\\xed\\xb8\\xce\\x90\\xe2\\x06\\x00'], [b'\\xf1\\x8ap\\x8a\\x10\\xe5\\x06\\x00'], [b'\\x11\\xb6\\xd2B8\\xe6\\x06\\x00'], [b'i\\xe06\\xfcv\\xe8\\x06\\x00'], [b'\\xf5\\x1c\\x1ey\\xbe\\xe9\\x06\\x00'], [b'\\xe5T\\xcf\\xe4\\xf5\\xea\\x06\\x00'], [b'\\xb3(h\\xa7\\x92\\xeb\\x06\\x00'], [b'\\xe6:\\xa4\\xadY\\xec\\x06\\x00'], [b'\\x82\\x19yB\\xf4\\xec\\x06\\x00'], [b'\\x83\\xeb-\\xe8/\\xee\\x06\\x00'], [b' \\x17z\\xe5q\\xee\\x06\\x00'], [b'\\xa3.\\x01\\xbc\\xdd\\xef\\x06\\x00'], [b'\\xe6\\xc4E\\x10\\xf5\\xef\\x06\\x00'], [b'\\x0e#\\x9f\\xfc\\xe0\\xf0\\x06\\x00'], [b'\\x84VQ\\xe0\\xd7\\xf0\\x06\\x00'], [b'v\\xdat-\\xc0\\xef\\x06\\x00'], [b's\\x85CU\\xbe\\xee\\x06\\x00'], [b'R8\\x17\\xe0\\x95\\xed\\x06\\x00'], [b'G\\xea2\\xc0\\x01\\xed\\x06\\x00'], [b'\\x17\\x93t\\xdd/\\xec\\x06\\x00'], [b'\\xef\\xed\\x9c\\x04\\xc5\\xec\\x06\\x00'], [b'K\\xf1Ue:\\xeb\\x06\\x00'], [b'\\x04\\x9crH\\xb9\\xea\\x06\\x00'], [b'*\\xef\\x0c\\xa4y\\xe9\\x06\\x00'], [b'\\x01\\x1d\\xbcT\\x1a\\xe8\\x06\\x00'], [b's\\x9d\\x1f\\xa2O\\xe7\\x06\\x00'], [b'\\x82\\xc4\\x84\\x8b\\\\\\xe5\\x06\\x00'], [b'\\x7fYf?P\\xe4\\x06\\x00'], [b'\\x16\\x95\\xc9\\x16;\\xe2\\x06\\x00'], [b'F\\xb6E\\xef1\\xe0\\x06\\x00'], [b't\\xac\\xed\\xab+\\xdf\\x06\\x00'], [b'D\\xed\\xb2_\\xe7\\xdc\\x06\\x00'], [b'\\xa4\\x0c\\x95\\xb5f\\xdc\\x06\\x00'], [b'\\xbb\\x91\\xdd\\xc4\\xc9\\xda\\x06\\x00'], [b'\\x14\\xa3\\xde++\\xda\\x06\\x00'], [b'\\xdfM\\x98\\xff\\xcb\\xd8\\x06\\x00'], [b'a\\r\\\\\\xac\\xb3\\xd6\\x06\\x00'], [b'\"\\xc1gV+\\xd6\\x06\\x00'], [b'\\xa2\\x03~R8\\xd5\\x06\\x00'], [b'\\x0eDu=@\\xd6\\x06\\x00'], [b'YM\\xd2\\x90\\x90\\xd5\\x06\\x00'], [b'\\x9a\\xaae\\xa6\\\\\\xd5\\x06\\x00'], [b'\\x05\\r\\x84\\xb7>\\xd4\\x06\\x00'], [b'\\x04\\xc5\\xdd\\xe9\\xaf\\xd3\\x06\\x00'], [b'7\\xfe>\\xee\\xfb\\xd2\\x06\\x00'], [b'\\xab\\xddv\\xe4\\xe3\\xd1\\x06\\x00'], [b'c\\xdf\\xbf\\x96\\xa9\\xd0\\x06\\x00'], [b'v\\x8e.d\\x9c\\xce\\x06\\x00'], [b'\\xfa\\x00\\xd6\\xb2\\xc8\\xcc\\x06\\x00'], [b'\\xd9\\x04\\xb7J \\xca\\x06\\x00'], [b'\\xedqj\\xfa\\xdf\\xc7\\x06\\x00'], [b'\\xcc\\xbc\\xd9\\xf5\\xe0\\xc4\\x06\\x00'], [b'\\x8a\\x93CQ\\x14\\xc3\\x06\\x00'], [b'\\xbb\\x13\\x1dq.\\xc0\\x06\\x00'], [b'\\xb2\\x00\\xcc{\\xd1\\xbe\\x06\\x00'], [b'\\xe5Z\\xe5\\xd4\\xf5\\xbc\\x06\\x00'], [b'.\\xa8J -\\xbc\\x06\\x00'], [b'\\xc2M\\xdd9T\\xbb\\x06\\x00'], [b'\\xc1\\xf7?\\xc5S\\xba\\x06\\x00'], [b'\\xe8\\xaf\\xb7uj\\xb9\\x06\\x00'], [b'\\x19\\t;\\xb8\\xaa\\xb7\\x06\\x00'], [b'\\xc0F\\xf7_\\x1a\\xb6\\x06\\x00'], [b'\\x15\\xd4\\x9fKw\\xb4\\x06\\x00'], [b'\\xa4\\xb0\\x17*\\xba\\xb2\\x06\\x00'], [b'\\xfb\\xf7j=\\xe3\\xb0\\x06\\x00'], [b'wE^8\\xd3\\xaf\\x06\\x00'], [b'\\xd4\\xa3\\xae\\x19\\xea\\xad\\x06\\x00'], [b'}<1\\x93\\xdc\\xac\\x06\\x00'], [b'!\\xec\\xbd$\\xf7\\xaa\\x06\\x00'], [b'\\x82&\\x84h\\x93\\xa9\\x06\\x00'], [b'\\x94\\xe7\\xc5\\xa1\\xcf\\xa7\\x06\\x00'], [b'\\x104\\xa3 \\xe3\\xa7\\x06\\x00'], [b's\\x88#\\xa8\\x06\\xa9\\x06\\x00'], [b'd\\xa9\\xeft|\\xa9\\x06\\x00'], [b'G}^Z\\xdc\\xaa\\x06\\x00'], [b'\\x8b\\x92\\xf9\\xed\\xfe\\xaa\\x06\\x00'], [b'|=#\\xb2\\xb6\\xac\\x06\\x00'], [b'\\x82\\x17\\x1e\\xfcu\\xad\\x06\\x00'], [b'\\xa4\\xcdb\\xe1G\\xae\\x06\\x00'], [b'\\xe0y\\x1d!\\xa3\\xae\\x06\\x00'], [b'q\\x99\\x00+\\xbe\\xae\\x06\\x00'], [b'pLu\\xdc\\x92\\xaf\\x06\\x00'], [b'\\x13 \\xf5O\\x9a\\xb0\\x06\\x00'], [b'Z\\xaf\\tU\\x1f\\xb1\\x06\\x00'], [b'\\xe40\\x91\\xae\\xf3\\xb1\\x06\\x00'], [b'\\x89\\xb5\\x97\\x85\\x0f\\xb2\\x06\\x00'], [b'\\xf97\\x85E7\\xb1\\x06\\x00'], [b'85\\x8f\\x94\\xfb\\xb0\\x06\\x00'], [b'#\\xa2\\x8b\\x90\\x8e\\xae\\x06\\x00'], [b'\\x10\\xd3n\\x9e\\xbb\\xac\\x06\\x00'], [b'\\x8f\\x88\\xd2\\xf9%\\xa8\\x06\\x00'], [b'\\x15\\x97Cp\\r\\xa4\\x06\\x00'], [b'\\x1fP\\xe8\\xcb\\xab\\xa0\\x06\\x00'], [b'\\xb0\\xfd\\xb8\\xb1A\\x9c\\x06\\x00'], [b'\\x11t\\xf8\\xab\\xb4\\x99\\x06\\x00'], [b'\\x817\\xc9F\\x02\\x96\\x06\\x00'], [b'R\\x04YY\\xb2\\x92\\x06\\x00'], [b'R\\xc9\\x0e\\xc7\\xc0\\x8e\\x06\\x00'], [b'\\x1f\\x7fl\\n\\xb9\\x89\\x06\\x00'], [b'\\xc4\\xd3F\\x05\\xb2\\x84\\x06\\x00'], [b'\\xfb\\xcb\\xfb\\xea\\xac~\\x06\\x00'], [b'\\xc6\\x90\\xaa\\xd3\\xb8x\\x06\\x00'], [b'\\xef\\xca\\xb9\\xe9\\x00s\\x06\\x00'], [b'\\xef\\x88NEnl\\x06\\x00'], [b'fft\\x86\\x87f\\x06\\x00'], [b'\\xb5\\x9a\\xa7\\x87\\x9c`\\x06\\x00'], [b'\\xe2\\x07`\\x07\\xa7Z\\x06\\x00'], [b'\\x1c5\\xf8\\xda\\x07V\\x06\\x00'], [b'\\x0e\\x8cH\\xae\\xccP\\x06\\x00'], [b'\\t\\xd5\\xe1c\\xe2L\\x06\\x00'], [b'H=\\xb8\\x9f\\xc3H\\x06\\x00'], [b'[a<5\\xf1D\\x06\\x00'], [b'\\xc9\\xf3\\xf2\\x87RB\\x06\\x00'], [b'D\\xf2\\xb2\\xac\\xb5>\\x06\\x00'], [b'\\x90~\\xb1\\xda\\x14<\\x06\\x00'], [b'\\xd6%8}\\xc98\\x06\\x00'], [b'\\x02\\xae\\xebi\\xa56\\x06\\x00'], [b'\\xa0\\xcb\\xb7\\x19\\xaa4\\x06\\x00'], [b'c\\xd4\\x95\\x16U3\\x06\\x00'], [b'\\xad\\x0f\\xe7\\xda\\xb11\\x06\\x00'], [b'gd\\xc2\\x96\\xf00\\x06\\x00'], [b'k\"\\xbciZ0\\x06\\x00'], [b'.\\xf16cF0\\x06\\x00'], [b'\\xc8\\xc1>\\\\T1\\x06\\x00'], [b'~\\x80]\\xb2\\xd60\\x06\\x00'], [b'\\xcbd\\x0f\\x0b\\xe82\\x06\\x00'], [b'\\xf9\\xee+\\xc6\\xe11\\x06\\x00'], [b'\\x9e\\x8a\\x0b[\\xdb3\\x06\\x00'], [b'\\x1d\\x07\\xbb\\xd6\\x8e4\\x06\\x00'], [b'\\xb1d\\x98\\\\W3\\x06\\x00'], [b'\\xd3\\xf8\\xdd\\xefi4\\x06\\x00'], [b'&\\xcd\\xe40\\\\0\\x06\\x00'], [b'\\xc0@t\\x01\\x82/\\x06\\x00'], [b'\\x04\\xd3*\\x1b\\\\-\\x06\\x00'], [b'\\xbe\\x7fG\\xa7v*\\x06\\x00'], [b'?\\xdd\\x12\\xda2)\\x06\\x00'], [b'\\x08\\xd6L3\\xbc$\\x06\\x00'], [b'+B\\x83K\\xce\"\\x06\\x00'], [b'iy-~E\\x1f\\x06\\x00'], [b'\\x8f\\x9d,\\x1eZ\\x1c\\x06\\x00'], [b'\\x00\\x86\\xb8*\\x94\\x1b\\x06\\x00'], [b'0\\xf8T\\xd1l\\x18\\x06\\x00'], [b'M\\x12\\x81\\xd5\\x0e\\x18\\x06\\x00'], [b'i\\xbd<\\xac\\xf6\\x17\\x06\\x00'], [b'\\x04\\x19\\x8e\\xbd\\xe2\\x17\\x06\\x00'], [b'\\xecC\\x04\\x15\\xd0\\x1a\\x06\\x00'], [b'8\\xe8\\x9c7+\\x1b\\x06\\x00'], [b'\\x8f\\xcf\\xe4\\xe5o\\x1c\\x06\\x00'], [b'\\x7fd\\x1e\\xdd\\xb7\\x1c\\x06\\x00'], [b'\\x90 \\xe3o\\xc3\\x1b\\x06\\x00'], [b'\\xcb\\x86+zr\\x1d\\x06\\x00'], [b'\\xa8\\xbe\\xec\\xb5,\\x1c\\x06\\x00'], [b'\\xa3u\\x1b\\x85R\\x1c\\x06\\x00'], [b'\\xd0l\\xccX\\xfb\\x1b\\x06\\x00'], [b'\\xdf\\x99\\x88#\\x11\\x1b\\x06\\x00'], [b'\\xc9y9\\\\R\\x1b\\x06\\x00'], [b'\\xe3\\xae\\xf0\\xdd?\\x1a\\x06\\x00'], [b'-\\xdc4q\\xd9\\x19\\x06\\x00'], [b'HO\\x8c\\x99\\xe6\\x19\\x06\\x00'], [b'\\xbb\\xe9\\x1b\\x99\\xed\\x18\\x06\\x00'], [b'#bZ\\x80\\xf1\\x17\\x06\\x00'], [b'\\x7f\\xe4\\xb7\\x8b\\x80\\x15\\x06\\x00'], [b'%\\xb02\\x88\\xfe\\x10\\x06\\x00'], [b'\\x08C\\x1a\\x8bQ\\x0c\\x06\\x00'], [b'\\xa3\\xa10D\\xa9\\x06\\x06\\x00'], [b'9\\xc9\\xc0\\xa5\\xd9\\x00\\x06\\x00'], [b'\\xb3\\x8fK\\xf2\\xb8\\xfc\\x05\\x00'], [b'\\xd2\\xa5\\x98\\x98B\\xf7\\x05\\x00'], [b'z\\xae\\xbd\\x7f\\xe2\\xf4\\x05\\x00'], [b'\\x02[\\x02\\x06\\xcd\\xf1\\x05\\x00']]\n" + ] + } + ], + "source": [ + "print(data[1])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0610d9a8", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 77, + "id": "d84b0881", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ba550800\n", + "bef20f78e560d200\n", + "76ad721e48d40000\n" + ] + } + ], + "source": [ + "print(data[0][98][0].hex())\n", + "print(data[1][98][0].hex())\n", + "print(data[2][98][0].hex())" + ] + }, + { + "cell_type": "code", + "execution_count": 362, + "id": "829578fe", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "11597785669" + ] + }, + "execution_count": 362, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "int.from_bytes(data[2][15][0], byteorder='little')" + ] + }, + { + "cell_type": "code", + "execution_count": 189, + "id": "3bc4ac66", + "metadata": {}, + "outputs": [], + "source": [ + "index = 1\n", + "pltdata = [int.from_bytes(x[0], byteorder='little') for x in data[index]]\n", + "#oldpltdata = [int.from_bytes(x[0], byteorder='little') for x in oldData[index]]" + ] + }, + { + "cell_type": "code", + "execution_count": 190, + "id": "9242cd8b", + "metadata": {}, + "outputs": [ + { + "data": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "/* global mpl */\n", + "window.mpl = {};\n", + "\n", + "mpl.get_websocket_type = function () {\n", + " if (typeof WebSocket !== 'undefined') {\n", + " return WebSocket;\n", + " } else if (typeof MozWebSocket !== 'undefined') {\n", + " return MozWebSocket;\n", + " } else {\n", + " alert(\n", + " 'Your browser does not have WebSocket support. ' +\n", + " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", + " 'Firefox 4 and 5 are also supported but you ' +\n", + " 'have to enable WebSockets in about:config.'\n", + " );\n", + " }\n", + "};\n", + "\n", + "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", + " this.id = figure_id;\n", + "\n", + " this.ws = websocket;\n", + "\n", + " this.supports_binary = this.ws.binaryType !== undefined;\n", + "\n", + " if (!this.supports_binary) {\n", + " var warnings = document.getElementById('mpl-warnings');\n", + " if (warnings) {\n", + " warnings.style.display = 'block';\n", + " warnings.textContent =\n", + " 'This browser does not support binary websocket messages. ' +\n", + " 'Performance may be slow.';\n", + " }\n", + " }\n", + "\n", + " this.imageObj = new Image();\n", + "\n", + " this.context = undefined;\n", + " this.message = undefined;\n", + " this.canvas = undefined;\n", + " this.rubberband_canvas = undefined;\n", + " this.rubberband_context = undefined;\n", + " this.format_dropdown = undefined;\n", + "\n", + " this.image_mode = 'full';\n", + "\n", + " this.root = document.createElement('div');\n", + " this.root.setAttribute('style', 'display: inline-block');\n", + " this._root_extra_style(this.root);\n", + "\n", + " parent_element.appendChild(this.root);\n", + "\n", + " this._init_header(this);\n", + " this._init_canvas(this);\n", + " this._init_toolbar(this);\n", + "\n", + " var fig = this;\n", + "\n", + " this.waiting = false;\n", + "\n", + " this.ws.onopen = function () {\n", + " fig.send_message('supports_binary', { value: fig.supports_binary });\n", + " fig.send_message('send_image_mode', {});\n", + " if (fig.ratio !== 1) {\n", + " fig.send_message('set_device_pixel_ratio', {\n", + " device_pixel_ratio: fig.ratio,\n", + " });\n", + " }\n", + " fig.send_message('refresh', {});\n", + " };\n", + "\n", + " this.imageObj.onload = function () {\n", + " if (fig.image_mode === 'full') {\n", + " // Full images could contain transparency (where diff images\n", + " // almost always do), so we need to clear the canvas so that\n", + " // there is no ghosting.\n", + " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", + " }\n", + " fig.context.drawImage(fig.imageObj, 0, 0);\n", + " };\n", + "\n", + " this.imageObj.onunload = function () {\n", + " fig.ws.close();\n", + " };\n", + "\n", + " this.ws.onmessage = this._make_on_message_function(this);\n", + "\n", + " this.ondownload = ondownload;\n", + "};\n", + "\n", + "mpl.figure.prototype._init_header = function () {\n", + " var titlebar = document.createElement('div');\n", + " titlebar.classList =\n", + " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", + " var titletext = document.createElement('div');\n", + " titletext.classList = 'ui-dialog-title';\n", + " titletext.setAttribute(\n", + " 'style',\n", + " 'width: 100%; text-align: center; padding: 3px;'\n", + " );\n", + " titlebar.appendChild(titletext);\n", + " this.root.appendChild(titlebar);\n", + " this.header = titletext;\n", + "};\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", + "\n", + "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", + "\n", + "mpl.figure.prototype._init_canvas = function () {\n", + " var fig = this;\n", + "\n", + " var canvas_div = (this.canvas_div = document.createElement('div'));\n", + " canvas_div.setAttribute(\n", + " 'style',\n", + " 'border: 1px solid #ddd;' +\n", + " 'box-sizing: content-box;' +\n", + " 'clear: both;' +\n", + " 'min-height: 1px;' +\n", + " 'min-width: 1px;' +\n", + " 'outline: 0;' +\n", + " 'overflow: hidden;' +\n", + " 'position: relative;' +\n", + " 'resize: both;'\n", + " );\n", + "\n", + " function on_keyboard_event_closure(name) {\n", + " return function (event) {\n", + " return fig.key_event(event, name);\n", + " };\n", + " }\n", + "\n", + " canvas_div.addEventListener(\n", + " 'keydown',\n", + " on_keyboard_event_closure('key_press')\n", + " );\n", + " canvas_div.addEventListener(\n", + " 'keyup',\n", + " on_keyboard_event_closure('key_release')\n", + " );\n", + "\n", + " this._canvas_extra_style(canvas_div);\n", + " this.root.appendChild(canvas_div);\n", + "\n", + " var canvas = (this.canvas = document.createElement('canvas'));\n", + " canvas.classList.add('mpl-canvas');\n", + " canvas.setAttribute('style', 'box-sizing: content-box;');\n", + "\n", + " this.context = canvas.getContext('2d');\n", + "\n", + " var backingStore =\n", + " this.context.backingStorePixelRatio ||\n", + " this.context.webkitBackingStorePixelRatio ||\n", + " this.context.mozBackingStorePixelRatio ||\n", + " this.context.msBackingStorePixelRatio ||\n", + " this.context.oBackingStorePixelRatio ||\n", + " this.context.backingStorePixelRatio ||\n", + " 1;\n", + "\n", + " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", + "\n", + " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", + " 'canvas'\n", + " ));\n", + " rubberband_canvas.setAttribute(\n", + " 'style',\n", + " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n", + " );\n", + "\n", + " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", + " if (this.ResizeObserver === undefined) {\n", + " if (window.ResizeObserver !== undefined) {\n", + " this.ResizeObserver = window.ResizeObserver;\n", + " } else {\n", + " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", + " this.ResizeObserver = obs.ResizeObserver;\n", + " }\n", + " }\n", + "\n", + " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", + " var nentries = entries.length;\n", + " for (var i = 0; i < nentries; i++) {\n", + " var entry = entries[i];\n", + " var width, height;\n", + " if (entry.contentBoxSize) {\n", + " if (entry.contentBoxSize instanceof Array) {\n", + " // Chrome 84 implements new version of spec.\n", + " width = entry.contentBoxSize[0].inlineSize;\n", + " height = entry.contentBoxSize[0].blockSize;\n", + " } else {\n", + " // Firefox implements old version of spec.\n", + " width = entry.contentBoxSize.inlineSize;\n", + " height = entry.contentBoxSize.blockSize;\n", + " }\n", + " } else {\n", + " // Chrome <84 implements even older version of spec.\n", + " width = entry.contentRect.width;\n", + " height = entry.contentRect.height;\n", + " }\n", + "\n", + " // Keep the size of the canvas and rubber band canvas in sync with\n", + " // the canvas container.\n", + " if (entry.devicePixelContentBoxSize) {\n", + " // Chrome 84 implements new version of spec.\n", + " canvas.setAttribute(\n", + " 'width',\n", + " entry.devicePixelContentBoxSize[0].inlineSize\n", + " );\n", + " canvas.setAttribute(\n", + " 'height',\n", + " entry.devicePixelContentBoxSize[0].blockSize\n", + " );\n", + " } else {\n", + " canvas.setAttribute('width', width * fig.ratio);\n", + " canvas.setAttribute('height', height * fig.ratio);\n", + " }\n", + " canvas.setAttribute(\n", + " 'style',\n", + " 'width: ' + width + 'px; height: ' + height + 'px;'\n", + " );\n", + "\n", + " rubberband_canvas.setAttribute('width', width);\n", + " rubberband_canvas.setAttribute('height', height);\n", + "\n", + " // And update the size in Python. We ignore the initial 0/0 size\n", + " // that occurs as the element is placed into the DOM, which should\n", + " // otherwise not happen due to the minimum size styling.\n", + " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", + " fig.request_resize(width, height);\n", + " }\n", + " }\n", + " });\n", + " this.resizeObserverInstance.observe(canvas_div);\n", + "\n", + " function on_mouse_event_closure(name) {\n", + " return function (event) {\n", + " return fig.mouse_event(event, name);\n", + " };\n", + " }\n", + "\n", + " rubberband_canvas.addEventListener(\n", + " 'mousedown',\n", + " on_mouse_event_closure('button_press')\n", + " );\n", + " rubberband_canvas.addEventListener(\n", + " 'mouseup',\n", + " on_mouse_event_closure('button_release')\n", + " );\n", + " rubberband_canvas.addEventListener(\n", + " 'dblclick',\n", + " on_mouse_event_closure('dblclick')\n", + " );\n", + " // Throttle sequential mouse events to 1 every 20ms.\n", + " rubberband_canvas.addEventListener(\n", + " 'mousemove',\n", + " on_mouse_event_closure('motion_notify')\n", + " );\n", + "\n", + " rubberband_canvas.addEventListener(\n", + " 'mouseenter',\n", + " on_mouse_event_closure('figure_enter')\n", + " );\n", + " rubberband_canvas.addEventListener(\n", + " 'mouseleave',\n", + " on_mouse_event_closure('figure_leave')\n", + " );\n", + "\n", + " canvas_div.addEventListener('wheel', function (event) {\n", + " if (event.deltaY < 0) {\n", + " event.step = 1;\n", + " } else {\n", + " event.step = -1;\n", + " }\n", + " on_mouse_event_closure('scroll')(event);\n", + " });\n", + "\n", + " canvas_div.appendChild(canvas);\n", + " canvas_div.appendChild(rubberband_canvas);\n", + "\n", + " this.rubberband_context = rubberband_canvas.getContext('2d');\n", + " this.rubberband_context.strokeStyle = '#000000';\n", + "\n", + " this._resize_canvas = function (width, height, forward) {\n", + " if (forward) {\n", + " canvas_div.style.width = width + 'px';\n", + " canvas_div.style.height = height + 'px';\n", + " }\n", + " };\n", + "\n", + " // Disable right mouse context menu.\n", + " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n", + " event.preventDefault();\n", + " return false;\n", + " });\n", + "\n", + " function set_focus() {\n", + " canvas.focus();\n", + " canvas_div.focus();\n", + " }\n", + "\n", + " window.setTimeout(set_focus, 100);\n", + "};\n", + "\n", + "mpl.figure.prototype._init_toolbar = function () {\n", + " var fig = this;\n", + "\n", + " var toolbar = document.createElement('div');\n", + " toolbar.classList = 'mpl-toolbar';\n", + " this.root.appendChild(toolbar);\n", + "\n", + " function on_click_closure(name) {\n", + " return function (_event) {\n", + " return fig.toolbar_button_onclick(name);\n", + " };\n", + " }\n", + "\n", + " function on_mouseover_closure(tooltip) {\n", + " return function (event) {\n", + " if (!event.currentTarget.disabled) {\n", + " return fig.toolbar_button_onmouseover(tooltip);\n", + " }\n", + " };\n", + " }\n", + "\n", + " fig.buttons = {};\n", + " var buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'mpl-button-group';\n", + " for (var toolbar_ind in mpl.toolbar_items) {\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) {\n", + " /* Instead of a spacer, we start a new button group. */\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + " buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'mpl-button-group';\n", + " continue;\n", + " }\n", + "\n", + " var button = (fig.buttons[name] = document.createElement('button'));\n", + " button.classList = 'mpl-widget';\n", + " button.setAttribute('role', 'button');\n", + " button.setAttribute('aria-disabled', 'false');\n", + " button.addEventListener('click', on_click_closure(method_name));\n", + " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", + "\n", + " var icon_img = document.createElement('img');\n", + " icon_img.src = '_images/' + image + '.png';\n", + " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", + " icon_img.alt = tooltip;\n", + " button.appendChild(icon_img);\n", + "\n", + " buttonGroup.appendChild(button);\n", + " }\n", + "\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + "\n", + " var fmt_picker = document.createElement('select');\n", + " fmt_picker.classList = 'mpl-widget';\n", + " toolbar.appendChild(fmt_picker);\n", + " this.format_dropdown = fmt_picker;\n", + "\n", + " for (var ind in mpl.extensions) {\n", + " var fmt = mpl.extensions[ind];\n", + " var option = document.createElement('option');\n", + " option.selected = fmt === mpl.default_extension;\n", + " option.innerHTML = fmt;\n", + " fmt_picker.appendChild(option);\n", + " }\n", + "\n", + " var status_bar = document.createElement('span');\n", + " status_bar.classList = 'mpl-message';\n", + " toolbar.appendChild(status_bar);\n", + " this.message = status_bar;\n", + "};\n", + "\n", + "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", + " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", + " // which will in turn request a refresh of the image.\n", + " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", + "};\n", + "\n", + "mpl.figure.prototype.send_message = function (type, properties) {\n", + " properties['type'] = type;\n", + " properties['figure_id'] = this.id;\n", + " this.ws.send(JSON.stringify(properties));\n", + "};\n", + "\n", + "mpl.figure.prototype.send_draw_message = function () {\n", + " if (!this.waiting) {\n", + " this.waiting = true;\n", + " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", + " var format_dropdown = fig.format_dropdown;\n", + " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", + " fig.ondownload(fig, format);\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", + " var size = msg['size'];\n", + " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", + " fig._resize_canvas(size[0], size[1], msg['forward']);\n", + " fig.send_message('refresh', {});\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", + " var x0 = msg['x0'] / fig.ratio;\n", + " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", + " var x1 = msg['x1'] / fig.ratio;\n", + " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", + " x0 = Math.floor(x0) + 0.5;\n", + " y0 = Math.floor(y0) + 0.5;\n", + " x1 = Math.floor(x1) + 0.5;\n", + " y1 = Math.floor(y1) + 0.5;\n", + " var min_x = Math.min(x0, x1);\n", + " var min_y = Math.min(y0, y1);\n", + " var width = Math.abs(x1 - x0);\n", + " var height = Math.abs(y1 - y0);\n", + "\n", + " fig.rubberband_context.clearRect(\n", + " 0,\n", + " 0,\n", + " fig.canvas.width / fig.ratio,\n", + " fig.canvas.height / fig.ratio\n", + " );\n", + "\n", + " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", + " // Updates the figure title.\n", + " fig.header.textContent = msg['label'];\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", + " fig.rubberband_canvas.style.cursor = msg['cursor'];\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_message = function (fig, msg) {\n", + " fig.message.textContent = msg['message'];\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n", + " // Request the server to send over a new figure.\n", + " fig.send_draw_message();\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n", + " fig.image_mode = msg['mode'];\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n", + " for (var key in msg) {\n", + " if (!(key in fig.buttons)) {\n", + " continue;\n", + " }\n", + " fig.buttons[key].disabled = !msg[key];\n", + " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", + " if (msg['mode'] === 'PAN') {\n", + " fig.buttons['Pan'].classList.add('active');\n", + " fig.buttons['Zoom'].classList.remove('active');\n", + " } else if (msg['mode'] === 'ZOOM') {\n", + " fig.buttons['Pan'].classList.remove('active');\n", + " fig.buttons['Zoom'].classList.add('active');\n", + " } else {\n", + " fig.buttons['Pan'].classList.remove('active');\n", + " fig.buttons['Zoom'].classList.remove('active');\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function () {\n", + " // Called whenever the canvas gets updated.\n", + " this.send_message('ack', {});\n", + "};\n", + "\n", + "// A function to construct a web socket function for onmessage handling.\n", + "// Called in the figure constructor.\n", + "mpl.figure.prototype._make_on_message_function = function (fig) {\n", + " return function socket_on_message(evt) {\n", + " if (evt.data instanceof Blob) {\n", + " var img = evt.data;\n", + " if (img.type !== 'image/png') {\n", + " /* FIXME: We get \"Resource interpreted as Image but\n", + " * transferred with MIME type text/plain:\" errors on\n", + " * Chrome. But how to set the MIME type? It doesn't seem\n", + " * to be part of the websocket stream */\n", + " img.type = 'image/png';\n", + " }\n", + "\n", + " /* Free the memory for the previous frames */\n", + " if (fig.imageObj.src) {\n", + " (window.URL || window.webkitURL).revokeObjectURL(\n", + " fig.imageObj.src\n", + " );\n", + " }\n", + "\n", + " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", + " img\n", + " );\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " } else if (\n", + " typeof evt.data === 'string' &&\n", + " evt.data.slice(0, 21) === 'data:image/png;base64'\n", + " ) {\n", + " fig.imageObj.src = evt.data;\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " }\n", + "\n", + " var msg = JSON.parse(evt.data);\n", + " var msg_type = msg['type'];\n", + "\n", + " // Call the \"handle_{type}\" callback, which takes\n", + " // the figure and JSON message as its only arguments.\n", + " try {\n", + " var callback = fig['handle_' + msg_type];\n", + " } catch (e) {\n", + " console.log(\n", + " \"No handler for the '\" + msg_type + \"' message type: \",\n", + " msg\n", + " );\n", + " return;\n", + " }\n", + "\n", + " if (callback) {\n", + " try {\n", + " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", + " callback(fig, msg);\n", + " } catch (e) {\n", + " console.log(\n", + " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", + " e,\n", + " e.stack,\n", + " msg\n", + " );\n", + " }\n", + " }\n", + " };\n", + "};\n", + "\n", + "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", + "mpl.findpos = function (e) {\n", + " //this section is from http://www.quirksmode.org/js/events_properties.html\n", + " var targ;\n", + " if (!e) {\n", + " e = window.event;\n", + " }\n", + " if (e.target) {\n", + " targ = e.target;\n", + " } else if (e.srcElement) {\n", + " targ = e.srcElement;\n", + " }\n", + " if (targ.nodeType === 3) {\n", + " // defeat Safari bug\n", + " targ = targ.parentNode;\n", + " }\n", + "\n", + " // pageX,Y are the mouse positions relative to the document\n", + " var boundingRect = targ.getBoundingClientRect();\n", + " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n", + " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n", + "\n", + " return { x: x, y: y };\n", + "};\n", + "\n", + "/*\n", + " * return a copy of an object with only non-object keys\n", + " * we need this to avoid circular references\n", + " * https://stackoverflow.com/a/24161582/3208463\n", + " */\n", + "function simpleKeys(original) {\n", + " return Object.keys(original).reduce(function (obj, key) {\n", + " if (typeof original[key] !== 'object') {\n", + " obj[key] = original[key];\n", + " }\n", + " return obj;\n", + " }, {});\n", + "}\n", + "\n", + "mpl.figure.prototype.mouse_event = function (event, name) {\n", + " var canvas_pos = mpl.findpos(event);\n", + "\n", + " if (name === 'button_press') {\n", + " this.canvas.focus();\n", + " this.canvas_div.focus();\n", + " }\n", + "\n", + " var x = canvas_pos.x * this.ratio;\n", + " var y = canvas_pos.y * this.ratio;\n", + "\n", + " this.send_message(name, {\n", + " x: x,\n", + " y: y,\n", + " button: event.button,\n", + " step: event.step,\n", + " guiEvent: simpleKeys(event),\n", + " });\n", + "\n", + " /* This prevents the web browser from automatically changing to\n", + " * the text insertion cursor when the button is pressed. We want\n", + " * to control all of the cursor setting manually through the\n", + " * 'cursor' event from matplotlib */\n", + " event.preventDefault();\n", + " return false;\n", + "};\n", + "\n", + "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", + " // Handle any extra behaviour associated with a key event\n", + "};\n", + "\n", + "mpl.figure.prototype.key_event = function (event, name) {\n", + " // Prevent repeat events\n", + " if (name === 'key_press') {\n", + " if (event.key === this._key) {\n", + " return;\n", + " } else {\n", + " this._key = event.key;\n", + " }\n", + " }\n", + " if (name === 'key_release') {\n", + " this._key = null;\n", + " }\n", + "\n", + " var value = '';\n", + " if (event.ctrlKey && event.key !== 'Control') {\n", + " value += 'ctrl+';\n", + " }\n", + " else if (event.altKey && event.key !== 'Alt') {\n", + " value += 'alt+';\n", + " }\n", + " else if (event.shiftKey && event.key !== 'Shift') {\n", + " value += 'shift+';\n", + " }\n", + "\n", + " value += 'k' + event.key;\n", + "\n", + " this._key_event_extra(event, name);\n", + "\n", + " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n", + " return false;\n", + "};\n", + "\n", + "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", + " if (name === 'download') {\n", + " this.handle_save(this, null);\n", + " } else {\n", + " this.send_message('toolbar_button', { name: name });\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", + " this.message.textContent = tooltip;\n", + "};\n", + "\n", + "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", + "// prettier-ignore\n", + "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", + "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n", + "\n", + "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n", + "\n", + "mpl.default_extension = \"png\";/* global mpl */\n", + "\n", + "var comm_websocket_adapter = function (comm) {\n", + " // Create a \"websocket\"-like object which calls the given IPython comm\n", + " // object with the appropriate methods. Currently this is a non binary\n", + " // socket, so there is still some room for performance tuning.\n", + " var ws = {};\n", + "\n", + " ws.binaryType = comm.kernel.ws.binaryType;\n", + " ws.readyState = comm.kernel.ws.readyState;\n", + " function updateReadyState(_event) {\n", + " if (comm.kernel.ws) {\n", + " ws.readyState = comm.kernel.ws.readyState;\n", + " } else {\n", + " ws.readyState = 3; // Closed state.\n", + " }\n", + " }\n", + " comm.kernel.ws.addEventListener('open', updateReadyState);\n", + " comm.kernel.ws.addEventListener('close', updateReadyState);\n", + " comm.kernel.ws.addEventListener('error', updateReadyState);\n", + "\n", + " ws.close = function () {\n", + " comm.close();\n", + " };\n", + " ws.send = function (m) {\n", + " //console.log('sending', m);\n", + " comm.send(m);\n", + " };\n", + " // Register the callback with on_msg.\n", + " comm.on_msg(function (msg) {\n", + " //console.log('receiving', msg['content']['data'], msg);\n", + " var data = msg['content']['data'];\n", + " if (data['blob'] !== undefined) {\n", + " data = {\n", + " data: new Blob(msg['buffers'], { type: data['blob'] }),\n", + " };\n", + " }\n", + " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", + " ws.onmessage(data);\n", + " });\n", + " return ws;\n", + "};\n", + "\n", + "mpl.mpl_figure_comm = function (comm, msg) {\n", + " // This is the function which gets called when the mpl process\n", + " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", + "\n", + " var id = msg.content.data.id;\n", + " // Get hold of the div created by the display call when the Comm\n", + " // socket was opened in Python.\n", + " var element = document.getElementById(id);\n", + " var ws_proxy = comm_websocket_adapter(comm);\n", + "\n", + " function ondownload(figure, _format) {\n", + " window.open(figure.canvas.toDataURL());\n", + " }\n", + "\n", + " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", + "\n", + " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", + " // web socket which is closed, not our websocket->open comm proxy.\n", + " ws_proxy.onopen();\n", + "\n", + " fig.parent_element = element;\n", + " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n", + " if (!fig.cell_info) {\n", + " console.error('Failed to find cell for figure', id, fig);\n", + " return;\n", + " }\n", + " fig.cell_info[0].output_area.element.on(\n", + " 'cleared',\n", + " { fig: fig },\n", + " fig._remove_fig_handler\n", + " );\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_close = function (fig, msg) {\n", + " var width = fig.canvas.width / fig.ratio;\n", + " fig.cell_info[0].output_area.element.off(\n", + " 'cleared',\n", + " fig._remove_fig_handler\n", + " );\n", + " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", + "\n", + " // Update the output cell to use the data from the current canvas.\n", + " fig.push_to_output();\n", + " var dataURL = fig.canvas.toDataURL();\n", + " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", + " // the notebook keyboard shortcuts fail.\n", + " IPython.keyboard_manager.enable();\n", + " fig.parent_element.innerHTML =\n", + " '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", + " fig.close_ws(fig, msg);\n", + "};\n", + "\n", + "mpl.figure.prototype.close_ws = function (fig, msg) {\n", + " fig.send_message('closing', msg);\n", + " // fig.ws.close()\n", + "};\n", + "\n", + "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", + " // Turn the data on the canvas into data in the output cell.\n", + " var width = this.canvas.width / this.ratio;\n", + " var dataURL = this.canvas.toDataURL();\n", + " this.cell_info[1]['text/html'] =\n", + " '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", + "};\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function () {\n", + " // Tell IPython that the notebook contents must change.\n", + " IPython.notebook.set_dirty(true);\n", + " this.send_message('ack', {});\n", + " var fig = this;\n", + " // Wait a second, then push the new image to the DOM so\n", + " // that it is saved nicely (might be nice to debounce this).\n", + " setTimeout(function () {\n", + " fig.push_to_output();\n", + " }, 1000);\n", + "};\n", + "\n", + "mpl.figure.prototype._init_toolbar = function () {\n", + " var fig = this;\n", + "\n", + " var toolbar = document.createElement('div');\n", + " toolbar.classList = 'btn-toolbar';\n", + " this.root.appendChild(toolbar);\n", + "\n", + " function on_click_closure(name) {\n", + " return function (_event) {\n", + " return fig.toolbar_button_onclick(name);\n", + " };\n", + " }\n", + "\n", + " function on_mouseover_closure(tooltip) {\n", + " return function (event) {\n", + " if (!event.currentTarget.disabled) {\n", + " return fig.toolbar_button_onmouseover(tooltip);\n", + " }\n", + " };\n", + " }\n", + "\n", + " fig.buttons = {};\n", + " var buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'btn-group';\n", + " var button;\n", + " for (var toolbar_ind in mpl.toolbar_items) {\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) {\n", + " /* Instead of a spacer, we start a new button group. */\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + " buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'btn-group';\n", + " continue;\n", + " }\n", + "\n", + " button = fig.buttons[name] = document.createElement('button');\n", + " button.classList = 'btn btn-default';\n", + " button.href = '#';\n", + " button.title = name;\n", + " button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n", + " button.addEventListener('click', on_click_closure(method_name));\n", + " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", + " buttonGroup.appendChild(button);\n", + " }\n", + "\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + "\n", + " // Add the status bar.\n", + " var status_bar = document.createElement('span');\n", + " status_bar.classList = 'mpl-message pull-right';\n", + " toolbar.appendChild(status_bar);\n", + " this.message = status_bar;\n", + "\n", + " // Add the close button to the window.\n", + " var buttongrp = document.createElement('div');\n", + " buttongrp.classList = 'btn-group inline pull-right';\n", + " button = document.createElement('button');\n", + " button.classList = 'btn btn-mini btn-primary';\n", + " button.href = '#';\n", + " button.title = 'Stop Interaction';\n", + " button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n", + " button.addEventListener('click', function (_evt) {\n", + " fig.handle_close(fig, {});\n", + " });\n", + " button.addEventListener(\n", + " 'mouseover',\n", + " on_mouseover_closure('Stop Interaction')\n", + " );\n", + " buttongrp.appendChild(button);\n", + " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", + " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", + "};\n", + "\n", + "mpl.figure.prototype._remove_fig_handler = function (event) {\n", + " var fig = event.data.fig;\n", + " if (event.target !== this) {\n", + " // Ignore bubbled events from children.\n", + " return;\n", + " }\n", + " fig.close_ws(fig, {});\n", + "};\n", + "\n", + "mpl.figure.prototype._root_extra_style = function (el) {\n", + " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", + "};\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function (el) {\n", + " // this is important to make the div 'focusable\n", + " el.setAttribute('tabindex', 0);\n", + " // reach out to IPython and tell the keyboard manager to turn it's self\n", + " // off when our div gets focus\n", + "\n", + " // location in version 3\n", + " if (IPython.notebook.keyboard_manager) {\n", + " IPython.notebook.keyboard_manager.register_events(el);\n", + " } else {\n", + " // location in version 2\n", + " IPython.keyboard_manager.register_events(el);\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", + " // Check for shift+enter\n", + " if (event.shiftKey && event.which === 13) {\n", + " this.canvas_div.blur();\n", + " // select the cell after this one\n", + " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", + " IPython.notebook.select(index + 1);\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", + " fig.ondownload(fig, null);\n", + "};\n", + "\n", + "mpl.find_output_cell = function (html_output) {\n", + " // Return the cell and output element which can be found *uniquely* in the notebook.\n", + " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", + " // IPython event is triggered only after the cells have been serialised, which for\n", + " // our purposes (turning an active figure into a static one), is too late.\n", + " var cells = IPython.notebook.get_cells();\n", + " var ncells = cells.length;\n", + " for (var i = 0; i < ncells; i++) {\n", + " var cell = cells[i];\n", + " if (cell.cell_type === 'code') {\n", + " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", + " var data = cell.output_area.outputs[j];\n", + " if (data.data) {\n", + " // IPython >= 3 moved mimebundle to data attribute of output\n", + " data = data.data;\n", + " }\n", + " if (data['text/html'] === html_output) {\n", + " return [cell, data, j];\n", + " }\n", + " }\n", + " }\n", + " }\n", + "};\n", + "\n", + "// Register the function which deals with the matplotlib target/channel.\n", + "// The kernel may be null if the page has been refreshed.\n", + "if (IPython.notebook.kernel !== null) {\n", + " IPython.notebook.kernel.comm_manager.register_target(\n", + " 'matplotlib',\n", + " mpl.mpl_figure_comm\n", + " );\n", + "}\n" + ], + "text/plain": [ + "<IPython.core.display.Javascript object>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAK8CAYAAAAXo9vkAAAAAXNSR0IArs4c6QAAIABJREFUeF7snQeYU1Xax/9JJm2SzCSjdEGKoCCIggKCgAqCIOoWt367a117r2vvuva6tlVX3d50bVgARRBEpClIFxBUQHBakkkmyWS+59xwkjshM7nJvbkz4P8+zz4rk3Pe99zfPZN533veYunXr18zeJEACZAACZAACZAACZAACZCACQQsdEBMoEwVJEACJEACJEACJEACJEACCgE6INwIJEACJEACJEACJEACJEACphGgA2IaaioiARIgARIgARIgARIgARKgA8I9QAIkQAIkQAIkQAIkQAIkYBoBOiCmoaYiEiABEiABEiABEiABEiABOiDcAyRAAiRAAiRAAiRAAiRAAqYRoANiGmoqIgESIAESIAESIAESIAESoAPCPUACJEACJEACJEACJEACJGAaATogpqGmIhIgARIgARIgARIgARIgATog3AMkQAIkQAIkQAIkQAIkQAKmEaADYhpqKiIBEiABEiABEiABEiABEqADwj1AAiRAAiRAAiRAAiRAAiRgGgE6IKahpiISIAESIAESIAESIAESIAE6INwDJEACJEACJEACJEACJEACphGgA2IaaioiARIgARIgARIgARIgARKgA8I9QAIkQAIkQAIkQAIkQAIkYBoBOiCmoaYiEiABEiABEiABEiABEiABOiDcAyRAAiRAAiRAAiRAAiRAAqYRoANiGmoqIgESIAESIAESIAESIAESoAPCPUACJEACJEACJEACJEACJGAaATogpqGmIhIgARIgARIgARIgARIgATog3AMkQAIkQAIkQAIkQAIkQAKmEaADYhpqKiIBEiABEiABEiABEiABEqADwj1AAiRAAiRAAiRAAiRAAiRgGgE6IKahpiISIAESIAESIAESIAESIAE6INwDJEACJEACJEACJEACJEACphGgA2IaaioiARIgARIgARIgARIgARKgA8I9QAIkQAIkQAIkQAIkQAIkYBoBOiCmoaYiEiABEiABEiABEiABEiABOiDcAyRAAiRAAiRAAiRAAiRAAqYRoANiGmoqIgESIAESIAESIAESIAESoAPCPUACJEACJEACJEACJEACJGAaATogpqGmIhIgARIgARIgARIgARIgATog3AMkQAIkQAIkQAIkQAIkQAKmEaADYhpqKiIBEiABEiABEiABEiABEqADwj1AAiRAAiRAAiRAAiRAAiRgGgE6IKahpiISIAESIAESIAESIAESIAE6INwDJEACJEACJEACJEACJEACphGgA2IaaioiARIgARIgARIgARIgARKgA8I9QAIkQAIkQAIkQAIkQAIkYBoBOiCmoaYiEiABEiABEiABEiABEiABOiDcAyRAAiRAAiRAAiRAAiRAAqYRoANiGmoqIgESIAESIAESIAESIAESoAPCPUACJEACJEACJEACJEACJGAaATogpqGmIhIgARIgARIgARIgARIgATog3AMkQAIkQAIkQAIkQAIkQAKmEaADYhpqKiIBEiABEiABEiABEiABEqADwj1AAiRAAiRAAiRAAiRAAiRgGgE6IKahpiISIAESIAESIAESIAESIAE6INwDJEACJEACJEACJEACJEACphGgA2IaaioiARIgARIgARIgARIgARKgA8I9QAIkQAIkQAIkQAIkQAIkYBoBOiCmoaYiEiABEiABEiABEiABEiABOiDcAyRAAiRAAiRAAiRAAiRAAqYRoANiGmoqIgESIAESIAESIAESIAESoAPCPUACJEACJEACJEACJEACJGAaATogpqGmIhIgARIgARIgARIgARIgATog3AMkQAIkQAIkQAIkQAIkQAKmEaADYhpqKiIBEiABEiABEiABEiABEqADwj1AAiRAAiRAAiRAAiRAAiRgGgE6IKahpiISIAESIAESIAESIAESIAE6INwDJEACJEACJEACJEACJEACphGgA2IaaioiARIgARIgARIgARIgARKgA8I9QAIkQAIkQAIkQAIkQAIkYBoBOiCmoaYiEiABEiABEiABEiABEiABOiDcAyRAAiRAAiRAAiRAAiRAAqYRoANiGmoqIgESIAESIAESIAESIAESoAPCPUACJEACJEACJEACJEACJGAaATogpqGmIhIgARIgARIgARIgARIgATog3AMkQAIkQAIkQAIkQAIkQAKmEaADYhpqKiIBEiABEiABEiABEiABEqADwj1AAiRAAiRAAiRAAiRAAiRgGgE6IKahpiISIAESIAESIAESIAESIAE6INwDJEACJEACJEACJEACJEACphGgA2IaaioiARIgARIgARIgARIgARKgA8I9QAIkQAIkQAIkQAIkQAIkYBoB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119/PVatWoWVK1eqI2dy/0UE0xdffKHGL0Xup4jgEhEi45IoWXIvSI5niYjxPap2kkxj24dBAWI7cjZIAiRAAiRAAiRwshCoSYBoR5uqZifXxm2HAJG2ZMdj2LBhahEtOxkiRiQZoO+FehEJEqFKEg/KjohEeZJjW7Jj4Vtk50WSKIqwkR0DObIkuyZaYkLtWQlTLIkaJaO43JmQELiywD948OBR9pzom9yhkWNjWtCB/fv3q5C8cndGKxIhTASYiJM6deoobnJsSy6wa7s6J8v8dWocFCBOkWe7JEACJEACJEACJEACJBCGBChAwtDpHDIJkAAJkAAJkAAJkAAJOEWAAsQp8myXBEiABEiABEiABEiABMKQAAVIGDqdQyYBEiABEiABEiABEiABpwhQgDhFnu2SAAmQAAmQAAmQAAmQQBgSoAAJQ6dzyCRAAiRAAiRAAiRAAiTgFAEKEKfIs10SIAESIAESIAESIAESCEMCFCBh6HQOmQRIgARIgARIgARIgAScIkAB4hR5tksCJEACJEACJEACJEACYUiAAiQMnc4hkwAJkAAJkAAJkAAJkIBTBChAnCLPdkmABEiABEiABEiABEggDAlQgISh0zlkEiABEiABEiABEiABEnCKAAWIU+TZLgmQAAmQAAmQAAmQAAmEIQEKkDB0OodMAiRAAiRAAiRAAiRAAk4RoABxijzbJQESIAESIAESIAESIIEwJEABEoZO55BJgARIgARIgARIgARIwCkCFCBOkWe7JEACJEACJEACJEACJBCGBChAwtDpHDIJkAAJkAAJkAAJkAAJOEWAAsQp8myXBEiABEiABEiABEiABMKQAAVIGDqdQyYBEiABEiABEiABEiABpwhQgDhFnu2SAAmQAAmQAAmQAAmQQBgSoAAJQ6dzyCRAAiRAAiRAAiRAAiTgFAEKEKfIs10SIAESIAESIAESIAESCEMCFCBh6HQOmQRIgARIgARIgARIgAScIkAB4hR5tksCJEACJEACJEACJEACYUiAAiQMnc4hkwAJkAAJkAAJkAAJkIBTBChAnCLPdkmABEiABEiQBZeFAAAAJklEQVSABEiABEggDAlQgISh0zlkEiABEiABEiABEiABEnCKwP8HDAYRCNdf+2kAAAAASUVORK5CYII=\" width=\"800\">" + ], + "text/plain": [ + "<IPython.core.display.HTML object>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "[<matplotlib.lines.Line2D at 0x25a90bb3910>]" + ] + }, + "execution_count": 190, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "plt.semilogy(frequenciesHz,pltdata)\n", + "#plt.plot(frequenciesHz,oldpltdata)" + ] + }, + { + "cell_type": "code", + "execution_count": 270, + "id": "1d124cbd", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\Pascal\\AppData\\Local\\Temp/ipykernel_38076/2467968188.py:13: RuntimeWarning: invalid value encountered in double_scalars\n", + " amps = [2**-13*np.sqrt(2.*cosdata[i]**2+2.*sindata[i]**2)/numdata[i] for i in range(len(numdata))] #probably pm\n" + ] + }, + { + "ename": "ZeroDivisionError", + "evalue": "division by zero", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mZeroDivisionError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m~\\AppData\\Local\\Temp/ipykernel_38076/2467968188.py\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m 12\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 13\u001b[0m \u001b[0mamps\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m**\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m13\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msqrt\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m2.\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mcosdata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m**\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m+\u001b[0m\u001b[1;36m2.\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0msindata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m**\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m/\u001b[0m\u001b[0mnumdata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnumdata\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;31m#probably pm\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 14\u001b[1;33m \u001b[0mangles\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0marctan\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msindata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m/\u001b[0m\u001b[0mcosdata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnumdata\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 15\u001b[0m \u001b[0mcosportion\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mabs\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msqrt\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mcosdata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m/\u001b[0m\u001b[0mamps\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m/\u001b[0m\u001b[0mnumdata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mamps\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 16\u001b[0m \u001b[0msinportion\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mabs\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msqrt\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0msindata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m/\u001b[0m\u001b[0mamps\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m/\u001b[0m\u001b[0mnumdata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mamps\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\AppData\\Local\\Temp/ipykernel_38076/2467968188.py\u001b[0m in \u001b[0;36m<listcomp>\u001b[1;34m(.0)\u001b[0m\n\u001b[0;32m 12\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 13\u001b[0m \u001b[0mamps\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m**\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m13\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msqrt\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m2.\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mcosdata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m**\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m+\u001b[0m\u001b[1;36m2.\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0msindata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m**\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m/\u001b[0m\u001b[0mnumdata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnumdata\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;31m#probably pm\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 14\u001b[1;33m \u001b[0mangles\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0marctan\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msindata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m/\u001b[0m\u001b[0mcosdata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnumdata\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 15\u001b[0m \u001b[0mcosportion\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mabs\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msqrt\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mcosdata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m/\u001b[0m\u001b[0mamps\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m/\u001b[0m\u001b[0mnumdata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mamps\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 16\u001b[0m \u001b[0msinportion\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mabs\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msqrt\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0msindata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m/\u001b[0m\u001b[0mamps\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m/\u001b[0m\u001b[0mnumdata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mamps\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mZeroDivisionError\u001b[0m: division by zero" + ] + } + ], + "source": [ + "amps = []\n", + "numdata = [int.from_bytes(x[0], byteorder='little') for x in data[0]]\n", + "cosdata = [int.from_bytes(x[0], byteorder='little') for x in data[1]]\n", + "sindata = [int.from_bytes(x[0], byteorder='little') for x in data[2]]\n", + "\n", + "for i in range(len(cosdata)):\n", + " if cosdata[i]&(2**63) != 0:\n", + " cosdata[i] = cosdata[i]-2**64\n", + "for i in range(len(sindata)):\n", + " if sindata[i]&(2**63) != 0:\n", + " sindata[i] = sindata[i]-2**64\n", + "\n", + "amps = [2**-13*np.sqrt(2.*cosdata[i]**2+2.*sindata[i]**2)/numdata[i] for i in range(len(numdata))] #probably pm\n", + "angles = [np.arctan(sindata[i]/cosdata[i]) for i in range(len(numdata))]\n", + "cosportion = [np.abs(np.sqrt(2)*cosdata[i])/amps[i]/numdata[i] for i in range(len(amps))]\n", + "sinportion = [np.abs(np.sqrt(2)*sindata[i])/amps[i]/numdata[i] for i in range(len(amps))]" + ] + }, + { + "cell_type": "code", + "execution_count": 213, + "id": "6ae4d679", + "metadata": {}, + "outputs": [ + { + "data": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "/* global mpl */\n", + "window.mpl = {};\n", + "\n", + "mpl.get_websocket_type = function () {\n", + " if (typeof WebSocket !== 'undefined') {\n", + " return WebSocket;\n", + " } else if (typeof MozWebSocket !== 'undefined') {\n", + " return MozWebSocket;\n", + " } else {\n", + " alert(\n", + " 'Your browser does not have WebSocket support. ' +\n", + " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", + " 'Firefox 4 and 5 are also supported but you ' +\n", + " 'have to enable WebSockets in about:config.'\n", + " );\n", + " }\n", + "};\n", + "\n", + "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", + " this.id = figure_id;\n", + "\n", + " this.ws = websocket;\n", + "\n", + " this.supports_binary = this.ws.binaryType !== undefined;\n", + "\n", + " if (!this.supports_binary) {\n", + " var warnings = document.getElementById('mpl-warnings');\n", + " if (warnings) {\n", + " warnings.style.display = 'block';\n", + " warnings.textContent =\n", + " 'This browser does not support binary websocket messages. ' +\n", + " 'Performance may be slow.';\n", + " }\n", + " }\n", + "\n", + " this.imageObj = new Image();\n", + "\n", + " this.context = undefined;\n", + " this.message = undefined;\n", + " this.canvas = undefined;\n", + " this.rubberband_canvas = undefined;\n", + " this.rubberband_context = undefined;\n", + " this.format_dropdown = undefined;\n", + "\n", + " this.image_mode = 'full';\n", + "\n", + " this.root = document.createElement('div');\n", + " this.root.setAttribute('style', 'display: inline-block');\n", + " this._root_extra_style(this.root);\n", + "\n", + " parent_element.appendChild(this.root);\n", + "\n", + " this._init_header(this);\n", + " this._init_canvas(this);\n", + " this._init_toolbar(this);\n", + "\n", + " var fig = this;\n", + "\n", + " this.waiting = false;\n", + "\n", + " this.ws.onopen = function () {\n", + " fig.send_message('supports_binary', { value: fig.supports_binary });\n", + " fig.send_message('send_image_mode', {});\n", + " if (fig.ratio !== 1) {\n", + " fig.send_message('set_device_pixel_ratio', {\n", + " device_pixel_ratio: fig.ratio,\n", + " });\n", + " }\n", + " fig.send_message('refresh', {});\n", + " };\n", + "\n", + " this.imageObj.onload = function () {\n", + " if (fig.image_mode === 'full') {\n", + " // Full images could contain transparency (where diff images\n", + " // almost always do), so we need to clear the canvas so that\n", + " // there is no ghosting.\n", + " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", + " }\n", + " fig.context.drawImage(fig.imageObj, 0, 0);\n", + " };\n", + "\n", + " this.imageObj.onunload = function () {\n", + " fig.ws.close();\n", + " };\n", + "\n", + " this.ws.onmessage = this._make_on_message_function(this);\n", + "\n", + " this.ondownload = ondownload;\n", + "};\n", + "\n", + "mpl.figure.prototype._init_header = function () {\n", + " var titlebar = document.createElement('div');\n", + " titlebar.classList =\n", + " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", + " var titletext = document.createElement('div');\n", + " titletext.classList = 'ui-dialog-title';\n", + " titletext.setAttribute(\n", + " 'style',\n", + " 'width: 100%; text-align: center; padding: 3px;'\n", + " );\n", + " titlebar.appendChild(titletext);\n", + " this.root.appendChild(titlebar);\n", + " this.header = titletext;\n", + "};\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", + "\n", + "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", + "\n", + "mpl.figure.prototype._init_canvas = function () {\n", + " var fig = this;\n", + "\n", + " var canvas_div = (this.canvas_div = document.createElement('div'));\n", + " canvas_div.setAttribute(\n", + " 'style',\n", + " 'border: 1px solid #ddd;' +\n", + " 'box-sizing: content-box;' +\n", + " 'clear: both;' +\n", + " 'min-height: 1px;' +\n", + " 'min-width: 1px;' +\n", + " 'outline: 0;' +\n", + " 'overflow: hidden;' +\n", + " 'position: relative;' +\n", + " 'resize: both;'\n", + " );\n", + "\n", + " function on_keyboard_event_closure(name) {\n", + " return function (event) {\n", + " return fig.key_event(event, name);\n", + " };\n", + " }\n", + "\n", + " canvas_div.addEventListener(\n", + " 'keydown',\n", + " on_keyboard_event_closure('key_press')\n", + " );\n", + " canvas_div.addEventListener(\n", + " 'keyup',\n", + " on_keyboard_event_closure('key_release')\n", + " );\n", + "\n", + " this._canvas_extra_style(canvas_div);\n", + " this.root.appendChild(canvas_div);\n", + "\n", + " var canvas = (this.canvas = document.createElement('canvas'));\n", + " canvas.classList.add('mpl-canvas');\n", + " canvas.setAttribute('style', 'box-sizing: content-box;');\n", + "\n", + " this.context = canvas.getContext('2d');\n", + "\n", + " var backingStore =\n", + " this.context.backingStorePixelRatio ||\n", + " this.context.webkitBackingStorePixelRatio ||\n", + " this.context.mozBackingStorePixelRatio ||\n", + " this.context.msBackingStorePixelRatio ||\n", + " this.context.oBackingStorePixelRatio ||\n", + " this.context.backingStorePixelRatio ||\n", + " 1;\n", + "\n", + " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", + "\n", + " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", + " 'canvas'\n", + " ));\n", + " rubberband_canvas.setAttribute(\n", + " 'style',\n", + " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n", + " );\n", + "\n", + " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", + " if (this.ResizeObserver === undefined) {\n", + " if (window.ResizeObserver !== undefined) {\n", + " this.ResizeObserver = window.ResizeObserver;\n", + " } else {\n", + " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", + " this.ResizeObserver = obs.ResizeObserver;\n", + " }\n", + " }\n", + "\n", + " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", + " var nentries = entries.length;\n", + " for (var i = 0; i < nentries; i++) {\n", + " var entry = entries[i];\n", + " var width, height;\n", + " if (entry.contentBoxSize) {\n", + " if (entry.contentBoxSize instanceof Array) {\n", + " // Chrome 84 implements new version of spec.\n", + " width = entry.contentBoxSize[0].inlineSize;\n", + " height = entry.contentBoxSize[0].blockSize;\n", + " } else {\n", + " // Firefox implements old version of spec.\n", + " width = entry.contentBoxSize.inlineSize;\n", + " height = entry.contentBoxSize.blockSize;\n", + " }\n", + " } else {\n", + " // Chrome <84 implements even older version of spec.\n", + " width = entry.contentRect.width;\n", + " height = entry.contentRect.height;\n", + " }\n", + "\n", + " // Keep the size of the canvas and rubber band canvas in sync with\n", + " // the canvas container.\n", + " if (entry.devicePixelContentBoxSize) {\n", + " // Chrome 84 implements new version of spec.\n", + " canvas.setAttribute(\n", + " 'width',\n", + " entry.devicePixelContentBoxSize[0].inlineSize\n", + " );\n", + " canvas.setAttribute(\n", + " 'height',\n", + " entry.devicePixelContentBoxSize[0].blockSize\n", + " );\n", + " } else {\n", + " canvas.setAttribute('width', width * fig.ratio);\n", + " canvas.setAttribute('height', height * fig.ratio);\n", + " }\n", + " canvas.setAttribute(\n", + " 'style',\n", + " 'width: ' + width + 'px; height: ' + height + 'px;'\n", + " );\n", + "\n", + " rubberband_canvas.setAttribute('width', width);\n", + " rubberband_canvas.setAttribute('height', height);\n", + "\n", + " // And update the size in Python. We ignore the initial 0/0 size\n", + " // that occurs as the element is placed into the DOM, which should\n", + " // otherwise not happen due to the minimum size styling.\n", + " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", + " fig.request_resize(width, height);\n", + " }\n", + " }\n", + " });\n", + " this.resizeObserverInstance.observe(canvas_div);\n", + "\n", + " function on_mouse_event_closure(name) {\n", + " return function (event) {\n", + " return fig.mouse_event(event, name);\n", + " };\n", + " }\n", + "\n", + " rubberband_canvas.addEventListener(\n", + " 'mousedown',\n", + " on_mouse_event_closure('button_press')\n", + " );\n", + " rubberband_canvas.addEventListener(\n", + " 'mouseup',\n", + " on_mouse_event_closure('button_release')\n", + " );\n", + " rubberband_canvas.addEventListener(\n", + " 'dblclick',\n", + " on_mouse_event_closure('dblclick')\n", + " );\n", + " // Throttle sequential mouse events to 1 every 20ms.\n", + " rubberband_canvas.addEventListener(\n", + " 'mousemove',\n", + " on_mouse_event_closure('motion_notify')\n", + " );\n", + "\n", + " rubberband_canvas.addEventListener(\n", + " 'mouseenter',\n", + " on_mouse_event_closure('figure_enter')\n", + " );\n", + " rubberband_canvas.addEventListener(\n", + " 'mouseleave',\n", + " on_mouse_event_closure('figure_leave')\n", + " );\n", + "\n", + " canvas_div.addEventListener('wheel', function (event) {\n", + " if (event.deltaY < 0) {\n", + " event.step = 1;\n", + " } else {\n", + " event.step = -1;\n", + " }\n", + " on_mouse_event_closure('scroll')(event);\n", + " });\n", + "\n", + " canvas_div.appendChild(canvas);\n", + " canvas_div.appendChild(rubberband_canvas);\n", + "\n", + " this.rubberband_context = rubberband_canvas.getContext('2d');\n", + " this.rubberband_context.strokeStyle = '#000000';\n", + "\n", + " this._resize_canvas = function (width, height, forward) {\n", + " if (forward) {\n", + " canvas_div.style.width = width + 'px';\n", + " canvas_div.style.height = height + 'px';\n", + " }\n", + " };\n", + "\n", + " // Disable right mouse context menu.\n", + " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n", + " event.preventDefault();\n", + " return false;\n", + " });\n", + "\n", + " function set_focus() {\n", + " canvas.focus();\n", + " canvas_div.focus();\n", + " }\n", + "\n", + " window.setTimeout(set_focus, 100);\n", + "};\n", + "\n", + "mpl.figure.prototype._init_toolbar = function () {\n", + " var fig = this;\n", + "\n", + " var toolbar = document.createElement('div');\n", + " toolbar.classList = 'mpl-toolbar';\n", + " this.root.appendChild(toolbar);\n", + "\n", + " function on_click_closure(name) {\n", + " return function (_event) {\n", + " return fig.toolbar_button_onclick(name);\n", + " };\n", + " }\n", + "\n", + " function on_mouseover_closure(tooltip) {\n", + " return function (event) {\n", + " if (!event.currentTarget.disabled) {\n", + " return fig.toolbar_button_onmouseover(tooltip);\n", + " }\n", + " };\n", + " }\n", + "\n", + " fig.buttons = {};\n", + " var buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'mpl-button-group';\n", + " for (var toolbar_ind in mpl.toolbar_items) {\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) {\n", + " /* Instead of a spacer, we start a new button group. */\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + " buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'mpl-button-group';\n", + " continue;\n", + " }\n", + "\n", + " var button = (fig.buttons[name] = document.createElement('button'));\n", + " button.classList = 'mpl-widget';\n", + " button.setAttribute('role', 'button');\n", + " button.setAttribute('aria-disabled', 'false');\n", + " button.addEventListener('click', on_click_closure(method_name));\n", + " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", + "\n", + " var icon_img = document.createElement('img');\n", + " icon_img.src = '_images/' + image + '.png';\n", + " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", + " icon_img.alt = tooltip;\n", + " button.appendChild(icon_img);\n", + "\n", + " buttonGroup.appendChild(button);\n", + " }\n", + "\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + "\n", + " var fmt_picker = document.createElement('select');\n", + " fmt_picker.classList = 'mpl-widget';\n", + " toolbar.appendChild(fmt_picker);\n", + " this.format_dropdown = fmt_picker;\n", + "\n", + " for (var ind in mpl.extensions) {\n", + " var fmt = mpl.extensions[ind];\n", + " var option = document.createElement('option');\n", + " option.selected = fmt === mpl.default_extension;\n", + " option.innerHTML = fmt;\n", + " fmt_picker.appendChild(option);\n", + " }\n", + "\n", + " var status_bar = document.createElement('span');\n", + " status_bar.classList = 'mpl-message';\n", + " toolbar.appendChild(status_bar);\n", + " this.message = status_bar;\n", + "};\n", + "\n", + "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", + " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", + " // which will in turn request a refresh of the image.\n", + " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", + "};\n", + "\n", + "mpl.figure.prototype.send_message = function (type, properties) {\n", + " properties['type'] = type;\n", + " properties['figure_id'] = this.id;\n", + " this.ws.send(JSON.stringify(properties));\n", + "};\n", + "\n", + "mpl.figure.prototype.send_draw_message = function () {\n", + " if (!this.waiting) {\n", + " this.waiting = true;\n", + " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", + " var format_dropdown = fig.format_dropdown;\n", + " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", + " fig.ondownload(fig, format);\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", + " var size = msg['size'];\n", + " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", + " fig._resize_canvas(size[0], size[1], msg['forward']);\n", + " fig.send_message('refresh', {});\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", + " var x0 = msg['x0'] / fig.ratio;\n", + " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", + " var x1 = msg['x1'] / fig.ratio;\n", + " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", + " x0 = Math.floor(x0) + 0.5;\n", + " y0 = Math.floor(y0) + 0.5;\n", + " x1 = Math.floor(x1) + 0.5;\n", + " y1 = Math.floor(y1) + 0.5;\n", + " var min_x = Math.min(x0, x1);\n", + " var min_y = Math.min(y0, y1);\n", + " var width = Math.abs(x1 - x0);\n", + " var height = Math.abs(y1 - y0);\n", + "\n", + " fig.rubberband_context.clearRect(\n", + " 0,\n", + " 0,\n", + " fig.canvas.width / fig.ratio,\n", + " fig.canvas.height / fig.ratio\n", + " );\n", + "\n", + " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", + " // Updates the figure title.\n", + " fig.header.textContent = msg['label'];\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", + " fig.rubberband_canvas.style.cursor = msg['cursor'];\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_message = function (fig, msg) {\n", + " fig.message.textContent = msg['message'];\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n", + " // Request the server to send over a new figure.\n", + " fig.send_draw_message();\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n", + " fig.image_mode = msg['mode'];\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n", + " for (var key in msg) {\n", + " if (!(key in fig.buttons)) {\n", + " continue;\n", + " }\n", + " fig.buttons[key].disabled = !msg[key];\n", + " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", + " if (msg['mode'] === 'PAN') {\n", + " fig.buttons['Pan'].classList.add('active');\n", + " fig.buttons['Zoom'].classList.remove('active');\n", + " } else if (msg['mode'] === 'ZOOM') {\n", + " fig.buttons['Pan'].classList.remove('active');\n", + " fig.buttons['Zoom'].classList.add('active');\n", + " } else {\n", + " fig.buttons['Pan'].classList.remove('active');\n", + " fig.buttons['Zoom'].classList.remove('active');\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function () {\n", + " // Called whenever the canvas gets updated.\n", + " this.send_message('ack', {});\n", + "};\n", + "\n", + "// A function to construct a web socket function for onmessage handling.\n", + "// Called in the figure constructor.\n", + "mpl.figure.prototype._make_on_message_function = function (fig) {\n", + " return function socket_on_message(evt) {\n", + " if (evt.data instanceof Blob) {\n", + " var img = evt.data;\n", + " if (img.type !== 'image/png') {\n", + " /* FIXME: We get \"Resource interpreted as Image but\n", + " * transferred with MIME type text/plain:\" errors on\n", + " * Chrome. But how to set the MIME type? It doesn't seem\n", + " * to be part of the websocket stream */\n", + " img.type = 'image/png';\n", + " }\n", + "\n", + " /* Free the memory for the previous frames */\n", + " if (fig.imageObj.src) {\n", + " (window.URL || window.webkitURL).revokeObjectURL(\n", + " fig.imageObj.src\n", + " );\n", + " }\n", + "\n", + " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", + " img\n", + " );\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " } else if (\n", + " typeof evt.data === 'string' &&\n", + " evt.data.slice(0, 21) === 'data:image/png;base64'\n", + " ) {\n", + " fig.imageObj.src = evt.data;\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " }\n", + "\n", + " var msg = JSON.parse(evt.data);\n", + " var msg_type = msg['type'];\n", + "\n", + " // Call the \"handle_{type}\" callback, which takes\n", + " // the figure and JSON message as its only arguments.\n", + " try {\n", + " var callback = fig['handle_' + msg_type];\n", + " } catch (e) {\n", + " console.log(\n", + " \"No handler for the '\" + msg_type + \"' message type: \",\n", + " msg\n", + " );\n", + " return;\n", + " }\n", + "\n", + " if (callback) {\n", + " try {\n", + " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", + " callback(fig, msg);\n", + " } catch (e) {\n", + " console.log(\n", + " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", + " e,\n", + " e.stack,\n", + " msg\n", + " );\n", + " }\n", + " }\n", + " };\n", + "};\n", + "\n", + "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", + "mpl.findpos = function (e) {\n", + " //this section is from http://www.quirksmode.org/js/events_properties.html\n", + " var targ;\n", + " if (!e) {\n", + " e = window.event;\n", + " }\n", + " if (e.target) {\n", + " targ = e.target;\n", + " } else if (e.srcElement) {\n", + " targ = e.srcElement;\n", + " }\n", + " if (targ.nodeType === 3) {\n", + " // defeat Safari bug\n", + " targ = targ.parentNode;\n", + " }\n", + "\n", + " // pageX,Y are the mouse positions relative to the document\n", + " var boundingRect = targ.getBoundingClientRect();\n", + " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n", + " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n", + "\n", + " return { x: x, y: y };\n", + "};\n", + "\n", + "/*\n", + " * return a copy of an object with only non-object keys\n", + " * we need this to avoid circular references\n", + " * https://stackoverflow.com/a/24161582/3208463\n", + " */\n", + "function simpleKeys(original) {\n", + " return Object.keys(original).reduce(function (obj, key) {\n", + " if (typeof original[key] !== 'object') {\n", + " obj[key] = original[key];\n", + " }\n", + " return obj;\n", + " }, {});\n", + "}\n", + "\n", + "mpl.figure.prototype.mouse_event = function (event, name) {\n", + " var canvas_pos = mpl.findpos(event);\n", + "\n", + " if (name === 'button_press') {\n", + " this.canvas.focus();\n", + " this.canvas_div.focus();\n", + " }\n", + "\n", + " var x = canvas_pos.x * this.ratio;\n", + " var y = canvas_pos.y * this.ratio;\n", + "\n", + " this.send_message(name, {\n", + " x: x,\n", + " y: y,\n", + " button: event.button,\n", + " step: event.step,\n", + " guiEvent: simpleKeys(event),\n", + " });\n", + "\n", + " /* This prevents the web browser from automatically changing to\n", + " * the text insertion cursor when the button is pressed. We want\n", + " * to control all of the cursor setting manually through the\n", + " * 'cursor' event from matplotlib */\n", + " event.preventDefault();\n", + " return false;\n", + "};\n", + "\n", + "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", + " // Handle any extra behaviour associated with a key event\n", + "};\n", + "\n", + "mpl.figure.prototype.key_event = function (event, name) {\n", + " // Prevent repeat events\n", + " if (name === 'key_press') {\n", + " if (event.key === this._key) {\n", + " return;\n", + " } else {\n", + " this._key = event.key;\n", + " }\n", + " }\n", + " if (name === 'key_release') {\n", + " this._key = null;\n", + " }\n", + "\n", + " var value = '';\n", + " if (event.ctrlKey && event.key !== 'Control') {\n", + " value += 'ctrl+';\n", + " }\n", + " else if (event.altKey && event.key !== 'Alt') {\n", + " value += 'alt+';\n", + " }\n", + " else if (event.shiftKey && event.key !== 'Shift') {\n", + " value += 'shift+';\n", + " }\n", + "\n", + " value += 'k' + event.key;\n", + "\n", + " this._key_event_extra(event, name);\n", + "\n", + " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n", + " return false;\n", + "};\n", + "\n", + "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", + " if (name === 'download') {\n", + " this.handle_save(this, null);\n", + " } else {\n", + " this.send_message('toolbar_button', { name: name });\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", + " this.message.textContent = tooltip;\n", + "};\n", + "\n", + "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", + "// prettier-ignore\n", + "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", + "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n", + "\n", + "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n", + "\n", + "mpl.default_extension = \"png\";/* global mpl */\n", + "\n", + "var comm_websocket_adapter = function (comm) {\n", + " // Create a \"websocket\"-like object which calls the given IPython comm\n", + " // object with the appropriate methods. Currently this is a non binary\n", + " // socket, so there is still some room for performance tuning.\n", + " var ws = {};\n", + "\n", + " ws.binaryType = comm.kernel.ws.binaryType;\n", + " ws.readyState = comm.kernel.ws.readyState;\n", + " function updateReadyState(_event) {\n", + " if (comm.kernel.ws) {\n", + " ws.readyState = comm.kernel.ws.readyState;\n", + " } else {\n", + " ws.readyState = 3; // Closed state.\n", + " }\n", + " }\n", + " comm.kernel.ws.addEventListener('open', updateReadyState);\n", + " comm.kernel.ws.addEventListener('close', updateReadyState);\n", + " comm.kernel.ws.addEventListener('error', updateReadyState);\n", + "\n", + " ws.close = function () {\n", + " comm.close();\n", + " };\n", + " ws.send = function (m) {\n", + " //console.log('sending', m);\n", + " comm.send(m);\n", + " };\n", + " // Register the callback with on_msg.\n", + " comm.on_msg(function (msg) {\n", + " //console.log('receiving', msg['content']['data'], msg);\n", + " var data = msg['content']['data'];\n", + " if (data['blob'] !== undefined) {\n", + " data = {\n", + " data: new Blob(msg['buffers'], { type: data['blob'] }),\n", + " };\n", + " }\n", + " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", + " ws.onmessage(data);\n", + " });\n", + " return ws;\n", + "};\n", + "\n", + "mpl.mpl_figure_comm = function (comm, msg) {\n", + " // This is the function which gets called when the mpl process\n", + " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", + "\n", + " var id = msg.content.data.id;\n", + " // Get hold of the div created by the display call when the Comm\n", + " // socket was opened in Python.\n", + " var element = document.getElementById(id);\n", + " var ws_proxy = comm_websocket_adapter(comm);\n", + "\n", + " function ondownload(figure, _format) {\n", + " window.open(figure.canvas.toDataURL());\n", + " }\n", + "\n", + " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", + "\n", + " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", + " // web socket which is closed, not our websocket->open comm proxy.\n", + " ws_proxy.onopen();\n", + "\n", + " fig.parent_element = element;\n", + " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n", + " if (!fig.cell_info) {\n", + " console.error('Failed to find cell for figure', id, fig);\n", + " return;\n", + " }\n", + " fig.cell_info[0].output_area.element.on(\n", + " 'cleared',\n", + " { fig: fig },\n", + " fig._remove_fig_handler\n", + " );\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_close = function (fig, msg) {\n", + " var width = fig.canvas.width / fig.ratio;\n", + " fig.cell_info[0].output_area.element.off(\n", + " 'cleared',\n", + " fig._remove_fig_handler\n", + " );\n", + " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", + "\n", + " // Update the output cell to use the data from the current canvas.\n", + " fig.push_to_output();\n", + " var dataURL = fig.canvas.toDataURL();\n", + " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", + " // the notebook keyboard shortcuts fail.\n", + " IPython.keyboard_manager.enable();\n", + " fig.parent_element.innerHTML =\n", + " '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", + " fig.close_ws(fig, msg);\n", + "};\n", + "\n", + "mpl.figure.prototype.close_ws = function (fig, msg) {\n", + " fig.send_message('closing', msg);\n", + " // fig.ws.close()\n", + "};\n", + "\n", + "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", + " // Turn the data on the canvas into data in the output cell.\n", + " var width = this.canvas.width / this.ratio;\n", + " var dataURL = this.canvas.toDataURL();\n", + " this.cell_info[1]['text/html'] =\n", + " '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", + "};\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function () {\n", + " // Tell IPython that the notebook contents must change.\n", + " IPython.notebook.set_dirty(true);\n", + " this.send_message('ack', {});\n", + " var fig = this;\n", + " // Wait a second, then push the new image to the DOM so\n", + " // that it is saved nicely (might be nice to debounce this).\n", + " setTimeout(function () {\n", + " fig.push_to_output();\n", + " }, 1000);\n", + "};\n", + "\n", + "mpl.figure.prototype._init_toolbar = function () {\n", + " var fig = this;\n", + "\n", + " var toolbar = document.createElement('div');\n", + " toolbar.classList = 'btn-toolbar';\n", + " this.root.appendChild(toolbar);\n", + "\n", + " function on_click_closure(name) {\n", + " return function (_event) {\n", + " return fig.toolbar_button_onclick(name);\n", + " };\n", + " }\n", + "\n", + " function on_mouseover_closure(tooltip) {\n", + " return function (event) {\n", + " if (!event.currentTarget.disabled) {\n", + " return fig.toolbar_button_onmouseover(tooltip);\n", + " }\n", + " };\n", + " }\n", + "\n", + " fig.buttons = {};\n", + " var buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'btn-group';\n", + " var button;\n", + " for (var toolbar_ind in mpl.toolbar_items) {\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) {\n", + " /* Instead of a spacer, we start a new button group. */\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + " buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'btn-group';\n", + " continue;\n", + " }\n", + "\n", + " button = fig.buttons[name] = document.createElement('button');\n", + " button.classList = 'btn btn-default';\n", + " button.href = '#';\n", + " button.title = name;\n", + " button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n", + " button.addEventListener('click', on_click_closure(method_name));\n", + " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", + " buttonGroup.appendChild(button);\n", + " }\n", + "\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + "\n", + " // Add the status bar.\n", + " var status_bar = document.createElement('span');\n", + " status_bar.classList = 'mpl-message pull-right';\n", + " toolbar.appendChild(status_bar);\n", + " this.message = status_bar;\n", + "\n", + " // Add the close button to the window.\n", + " var buttongrp = document.createElement('div');\n", + " buttongrp.classList = 'btn-group inline pull-right';\n", + " button = document.createElement('button');\n", + " button.classList = 'btn btn-mini btn-primary';\n", + " button.href = '#';\n", + " button.title = 'Stop Interaction';\n", + " button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n", + " button.addEventListener('click', function (_evt) {\n", + " fig.handle_close(fig, {});\n", + " });\n", + " button.addEventListener(\n", + " 'mouseover',\n", + " on_mouseover_closure('Stop Interaction')\n", + " );\n", + " buttongrp.appendChild(button);\n", + " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", + " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", + "};\n", + "\n", + "mpl.figure.prototype._remove_fig_handler = function (event) {\n", + " var fig = event.data.fig;\n", + " if (event.target !== this) {\n", + " // Ignore bubbled events from children.\n", + " return;\n", + " }\n", + " fig.close_ws(fig, {});\n", + "};\n", + "\n", + "mpl.figure.prototype._root_extra_style = function (el) {\n", + " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", + "};\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function (el) {\n", + " // this is important to make the div 'focusable\n", + " el.setAttribute('tabindex', 0);\n", + " // reach out to IPython and tell the keyboard manager to turn it's self\n", + " // off when our div gets focus\n", + "\n", + " // location in version 3\n", + " if (IPython.notebook.keyboard_manager) {\n", + " IPython.notebook.keyboard_manager.register_events(el);\n", + " } else {\n", + " // location in version 2\n", + " IPython.keyboard_manager.register_events(el);\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", + " // Check for shift+enter\n", + " if (event.shiftKey && event.which === 13) {\n", + " this.canvas_div.blur();\n", + " // select the cell after this one\n", + " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", + " IPython.notebook.select(index + 1);\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", + " fig.ondownload(fig, null);\n", + "};\n", + "\n", + "mpl.find_output_cell = function (html_output) {\n", + " // Return the cell and output element which can be found *uniquely* in the notebook.\n", + " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", + " // IPython event is triggered only after the cells have been serialised, which for\n", + " // our purposes (turning an active figure into a static one), is too late.\n", + " var cells = IPython.notebook.get_cells();\n", + " var ncells = cells.length;\n", + " for (var i = 0; i < ncells; i++) {\n", + " var cell = cells[i];\n", + " if (cell.cell_type === 'code') {\n", + " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", + " var data = cell.output_area.outputs[j];\n", + " if (data.data) {\n", + " // IPython >= 3 moved mimebundle to data attribute of output\n", + " data = data.data;\n", + " }\n", + " if (data['text/html'] === html_output) {\n", + " return [cell, data, j];\n", + " }\n", + " }\n", + " }\n", + " }\n", + "};\n", + "\n", + "// Register the function which deals with the matplotlib target/channel.\n", + "// The kernel may be null if the page has been refreshed.\n", + "if (IPython.notebook.kernel !== null) {\n", + " IPython.notebook.kernel.comm_manager.register_target(\n", + " 'matplotlib',\n", + " mpl.mpl_figure_comm\n", + " );\n", + "}\n" + ], + "text/plain": [ + "<IPython.core.display.Javascript object>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAK8CAYAAAAXo9vkAAAAAXNSR0IArs4c6QAAIABJREFUeF7s3QeYVdXZ9//fadNnqNIFlKIUGyCgYq9RYzcaS9RofCzRKLbYe4HYW4wtidFo4pvYIooFFZRiAUFEROkgRRCYPnPae61F5oQRcMrac+aU774u/s/zl33utfdn3e/7rpu111q+Pn36xMWFAAIIIIAAAggggAACCCRBwEcBkgRlmkAAAQQQQAABBBBAAAErQAFCIiCAAAIIIIAAAggggEDSBChAkkZNQwgggAACCCCAAAIIIEABQg4ggAACCCCAAAIIIIBA0gQoQJJGTUMIIIAAAggggAACCCBAAUIOIIAAAggggAACCCCAQNIEKECSRk1DCCCAAAIIIIAAAgggQAFCDiCAAAIIIIAAAggggEDSBChAkkZNQwgggAACCCCAAAIIIEABQg4ggAACCCCAAAIIIIBA0gQoQJJGTUMIIIAAAggggAACCCBAAUIOIIAAAggggAACCCCAQNIEKECSRk1DCCCAAAIIIIAAAgggQAFCDiCAAAIIIIAAAggggEDSBChAkkZNQwgggAACCCCAAAIIIEABQg4ggAACCCCAAAIIIIBA0gQoQJJGTUMIIIAAAggggAACCCBAAUIOIIAAAggggAACCCCAQNIEKECSRk1DCCCAAAIIIIAAAgggQAFCDiCAAAIIIIAAAggggEDSBChAkkZNQwgggAACCCCAAAIIIEABQg4ggAACCCCAAAIIIIBA0gQoQJJGTUMIIIAAAggggAACCCBAAUIOIIAAAggggAACCCCAQNIEKECSRk1DCCCAAAIIIIAAAgggQAFCDiCAAAIIIIAAAggggEDSBChAkkZNQwgggAACCCCAAAIIIEABQg4ggAACCCCAAAIIIIBA0gQoQJJGTUMIIIAAAggggAACCCBAAUIOIIAAAggggAACCCCAQNIEKECSRk1DCCCAAAIIIIAAAgggQAFCDiCAAAIIIIAAAggggEDSBChAkkZNQwgggAACCCCAAAIIIEABQg4ggAACCCCAAAIIIIBA0gQoQJJGTUMIIIAAAggggAACCCBAAUIOIIAAAggggAACCCCAQNIEKECSRk1DCCCAAAIIIIAAAgggQAFCDiCAAAIIIIAAAggggEDSBChAkkZNQwgggAACCCCAAAIIIEABQg4ggAACCCCAAAIIIIBA0gQoQJJGTUMIIIAAAggggAACCCBAAUIOIIAAAggggAACCCCAQNIEKECSRk1DCCCAAAIIIIAAAgggQAFCDiCAAAIIIIAAAggggEDSBChAkkZNQwgggAACCCCAAAIIIEABQg4ggAACCCCAAAIIIIBA0gQoQJJGTUMIIIAAAggggAACCCBAAUIOIIAAAggggAACCCCAQNIEKECSRk1DCCCAAAIIIIAAAgggQAFCDiCAAAIIIIAAAggggEDSBChAkkZNQwgggAACCCCAAAIIIEABQg4ggAACCCCAAAIIIIBA0gQoQJJGTUMIIIAAAggggAACCCBAAUIOIIAAAggggAACCCCAQNIEKECSRk1DCCCAAAIIIIAAAgggQAFCDiCAAAIIIIAAAggggEDSBChAkkZNQwgggAACCCCAAAIIIEABQg4ggAACCCCAAAIIIIBA0gQoQJJGTUMIIIAAAggggAACCCBAAUIOIIAAAggggAACCCCAQNIEKECSRk1DCCCAAAIIIIAAAgggQAFCDiCAAAIIIIAAAggggEDSBChAkkZNQwgggAACCCCAAAIIIEABQg4ggAACCCCAAAIIIIBA0gQoQJJGTUMIIIAAAggggAACCCBAAUIOIIAAAggggAACCCCAQNIEKECSRk1DCCCAAAIIIIAAAgggQAFCDiCAAAIIIIAAAggggEDSBChAkkZNQwgggAACCCCAAAIIIEABQg4ggAACCCCAAAIIIIBA0gQoQJJGTUMIIIAAAggggAACCCBAAUIOIIAAAggggAACCCCAQNIEKECSRk1DCCCAAAIIIIAAAgggQAFCDiCAAAIIIIAAAggggEDSBChAkkZNQwgggAACCCCAAAIIIEABQg4ggAACCCCAAAIIIIBA0gQoQJJGTUMIIIAAAggggAACCCBAAUIOIIAAAggggAACCCCAQNIEKECSRk1DCCCAAAIIIIAAAgggQAFCDiCAAAIIIIAAAggggEDSBChAkkZNQwgggAACCCCAAAIIIEABQg4ggAACCCCAAAIIIIBA0gQoQJJG3XBD55xzjr0pFos1fDN3IIAAAggggAACCCRdwO/32zaffPLJpLedKQ1SgKRQT1KApFBn8CgIIIAAAggggMAWBChA3NOCAsTd0LMIv/71r22sp59+2rOYBEIAAQQQQAABBBDw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3UBCJ8+alhBAIIsF/CEVDbtQOV2HKh6PqeLzJyk+sjgdeHUEmirAeK2pYpvfTwHibuhZBBLaM0oCIYAAAlsUMKebF424VKGOAxSP1qr800cUXmm22uVCAAEEGifAeK1xTj91FwWIu6FnEUhozygJhAACCGwm4MspVvEeVyrYtrfi4SqVTbtXkbVzkUIAAQSaJMB4rUlcW/7HoD59+sTdwxDBCwES2gtFYiCAAAJbFija/WLldNtdseoNKpv6B0U3LIYKAQQQaLIA47Umk23+D0IUIO6IXkUgob2SJA4CCCBQXyDUaSc7+2F2uyr94AZFS5dAhAACCDRLgPFas9jq/YhPsNwNPYtAQntGSSAEEEDgfwL+kNrsf4cCRV1U/e0bqvzy7+gggAACzRZgvNZsusQPKUDcDT2LQEJ7RkkgBBBAICGQ1/9oFQw4QbHqdVr/7pVSpBodBBBAoNkCjNeaTUcB4k7nfQQS2ntTIiKAQHYL+PM7qs2BY+QL5Ngdr2qXT81uEN4eAQScBRivORMq5WZAdtxxRx155JHq3r27ampqNG/ePL300ktat25d4m2HDx+uQw45RJ06dVJZWZmmTJmicePGKRaLJe7x+/064ogjNHLkSBUXF2v16tUaP368Pvnkk3pqJSUlOu644zRw4EDl5uZq4cKF+ve//60lS+p/H9y7d28dc8wx6tWrl6LRqL744gt7n2nfq4uE9kqSOAgggMBGgaLhl9jzPsLfz1HZ5DthQQABBJwFGK85E6ZWAdK3b19deumltuh45513lJ+fr6OPPtq+5e23367q6mrtueee+tWvfqX33nvPFgHbbbedDj/8cFuEPPvsswmRM888U0OGDNErr7yiFStWaMSIEfbP008/rY8//tjeFwqFdO211yoQCOjVV19VOBzWYYcdpi5duujOO+/UqlWr7H2mGLriiitscTJhwgRb0JhixBQf5r5IJOLeE5JIaE8YCYIAAghs/L/jO++q4pGXKR6LaMP71ypW9h0yCCCAgLMA4zVnwtQqQM466yzttNNOuuqqq2wxYC5TlFx++eX685//rM8++8wO+L/66itbSNRdBx10kJ3FuPnmm23R0LNnT11zzTW2IPnwww8T951//vmJv4vH4/rx78yNZhbklltusUXQU089ZX97wQUXqFu3brrxxhvt7Ie56tp47rnnNGnSJPee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v4Nqv/tE5Z88RPGRXSnA2yKAAAItJsB4zZ22XgEycuRInXjiiYk1H5uGX7dunZ599llbiHC1jAAJ3TKuRM02AZ+K97hSoU6DFS37Thsm3ihFqrMNgfdFAAEEEGghAcZr7rCJAsTMelxwwQV24fn777+vRYsWacOGDSooKND222+v/fffX7m5ubrnnnu0ePFi95aJsJkACU1SIOAukL/j8crf4RjFIzUqnXijomXL3YMSAQEEEEAAgf8KMF5zT4VEAWJON+/UqZPuuusurV27drPI5u+uuuoqLViwQI888oh7y0SgACEHEPBYINR5FxWPvNxGLf/0UdUun+JxC4RDAAEEEMh2AQoQ9wxIFCD333+/3eXKnAGyteu0006z2/Redtll7i0TgQKEHEDAQwF/fke77sOfU6TqBW+r8otnPIxOKAQQQAABBDYKUIC4Z0KiALnzzjs1e/ZsPffccz9ZgOy00052JoTLewES2ntTImaJgD+kkr2vU7Dt9oqsm6/SD2+TYpEseXleEwEEEEAgmQKM19y1EwXI4YcfrkMPPVT33nvvFtd4dO7c2RYeEydO1Msvv+zeMhGYASEHEPBIoGCXXyuv9/6K1ZSp9IPrFava/DNSj5oiDAIIIIBAlgtQgLgnQKIAGTBggI455hh1795dn3zyib755ht7GnpOTo569eqlvffeWz6fT2+++aYikfr/svjee++5PwkRmNIjBxBohkBuz31VuNs5isdjKpsyVpHvv2xGFH6CAAIIIIBA4wQoQBrn9FN3JQqQRx99tNnRzO5ZXl3dunWzhVDfvn1tyCVLluiVV16xZ5HUXQcccID23XdftW/fXj/88IM++OADTZgwod4jmPNMTJxdd93V7uRlTnN/7bXXNttG2MzsHHfccbY9v9+vr7/+Wv/617/0/fff14s3cOBAHXnkkbZAM6fDf/bZZ/a5ampqvHp1ChDPJAmULQKBttupZNR18gVyVDnnn6r+5rVseXXeEwEEEECglQQoQNzhEwWIOQOkudfUqVOb+9N6v+vSpYv9zGvFihV2psVchx12mExRYtaorFq1Sj//+c/tf3vjjTfsjlyDBg3SgQceaIsB89/qrtGjR9vfvfTSSyotLbUFi5nlMYvtzeyOudq0aaNrrrnGbjc8btw4BYNBHXXUUXbW59Zbb1VFRYW9zxQfF154oaZPn64p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UZ9evXpJamqqfPfdd/Lyyy/L2rVra5zXtWtXOfHEE2WXXXaRyspKWbZsmTlP7+/yoEG71Ix+rISMHaTNUVMlGKySLW+OkGBZYfQLRQkQQAABBBBAwEqA/poVn7m4OgG555575N1335V//OMf9lEtI+y0004yZswYkxSEJiAHH3ywnHPOOTJ37lyTBHTr1k2OO+44k4Q888wz1XfVkZwDDjhAXn31VbOwvn///ubPY489Jh9++KE5Lzk5WcaOHSuJiYny2muvSXl5uRxzzDHSvn1786JFnYamR6dOneSqq64yycnbb79tEhpNRjT50PNcbldMg7ZsODF2eVr3YyRjr7Ok/KcVUrCIl3fGWPVQHAQQQAABBJolQH+tWWw1LqoxAvLNN9/Ic889Zx/VIoImBNdcc41kZmaaN7J7CYi+mV07/F988YVJJLxD16zoKMZNN91kkoYuXbqY5EUTknfeeaf6vIsvvrj633QdS+3r9ERNeCZMmGBGXB599FFzrU4369ixo+gIkY5+6OHd49lnn5WFCxdaPG3NS2nQzihjIlD2wOslud0esnXZ01K6alZMlIlCIIAAAggggICdAP01Oz+9ujoBGThwoJxyyilyxx13yPr16+0jNzOClmG//fYz06rOPffc6gSkR48eMnr0aLNL19KlS6uj6zSqKVOmmClRs2bNMiMiv//97+Xyyy+X4uLi6vP69Okj559/vtx2223mRYuXXXaZefHiLbfcUqOkZ555pug0L71ep3LdeeedJsl48cUXa5ynL27Uhfr33XdfM5+07mU0aGeUUQ9kXj549L0SCCTIllmXSVXxz1EvEwVAAAEEEEAAAXsB+mv2htUJSN++feWoo44y3/Z/++23Zt1EWVlZnTvo6EGkXlbYs2dPueSSS0wSpOtRLrjgguoExFsToiMR3vQor3B33XWXfPrpp/LUU0/JX/7yF9l9993NKEro4Y1a6HtO3n//fZk8eXKNkQ7vXB0ZOfXUU80oik7T0pGV+kY6vJGR66+/3r4W/huBBu2MMuqBUnc5TDL3+4tUbFkl+fPHR708FAABBBBAAAEE3AjQX7N3rE5AHnjggbCjRWIXLJ1yNW7cOLMO5fXXXzdrOEITkKOPPlpOOukkufrqqyU/P79GWXVUY9WqVWZ74JEjR5qpWzpCEXroonWdXvX888/LvHnz5N577zVr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\" width=\"800\">" + ], + "text/plain": [ + "<IPython.core.display.HTML object>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "Text(0, 0.5, 'Amplitude Response [pm]')" + ] + }, + "execution_count": 213, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "plt.plot(frequenciesHz, amps)\n", + "#plt.semilogy(frequenciesHz, cosportion)\n", + "#plt.semilogy(frequenciesHz, sinportion)\n", + "plt.xlabel(\"Frequency [Hz]\")\n", + "plt.ylabel(\"Amplitude Response [pm]\")" + ] + }, + { + "cell_type": "code", + "execution_count": 214, + "id": "1cd5dc38", + "metadata": {}, + "outputs": [ + { + "data": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "/* global mpl */\n", + "window.mpl = {};\n", + "\n", + "mpl.get_websocket_type = function () {\n", + " if (typeof WebSocket !== 'undefined') {\n", + " return WebSocket;\n", + " } else if (typeof MozWebSocket !== 'undefined') {\n", + " return MozWebSocket;\n", + " } else {\n", + " alert(\n", + " 'Your browser does not have WebSocket support. ' +\n", + " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", + " 'Firefox 4 and 5 are also supported but you ' +\n", + " 'have to enable WebSockets in about:config.'\n", + " );\n", + " }\n", + "};\n", + "\n", + "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", + " this.id = figure_id;\n", + "\n", + " this.ws = websocket;\n", + "\n", + " this.supports_binary = this.ws.binaryType !== undefined;\n", + "\n", + " if (!this.supports_binary) {\n", + " var warnings = document.getElementById('mpl-warnings');\n", + " if (warnings) {\n", + " warnings.style.display = 'block';\n", + " warnings.textContent =\n", + " 'This browser does not support binary websocket messages. ' +\n", + " 'Performance may be slow.';\n", + " }\n", + " }\n", + "\n", + " this.imageObj = new Image();\n", + "\n", + " this.context = undefined;\n", + " this.message = undefined;\n", + " this.canvas = undefined;\n", + " this.rubberband_canvas = undefined;\n", + " this.rubberband_context = undefined;\n", + " this.format_dropdown = undefined;\n", + "\n", + " this.image_mode = 'full';\n", + "\n", + " this.root = document.createElement('div');\n", + " this.root.setAttribute('style', 'display: inline-block');\n", + " this._root_extra_style(this.root);\n", + "\n", + " parent_element.appendChild(this.root);\n", + "\n", + " this._init_header(this);\n", + " this._init_canvas(this);\n", + " this._init_toolbar(this);\n", + "\n", + " var fig = this;\n", + "\n", + " this.waiting = false;\n", + "\n", + " this.ws.onopen = function () {\n", + " fig.send_message('supports_binary', { value: fig.supports_binary });\n", + " fig.send_message('send_image_mode', {});\n", + " if (fig.ratio !== 1) {\n", + " fig.send_message('set_device_pixel_ratio', {\n", + " device_pixel_ratio: fig.ratio,\n", + " });\n", + " }\n", + " fig.send_message('refresh', {});\n", + " };\n", + "\n", + " this.imageObj.onload = function () {\n", + " if (fig.image_mode === 'full') {\n", + " // Full images could contain transparency (where diff images\n", + " // almost always do), so we need to clear the canvas so that\n", + " // there is no ghosting.\n", + " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", + " }\n", + " fig.context.drawImage(fig.imageObj, 0, 0);\n", + " };\n", + "\n", + " this.imageObj.onunload = function () {\n", + " fig.ws.close();\n", + " };\n", + "\n", + " this.ws.onmessage = this._make_on_message_function(this);\n", + "\n", + " this.ondownload = ondownload;\n", + "};\n", + "\n", + "mpl.figure.prototype._init_header = function () {\n", + " var titlebar = document.createElement('div');\n", + " titlebar.classList =\n", + " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", + " var titletext = document.createElement('div');\n", + " titletext.classList = 'ui-dialog-title';\n", + " titletext.setAttribute(\n", + " 'style',\n", + " 'width: 100%; text-align: center; padding: 3px;'\n", + " );\n", + " titlebar.appendChild(titletext);\n", + " this.root.appendChild(titlebar);\n", + " this.header = titletext;\n", + "};\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", + "\n", + "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", + "\n", + "mpl.figure.prototype._init_canvas = function () {\n", + " var fig = this;\n", + "\n", + " var canvas_div = (this.canvas_div = document.createElement('div'));\n", + " canvas_div.setAttribute(\n", + " 'style',\n", + " 'border: 1px solid #ddd;' +\n", + " 'box-sizing: content-box;' +\n", + " 'clear: both;' +\n", + " 'min-height: 1px;' +\n", + " 'min-width: 1px;' +\n", + " 'outline: 0;' +\n", + " 'overflow: hidden;' +\n", + " 'position: relative;' +\n", + " 'resize: both;'\n", + " );\n", + "\n", + " function on_keyboard_event_closure(name) {\n", + " return function (event) {\n", + " return fig.key_event(event, name);\n", + " };\n", + " }\n", + "\n", + " canvas_div.addEventListener(\n", + " 'keydown',\n", + " on_keyboard_event_closure('key_press')\n", + " );\n", + " canvas_div.addEventListener(\n", + " 'keyup',\n", + " on_keyboard_event_closure('key_release')\n", + " );\n", + "\n", + " this._canvas_extra_style(canvas_div);\n", + " this.root.appendChild(canvas_div);\n", + "\n", + " var canvas = (this.canvas = document.createElement('canvas'));\n", + " canvas.classList.add('mpl-canvas');\n", + " canvas.setAttribute('style', 'box-sizing: content-box;');\n", + "\n", + " this.context = canvas.getContext('2d');\n", + "\n", + " var backingStore =\n", + " this.context.backingStorePixelRatio ||\n", + " this.context.webkitBackingStorePixelRatio ||\n", + " this.context.mozBackingStorePixelRatio ||\n", + " this.context.msBackingStorePixelRatio ||\n", + " this.context.oBackingStorePixelRatio ||\n", + " this.context.backingStorePixelRatio ||\n", + " 1;\n", + "\n", + " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", + "\n", + " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", + " 'canvas'\n", + " ));\n", + " rubberband_canvas.setAttribute(\n", + " 'style',\n", + " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n", + " );\n", + "\n", + " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", + " if (this.ResizeObserver === undefined) {\n", + " if (window.ResizeObserver !== undefined) {\n", + " this.ResizeObserver = window.ResizeObserver;\n", + " } else {\n", + " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", + " this.ResizeObserver = obs.ResizeObserver;\n", + " }\n", + " }\n", + "\n", + " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", + " var nentries = entries.length;\n", + " for (var i = 0; i < nentries; i++) {\n", + " var entry = entries[i];\n", + " var width, height;\n", + " if (entry.contentBoxSize) {\n", + " if (entry.contentBoxSize instanceof Array) {\n", + " // Chrome 84 implements new version of spec.\n", + " width = entry.contentBoxSize[0].inlineSize;\n", + " height = entry.contentBoxSize[0].blockSize;\n", + " } else {\n", + " // Firefox implements old version of spec.\n", + " width = entry.contentBoxSize.inlineSize;\n", + " height = entry.contentBoxSize.blockSize;\n", + " }\n", + " } else {\n", + " // Chrome <84 implements even older version of spec.\n", + " width = entry.contentRect.width;\n", + " height = entry.contentRect.height;\n", + " }\n", + "\n", + " // Keep the size of the canvas and rubber band canvas in sync with\n", + " // the canvas container.\n", + " if (entry.devicePixelContentBoxSize) {\n", + " // Chrome 84 implements new version of spec.\n", + " canvas.setAttribute(\n", + " 'width',\n", + " entry.devicePixelContentBoxSize[0].inlineSize\n", + " );\n", + " canvas.setAttribute(\n", + " 'height',\n", + " entry.devicePixelContentBoxSize[0].blockSize\n", + " );\n", + " } else {\n", + " canvas.setAttribute('width', width * fig.ratio);\n", + " canvas.setAttribute('height', height * fig.ratio);\n", + " }\n", + " canvas.setAttribute(\n", + " 'style',\n", + " 'width: ' + width + 'px; height: ' + height + 'px;'\n", + " );\n", + "\n", + " rubberband_canvas.setAttribute('width', width);\n", + " rubberband_canvas.setAttribute('height', height);\n", + "\n", + " // And update the size in Python. We ignore the initial 0/0 size\n", + " // that occurs as the element is placed into the DOM, which should\n", + " // otherwise not happen due to the minimum size styling.\n", + " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", + " fig.request_resize(width, height);\n", + " }\n", + " }\n", + " });\n", + " this.resizeObserverInstance.observe(canvas_div);\n", + "\n", + " function on_mouse_event_closure(name) {\n", + " return function (event) {\n", + " return fig.mouse_event(event, name);\n", + " };\n", + " }\n", + "\n", + " rubberband_canvas.addEventListener(\n", + " 'mousedown',\n", + " on_mouse_event_closure('button_press')\n", + " );\n", + " rubberband_canvas.addEventListener(\n", + " 'mouseup',\n", + " on_mouse_event_closure('button_release')\n", + " );\n", + " rubberband_canvas.addEventListener(\n", + " 'dblclick',\n", + " on_mouse_event_closure('dblclick')\n", + " );\n", + " // Throttle sequential mouse events to 1 every 20ms.\n", + " rubberband_canvas.addEventListener(\n", + " 'mousemove',\n", + " on_mouse_event_closure('motion_notify')\n", + " );\n", + "\n", + " rubberband_canvas.addEventListener(\n", + " 'mouseenter',\n", + " on_mouse_event_closure('figure_enter')\n", + " );\n", + " rubberband_canvas.addEventListener(\n", + " 'mouseleave',\n", + " on_mouse_event_closure('figure_leave')\n", + " );\n", + "\n", + " canvas_div.addEventListener('wheel', function (event) {\n", + " if (event.deltaY < 0) {\n", + " event.step = 1;\n", + " } else {\n", + " event.step = -1;\n", + " }\n", + " on_mouse_event_closure('scroll')(event);\n", + " });\n", + "\n", + " canvas_div.appendChild(canvas);\n", + " canvas_div.appendChild(rubberband_canvas);\n", + "\n", + " this.rubberband_context = rubberband_canvas.getContext('2d');\n", + " this.rubberband_context.strokeStyle = '#000000';\n", + "\n", + " this._resize_canvas = function (width, height, forward) {\n", + " if (forward) {\n", + " canvas_div.style.width = width + 'px';\n", + " canvas_div.style.height = height + 'px';\n", + " }\n", + " };\n", + "\n", + " // Disable right mouse context menu.\n", + " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n", + " event.preventDefault();\n", + " return false;\n", + " });\n", + "\n", + " function set_focus() {\n", + " canvas.focus();\n", + " canvas_div.focus();\n", + " }\n", + "\n", + " window.setTimeout(set_focus, 100);\n", + "};\n", + "\n", + "mpl.figure.prototype._init_toolbar = function () {\n", + " var fig = this;\n", + "\n", + " var toolbar = document.createElement('div');\n", + " toolbar.classList = 'mpl-toolbar';\n", + " this.root.appendChild(toolbar);\n", + "\n", + " function on_click_closure(name) {\n", + " return function (_event) {\n", + " return fig.toolbar_button_onclick(name);\n", + " };\n", + " }\n", + "\n", + " function on_mouseover_closure(tooltip) {\n", + " return function (event) {\n", + " if (!event.currentTarget.disabled) {\n", + " return fig.toolbar_button_onmouseover(tooltip);\n", + " }\n", + " };\n", + " }\n", + "\n", + " fig.buttons = {};\n", + " var buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'mpl-button-group';\n", + " for (var toolbar_ind in mpl.toolbar_items) {\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) {\n", + " /* Instead of a spacer, we start a new button group. */\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + " buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'mpl-button-group';\n", + " continue;\n", + " }\n", + "\n", + " var button = (fig.buttons[name] = document.createElement('button'));\n", + " button.classList = 'mpl-widget';\n", + " button.setAttribute('role', 'button');\n", + " button.setAttribute('aria-disabled', 'false');\n", + " button.addEventListener('click', on_click_closure(method_name));\n", + " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", + "\n", + " var icon_img = document.createElement('img');\n", + " icon_img.src = '_images/' + image + '.png';\n", + " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", + " icon_img.alt = tooltip;\n", + " button.appendChild(icon_img);\n", + "\n", + " buttonGroup.appendChild(button);\n", + " }\n", + "\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + "\n", + " var fmt_picker = document.createElement('select');\n", + " fmt_picker.classList = 'mpl-widget';\n", + " toolbar.appendChild(fmt_picker);\n", + " this.format_dropdown = fmt_picker;\n", + "\n", + " for (var ind in mpl.extensions) {\n", + " var fmt = mpl.extensions[ind];\n", + " var option = document.createElement('option');\n", + " option.selected = fmt === mpl.default_extension;\n", + " option.innerHTML = fmt;\n", + " fmt_picker.appendChild(option);\n", + " }\n", + "\n", + " var status_bar = document.createElement('span');\n", + " status_bar.classList = 'mpl-message';\n", + " toolbar.appendChild(status_bar);\n", + " this.message = status_bar;\n", + "};\n", + "\n", + "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", + " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", + " // which will in turn request a refresh of the image.\n", + " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", + "};\n", + "\n", + "mpl.figure.prototype.send_message = function (type, properties) {\n", + " properties['type'] = type;\n", + " properties['figure_id'] = this.id;\n", + " this.ws.send(JSON.stringify(properties));\n", + "};\n", + "\n", + "mpl.figure.prototype.send_draw_message = function () {\n", + " if (!this.waiting) {\n", + " this.waiting = true;\n", + " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", + " var format_dropdown = fig.format_dropdown;\n", + " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", + " fig.ondownload(fig, format);\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", + " var size = msg['size'];\n", + " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", + " fig._resize_canvas(size[0], size[1], msg['forward']);\n", + " fig.send_message('refresh', {});\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", + " var x0 = msg['x0'] / fig.ratio;\n", + " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", + " var x1 = msg['x1'] / fig.ratio;\n", + " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", + " x0 = Math.floor(x0) + 0.5;\n", + " y0 = Math.floor(y0) + 0.5;\n", + " x1 = Math.floor(x1) + 0.5;\n", + " y1 = Math.floor(y1) + 0.5;\n", + " var min_x = Math.min(x0, x1);\n", + " var min_y = Math.min(y0, y1);\n", + " var width = Math.abs(x1 - x0);\n", + " var height = Math.abs(y1 - y0);\n", + "\n", + " fig.rubberband_context.clearRect(\n", + " 0,\n", + " 0,\n", + " fig.canvas.width / fig.ratio,\n", + " fig.canvas.height / fig.ratio\n", + " );\n", + "\n", + " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", + " // Updates the figure title.\n", + " fig.header.textContent = msg['label'];\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", + " fig.rubberband_canvas.style.cursor = msg['cursor'];\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_message = function (fig, msg) {\n", + " fig.message.textContent = msg['message'];\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n", + " // Request the server to send over a new figure.\n", + " fig.send_draw_message();\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n", + " fig.image_mode = msg['mode'];\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n", + " for (var key in msg) {\n", + " if (!(key in fig.buttons)) {\n", + " continue;\n", + " }\n", + " fig.buttons[key].disabled = !msg[key];\n", + " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", + " if (msg['mode'] === 'PAN') {\n", + " fig.buttons['Pan'].classList.add('active');\n", + " fig.buttons['Zoom'].classList.remove('active');\n", + " } else if (msg['mode'] === 'ZOOM') {\n", + " fig.buttons['Pan'].classList.remove('active');\n", + " fig.buttons['Zoom'].classList.add('active');\n", + " } else {\n", + " fig.buttons['Pan'].classList.remove('active');\n", + " fig.buttons['Zoom'].classList.remove('active');\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function () {\n", + " // Called whenever the canvas gets updated.\n", + " this.send_message('ack', {});\n", + "};\n", + "\n", + "// A function to construct a web socket function for onmessage handling.\n", + "// Called in the figure constructor.\n", + "mpl.figure.prototype._make_on_message_function = function (fig) {\n", + " return function socket_on_message(evt) {\n", + " if (evt.data instanceof Blob) {\n", + " var img = evt.data;\n", + " if (img.type !== 'image/png') {\n", + " /* FIXME: We get \"Resource interpreted as Image but\n", + " * transferred with MIME type text/plain:\" errors on\n", + " * Chrome. But how to set the MIME type? It doesn't seem\n", + " * to be part of the websocket stream */\n", + " img.type = 'image/png';\n", + " }\n", + "\n", + " /* Free the memory for the previous frames */\n", + " if (fig.imageObj.src) {\n", + " (window.URL || window.webkitURL).revokeObjectURL(\n", + " fig.imageObj.src\n", + " );\n", + " }\n", + "\n", + " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", + " img\n", + " );\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " } else if (\n", + " typeof evt.data === 'string' &&\n", + " evt.data.slice(0, 21) === 'data:image/png;base64'\n", + " ) {\n", + " fig.imageObj.src = evt.data;\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " }\n", + "\n", + " var msg = JSON.parse(evt.data);\n", + " var msg_type = msg['type'];\n", + "\n", + " // Call the \"handle_{type}\" callback, which takes\n", + " // the figure and JSON message as its only arguments.\n", + " try {\n", + " var callback = fig['handle_' + msg_type];\n", + " } catch (e) {\n", + " console.log(\n", + " \"No handler for the '\" + msg_type + \"' message type: \",\n", + " msg\n", + " );\n", + " return;\n", + " }\n", + "\n", + " if (callback) {\n", + " try {\n", + " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", + " callback(fig, msg);\n", + " } catch (e) {\n", + " console.log(\n", + " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", + " e,\n", + " e.stack,\n", + " msg\n", + " );\n", + " }\n", + " }\n", + " };\n", + "};\n", + "\n", + "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", + "mpl.findpos = function (e) {\n", + " //this section is from http://www.quirksmode.org/js/events_properties.html\n", + " var targ;\n", + " if (!e) {\n", + " e = window.event;\n", + " }\n", + " if (e.target) {\n", + " targ = e.target;\n", + " } else if (e.srcElement) {\n", + " targ = e.srcElement;\n", + " }\n", + " if (targ.nodeType === 3) {\n", + " // defeat Safari bug\n", + " targ = targ.parentNode;\n", + " }\n", + "\n", + " // pageX,Y are the mouse positions relative to the document\n", + " var boundingRect = targ.getBoundingClientRect();\n", + " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n", + " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n", + "\n", + " return { x: x, y: y };\n", + "};\n", + "\n", + "/*\n", + " * return a copy of an object with only non-object keys\n", + " * we need this to avoid circular references\n", + " * https://stackoverflow.com/a/24161582/3208463\n", + " */\n", + "function simpleKeys(original) {\n", + " return Object.keys(original).reduce(function (obj, key) {\n", + " if (typeof original[key] !== 'object') {\n", + " obj[key] = original[key];\n", + " }\n", + " return obj;\n", + " }, {});\n", + "}\n", + "\n", + "mpl.figure.prototype.mouse_event = function (event, name) {\n", + " var canvas_pos = mpl.findpos(event);\n", + "\n", + " if (name === 'button_press') {\n", + " this.canvas.focus();\n", + " this.canvas_div.focus();\n", + " }\n", + "\n", + " var x = canvas_pos.x * this.ratio;\n", + " var y = canvas_pos.y * this.ratio;\n", + "\n", + " this.send_message(name, {\n", + " x: x,\n", + " y: y,\n", + " button: event.button,\n", + " step: event.step,\n", + " guiEvent: simpleKeys(event),\n", + " });\n", + "\n", + " /* This prevents the web browser from automatically changing to\n", + " * the text insertion cursor when the button is pressed. We want\n", + " * to control all of the cursor setting manually through the\n", + " * 'cursor' event from matplotlib */\n", + " event.preventDefault();\n", + " return false;\n", + "};\n", + "\n", + "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", + " // Handle any extra behaviour associated with a key event\n", + "};\n", + "\n", + "mpl.figure.prototype.key_event = function (event, name) {\n", + " // Prevent repeat events\n", + " if (name === 'key_press') {\n", + " if (event.key === this._key) {\n", + " return;\n", + " } else {\n", + " this._key = event.key;\n", + " }\n", + " }\n", + " if (name === 'key_release') {\n", + " this._key = null;\n", + " }\n", + "\n", + " var value = '';\n", + " if (event.ctrlKey && event.key !== 'Control') {\n", + " value += 'ctrl+';\n", + " }\n", + " else if (event.altKey && event.key !== 'Alt') {\n", + " value += 'alt+';\n", + " }\n", + " else if (event.shiftKey && event.key !== 'Shift') {\n", + " value += 'shift+';\n", + " }\n", + "\n", + " value += 'k' + event.key;\n", + "\n", + " this._key_event_extra(event, name);\n", + "\n", + " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n", + " return false;\n", + "};\n", + "\n", + "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", + " if (name === 'download') {\n", + " this.handle_save(this, null);\n", + " } else {\n", + " this.send_message('toolbar_button', { name: name });\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", + " this.message.textContent = tooltip;\n", + "};\n", + "\n", + "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", + "// prettier-ignore\n", + "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", + "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n", + "\n", + "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n", + "\n", + "mpl.default_extension = \"png\";/* global mpl */\n", + "\n", + "var comm_websocket_adapter = function (comm) {\n", + " // Create a \"websocket\"-like object which calls the given IPython comm\n", + " // object with the appropriate methods. Currently this is a non binary\n", + " // socket, so there is still some room for performance tuning.\n", + " var ws = {};\n", + "\n", + " ws.binaryType = comm.kernel.ws.binaryType;\n", + " ws.readyState = comm.kernel.ws.readyState;\n", + " function updateReadyState(_event) {\n", + " if (comm.kernel.ws) {\n", + " ws.readyState = comm.kernel.ws.readyState;\n", + " } else {\n", + " ws.readyState = 3; // Closed state.\n", + " }\n", + " }\n", + " comm.kernel.ws.addEventListener('open', updateReadyState);\n", + " comm.kernel.ws.addEventListener('close', updateReadyState);\n", + " comm.kernel.ws.addEventListener('error', updateReadyState);\n", + "\n", + " ws.close = function () {\n", + " comm.close();\n", + " };\n", + " ws.send = function (m) {\n", + " //console.log('sending', m);\n", + " comm.send(m);\n", + " };\n", + " // Register the callback with on_msg.\n", + " comm.on_msg(function (msg) {\n", + " //console.log('receiving', msg['content']['data'], msg);\n", + " var data = msg['content']['data'];\n", + " if (data['blob'] !== undefined) {\n", + " data = {\n", + " data: new Blob(msg['buffers'], { type: data['blob'] }),\n", + " };\n", + " }\n", + " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", + " ws.onmessage(data);\n", + " });\n", + " return ws;\n", + "};\n", + "\n", + "mpl.mpl_figure_comm = function (comm, msg) {\n", + " // This is the function which gets called when the mpl process\n", + " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", + "\n", + " var id = msg.content.data.id;\n", + " // Get hold of the div created by the display call when the Comm\n", + " // socket was opened in Python.\n", + " var element = document.getElementById(id);\n", + " var ws_proxy = comm_websocket_adapter(comm);\n", + "\n", + " function ondownload(figure, _format) {\n", + " window.open(figure.canvas.toDataURL());\n", + " }\n", + "\n", + " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", + "\n", + " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", + " // web socket which is closed, not our websocket->open comm proxy.\n", + " ws_proxy.onopen();\n", + "\n", + " fig.parent_element = element;\n", + " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n", + " if (!fig.cell_info) {\n", + " console.error('Failed to find cell for figure', id, fig);\n", + " return;\n", + " }\n", + " fig.cell_info[0].output_area.element.on(\n", + " 'cleared',\n", + " { fig: fig },\n", + " fig._remove_fig_handler\n", + " );\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_close = function (fig, msg) {\n", + " var width = fig.canvas.width / fig.ratio;\n", + " fig.cell_info[0].output_area.element.off(\n", + " 'cleared',\n", + " fig._remove_fig_handler\n", + " );\n", + " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", + "\n", + " // Update the output cell to use the data from the current canvas.\n", + " fig.push_to_output();\n", + " var dataURL = fig.canvas.toDataURL();\n", + " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", + " // the notebook keyboard shortcuts fail.\n", + " IPython.keyboard_manager.enable();\n", + " fig.parent_element.innerHTML =\n", + " '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", + " fig.close_ws(fig, msg);\n", + "};\n", + "\n", + "mpl.figure.prototype.close_ws = function (fig, msg) {\n", + " fig.send_message('closing', msg);\n", + " // fig.ws.close()\n", + "};\n", + "\n", + "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", + " // Turn the data on the canvas into data in the output cell.\n", + " var width = this.canvas.width / this.ratio;\n", + " var dataURL = this.canvas.toDataURL();\n", + " this.cell_info[1]['text/html'] =\n", + " '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", + "};\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function () {\n", + " // Tell IPython that the notebook contents must change.\n", + " IPython.notebook.set_dirty(true);\n", + " this.send_message('ack', {});\n", + " var fig = this;\n", + " // Wait a second, then push the new image to the DOM so\n", + " // that it is saved nicely (might be nice to debounce this).\n", + " setTimeout(function () {\n", + " fig.push_to_output();\n", + " }, 1000);\n", + "};\n", + "\n", + "mpl.figure.prototype._init_toolbar = function () {\n", + " var fig = this;\n", + "\n", + " var toolbar = document.createElement('div');\n", + " toolbar.classList = 'btn-toolbar';\n", + " this.root.appendChild(toolbar);\n", + "\n", + " function on_click_closure(name) {\n", + " return function (_event) {\n", + " return fig.toolbar_button_onclick(name);\n", + " };\n", + " }\n", + "\n", + " function on_mouseover_closure(tooltip) {\n", + " return function (event) {\n", + " if (!event.currentTarget.disabled) {\n", + " return fig.toolbar_button_onmouseover(tooltip);\n", + " }\n", + " };\n", + " }\n", + "\n", + " fig.buttons = {};\n", + " var buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'btn-group';\n", + " var button;\n", + " for (var toolbar_ind in mpl.toolbar_items) {\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) {\n", + " /* Instead of a spacer, we start a new button group. */\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + " buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'btn-group';\n", + " continue;\n", + " }\n", + "\n", + " button = fig.buttons[name] = document.createElement('button');\n", + " button.classList = 'btn btn-default';\n", + " button.href = '#';\n", + " button.title = name;\n", + " button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n", + " button.addEventListener('click', on_click_closure(method_name));\n", + " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", + " buttonGroup.appendChild(button);\n", + " }\n", + "\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + "\n", + " // Add the status bar.\n", + " var status_bar = document.createElement('span');\n", + " status_bar.classList = 'mpl-message pull-right';\n", + " toolbar.appendChild(status_bar);\n", + " this.message = status_bar;\n", + "\n", + " // Add the close button to the window.\n", + " var buttongrp = document.createElement('div');\n", + " buttongrp.classList = 'btn-group inline pull-right';\n", + " button = document.createElement('button');\n", + " button.classList = 'btn btn-mini btn-primary';\n", + " button.href = '#';\n", + " button.title = 'Stop Interaction';\n", + " button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n", + " button.addEventListener('click', function (_evt) {\n", + " fig.handle_close(fig, {});\n", + " });\n", + " button.addEventListener(\n", + " 'mouseover',\n", + " on_mouseover_closure('Stop Interaction')\n", + " );\n", + " buttongrp.appendChild(button);\n", + " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", + " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", + "};\n", + "\n", + "mpl.figure.prototype._remove_fig_handler = function (event) {\n", + " var fig = event.data.fig;\n", + " if (event.target !== this) {\n", + " // Ignore bubbled events from children.\n", + " return;\n", + " }\n", + " fig.close_ws(fig, {});\n", + "};\n", + "\n", + "mpl.figure.prototype._root_extra_style = function (el) {\n", + " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", + "};\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function (el) {\n", + " // this is important to make the div 'focusable\n", + " el.setAttribute('tabindex', 0);\n", + " // reach out to IPython and tell the keyboard manager to turn it's self\n", + " // off when our div gets focus\n", + "\n", + " // location in version 3\n", + " if (IPython.notebook.keyboard_manager) {\n", + " IPython.notebook.keyboard_manager.register_events(el);\n", + " } else {\n", + " // location in version 2\n", + " IPython.keyboard_manager.register_events(el);\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", + " // Check for shift+enter\n", + " if (event.shiftKey && event.which === 13) {\n", + " this.canvas_div.blur();\n", + " // select the cell after this one\n", + " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", + " IPython.notebook.select(index + 1);\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", + " fig.ondownload(fig, null);\n", + "};\n", + "\n", + "mpl.find_output_cell = function (html_output) {\n", + " // Return the cell and output element which can be found *uniquely* in the notebook.\n", + " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", + " // IPython event is triggered only after the cells have been serialised, which for\n", + " // our purposes (turning an active figure into a static one), is too late.\n", + " var cells = IPython.notebook.get_cells();\n", + " var ncells = cells.length;\n", + " for (var i = 0; i < ncells; i++) {\n", + " var cell = cells[i];\n", + " if (cell.cell_type === 'code') {\n", + " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", + " var data = cell.output_area.outputs[j];\n", + " if (data.data) {\n", + " // IPython >= 3 moved mimebundle to data attribute of output\n", + " data = data.data;\n", + " }\n", + " if (data['text/html'] === html_output) {\n", + " return [cell, data, j];\n", + " }\n", + " }\n", + " }\n", + " }\n", + "};\n", + "\n", + "// Register the function which deals with the matplotlib target/channel.\n", + "// The kernel may be null if the page has been refreshed.\n", + "if (IPython.notebook.kernel !== null) {\n", + " IPython.notebook.kernel.comm_manager.register_target(\n", + " 'matplotlib',\n", + " mpl.mpl_figure_comm\n", + " );\n", + "}\n" + ], + "text/plain": [ + "<IPython.core.display.Javascript object>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "<img src=\"data:image/png;base64,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X//619K6dWu55JJLUjQLdk7WDU0ACVZKBkYAAQQQQACBRAWs12spMnoHkCuuuEK23nprufrqq2Xt2rWbvAVr4MCBsnDhQrnppptSNAt2TtYNTQAJVkoGRgABBBBAAIFEBazXaykyegeQ/fffX7p16ybvvvuujB8/XvT/Pu6446RHjx7SvHlzd/uVvo73nnvukZdffjlFs2DnZN3QBJBgpWRgBBBAAAEEEEhUwHq9liKjdwBRhJNOOklOOOGEMh7r16+XqlWrur+bOnWqPPzwwwV5HXHEEe5Vv8OHD5f33nuvZKyDDz7Yvep3++23l6VLl7rnUSZNmiR6/Nym89BnU/Q5lPr168s333zj3ti1cSDSKzmdO3eWPffc0z08//HHH7tQNW/evDJz17d76SuGd955Z1m3bp3Mnj3b7afHL+Zm3dC5ALJ+/Qa576qvi3kqjIUAAggggAACCCQpYL1eSxGxQgFEIXQxfvjhh8tOO+0kderUkdWrV8v8+fNdICgdGCqC1rhxY+nbt68LBaUDiL7u96yzznIBR0PALrvsIieeeKI75v33319yqHPOOcddmZk4caJ8+eWX7nkU/TN27FiZNWuW269GjRrSr18/qVatmjz++OOyZs0aOf7446VJkyYydOhQ+frr/12QN2vWTPS2Mw0nU6ZMcYFGw4iGD91Pb0Mr1mbd0LkAovO/t99XxToNxkEAAQQQQAABBJIVsF6vpQhZ4QASCkMDQe/evd3X1Rs1alQSQKpXr+4W/G+//bYLErntl7/8pbuKoc+kaGjQQKThRQPJ9OnTS/a74IILSv5tw4YNsvHvdEcNPPp6YQ1Qd999t/utvl64adOmos+16NUP3XLHeOCBB+SFF14oGoV1QxNAilY6BkIAAQQQQACBSiJgvV5LkbXCAUQX63rVI7fpbUwtW7aU7777zl1l0CsKFdlOPfVU2Xfffd1tVWeffXZJANGxL7/8crn99tvljTfeKBlab6PS743oLVHPPPOMuyJy8skny6WXXiorV64s2e/AAw90z65cf/318sknn7g3dNWtW1euu+66MtPUDynqbV76e72VS187rCFj41vKBg0a5D7GOHr06Iqc5iZ/Y93QBJCilY6BEEAAAQQQQKCSCFiv11Jk9Q4guijXRXruOx8aQo488kg5/fTTS3z0tqc//elP7kOFPtvPfvYz+eMf/+h+26BBAznvvPNKAkjumRC9EpG7PSo3tr4a+NVXX5X77rtPzj33XNGvtetVlNJb7qrFvffeKzNmzJAbbrihzJWO3L56ZaRLly7uKorepqVXVjZ1pSN3ZaR///4+p/ij+1o3dC6ALPpqjUy85buinQcDIYAAAggggAACqQpYr9dSdPQOIPrGq44dO8rnn38ut9xyiyxfvtxdgdBbpx588EHZbrvtpEOHDjJ58mR59NFH8zbTW66uuuoq+de//iVPPPGEe4ajdADR43bq1El69eolS5YsKTOuXtX46KOP5M4775QLL7zQ3bqlVyhKb/rQut5e9dBDD8lzzz3n5q7PjowbN67Mfm3atJHf/va3bl+9yqNBZsyYMfLKK6+U2U+bT6/66FUZn02v2GyzzTab/Ik+XK+3h5W+xcxnbN99CSC+YuyPAAIIIIAAApVdgABSeAd4BxD9//jrsxC66NfFsi7C9aqFLupzX0c///zz3cPbGijy3fQ3ujC/8cYb3RutNg4g+oC4PvxdXgC56KKLpGHDhuUGEL11Sj+o+GMBpHbt2u54xQwgGs70z6Y2vYqj567Hs9gIIBbKHAMBBBBAAAEEUhIggBReTe8AMmrUKPc2qAkTJrij63c/jjrqKHdFQR8Q102vkBxzzDGiYSCfTW+v0nH0eQx9Za5u++23n/z+9793z2DoQ+G6j976NWDAgJJ9cmPrLVh6hUIfPNfnPPR5kT59+pQ5dO4WrNybsPSqzTvvvPODqw25W7D09xpA9ErKxg+068B6C5a+MUvn47NxBcRHi30RQAABBBBAAIG4BAgghdfDO4Dowl0X+7mrHbpA1ysOPXv2LHnwXB8e33333d1zFPlsl112mXtuY3ObPtj+5z//WXQ/vXLx1ltvleyqV030eQ59SFxv+9KrC/oguj5EXvoh+YMOOsg9HzJkyBD57LPP3Fg1a9Z0V3JKb/rtkQMOOMCdjz7vMnLkSBe49CH30ps+G/LVV1+5h+KLtVk3NFdAilU5xkEAAQQQQACByiJgvV5L0dU7gOjbo/R5Cr1Vatddd3WLev0mR24hrh/t08X93Llz5Y477sjLTL/7oc9blN70gXR9va4+AP7hhx+6qx4aNPRY+iB5bsu9Tnfw4MHumx/6fZIrr7zSPZCut1jlNn0Nb+7f9NaxY4891t3SpUEid9VFA4mO8/7775fcBqVfeNf56X4bv4ZXb9+aNm1aXueYz07WDU0Ayacq7IMAAggggAACCPx/Aev1Wor23gFkjz32cLcf6UPnuuliXm+T+uCDD9wX0vVZDf04n77JauMvivsAbvwMiP726KOPdm/b0tfivvbaa6JhR794vvGHCPV5kr322ss9zK4Py+trdfWtXffcc4/MnDnTTUNvr9JnVKpUqeI+WLhq1So39x122MEFHQ0zuumtW/ociD7k/uyzz7rvk+jD8MuWLXO3jKXwIULeguXTmeyLAAIIIIAAApVZgABSePW9A4geUp+x0DCgm37sT6926KbPguhD6brwLyR86FibCiD6923btnXH1jdd6duwNHzoN0P04e3cpq/P1asbeiuVfutDr3A89dRTP3iTlY6h3x3RUKWbfh9En2359NNPy8jq7WH6XEvz5s1dUNHz1VuyNn4bV6HlsG5oroAUWjF+jwACCCCAAAKVTcB6vZaib4UCSIoQMZyTdUPnAsjCr9bI43wHJIYWYA4IIIAAAgggELmA9Xotco4KTa/oAUQf3NbblPbee293dYItfwHrhiaA5F8b9kQAAQQQQAABBFTAer2Worp3ANFnJvQZCH2rVP369d2boja36bMibPkLWDc0AST/2rAnAggggAACCCBAAClOD3gHkNyX0PXh6wULFrg3YukD2StXrnSv49XnL5YuXeqeuZg6dWpxZllJRiGAVJJCc5oIIIAAAgggkFkB6/VaZqF+ZOLeAUTfHKXf3rj22mtl8eLFcvHFF7uHsfUNU9WrV5euXbvK4YcfLvrBQv3QH1v+AtYNzRWQ/GvDnggggAACCCCAAFdAitMD3gFEP8w3a9Ys930O3fTtUK1bty756KDeoqVfB9erI7feemtxZllJRiGAVJJCc5oIIIAAAgggkFkB6/VaZqGKeQUk92Vw/XaGboceeqiceeaZ7svhehuWbqeddprsu+++0q9fvxTNgp2TdUNzBSRYKRkYAQQQQAABBBIVsF6vpcjofQVk4MCB8sUXX8hdd93lPHbbbTcXPoYPH+4+RqibfltDv9eht2ex5S9g3dAEkPxrw54IIIAAAggggIAKWK/XUlT3DiCdO3d2HxwcN26czJgxwz10PmzYMJk9e7bcfffdUqdOHbnyyivdhwEHDRqUolmwc7JuaAJIsFIyMAIIIIAAAggkKmC9XkuR0TuA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wAgggAACCCCQqID1ei1FRu8A0qpVK9GA8cILL8jjjz/uwkjprV27dtKxY0e5/fbb5a233vI223///eWXv/ylNGnSRNauXSvz5s1zx9H/zG369i09zvbbby9Lly6Vl156SSZNmiTr168v2UdvBWvfvr0ccsghLgx988038vTTT8vLL79cZk5bb721dO7cWfbcc0/3bRN9k5de3Sl9PP1BixYt5JRTThH9Evy6detk9uzZbj89frE264YmgBSrcoyDAAIIIIAAApVFwHq9lqKrdwA555xz3Kt3mzZt6j44qB8fXLx4sdSsWVN22mkn9yYs/ftvv/22jJc+LzJ06NAfNTzssMPcF9Y1UGhQ0DE1aOi4w4cPl48++khy+0ydOtWFgF122UVOPPFE95v777+/ZHydp4aZiRMnypdffin62mD9M3bsWJk1a5bbr0aNGtKvXz+pVq2aCzlr1qyR448/3oUfnevXX3/t9mvWrJlcccUVLpxMmTLFBRoNIxo+dD8NSsXYrBuaAFKMqjEGAggggAACCFQmAev1Woq23gHktttuq7BD9+7df/S3esuWhoVbbrmlZD+9KjFkyBD58MMP5a677nIL/rffftsFidymV0z0KsbVV1/tQoMGFn0QXgPJ9OnTS/a74IILSv5NA9HGv9Md9XjXXHONvPfee3L33Xe73+q8NXANHDjQXf3QLXeMBx54wF0NKsZm3dAEkGJUjTEQQAABBBBAoDIJWK/XUrT1DiChEPRqhF5V0IX/G2+8UeYwGiY0MDz88MNy+eWXu9u7Su+jt1ENGzbM3RL1zDPPuCsiJ598slx66aWycuXKkrEOPPBA6datm3uD1yeffCKXXHKJ+37Jxs+qnHHGGe4ji/p7vZXr5ptvdiFDj196GzRokHsN8ejRo4vCYt3QBJCilI1BEEAAAQQQQKASCViv11KkjSaAbA63cePGMmDAAPdxQw0Nv/nNb9yViNztUbnf6UPxr776qvsA4rnnniv6rErv3r3LDJu7anHvvfe68W644YYyVzpyO+uVEX2TlwYfDUZ6ZWVTVzpyV0b69+9flN6wbmgCSFHKxiAIIIAAAgggUIkErNdrKdJWKIDoNz70oe05c+Y4E32GQj9Q2LJlS/nuu+/cw95ffPFFwV61a9d2VyF22GEHdxuWfuCwU6dO0qtXL1myZEmZ8fWqhj4jcuedd7qH5Bs1aiR6haL0pg+t6+1VDz30kHuVsN7qpc+OjBs3rsx+bdq0kd/+9rduX70lS4PMmDFj5JVXXimznzagOuhVmXw3vVqT+2L8xr/R5130Sk/p28vyHbci+xFAKqLGbxBAAAEEEECgMgsQQAqvvncA0QewL7vsMtErE7ow1wex9ZYlXbTnNn0IXa8ufPXVVxWeoS7Se/To4Z690MW/fnldHxDX27TKCyAXXXSR6FfZywsgeuvUiy+++KMBREOQHq9YAaRDhw6ifza16RUcfZOXHstiI4BYKHMMBBBAAAEEEEhJgABSeDW9A8ivfvUradu2rTz//PMyYcIE94yEPn+hb8L605/+JNttt5388Y9/dG+oyj3E7TtNfeXt+eef764+6GI8d6VFj6thR2/J0tfqlt70Fiy9QqEPnutzHno1Rr9ZUnrL3YKVexOWzvudd975wRWH3C1Y+nsNIBpkNn6gXcfVW7D0jVk6n3w3roDkK8V+CCCAAAIIIIBAfAIEkMJr4h1Arr32Wnd7Ve5tWAcddJD87ne/kyeffNJ9i0O3M888U/bee+8fPIORz3T1QfGzzz7b3WKlx5g/f37Jz/S5Dr36olcuSn9jRK+W6BUXfUh88uTJ7gqDPoiut2/p1ZjcpnPV50P0dq7PPvvMjaWv+tXbt0pv+pzJAQccID179nQBa+TIke71uxt//V2fDdGrPPpQfDE264bmCkgxqsYYCCCAAAIIIFCZBKzXaynaegcQfW7i2Wefdd/X0E2/t6FvjNIA8Omnn7q/09ukjj76aNFboXw2fcbjvPPOcx8BvPXWW3/wkb/q1au74+jVFX2QPLflXqc7ePBg9xpf/VjglVde6R5I11uscpu+hjf3b/qsxbHHHuvmqkEid0VFA4mO8/7775fcCqW3guktZ7rfxq/h1edHpk2b5nOam93XuqEJIEUpG4MggAACCCCAQCUSsF6vpUjrHUD06sG7777rFvf6MLoGAv1P/VBfbtMFuz7wrW+rynerU6eO6NUVveKgt12tWLGizE//85//uKshGmxOP/1091rc1157zX2hXL94vvGHCPUWrr322kueeOIJ97FEDUn6VfR77rlHZs6c6cbW26uuuuoqN38NVPpVd33ORB961/PSMKOb3rqlz4HoQ+4avurVq+cehl+2bJl7hS8fIsy3yuyHAAIIIIAAAghkW4AAUnj9vAPI73//e7ewf/DBB93VhCOPPNJdZdBnJPSZDX1OQxfnelVA3zaV75b7Rsfm9tfwoVcmdNNjaBDRN13prVoaPvT2L32AO7flviuit1Lptz70CsdTTz31gzdZ6Rinnnqq7LHHHu6n+qpffbYldzUnN57e/tWxY0dp3ry5Cypz5851t2Rt/DaufM93U/tZNzRXQAqpFr9FAAEEEEAAgcooYL1eS9HYO4DoQ+b6bEWDBg2cx/Lly93XyRcuXCi5B9T143w33XRTURfnKeJvfE7WDU0AqQxdxTkigAACCCCAQDEFrNdrxZx7LGN5BxCduN6CpFcs9NYlfXVs7irAPvvs494KNX369DJfII/lZGOfh3VDE0Bi7wjmhwACCCCAAAKxCViv12I7/2LMp0IBpBgHZowfClg3NAGELkQAAQQQQAABBPwErNdrfrPLxt4VDiD6oLY+1L3jjju6KyL6Klt99a7+91mzZrkverP5CVg3NAHErz7sjQACCCCAAAIIWK/XUhSvUAA57rjj5OSTT3a3YOU2/Shf586dRV+J++abb8qdd95Z5qHwFPGKfU7WDU0AKXYFGQ8BBBBAAAEEUhewXq+l6OkdQPbbbz/RN2HpK2n1Fbd61eOYY45xXwX/yU9+4h5E1zdKPfLII+7jfWz5C1g3NAEk/9qwJwIIIIAAAgggoALW67UU1b0DiH7vo379+nLNNde471/oNzj0jwYQ3fSqiH5bQ/9Nv5HBlr+AdUMTQPKvDXsigAACCCCAAAIEkOL0gHcAGTFihPsI4KOPPupmsHEA0b/T72q0adPGva6XLX8BAkj+VuyJAAIIIIAAAghsCQHr9dqWOMfQx/QOIMOHD3cf8xs3btxmA8iZZ54p++67r/Ts2TP0/JMa37qhuQKSVPtwMggggAACCCBgIGC9XjM4JfNDeAeQiy++WJo2bSqDBg1y3/rY+AqI3p41cOBA+eyzz2TkyJHmJ5TlA1o3NAEky93C3BFAAAEEEEBgSwhYr9e2xDmGPqZ3ANl9991FQ8iXX37pHkLXB86POOII6d+/v7Ro0cK9HWv77beX0aNHy9y5c0PPP6nxrRuaAJJU+3AyCCCAAAIIIGAgYL1eMzgl80N4BxCd4eGHHy5du3aV6tWr/2DC+v2P8ePHy+TJk81PJusHtG5oAkjWO4b5I4AAAggggIC1gPV6zfr8LI5XoQCiE9t2222ldevWstNOO0mdOnVk9erVMn/+fJk5c6Z8++23FnNP7hjWDU0ASa6FOCEEEEAAAQQQCCxgvV4LfDpbZPgKB5DyZlu7dm1ZtWpVebvx76UErBuaAEL7IYAAAggggAACfgLW6zW/2WVjb68Aordc6Z/ygsWBBx4op512mvTu3TsbCpHM0rqhCSCRFJ5pIIAAAggggEBmBKzXa5mB8ZhoXgFk1113lc6dO4v+p27fffed/P3vf5cZM2aUOVSDBg3kjDPOkL322sv9fe7jhB7zqdS7Wjc0AaRStxsnjwACCCCAAAIVELBer1VgitH/pNwAom+20u95VKtWTdatW+devbvVVlu5E3vkkUdkypQp7r/rhwe7dOkiNWvWdFdIJk6cKM8//3z0ADFN0LqhCSAxVZ+5IIAAAggggEAWBKzXa1kw8Z1juQHkD3/4g/z85z+XSZMmuT/r1693D55369ZN6tWr526z0i+f/+IXv3DHfv311+Wvf/2rfP/9975zqfT7Wzc0AaTStxwACCCAAAIIIOApYL1e85xeJnYvN4AMHTpUFi5cKDfeeGOZE9p7773dLVb61it9G9bSpUvd19HfeOONTJx4jJO0bmgCSIxdwJwQQAABBBBAIGYB6/VazBYVnVu5AWTUqFEybdo0d7tV6U3fcjV8+HD3Vx988IHcddddLoSwVVzAuqEJIBWvFb9EAAEEEEAAgcopYL1eS1G53ABy2223yZNPPuluv9p4039btGiRDBo0SNasWZOij+k5WTc0AcS0vBwMAQQQQAABBBIQsF6vJUD2g1MoOIDoF88fffTRFG3Mz8m6oQkg5iXmgAgggAACCCCQcQHr9VrGuTY5/YIDyOaujqSIFfqcrBuaABK6ooyPAAIIIIAAAqkJWK/XUvPT8yGARFRV64YmgERUfKaCAAIIIIAAApkQsF6vZQLFc5J5BZD33ntP9M/GW4cOHdzfb+rfdN9NPTfiOb9Ktbt1QxNAKlV7cbIIIIAAAgggUAQB6/VaEaYc3RB5BZCKzpovofvJWTc0AcSvPuyNAAIIIIAAAghYr9dSFC83gBxyyCEVPu8ZM2ZU+LeV8YfWDU0AqYxdxjkjgAACCCCAQCEC1uu1QuYa62/LDSCxTjzFeVk3NAEkxS7inBBAAAEEEEAgpID1ei3kuWypsQkgW0p+E8e1bmgCSETFZyoIIIAAAgggkAkB6/VaJlA8J0kA8QQLubt1QxNAQlaTsRFAAAEEEEAgRQHr9VqKhgSQiKpq3dAEkIiKz1QQQAABBBBAIBMC1uu1TKB4TpIA4gkWcnfrhiaAhKwmYyOAAAIIIIBAigLW67UUDQkgEVXVuqEJIBEVn6kggAACCCCAQCYErNdrmUDxnCQBxBMs5O7WDU0ACVlNxkYAAQQQQACBFAWs12spGhJAIqqqdUMTQCIqPlNBAAEEEEAAgUwIWK/XMoHiOUkCiCdYyN2tG5oAErKajI0AAggggAACKQpYr9dSNCSARFRV64YmgERUfKaCAAIIIIAAApkQsF6vZQLFc5IEEE+wkLtbNzQBJGQ1GRsBBBBAAAEEUhSwXq+laEgAiaiq1g1NAImo+EwFAQQQQAABBDIhYL1eywSK5yQJIJ5gIXe3bmgCSMhqMjYCCCCAAAIIpChgvV5L0ZAAElFVrRuaABJR8ZkKAggggAACCGRCwHq9lgkUz0kSQDzBQu5u3dAEkJDVZGwEEEAAAQQQSFHAer2WoiEBJKKqWjc0ASSi4jMVBBBAAAEEEMiEgPV6LRMonpMkgHiChdzduqEJICGrydgIIIAAAgggkKKA9XotRUMCSERVtW5oAkhExWcqCCCAAAIIIJAJAev1WiZQPCdJAPEEC7m7dUMTQEJWk7ERQAABBBBAIEUB6/VaioYEkIiqat3QBJCIis9UEEAAAQQQQCATAtbrtUygeE6SAOIJFnJ364YmgISsJmMjgAACCCCAQIoC1uu1FA0JIBFV1bqhCSARFZ+pIIAAAggggEAmBKzXa5lA8ZwkAcQTLOTu1g1NAAlZTcZGAAEEEEAAgRQFrNdrKRoSQCKqqnVDE0AiKj5TQQABBBBAAIFMCFiv1zKB4jlJAognWMjdrRuaABKymoyNAAIIIIAAAikKWK/XUjQkgERUVeuGJoBEVHymggACCCCAAAKZELBer2UCxXOSBBBPsJC7Wzc0ASRkNRkbAQQQQAABBFIUsF6vpWhIAImoqtYNTQCJqPhMBQEEEEAAAQQyIWC9XssEiuckCSCeYCF3t25oAkjIajI2AggggAACCKQoYL1eS9GQABJRVa0bmgASUfGZCgIIIIAAAghkQsB6vZYJFM9JEkA8wULubt3QBJCQ1WRsBBBAAAEEEEhRwHq9lqIhASSiqlo3NAEkouIzFQQQQAABBBDIhID1ei0TKJ6TJIB4goXc3bqhCSAhq8nYCCCAAAIIIJCigPV6LUVDAkhEVbVuaAJIRMVnKggggAACCCCQCQHr9VomUDwnSQDxBAu5u3VDE0BCVpOxEUAAAQQQQCBFAev1WoqGBJCIqmrd0ASQiIrPVBBAAAEEEEAgEwLW67VMoHhOkgDiCRZyd+uGJoCErCZjI4AAAggggECKAtbrtRQNCSARVdW6oQkgERWfqSCAAAIIIIBAJgSs12uZQPGcJAHEEyzk7tYNTQAJWU3GRgABBBBAAIEUBazXaykaEkAiqqp1QxNAIio+U0EAAQQQQACBTAhYr9cygeI5SQKIJ1jI3a0bmgASspqMjQACCCCAAAIpCliv11I0JIBEVFXrhiaARFR8poIAAggggAACmRCwXq9lAsVzkgQQT7CQu1s3NAEkZDUZGwEEEEAAAQRSFLBeyxleOgAAIABJREFUr6VoSACJqKrWDU0Aiaj4TAUBBBBAAAEEMiFgvV7LBIrnJAkgnmAhd7duaAJIyGoyNgIIIIAAAgikKGC9XkvRkAASUVWtG5oAElHxmQoCCCCAAAIIZELAer2WCRTPSRJAPMFC7m7d0ASQkNVkbAQQQAABBBBIUcB6vZaiIQEkoqpaNzQBJKLiMxUEEEAAAQQQyISA9XotEyiekySAeIKF3N26oQkgIavJ2AgggAACCCCQooD1ei1FQwJIRFW1bmgCSETFZyoIIIAAAgggkAkB6/VaJlA8J0kA8QQLubt1QxNAQlaTsRFAAAEEEEAgRQHr9VqKhgSQiKpq3dAEkIiKz1QQQAABBBBAIBMC1uu1TKB4TpIA4gkWcnfrhiaAhKwmYyOAAAIIIIBAigLW67UUDQkgEVXVuqEJIBEVn6kggAACCCCAQCYErNdrmUDxnCQBxBMs5O7WDU0ACVlNxkYAAQQQQACBFAWs12spGhJAIqqqdUMTQCIqPlNBAAEEEEAAgUwIWK/XMoHiOUkCiCdYyN2tG5oAErKajI0AAggggAACKQpYr9dSNCSARFRV64YmgERUfKaCAAIIIIAAApkQsF6vZQLFc5IEEE+wkLtbNzQBJGQ1GRsBBBBAAAEEUhSwXq+laEgAiaiq1g1NAImo+EwFAQQQQAABBDIhYL1eywSK5yQJIJ5gIXe3bmgCSMhqMjYCCCCAAAIIpChgvV5L0ZAAElFVrRuaABJR8ZkKAggggAACCGRCwHq9lgkUz0kSQDzBQu5u3dAEkJDVZGwEEEAAAQQQSFHAer2WoiEBJKKqWjc0ASSi4jMVBBBAAAEEEMiEgPV6LRMonpMkgHiChdzduqEJICGrydgIIIAAAgggkKKA9XotRUMCiEdVW7RoIaeccorsvPPOsm7dOpk9e7aMHz9eli5d6jHK5ne1bmgCSFHKxiAIIIAAAgggUIkErNdrKdISQPKsarNmzeSKK66Qjz/+WKZMmSL169d3YUTDx9ChQ2Xt2rV5jkQAKRiKARBAAAEEEEAAgS0kQAApHJ4Akqdh9+7dpWnTpjJw4EB39UO3nXbaSfr27SsPPPCAvPDCC3mORAApGIoBEEAAAQQQQACBLSRAACkcngCSh2G1atXk5ptvdiHj4YcfLvOLQYMGyYIFC2T06NF5jPTju1g3NLdgFVwyBkAAAQQQQACBSiZgvV5LkZcAkkdVGzduLFdfffUmr3Tkroz0798/j5EIIAUjMQACCCCAAAIIILAFBQggheMTQPIw3GWXXaR3794yZswYeeWVV8r8Qptwzz33lMsvvzyPkUS23npr2WabbTa5b7t27WTDhg0yduzYvMYqdCeugBQqyO8RQAABBBBAoLIJEEAKrzgBJA/DXXfdVXr16lWUANKhQwfRP5vaXn31VVm/fr07jsVGALFQ5hgIIIAAAgggkJIAAaTwahJA8jBs0qSJ6LMe999/v0yfPr3ML/QWLP33AQMG5DESV0DyQmInBBBAAAEEEEAgUgECSOGFIYDkYagPoY8cOdK9fle/+1F602dDvvrqK7n99tvzGOnHd7FuaK6AFFwyBkAAAQQQQACBSiZgvV5LkZcAkmdVe/ToIbmH0Td+De+4ceNk2rRpeY60+d2sG5oAUnDJGAABBBBAAAEEKpmA9XotRV4CSJ5V1W9+6HMgH330kTz77LNSr1496dSpkyxbtkyuu+46PkSYpyO7IYAAAggggAACWRYggBRePQKIh2GrVq2kY8eO0rx5c1m1apXMnTvX3ZK1ZMkSj1G4AlIULAZBAAEEEEAAAQS2gAABpHB0AkjhhkUbwbqhuQWraKVjIAQQQAABBBCoJALW67UUWQkgEVXVuqEJIBEVn6kggAACCCCAQCYErNdrmUDxnCQBxBMs5O7WDU0ACVlNxkYAAQQQQACBFAWs12spGhJAIqqqdUMTQCIqPlNBAAEEEEAAgUwIWK/XMoHiOUkCiCdYyN2tG5oAErKajI0AAggggAACKQpYr9dSNCSARFRV64YmgERUfKaCAAIIIIAAApkQsF6vZQLFc5IEEE+wkLtbNzQBJGQ1GRsBBBBAAAEEUhSwXq+laEgAiaiq1g1NAImo+EwFAQQQQAABBDIhYL1eywSK5yQJIJ5gIXe3bmgCSMhqMjYCCCCAAAIIpChgvV5L0ZAAElFVrRuaABJR8ZkKAggggAACCGRCwHq9lgkUz0kSQDzBQu5u3dAEkJDVZGwEEEAAAQQQSFHAer2WoiEBJKKqWjc0ASSi4jMVBBBAAAEEEMiEgPV6LRMonpMkgHiChdzduqEJICGrydgIIIAAAgggkKKA9XotRUMCSERVtW5oAkhExWcqCCCAAAIIIJAJAev1WiZQPCdJAPEEC7m7dUMTQEJWk7ERQAABBBBAIEUB6/VaioYEkIiqat3QBJCIis9UEEAAAQQQQCATAtbrtUygeE6SAOIJFnJ364YmgISsJmMjgAACCCCAQIoC1uu1FA0JIBFV1bqhCSARFZ+pIIAAAggggEAmBKzXa5lA8ZwkAcQTLOTu1g1NAAlZTcZGAAEEEEAAgRQFrNdrKRoSQCKqqnVDE0AiKj5TQQABBBBAAIFMCFiv1zKB4jlJAognWMjdrRuaABKymoyNAAIIIIAAAikKWK/XUjQkgERUVeuGJoBEVHymggACCCCAAAKZELBer2UCxXOSBBBPsJC7Wzc0ASRkNRkbAQQQQAABBFIUsF6vpWhIAImoqtYNTQCJqPhMBQEEEEAAAQQyIWC9XssEiuckCSCeYCF3t25oAkjIajI2AggggAACCKQoYL1eS9GQABJRVa0bOhdAlq1dKz3enRORBFNBAAEEEEAAAQTiFLBer8WpUNisCCCF+RX119YNnQsgzy38Tu758vOinguDIYAAAggggAACKQpYr9dSNCSARFRV64bOBZCpC7+TewkgEXUCU0EAAQQQQACBWAWs12uxOhQyLwJIIXpF/q11QxNAilxAhkMAAQQQQACB5AWs12spghJAIqqqdUMTQCIqPlNBAAEEEEAAgUwIWK/XMoHiOUkCiCdYyN2tG5oAErKajI0AAggggAACKQpYr9dSNCSARFRV64YmgERUfKaCAAIIIIAAApkQsF6vZQLFc5IEEE+wkLtbNzQBJGQ1GRsBBBBAAAEEUhSwXq+laEgAiaiq1g1NAImo+EwFAQQQQAABBDIhYL1eywSK5yQJIJ5gIXe3bmgCSMhqMjYCCCCAAAIIpChgvV5L0ZAAElFVrRuaABJR8ZkKAggggAACCGRCwHq9lgkUz0kSQDzBQu5u3dAEkJDVZGwEEEAAAQQQSFHAer2WoiEBJKKqWjc0ASSi4jMVBBBAAAEEEMiEgPV6LRMonpMkgHiChdzduqEJICGrydgIIIAAAgggkKKA9XotRUMCSERVtW5oAkhExWcqCCCAAAIIIJAJAev1WiZQPCdJAPEEC7m7dUMTQEJWk7ERQAABBBBA4P+1dxZQchRdG74ESSA4BEuCu7sTCO5uB5fg7hIcEtwdAsH14O4huLs7wS0Q7MOS/7zFqfl7hs3u9HR3bdfMU+fsIexWV1U/t3rmvlX3VjcjgdD+WjMyRICUyKqhJzQCpETGZygQgAAEIAABCERBILS/FgWUlINEgKQEVmT10BMaAVKkNWkbAhCAAAQgAIFmJBDaX2tGhgiQElk19IRGgJTI+AwFAhCAAAQgAIEoCIT216KAknKQCJCUwIqsHnpCI0CKtCZtQwACEIAABCDQjARC+2vNyBABUiKrhp7QCJASGZ+hQAACEIAABCAQBYHQ/loUUFIOEgGSEliR1UNPaARIkdakbQhAAAIQgAAEmpFAaH+tGRkiQEpk1dATGgFSIuMzFAhAAAIQgAAEoiAQ2l+LAkrKQSJAUgIrsnroCY0AKdKatA0BCEAAAhCAQDMSCO2vNSNDBEiJrBp6QiNASmR8hgIBCEAAAhCAQBQEQvtrUUBJOUgESEpgRVYPPaERIEVak7YhAAEIQAACEGhGAqH9tWZkiAApkVVDT2gESImMz1AgAAEIQAACEIiCQGh/LQooKQeJAEkJrMjqoSc0AqRIa9I2BCAAAQhAAALNSCC0v9aMDBEgJbJq6AmNACmR8RkKBCAAAQhAAAJREAjtr0UBJeUgESApgRVZPfSERoAUaU3ahgAEIAABCECgGQmE9teakSECpERWDT2hESAlMj5DgQAEIAABCEAgCgKh/bUooKQcJAIkJbAiq4ee0AiQIq1J2xCAAAQgAAEINCOB0P5aMzJEgJTIqqEnNAKkRMZnKBCAAAQgAAEIREEgtL8WBZSUg0SApARWZPXQExoBUqQ1aRsCEIAABCAAgWYkENpfa0aGCJASWTX0hEaAlMj4DAUCEIAABCAAgSgIhPbXooCScpAIkJTAiqweekIjQIq0Jm1DAAIQgAAEINCMBEL7a83IEAFSIquGntAIkBIZn6FAAAIQgAAEIBAFgdD+WhRQUg4SAZISWJHVQ09oBEiR1qRtCEAAAhCAAASakUBof60ZGSJASmTV0BMaAVIi4zMUCEAAAhCAAASiIBDaX4sCSspBIkBSAiuyeugJjQAp0pq0DQEIQAACEIBAMxII7a81I0MESImsGnpCI0BKZHyGAgEIQAACEIBAFARC+2tRQEk5SARISmBFVg89oREgRVqTtiEAAQhAAAIQaEYCof21ZmSIACmRVUNPaARIiYzPUCAAAQhAAAIQiIJAaH8tCigpB4kASQmsyOqhJ7QXIIO/GGZDhv9Q5K3RNgQgAAEIQAACEGgKAqH9taaAVnMTCJASWTX0hO7VtZvN1r27PfzD9zaqRBwYCgQgAAEIQAACECgrgdD+Wlk5ZBkXAiQLvZyvZULnDJTmIAABCEAAAhCAQM4E8NeyA0WAZGeYWwtM6NxQ0hAEIAABCEAAAhAohAD+WnasCJDsDHNrgQmdG0oaggAEIAABCEAAAoUQwF/LjhUBkp1hbi0woXNDSUMQgAAEIAABCECgEAL4a9mxIkCyM8ytBSZ0bihpCAIQgAAEIAABCBRCAH8tO1YESHaGubXAhM4NJQ1BAAIQgAAEIACBQgjgr2XHigDJzjC3FpjQuaGkIQhAAAIQgAAEIFAIAfy17FgRINkZ5tYCEzo3lDQEAQhAAAIQgAAECiGAv5YdKwIkO8PcWmBC54aShiAAAQhAAAIQgEAhBPDXsmNFgGRnmFsLTOjcUNIQBCAAAQhAAAIQKIQA/lp2rAiQ7Axza4EJnRtKGoIABCAAAQhAAAKFEMBfy44VAZKdYW4tMKFzQ0lDEIAABCAAAQhAoBAC+GvZsSJAsjPMrQUmdG4oaQgCEIAABCAAAQgUQgB/LTtWBEh2hrm1wITODSUNQQACEIAABCAAgUII4K9lx4oAyc4wtxaY0LmhpCEIQAACEIAABCBQCAH8texYESDZGebWAhM6N5Q0BAEIQAACEIAABAohgL+WHSsCJDvD3FpgQueGkoYgAAEIQAACEIBAIQTw17JjRYBkZ5hbC0zo3FDSEAQgAAEIQAACECiEAP5adqwIkOwMc2uBCZ0bShqCAAQgAAEIQAAChRDAX8uOFQGSnWFuLTChc0NJQxCAAAQgAAEIQKAQAvhr2bEiQLIzzK0FJnRuKGkIAhCAAAQgAAEIFEIAfy07VgRIdoa5tcCEzg0lDUEAAhCAAAQgAIFCCOCvZceKAMnOMLcW+vXr59oaOXJkbm3SEAQgAAEIQAACEIBAfgS6dOniGhs0aFB+jbZYSwiQEhm8MwSIHiIET4kmgZlhk3LZQ6PBJuWzCXbBJuUkUL5R8fmVv00QINmZIkCyM4y2hd69e1v//v1twIABNmzYsGjvo5kGjk3KZ01sUj6baETYpXx2wSbYpHwEGFFZCSBAymqZAOPiyyIA5JRdYJOUwAJUxyYBIDfQBXZpAFrBl2CTggE30Dw2aQAalwQhgAAJgrmcnfDBVD67YBNsUj4C5RwRz0r57IJNsEn5CDCishJAgJTVMgHGxZdFAMgpu8AmKYEFqI5NAkBuoAvs0gC0gi/BJgUDbqB5bNIANC4JQgABEgRzOTvhg6l8dsEm2KR8BMo5Ip6V8tkFm2CT8hFgRGUlgAApq2UCjIsviwCQU3aBTVICC1AdmwSA3EAX2KUBaAVfgk0KBtxA89ikAWhcEoQAAiQI5nJ2wgdT+eyCTbBJ+QiUc0Q8K+WzCzbBJuUjwIjKSgABUlbLBBjXhBNOaH369LGhQ4faiBEjAvRIFx0RwCYdEQr/d2wSnnk9PWKXeiiFrYNNwvKupzdsUg8l6nQGAQRIZ1CnTwhAAAIQgAAEIAABCLQoAQRIixqe24YABCAAAQhAAAIQgEBnEECAdAZ1+oQABCAAAQhAAAIQgECLEkCAtKjhuW0IQAACEIAABCAAAQh0BgEESGdQp08IQAACEIAABCAAAQi0KAEESIsantuGAAQgAAEIQAACEIBAZxBAgHQGdfqEAAQgAAEIQAACEIBAixJAgLSo4bltCEAAAhCAAAQgAAEIdAYBBEhnUKdPCEAAAhCAAAQgAAEItCgBBEiLGn766ae3dddd16abbjr7559/7LXXXrObb77Zfv755xYlkv62F1xwQVtxxRVtqqmmsr///ts+/fRTu/32291/fVl00UVt5ZVXtimmmMKxfeqpp+zuu++2kSNHVup06dLF1lhjDVt88cVtggkmsG+++cbuu+8+e+6556oGpTfarr/++jbnnHNa165d7aOPPnI2S/anC7Dtv9iWWWYZ23zzze20006zd999F5ukn+K5XTHNNNO4z5uZZ57Ztak5e9ttt7k57Mvyyy9vyy67rE066aT2ww8/2KOPPmoPP/xw1Ri6devm2pl//vltvPHGs88++8zuuOMOe+utt6rqTTnllO5ZUX96vt555x276aab7Ntvv62qp2dpzTXXtJ49e9r//vc/e+GFF9y4/vjjj9zuvawNzT777JV71/3qGbnlllts+PDhPCuBjaY5ut9++9mwYcPsuuuuq+q9zN8h9YwtMEq6i4gAAiQiY+U1VH3ZHnDAAe7LX1/wcnr1pS4H+fjjj3fONKV9AksuuaRttdVWTlBIKIwzzjhOaEw77bTO4f3www/N13nkkUecwJthhhls9dVXd9dcddVVlQ622WYbk5iR4/Pll1/aYost5n4uvfRSe/bZZ129scce2/r3729jjjmmEzl//fWXrbrqqk78yGZff/21q4dt/8UqB/TQQw91Qi0pQLBJ+Cdbc/Sggw5yc/vee+91A9DclSjxc3ettdZyv7vnnnvcszPXXHPZCius4J4J/c6Xfffd110nR3nEiBFOsMwxxxx2xhln2HvvveeqTTTRRM72P/30kxP7Y401lq299truGT322GPt119/dfUkPnbbbTd78cUX3TOpcaqePhfPPPPM8KAC9ihhts8++zjR8eCDD9q4445r66yzjhvBgAEDnBjjWQljEM3L7bbbzonqIUOGVAmQMtug3rGFoUgvMRJAgMRotYxj3nXXXd2X+JFHHul2P1TkOOtL++qrr7bHHnssYw/Nf/nAgQOdQ3X22WdXblbOrr68P/jgA7v44oudc6WVWQkJX7RjopXZo48+2okGz12C5PHHH6/U22WXXSp/GzVqlNtpSV6niurvmGOOcU7EJZdc4q7FtuZEmhze7t2722STTVYRIHJEsUn4Z1NOvnYAjzvuOCecVWQbCWo5v9p10N/0bwkOXzbZZBNbaqmlnC1///13W2CBBWynnXZy4sDveIwxxhh2yCGHuEWTk046yV2q67SbeNhhh1XExsQTT+yeFS243Hrrra7e4Ycf7hztk08+udKn7+Oss86yN998MzysQD1uu+22Ns888zi23iYSJfvvv78NHjzY2YRnpXhjzD333Lbhhhva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JkAAAhAogAACpACoGZpEgGSAx6UQgAAEciaAAMkZKM1BAAIQEIG0AsSvkp9++um27rrrWq9evVyI0PHHH29//PGHTTjhhLbGGmvYvPPOa+OPP7799NNP9sILL9jdd9/t/p4sk0wyia2zzjo255xz2jjjjGNvv/22XX/99bb//vu7NpX/oDI6p1x/u+CCC2zYsGE2YMCAqraXWWYZ089UU01lf/31l73//vsuL0J1fVG4kXYWLr/8chtjjDFshRVWsCmmmMJ++eUXe/755+3222931yaLwpWWX355F7I0cuRI195dd93l2h977LHtpJNOst9//90OPfTQ/0ywLbfc0pZaaik74ogj7JtvvmlzAuYpQCabbLL/cKntVPeuMC8VdkD4TIAABCBQTQABwoyAAAQgUACBRgWIhIVyQj755BPr2rWrXXPNNSZBccABB9jEE09sr732mn355ZfOUZ9rrrns008/tVNOOcX+/PNPdxeqe/DBB9tEE03kktvVlpz7Ll26WLdu3dy1jQqQbbbZxhZffHH7/PPPnaiRuFlooYVsrLHGsnPPPdfeeecdNwYvQHQPPXv2tJdeesmGDx9u888/vxMizz77rF166aUV6qussoqtt956Ljfj1Vdftb///tsWWWQRN95zzjnH3nrrLdtqq61sySWXdPcqUeKL+j755JPdfUmkjK7kKUDGHXdcJ6pqi+yl3//zzz92wgknOE4IkAIeLpqEAASiJ4AAid6E3AAEIFBGAvUkoftE6KST+vHHH9uJJ55oo0aNqtzWbrvt5sTGeeedZ6+//nrl93379rVNNtnE7r//frv55pvd77fffnvnvF9xxRX25JNPut9pB2GfffaxGWec0SXENyJAFlxwQdtxxx2deLjsssvcLoWKdgMOOeQQt6Nx2GGHOefbCxD9W4Lho48+cnUlKI455hjr3r272yHRzo0EyZFHHul2LrT7IxGi0qNHD3cy1XfffefyNnybjz76qF177bUVBn5c+p3+1qgAeeihh9wOS1tFu1EST+2dgqWdnl122cXtUCV3PxAgZXw6GRMEINDZBBAgnW0B+ocABJqSQD3H8PqjYJNO6q233mr33ntvhYlCr7SaLuEhAZIscnoVIqVdgAMPPNAJjVNPPdWFWR199NFVdSU+VKdRAbLHHns4EaQwLoVSJcvaa69tq6++utut0Di9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\" width=\"800\">" + ], + "text/plain": [ + "<IPython.core.display.HTML object>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "Text(0, 0.5, 'Response Phase [rad]')" + ] + }, + "execution_count": 214, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "plt.plot(frequenciesHz, angles)\n", + "#plt.ylim(-np.pi,np.pi)\n", + "plt.xlabel(\"Frequency [Hz]\")\n", + "plt.ylabel(\"Response Phase [rad]\")" + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "id": "dd05181d", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1086950\n", + "1076081\n", + "1065427\n", + "1054981\n", + "1044738\n", + "1034693\n", + "1024839\n", + "1015171\n", + "1005683\n", + "996371\n", + "987230\n", + "978256\n", + "969442\n", + "960786\n", + "952284\n", + "943930\n", + "935722\n", + "927656\n", + "919727\n", + "911933\n", + "904270\n", + "896734\n", + "889323\n", + "882034\n", + "874862\n", + "867807\n", + "860864\n", + "854032\n", + "847307\n", + "840689\n", + "834172\n", + "827755\n", + "821436\n", + "815213\n", + "809084\n", + "803046\n", + "797097\n", + "791236\n", + "785461\n", + "779769\n", + "774159\n", + "768630\n", + "763178\n", + "757804\n", + "752504\n", + "747278\n", + "742125\n", + "737042\n", + "732028\n", + "727082\n", + "722202\n", + "717388\n", + "712637\n", + "707948\n", + "703321\n", + "698754\n", + "694246\n", + "689796\n", + "685401\n", + "681064\n", + "676780\n", + "672551\n", + "668373\n", + "664247\n", + "660173\n", + "656147\n", + "652170\n", + "648241\n", + "644360\n", + "640524\n", + "636734\n", + "632989\n", + "629287\n", + "625629\n", + "622012\n", + "618437\n", + "614904\n", + "611409\n", + "607955\n", + "604540\n", + "601163\n", + "597823\n", + "594520\n", + "591253\n", + "588022\n", + "584826\n", + "581666\n", + "578538\n", + "575445\n", + "572383\n", + "569355\n", + "566358\n", + "563393\n", + "560459\n", + "557555\n", + "554681\n", + "551836\n", + "549021\n", + "546234\n", + "543475\n" + ] + } + ], + "source": [ + "for d in data[0]:\n", + " print(int.from_bytes(d[0],byteorder='little'))" + ] + }, + { + "cell_type": "code", + "execution_count": 221, + "id": "a1265956", + "metadata": {}, + "outputs": [], + "source": [ + "oldData = np.copy(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 271, + "id": "5c6679a5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[0,\n", + " 1,\n", + " 3,\n", + " 4,\n", + " 5,\n", + " 6,\n", + " 7,\n", + " 8,\n", + " 10,\n", + " 10,\n", + " 11,\n", + " 13,\n", + " 14,\n", + " 15,\n", + " 16,\n", + " 17,\n", + " 18,\n", + " 19,\n", + " 21,\n", + " 21,\n", + " 22,\n", + " 24,\n", + " 24,\n", + " 26,\n", + " 27,\n", + " 27,\n", + " 29,\n", + " 30,\n", + " 32,\n", + " 32,\n", + " 33,\n", + " 34,\n", + " 35,\n", + " 36,\n", + " 37,\n", + " 38,\n", + " 40,\n", + " 41,\n", + " 42,\n", + " 43,\n", + " 44,\n", + " 46,\n", + " 46,\n", + " 48,\n", + " 48,\n", + " 50,\n", + " 50,\n", + " 52,\n", + " 53,\n", + " 54,\n", + " 55,\n", + " 56,\n", + " 57,\n", + " 58,\n", + " 60,\n", + " 61,\n", + " 62,\n", + " 63,\n", + " 64,\n", + " 65,\n", + " 65,\n", + " 67,\n", + " 68,\n", + " 69,\n", + " 71,\n", + " 71,\n", + " 72,\n", + " 74,\n", + " 74,\n", + " 75,\n", + " 77,\n", + " 78,\n", + " 79,\n", + " 80,\n", + " 81,\n", + " 82,\n", + " 83,\n", + " 85,\n", + " 85,\n", + " 86,\n", + " 88,\n", + " 89,\n", + " 89,\n", + " 91,\n", + " 92,\n", + " 93,\n", + " 95,\n", + " 96,\n", + " 96,\n", + " 97,\n", + " 98,\n", + " 99,\n", + " 101,\n", + " 102,\n", + " 103,\n", + " 104,\n", + " 105,\n", + " 107,\n", + " 107,\n", + " 108,\n", + " 109,\n", + " 111,\n", + " 111,\n", + " 113,\n", + " 113,\n", + " 115,\n", + " 116,\n", + " 117,\n", + " 118,\n", + " 119,\n", + " 120,\n", + " 121,\n", + " 122,\n", + " 123,\n", + " 124,\n", + " 125,\n", + " 126,\n", + " 127,\n", + " 128,\n", + " 130,\n", + " 131,\n", + " 132,\n", + " 133,\n", + " 134,\n", + " 136,\n", + " 136,\n", + " 138,\n", + " 139,\n", + " 139,\n", + " 141,\n", + " 142,\n", + " 143,\n", + " 144,\n", + " 146,\n", + " 146,\n", + " 147,\n", + " 148,\n", + " 150,\n", + " 151,\n", + " 152,\n", + " 152,\n", + " 154,\n", + " 155,\n", + " 156,\n", + " 157,\n", + " 158,\n", + " 159,\n", + " 161,\n", + " 162,\n", + " 163,\n", + " 163,\n", + " 165,\n", + " 166,\n", + " 167,\n", + " 168,\n", + " 170,\n", + " 170,\n", + " 171,\n", + " 172,\n", + " 174,\n", + " 174,\n", + " 176,\n", + " 177,\n", + " 177,\n", + " 179,\n", + " 180,\n", + " 181,\n", + " 182,\n", + " 183,\n", + " 184,\n", + " 185,\n", + " 186,\n", + " 187,\n", + " 189,\n", + " 190,\n", + " 191,\n", + " 192,\n", + " 193,\n", + " 194,\n", + " 195,\n", + " 196,\n", + " 197,\n", + " 198,\n", + " 200,\n", + " 200,\n", + " 202,\n", + " 202,\n", + " 204,\n", + " 205,\n", + " 206,\n", + " 207,\n", + " 208,\n", + " 209,\n", + " 210,\n", + " 211,\n", + " 213,\n", + " 214,\n", + " 215,\n", + " 216,\n", + " 217,\n", + " 218,\n", + " 219,\n", + " 220,\n", + " 221,\n", + " 222,\n", + " 223,\n", + " 224,\n", + " 225,\n", + " 226,\n", + " 228,\n", + " 229,\n", + " 230,\n", + " 232,\n", + " 233,\n", + " 234,\n", + " 234,\n", + " 236,\n", + " 236,\n", + " 238,\n", + " 239,\n", + " 240,\n", + " 241,\n", + " 242,\n", + " 243,\n", + " 244,\n", + " 245,\n", + " 246,\n", + " 247,\n", + " 248,\n", + " 249,\n", + " 251,\n", + " 252,\n", + " 253,\n", + " 254,\n", + " 255,\n", + " 257,\n", + " 258,\n", + " 258,\n", + " 260,\n", + " 260,\n", + " 261,\n", + " 263,\n", + " 264,\n", + " 264,\n", + " 266,\n", + " 267,\n", + " 268,\n", + " 269,\n", + " 270,\n", + " 271,\n", + " 272,\n", + " 274,\n", + " 275,\n", + " 275,\n", + " 277,\n", + " 278,\n", + " 279,\n", + " 280,\n", + " 281,\n", + " 282,\n", + " 283,\n", + " 285,\n", + " 286,\n", + " 287,\n", + " 287,\n", + " 288,\n", + " 289,\n", + " 291,\n", + " 292,\n", + " 293,\n", + " 294,\n", + " 295,\n", + " 296,\n", + " 297,\n", + " 299,\n", + " 299,\n", + " 301,\n", + " 301,\n", + " 303,\n", + " 304,\n", + " 305,\n", + " 306,\n", + " 307,\n", + " 308,\n", + " 310,\n", + " 310,\n", + " 312,\n", + " 313,\n", + " 314,\n", + " 315,\n", + " 316,\n", + " 317,\n", + " 319,\n", + " 320,\n", + " 321,\n", + " 322,\n", + " 322,\n", + " 323,\n", + " 325,\n", + " 325,\n", + " 327,\n", + " 328,\n", + " 329,\n", + " 330,\n", + " 331,\n", + " 332,\n", + " 333,\n", + " 335,\n", + " 336,\n", + " 336,\n", + " 337,\n", + " 339,\n", + " 340,\n", + " 341,\n", + " 342,\n", + " 343,\n", + " 344,\n", + " 345,\n", + " 346,\n", + " 347,\n", + " 349,\n", + " 350,\n", + " 351,\n", + " 351,\n", + " 353,\n", + " 354,\n", + " 355,\n", + " 356,\n", + " 358,\n", + " 358,\n", + " 359,\n", + " 361,\n", + " 362,\n", + " 362,\n", + " 364,\n", + " 365,\n", + " 366,\n", + " 367,\n", + " 368,\n", + " 369,\n", + " 370,\n", + " 372,\n", + " 372,\n", + " 374,\n", + " 375,\n", + " 376,\n", + " 377,\n", + " 378,\n", + " 379,\n", + " 380,\n", + " 381,\n", + " 382,\n", + " 384,\n", + " 385,\n", + " 385,\n", + " 387,\n", + " 387,\n", + " 389,\n", + " 390,\n", + " 391,\n", + " 392,\n", + " 393,\n", + " 394,\n", + " 395,\n", + " 396,\n", + " 397,\n", + " 399,\n", + " 400,\n", + " 401,\n", + " 402,\n", + " 403,\n", + " 404,\n", + " 405,\n", + " 407,\n", + " 407,\n", + " 408,\n", + " 409,\n", + " 410,\n", + " 412,\n", + " 413,\n", + " 413,\n", + " 415,\n", + " 416,\n", + " 417,\n", + " 418,\n", + " 419,\n", + " 421,\n", + " 421,\n", + " 422,\n", + " 424,\n", + " 425,\n", + " 426,\n", + " 426,\n", + " 428,\n", + " 429,\n", + " 430,\n", + " 432,\n", + " 432,\n", + " 433,\n", + " 434,\n", + " 436,\n", + " 437,\n", + " 438,\n", + " 439,\n", + " 440,\n", + " 441,\n", + " 442,\n", + " 443,\n", + " 444,\n", + " 445,\n", + " 447,\n", + " 448,\n", + " 448,\n", + " 450,\n", + " 451,\n", + " 452,\n", + " 453,\n", + " 454,\n", + " 455,\n", + " 456,\n", + " 457,\n", + " 458,\n", + " 459,\n", + " 461,\n", + " 462,\n", + " 463,\n", + " 464,\n", + " 465,\n", + " 466,\n", + " 467,\n", + " 469,\n", + " 470,\n", + " 470,\n", + " 471,\n", + " 472,\n", + " 473,\n", + " 475,\n", + " 476,\n", + " 476,\n", + " 478,\n", + " 479,\n", + " 480,\n", + " 481,\n", + " 482,\n", + " 484,\n", + " 484,\n", + " 486,\n", + " 486,\n", + " 488,\n", + " 489,\n", + " 490,\n", + " 491,\n", + " 492,\n", + " 493,\n", + " 494,\n", + " 495,\n", + " 497,\n", + " 497,\n", + " 498,\n", + " 499,\n", + " 501,\n", + " 502,\n", + " 503,\n", + " 504,\n", + " 505,\n", + " 506,\n", + " 507,\n", + " 508,\n", + " 510,\n", + " 511,\n", + " 512,\n", + " 513,\n", + " 513,\n", + " 515,\n", + " 516,\n", + " 517,\n", + " 518,\n", + " 519,\n", + " 520,\n", + " 521,\n", + " 523,\n", + " 523,\n", + " 524,\n", + " 526,\n", + " 527,\n", + " 528,\n", + " 529,\n", + " 530,\n", + " 531,\n", + " 532,\n", + " 533,\n", + " 534,\n", + " 535,\n", + " 536,\n", + " 538,\n", + " 538,\n", + " 540,\n", + " 540,\n", + " 542,\n", + " 544]" + ] + }, + "execution_count": 271, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "numdata" + ] + }, + { + "cell_type": "code", + "execution_count": 372, + "id": "ef70dfd0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "9223372036854775808" + ] + }, + "execution_count": 372, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "(2**63+439831729314)&2**63" + ] + }, + { + "cell_type": "code", + "execution_count": 215, + "id": "82e764e9", + "metadata": {}, + "outputs": [], + "source": [ + "myStitch.close()" + ] + }, + { + "cell_type": "code", + "execution_count": 274, + "id": "3a2cbe02", + "metadata": {}, + "outputs": [ + { + "data": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "/* global mpl */\n", + "window.mpl = {};\n", + "\n", + "mpl.get_websocket_type = function () {\n", + " if (typeof WebSocket !== 'undefined') {\n", + " return WebSocket;\n", + " } else if (typeof MozWebSocket !== 'undefined') {\n", + " return MozWebSocket;\n", + " } else {\n", + " alert(\n", + " 'Your browser does not have WebSocket support. ' +\n", + " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", + " 'Firefox 4 and 5 are also supported but you ' +\n", + " 'have to enable WebSockets in about:config.'\n", + " );\n", + " }\n", + "};\n", + "\n", + "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", + " this.id = figure_id;\n", + "\n", + " this.ws = websocket;\n", + "\n", + " this.supports_binary = this.ws.binaryType !== undefined;\n", + "\n", + " if (!this.supports_binary) {\n", + " var warnings = document.getElementById('mpl-warnings');\n", + " if (warnings) {\n", + " warnings.style.display = 'block';\n", + " warnings.textContent =\n", + " 'This browser does not support binary websocket messages. ' +\n", + " 'Performance may be slow.';\n", + " }\n", + " }\n", + "\n", + " this.imageObj = new Image();\n", + "\n", + " this.context = undefined;\n", + " this.message = undefined;\n", + " this.canvas = undefined;\n", + " this.rubberband_canvas = undefined;\n", + " this.rubberband_context = undefined;\n", + " this.format_dropdown = undefined;\n", + "\n", + " this.image_mode = 'full';\n", + "\n", + " this.root = document.createElement('div');\n", + " this.root.setAttribute('style', 'display: inline-block');\n", + " this._root_extra_style(this.root);\n", + "\n", + " parent_element.appendChild(this.root);\n", + "\n", + " this._init_header(this);\n", + " this._init_canvas(this);\n", + " this._init_toolbar(this);\n", + "\n", + " var fig = this;\n", + "\n", + " this.waiting = false;\n", + "\n", + " this.ws.onopen = function () {\n", + " fig.send_message('supports_binary', { value: fig.supports_binary });\n", + " fig.send_message('send_image_mode', {});\n", + " if (fig.ratio !== 1) {\n", + " fig.send_message('set_device_pixel_ratio', {\n", + " device_pixel_ratio: fig.ratio,\n", + " });\n", + " }\n", + " fig.send_message('refresh', {});\n", + " };\n", + "\n", + " this.imageObj.onload = function () {\n", + " if (fig.image_mode === 'full') {\n", + " // Full images could contain transparency (where diff images\n", + " // almost always do), so we need to clear the canvas so that\n", + " // there is no ghosting.\n", + " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", + " }\n", + " fig.context.drawImage(fig.imageObj, 0, 0);\n", + " };\n", + "\n", + " this.imageObj.onunload = function () {\n", + " fig.ws.close();\n", + " };\n", + "\n", + " this.ws.onmessage = this._make_on_message_function(this);\n", + "\n", + " this.ondownload = ondownload;\n", + "};\n", + "\n", + "mpl.figure.prototype._init_header = function () {\n", + " var titlebar = document.createElement('div');\n", + " titlebar.classList =\n", + " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", + " var titletext = document.createElement('div');\n", + " titletext.classList = 'ui-dialog-title';\n", + " titletext.setAttribute(\n", + " 'style',\n", + " 'width: 100%; text-align: center; padding: 3px;'\n", + " );\n", + " titlebar.appendChild(titletext);\n", + " this.root.appendChild(titlebar);\n", + " this.header = titletext;\n", + "};\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", + "\n", + "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", + "\n", + "mpl.figure.prototype._init_canvas = function () {\n", + " var fig = this;\n", + "\n", + " var canvas_div = (this.canvas_div = document.createElement('div'));\n", + " canvas_div.setAttribute(\n", + " 'style',\n", + " 'border: 1px solid #ddd;' +\n", + " 'box-sizing: content-box;' +\n", + " 'clear: both;' +\n", + " 'min-height: 1px;' +\n", + " 'min-width: 1px;' +\n", + " 'outline: 0;' +\n", + " 'overflow: hidden;' +\n", + " 'position: relative;' +\n", + " 'resize: both;'\n", + " );\n", + "\n", + " function on_keyboard_event_closure(name) {\n", + " return function (event) {\n", + " return fig.key_event(event, name);\n", + " };\n", + " }\n", + "\n", + " canvas_div.addEventListener(\n", + " 'keydown',\n", + " on_keyboard_event_closure('key_press')\n", + " );\n", + " canvas_div.addEventListener(\n", + " 'keyup',\n", + " on_keyboard_event_closure('key_release')\n", + " );\n", + "\n", + " this._canvas_extra_style(canvas_div);\n", + " this.root.appendChild(canvas_div);\n", + "\n", + " var canvas = (this.canvas = document.createElement('canvas'));\n", + " canvas.classList.add('mpl-canvas');\n", + " canvas.setAttribute('style', 'box-sizing: content-box;');\n", + "\n", + " this.context = canvas.getContext('2d');\n", + "\n", + " var backingStore =\n", + " this.context.backingStorePixelRatio ||\n", + " this.context.webkitBackingStorePixelRatio ||\n", + " this.context.mozBackingStorePixelRatio ||\n", + " this.context.msBackingStorePixelRatio ||\n", + " this.context.oBackingStorePixelRatio ||\n", + " this.context.backingStorePixelRatio ||\n", + " 1;\n", + "\n", + " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", + "\n", + " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", + " 'canvas'\n", + " ));\n", + " rubberband_canvas.setAttribute(\n", + " 'style',\n", + " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n", + " );\n", + "\n", + " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", + " if (this.ResizeObserver === undefined) {\n", + " if (window.ResizeObserver !== undefined) {\n", + " this.ResizeObserver = window.ResizeObserver;\n", + " } else {\n", + " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", + " this.ResizeObserver = obs.ResizeObserver;\n", + " }\n", + " }\n", + "\n", + " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", + " var nentries = entries.length;\n", + " for (var i = 0; i < nentries; i++) {\n", + " var entry = entries[i];\n", + " var width, height;\n", + " if (entry.contentBoxSize) {\n", + " if (entry.contentBoxSize instanceof Array) {\n", + " // Chrome 84 implements new version of spec.\n", + " width = entry.contentBoxSize[0].inlineSize;\n", + " height = entry.contentBoxSize[0].blockSize;\n", + " } else {\n", + " // Firefox implements old version of spec.\n", + " width = entry.contentBoxSize.inlineSize;\n", + " height = entry.contentBoxSize.blockSize;\n", + " }\n", + " } else {\n", + " // Chrome <84 implements even older version of spec.\n", + " width = entry.contentRect.width;\n", + " height = entry.contentRect.height;\n", + " }\n", + "\n", + " // Keep the size of the canvas and rubber band canvas in sync with\n", + " // the canvas container.\n", + " if (entry.devicePixelContentBoxSize) {\n", + " // Chrome 84 implements new version of spec.\n", + " canvas.setAttribute(\n", + " 'width',\n", + " entry.devicePixelContentBoxSize[0].inlineSize\n", + " );\n", + " canvas.setAttribute(\n", + " 'height',\n", + " entry.devicePixelContentBoxSize[0].blockSize\n", + " );\n", + " } else {\n", + " canvas.setAttribute('width', width * fig.ratio);\n", + " canvas.setAttribute('height', height * fig.ratio);\n", + " }\n", + " canvas.setAttribute(\n", + " 'style',\n", + " 'width: ' + width + 'px; height: ' + height + 'px;'\n", + " );\n", + "\n", + " rubberband_canvas.setAttribute('width', width);\n", + " rubberband_canvas.setAttribute('height', height);\n", + "\n", + " // And update the size in Python. We ignore the initial 0/0 size\n", + " // that occurs as the element is placed into the DOM, which should\n", + " // otherwise not happen due to the minimum size styling.\n", + " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", + " fig.request_resize(width, height);\n", + " }\n", + " }\n", + " });\n", + " this.resizeObserverInstance.observe(canvas_div);\n", + "\n", + " function on_mouse_event_closure(name) {\n", + " return function (event) {\n", + " return fig.mouse_event(event, name);\n", + " };\n", + " }\n", + "\n", + " rubberband_canvas.addEventListener(\n", + " 'mousedown',\n", + " on_mouse_event_closure('button_press')\n", + " );\n", + " rubberband_canvas.addEventListener(\n", + " 'mouseup',\n", + " on_mouse_event_closure('button_release')\n", + " );\n", + " rubberband_canvas.addEventListener(\n", + " 'dblclick',\n", + " on_mouse_event_closure('dblclick')\n", + " );\n", + " // Throttle sequential mouse events to 1 every 20ms.\n", + " rubberband_canvas.addEventListener(\n", + " 'mousemove',\n", + " on_mouse_event_closure('motion_notify')\n", + " );\n", + "\n", + " rubberband_canvas.addEventListener(\n", + " 'mouseenter',\n", + " on_mouse_event_closure('figure_enter')\n", + " );\n", + " rubberband_canvas.addEventListener(\n", + " 'mouseleave',\n", + " on_mouse_event_closure('figure_leave')\n", + " );\n", + "\n", + " canvas_div.addEventListener('wheel', function (event) {\n", + " if (event.deltaY < 0) {\n", + " event.step = 1;\n", + " } else {\n", + " event.step = -1;\n", + " }\n", + " on_mouse_event_closure('scroll')(event);\n", + " });\n", + "\n", + " canvas_div.appendChild(canvas);\n", + " canvas_div.appendChild(rubberband_canvas);\n", + "\n", + " this.rubberband_context = rubberband_canvas.getContext('2d');\n", + " this.rubberband_context.strokeStyle = '#000000';\n", + "\n", + " this._resize_canvas = function (width, height, forward) {\n", + " if (forward) {\n", + " canvas_div.style.width = width + 'px';\n", + " canvas_div.style.height = height + 'px';\n", + " }\n", + " };\n", + "\n", + " // Disable right mouse context menu.\n", + " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n", + " event.preventDefault();\n", + " return false;\n", + " });\n", + "\n", + " function set_focus() {\n", + " canvas.focus();\n", + " canvas_div.focus();\n", + " }\n", + "\n", + " window.setTimeout(set_focus, 100);\n", + "};\n", + "\n", + "mpl.figure.prototype._init_toolbar = function () {\n", + " var fig = this;\n", + "\n", + " var toolbar = document.createElement('div');\n", + " toolbar.classList = 'mpl-toolbar';\n", + " this.root.appendChild(toolbar);\n", + "\n", + " function on_click_closure(name) {\n", + " return function (_event) {\n", + " return fig.toolbar_button_onclick(name);\n", + " };\n", + " }\n", + "\n", + " function on_mouseover_closure(tooltip) {\n", + " return function (event) {\n", + " if (!event.currentTarget.disabled) {\n", + " return fig.toolbar_button_onmouseover(tooltip);\n", + " }\n", + " };\n", + " }\n", + "\n", + " fig.buttons = {};\n", + " var buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'mpl-button-group';\n", + " for (var toolbar_ind in mpl.toolbar_items) {\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) {\n", + " /* Instead of a spacer, we start a new button group. */\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + " buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'mpl-button-group';\n", + " continue;\n", + " }\n", + "\n", + " var button = (fig.buttons[name] = document.createElement('button'));\n", + " button.classList = 'mpl-widget';\n", + " button.setAttribute('role', 'button');\n", + " button.setAttribute('aria-disabled', 'false');\n", + " button.addEventListener('click', on_click_closure(method_name));\n", + " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", + "\n", + " var icon_img = document.createElement('img');\n", + " icon_img.src = '_images/' + image + '.png';\n", + " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", + " icon_img.alt = tooltip;\n", + " button.appendChild(icon_img);\n", + "\n", + " buttonGroup.appendChild(button);\n", + " }\n", + "\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + "\n", + " var fmt_picker = document.createElement('select');\n", + " fmt_picker.classList = 'mpl-widget';\n", + " toolbar.appendChild(fmt_picker);\n", + " this.format_dropdown = fmt_picker;\n", + "\n", + " for (var ind in mpl.extensions) {\n", + " var fmt = mpl.extensions[ind];\n", + " var option = document.createElement('option');\n", + " option.selected = fmt === mpl.default_extension;\n", + " option.innerHTML = fmt;\n", + " fmt_picker.appendChild(option);\n", + " }\n", + "\n", + " var status_bar = document.createElement('span');\n", + " status_bar.classList = 'mpl-message';\n", + " toolbar.appendChild(status_bar);\n", + " this.message = status_bar;\n", + "};\n", + "\n", + "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", + " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", + " // which will in turn request a refresh of the image.\n", + " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", + "};\n", + "\n", + "mpl.figure.prototype.send_message = function (type, properties) {\n", + " properties['type'] = type;\n", + " properties['figure_id'] = this.id;\n", + " this.ws.send(JSON.stringify(properties));\n", + "};\n", + "\n", + "mpl.figure.prototype.send_draw_message = function () {\n", + " if (!this.waiting) {\n", + " this.waiting = true;\n", + " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", + " var format_dropdown = fig.format_dropdown;\n", + " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", + " fig.ondownload(fig, format);\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", + " var size = msg['size'];\n", + " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", + " fig._resize_canvas(size[0], size[1], msg['forward']);\n", + " fig.send_message('refresh', {});\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", + " var x0 = msg['x0'] / fig.ratio;\n", + " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", + " var x1 = msg['x1'] / fig.ratio;\n", + " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", + " x0 = Math.floor(x0) + 0.5;\n", + " y0 = Math.floor(y0) + 0.5;\n", + " x1 = Math.floor(x1) + 0.5;\n", + " y1 = Math.floor(y1) + 0.5;\n", + " var min_x = Math.min(x0, x1);\n", + " var min_y = Math.min(y0, y1);\n", + " var width = Math.abs(x1 - x0);\n", + " var height = Math.abs(y1 - y0);\n", + "\n", + " fig.rubberband_context.clearRect(\n", + " 0,\n", + " 0,\n", + " fig.canvas.width / fig.ratio,\n", + " fig.canvas.height / fig.ratio\n", + " );\n", + "\n", + " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", + " // Updates the figure title.\n", + " fig.header.textContent = msg['label'];\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", + " fig.rubberband_canvas.style.cursor = msg['cursor'];\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_message = function (fig, msg) {\n", + " fig.message.textContent = msg['message'];\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n", + " // Request the server to send over a new figure.\n", + " fig.send_draw_message();\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n", + " fig.image_mode = msg['mode'];\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n", + " for (var key in msg) {\n", + " if (!(key in fig.buttons)) {\n", + " continue;\n", + " }\n", + " fig.buttons[key].disabled = !msg[key];\n", + " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", + " if (msg['mode'] === 'PAN') {\n", + " fig.buttons['Pan'].classList.add('active');\n", + " fig.buttons['Zoom'].classList.remove('active');\n", + " } else if (msg['mode'] === 'ZOOM') {\n", + " fig.buttons['Pan'].classList.remove('active');\n", + " fig.buttons['Zoom'].classList.add('active');\n", + " } else {\n", + " fig.buttons['Pan'].classList.remove('active');\n", + " fig.buttons['Zoom'].classList.remove('active');\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function () {\n", + " // Called whenever the canvas gets updated.\n", + " this.send_message('ack', {});\n", + "};\n", + "\n", + "// A function to construct a web socket function for onmessage handling.\n", + "// Called in the figure constructor.\n", + "mpl.figure.prototype._make_on_message_function = function (fig) {\n", + " return function socket_on_message(evt) {\n", + " if (evt.data instanceof Blob) {\n", + " var img = evt.data;\n", + " if (img.type !== 'image/png') {\n", + " /* FIXME: We get \"Resource interpreted as Image but\n", + " * transferred with MIME type text/plain:\" errors on\n", + " * Chrome. But how to set the MIME type? It doesn't seem\n", + " * to be part of the websocket stream */\n", + " img.type = 'image/png';\n", + " }\n", + "\n", + " /* Free the memory for the previous frames */\n", + " if (fig.imageObj.src) {\n", + " (window.URL || window.webkitURL).revokeObjectURL(\n", + " fig.imageObj.src\n", + " );\n", + " }\n", + "\n", + " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", + " img\n", + " );\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " } else if (\n", + " typeof evt.data === 'string' &&\n", + " evt.data.slice(0, 21) === 'data:image/png;base64'\n", + " ) {\n", + " fig.imageObj.src = evt.data;\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " }\n", + "\n", + " var msg = JSON.parse(evt.data);\n", + " var msg_type = msg['type'];\n", + "\n", + " // Call the \"handle_{type}\" callback, which takes\n", + " // the figure and JSON message as its only arguments.\n", + " try {\n", + " var callback = fig['handle_' + msg_type];\n", + " } catch (e) {\n", + " console.log(\n", + " \"No handler for the '\" + msg_type + \"' message type: \",\n", + " msg\n", + " );\n", + " return;\n", + " }\n", + "\n", + " if (callback) {\n", + " try {\n", + " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", + " callback(fig, msg);\n", + " } catch (e) {\n", + " console.log(\n", + " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", + " e,\n", + " e.stack,\n", + " msg\n", + " );\n", + " }\n", + " }\n", + " };\n", + "};\n", + "\n", + "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", + "mpl.findpos = function (e) {\n", + " //this section is from http://www.quirksmode.org/js/events_properties.html\n", + " var targ;\n", + " if (!e) {\n", + " e = window.event;\n", + " }\n", + " if (e.target) {\n", + " targ = e.target;\n", + " } else if (e.srcElement) {\n", + " targ = e.srcElement;\n", + " }\n", + " if (targ.nodeType === 3) {\n", + " // defeat Safari bug\n", + " targ = targ.parentNode;\n", + " }\n", + "\n", + " // pageX,Y are the mouse positions relative to the document\n", + " var boundingRect = targ.getBoundingClientRect();\n", + " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n", + " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n", + "\n", + " return { x: x, y: y };\n", + "};\n", + "\n", + "/*\n", + " * return a copy of an object with only non-object keys\n", + " * we need this to avoid circular references\n", + " * https://stackoverflow.com/a/24161582/3208463\n", + " */\n", + "function simpleKeys(original) {\n", + " return Object.keys(original).reduce(function (obj, key) {\n", + " if (typeof original[key] !== 'object') {\n", + " obj[key] = original[key];\n", + " }\n", + " return obj;\n", + " }, {});\n", + "}\n", + "\n", + "mpl.figure.prototype.mouse_event = function (event, name) {\n", + " var canvas_pos = mpl.findpos(event);\n", + "\n", + " if (name === 'button_press') {\n", + " this.canvas.focus();\n", + " this.canvas_div.focus();\n", + " }\n", + "\n", + " var x = canvas_pos.x * this.ratio;\n", + " var y = canvas_pos.y * this.ratio;\n", + "\n", + " this.send_message(name, {\n", + " x: x,\n", + " y: y,\n", + " button: event.button,\n", + " step: event.step,\n", + " guiEvent: simpleKeys(event),\n", + " });\n", + "\n", + " /* This prevents the web browser from automatically changing to\n", + " * the text insertion cursor when the button is pressed. We want\n", + " * to control all of the cursor setting manually through the\n", + " * 'cursor' event from matplotlib */\n", + " event.preventDefault();\n", + " return false;\n", + "};\n", + "\n", + "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", + " // Handle any extra behaviour associated with a key event\n", + "};\n", + "\n", + "mpl.figure.prototype.key_event = function (event, name) {\n", + " // Prevent repeat events\n", + " if (name === 'key_press') {\n", + " if (event.key === this._key) {\n", + " return;\n", + " } else {\n", + " this._key = event.key;\n", + " }\n", + " }\n", + " if (name === 'key_release') {\n", + " this._key = null;\n", + " }\n", + "\n", + " var value = '';\n", + " if (event.ctrlKey && event.key !== 'Control') {\n", + " value += 'ctrl+';\n", + " }\n", + " else if (event.altKey && event.key !== 'Alt') {\n", + " value += 'alt+';\n", + " }\n", + " else if (event.shiftKey && event.key !== 'Shift') {\n", + " value += 'shift+';\n", + " }\n", + "\n", + " value += 'k' + event.key;\n", + "\n", + " this._key_event_extra(event, name);\n", + "\n", + " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n", + " return false;\n", + "};\n", + "\n", + "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", + " if (name === 'download') {\n", + " this.handle_save(this, null);\n", + " } else {\n", + " this.send_message('toolbar_button', { name: name });\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", + " this.message.textContent = tooltip;\n", + "};\n", + "\n", + "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", + "// prettier-ignore\n", + "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", + "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n", + "\n", + "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n", + "\n", + "mpl.default_extension = \"png\";/* global mpl */\n", + "\n", + "var comm_websocket_adapter = function (comm) {\n", + " // Create a \"websocket\"-like object which calls the given IPython comm\n", + " // object with the appropriate methods. Currently this is a non binary\n", + " // socket, so there is still some room for performance tuning.\n", + " var ws = {};\n", + "\n", + " ws.binaryType = comm.kernel.ws.binaryType;\n", + " ws.readyState = comm.kernel.ws.readyState;\n", + " function updateReadyState(_event) {\n", + " if (comm.kernel.ws) {\n", + " ws.readyState = comm.kernel.ws.readyState;\n", + " } else {\n", + " ws.readyState = 3; // Closed state.\n", + " }\n", + " }\n", + " comm.kernel.ws.addEventListener('open', updateReadyState);\n", + " comm.kernel.ws.addEventListener('close', updateReadyState);\n", + " comm.kernel.ws.addEventListener('error', updateReadyState);\n", + "\n", + " ws.close = function () {\n", + " comm.close();\n", + " };\n", + " ws.send = function (m) {\n", + " //console.log('sending', m);\n", + " comm.send(m);\n", + " };\n", + " // Register the callback with on_msg.\n", + " comm.on_msg(function (msg) {\n", + " //console.log('receiving', msg['content']['data'], msg);\n", + " var data = msg['content']['data'];\n", + " if (data['blob'] !== undefined) {\n", + " data = {\n", + " data: new Blob(msg['buffers'], { type: data['blob'] }),\n", + " };\n", + " }\n", + " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", + " ws.onmessage(data);\n", + " });\n", + " return ws;\n", + "};\n", + "\n", + "mpl.mpl_figure_comm = function (comm, msg) {\n", + " // This is the function which gets called when the mpl process\n", + " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", + "\n", + " var id = msg.content.data.id;\n", + " // Get hold of the div created by the display call when the Comm\n", + " // socket was opened in Python.\n", + " var element = document.getElementById(id);\n", + " var ws_proxy = comm_websocket_adapter(comm);\n", + "\n", + " function ondownload(figure, _format) {\n", + " window.open(figure.canvas.toDataURL());\n", + " }\n", + "\n", + " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", + "\n", + " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", + " // web socket which is closed, not our websocket->open comm proxy.\n", + " ws_proxy.onopen();\n", + "\n", + " fig.parent_element = element;\n", + " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n", + " if (!fig.cell_info) {\n", + " console.error('Failed to find cell for figure', id, fig);\n", + " return;\n", + " }\n", + " fig.cell_info[0].output_area.element.on(\n", + " 'cleared',\n", + " { fig: fig },\n", + " fig._remove_fig_handler\n", + " );\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_close = function (fig, msg) {\n", + " var width = fig.canvas.width / fig.ratio;\n", + " fig.cell_info[0].output_area.element.off(\n", + " 'cleared',\n", + " fig._remove_fig_handler\n", + " );\n", + " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", + "\n", + " // Update the output cell to use the data from the current canvas.\n", + " fig.push_to_output();\n", + " var dataURL = fig.canvas.toDataURL();\n", + " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", + " // the notebook keyboard shortcuts fail.\n", + " IPython.keyboard_manager.enable();\n", + " fig.parent_element.innerHTML =\n", + " '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", + " fig.close_ws(fig, msg);\n", + "};\n", + "\n", + "mpl.figure.prototype.close_ws = function (fig, msg) {\n", + " fig.send_message('closing', msg);\n", + " // fig.ws.close()\n", + "};\n", + "\n", + "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", + " // Turn the data on the canvas into data in the output cell.\n", + " var width = this.canvas.width / this.ratio;\n", + " var dataURL = this.canvas.toDataURL();\n", + " this.cell_info[1]['text/html'] =\n", + " '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", + "};\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function () {\n", + " // Tell IPython that the notebook contents must change.\n", + " IPython.notebook.set_dirty(true);\n", + " this.send_message('ack', {});\n", + " var fig = this;\n", + " // Wait a second, then push the new image to the DOM so\n", + " // that it is saved nicely (might be nice to debounce this).\n", + " setTimeout(function () {\n", + " fig.push_to_output();\n", + " }, 1000);\n", + "};\n", + "\n", + "mpl.figure.prototype._init_toolbar = function () {\n", + " var fig = this;\n", + "\n", + " var toolbar = document.createElement('div');\n", + " toolbar.classList = 'btn-toolbar';\n", + " this.root.appendChild(toolbar);\n", + "\n", + " function on_click_closure(name) {\n", + " return function (_event) {\n", + " return fig.toolbar_button_onclick(name);\n", + " };\n", + " }\n", + "\n", + " function on_mouseover_closure(tooltip) {\n", + " return function (event) {\n", + " if (!event.currentTarget.disabled) {\n", + " return fig.toolbar_button_onmouseover(tooltip);\n", + " }\n", + " };\n", + " }\n", + "\n", + " fig.buttons = {};\n", + " var buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'btn-group';\n", + " var button;\n", + " for (var toolbar_ind in mpl.toolbar_items) {\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) {\n", + " /* Instead of a spacer, we start a new button group. */\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + " buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'btn-group';\n", + " continue;\n", + " }\n", + "\n", + " button = fig.buttons[name] = document.createElement('button');\n", + " button.classList = 'btn btn-default';\n", + " button.href = '#';\n", + " button.title = name;\n", + " button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n", + " button.addEventListener('click', on_click_closure(method_name));\n", + " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", + " buttonGroup.appendChild(button);\n", + " }\n", + "\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + "\n", + " // Add the status bar.\n", + " var status_bar = document.createElement('span');\n", + " status_bar.classList = 'mpl-message pull-right';\n", + " toolbar.appendChild(status_bar);\n", + " this.message = status_bar;\n", + "\n", + " // Add the close button to the window.\n", + " var buttongrp = document.createElement('div');\n", + " buttongrp.classList = 'btn-group inline pull-right';\n", + " button = document.createElement('button');\n", + " button.classList = 'btn btn-mini btn-primary';\n", + " button.href = '#';\n", + " button.title = 'Stop Interaction';\n", + " button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n", + " button.addEventListener('click', function (_evt) {\n", + " fig.handle_close(fig, {});\n", + " });\n", + " button.addEventListener(\n", + " 'mouseover',\n", + " on_mouseover_closure('Stop Interaction')\n", + " );\n", + " buttongrp.appendChild(button);\n", + " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", + " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", + "};\n", + "\n", + "mpl.figure.prototype._remove_fig_handler = function (event) {\n", + " var fig = event.data.fig;\n", + " if (event.target !== this) {\n", + " // Ignore bubbled events from children.\n", + " return;\n", + " }\n", + " fig.close_ws(fig, {});\n", + "};\n", + "\n", + "mpl.figure.prototype._root_extra_style = function (el) {\n", + " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", + "};\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function (el) {\n", + " // this is important to make the div 'focusable\n", + " el.setAttribute('tabindex', 0);\n", + " // reach out to IPython and tell the keyboard manager to turn it's self\n", + " // off when our div gets focus\n", + "\n", + " // location in version 3\n", + " if (IPython.notebook.keyboard_manager) {\n", + " IPython.notebook.keyboard_manager.register_events(el);\n", + " } else {\n", + " // location in version 2\n", + " IPython.keyboard_manager.register_events(el);\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", + " // Check for shift+enter\n", + " if (event.shiftKey && event.which === 13) {\n", + " this.canvas_div.blur();\n", + " // select the cell after this one\n", + " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", + " IPython.notebook.select(index + 1);\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", + " fig.ondownload(fig, null);\n", + "};\n", + "\n", + "mpl.find_output_cell = function (html_output) {\n", + " // Return the cell and output element which can be found *uniquely* in the notebook.\n", + " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", + " // IPython event is triggered only after the cells have been serialised, which for\n", + " // our purposes (turning an active figure into a static one), is too late.\n", + " var cells = IPython.notebook.get_cells();\n", + " var ncells = cells.length;\n", + " for (var i = 0; i < ncells; i++) {\n", + " var cell = cells[i];\n", + " if (cell.cell_type === 'code') {\n", + " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", + " var data = cell.output_area.outputs[j];\n", + " if (data.data) {\n", + " // IPython >= 3 moved mimebundle to data attribute of output\n", + " data = data.data;\n", + " }\n", + " if (data['text/html'] === html_output) {\n", + " return [cell, data, j];\n", + " }\n", + " }\n", + " }\n", + " }\n", + "};\n", + "\n", + "// Register the function which deals with the matplotlib target/channel.\n", + "// The kernel may be null if the page has been refreshed.\n", + "if (IPython.notebook.kernel !== null) {\n", + " IPython.notebook.kernel.comm_manager.register_target(\n", + " 'matplotlib',\n", + " mpl.mpl_figure_comm\n", + " );\n", + "}\n" + ], + "text/plain": [ + "<IPython.core.display.Javascript object>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAK8CAYAAAAXo9vkAAAAAXNSR0IArs4c6QAAIABJREFUeF7s3Qe0VNX59/HfzNx7586tVJUignQBQVFpCoodK8aoSUyM0RiDDUusCRbshVgiGlsSjXnNX6NRLFGxICpY6IIgUgSlSL29zsy7ziHcqLS5d++Ze87Md9ZiJYFznr33Zz//9T7Pe1qga9eucfFDAAEEEEAAAQQQQAABBFIgEKABSYEyQyCAAAIIIIAAAggggIArQANCIiCAAAIIIIAAAggggEDKBGhAUkbNQAgggAACCCCAAAIIIEADQg4ggAACCCCAAAIIIIBAygRoQFJGzUAIIIAAAggggAACCCBAA0IOIIAAAggggAACCCCAQMoEaEBSRs1ACCCAAAIIIIAAAgggQANCDiCAAAIIIIAAAggggEDKBGhAUkbNQAgggAACCCCAAAIIIEADQg4ggAACCCCAAAIIIIBAygRoQFJGzUAIIIAAAggggAACCCBAA0IOIIAAAggggAACCCCAQMoEaEBSRs1ACCCAAAIIIIAAAgggQANCDiCAAAIIIIAAAggggEDKBGhAUkbNQAgggAACCCCAAAIIIEADQg4ggAACCCCAAAIIIIBAygRoQFJGzUAIIIAAAggggAACCCBAA0IOIIAAAggggAACCCCAQMoEaEBSRs1ACCCAAAIIIIAAAgggQANCDiCAAAIIIIAAAggggEDKBGhAUkbNQAgggAACCCCAAAIIIEADQg4ggAACCCCAAAIIIIBAygRoQFJGzUAIIIAAAggggAACCCBAA0IOIIAAAggggAACCCCAQMoEaEBSRs1ACCCAAAIIIIAAAgggQANCDiCAAAIIIIAAAggggEDKBGhAUkbNQAgggAACCCCAAAIIIEADQg4ggAACCCCAAAIIIIBAygRoQFJGzUAIIIAAAggggAACCCBAA0IOIIAAAggggAACCCCAQMoEaEBSRs1ACCCAAAIIIIAAAgggQANCDiCAAAIIIIAAAggggEDKBGhAUkbNQAgggAACCCCAAAIIIEADQg4ggAACCCCAAAIIIIBAygRoQFJGzUAIIIAAAggggAACCCBAA0IOIIAAAggggAACCCCAQMoEaEBSRs1ACCCAAAIIIIAAAgggQANCDiCAAAIIIIAAAggggEDKBGhAUkbNQAgggAACCCCAAAIIIEADQg4ggAACCCCAAAIIIIBAygRoQFJGzUAIIIAAAggggAACCCBAA0IOIIAAAggggAACCCCAQMoEaEBSRs1ACCCAAAIIIIAAAgggQANCDiCAAAIIIIAAAggggEDKBGhAUkbNQAgggAACCCCAAAIIIEADQg4ggAACCCCAAAIIIIBAygRoQFJGzUAIIIAAAggggAACCCBAA0IOIIAAAggggAACCCCAQMoEaEBSRs1ACCCAAAIIIIAAAgggQANCDiCAAAIIIIAAAggggEDKBGhAUkbNQAgggAACCCCAAAIIIEADQg4ggAACCCCAAAIIIIBAygRoQFJGzUAIIIAAAggggAACCCBAA0IOIIAAAggggAACCCCAQMoEaEBSRs1ACCCAAAIIIIAAAgggQANCDiCAAAIIIIAAAggggEDKBGhAUkbNQAgggAACCCCAAAIIIEADQg4ggAACCCCAAAIIIIBAygRoQFJGzUAIIIAAAggggAACCCBAA0IOIIAAAggggAACCCCAQMoEaEBSRs1ACCCAAAIIIIAAAgggQANCDiCAAAIIIIAAAggggEDKBGhAUkbNQAgggAACCCCAAAIIIEADQg4ggAACCCCAAAIIIIBAygRoQFJGzUAIIIAAAggggAACCCBAA0IOIIAAAggggAACCCCAQMoEaEBSRs1ACCCAAAIIIIAAAgggQAPigxwIBoO6/PLLtXLlSj3zzDONnnEgENCRRx6pYcOGqVWrViopKdEnn3yiV155RfX19Y2OxwkIIIAAAggggAACCDRVgAakqXIpOi8nJ0e/+tWvNGDAAL377rtNakDOPPNMDR482G04lixZoq5du2rUqFH66KOP9Pe//z1FK2EYBBBAAAEEEEAAAQQkGhAPZ0Hfvn116qmnqqCgwP3TlAakc+fOuvrqq/XUU0/pgw8+aFjtiSeeqIEDB2r8+PFcBfFwDjA1BBBAAAEEEEAg3QRoQDy6o5FIRPfcc49mzZqlZ599Vrfffvs2DYhza9ZRRx2lIUOGuLdWlZWV6dNPP9WkSZNUV1fnruxHP/qRhg4dqiuuuELxeNyjq2VaCCCAAAIIIIAAApkiQAPi0Z0OhUJq27at1qxZ487w4Ycf3qYB+fWvf63+/fvr9ddf15dffqkOHTro+OOP1/Lly3Xfffe5Dcell16qrKws9/Yr56pHx44dVVFR4V4NefnllxWLxTwqwLQQQAABBBBAAAEE0lGABsQnu/rDBqRHjx667LLL3Ksjb731VsMq+vXrpwsuuECPPPKIZs6cqeuvv155eXlyrpY4TciqVau0zz77uA+lT58+3b01ix8CCCCAAAIIIIAAAqkSoAFJlbThOD9sQE466SQde+yxuu6667Rp06aG6M4bryZMmODeiuU0FzfddJN22203Pfjgg5o3b17DcT/+8Y91+OGH6w9/+IPWrVtnODtORwABBBBAAAEEEEAgMQEakMScmv2oHzYgzputDj744B3Oa8GCBbr//vt17bXXqn379rr44ou/d7tV7969dckll+jRRx/VjBkzmn19TAABBBBAAAEEEEAgMwRoQHyyzz9sQE455RQdccQRuvvuu7f7FquamhqtXbtW55xzjvu2K6fZ2PpgurNk5w1bF1544TZXRnzCwTQRQAABBBBAAAEEfCpAA+KTjfthA+I8x+Fc1fjhrVXO27B+8YtfaNq0ae53Pg466CD3OyJPPvmkPvzww4bVOldQBg0a5L6i13konR8CCCCAAAIIIIAAAqkQoAFJhbKFMbb3FiznCkaXLl3ct2A5b75q0aKFjjvuOPebIXfeead7BcR5JsR5WH2vvfZyX8+7YsUK7bvvvjrssMP06quvum/C4ocAAggggAACCCCAQKoEaEBSJW04zvYaEOdVvcccc4x7JcO58uFcyXBex+s0FatXr24Y0fmauvN63gMOOECFhYXasGGD3nnnHU2ZMsVwVpyOAAIIIIAAAggggEDjBGhAGufF0QgggAACCCCAAAIIIGAgQANigMepCCCAAAIIIIAAAggg0DgBGpDGeXE0AggggAACCCCAAAIIGAjQgBjg2T713HPPdUPGYjHboYmHAAIIIIAAAgggYEEgGAy6UR577DEL0TIzBA2Ih/adBsRDm8FUEEAAAQQQQACB7QjQgJinBQ2IuaG1CM73OpzfE088YS0mgRBAAAEEEEAAAQTsCVCvmVvSgJgbWotAQlujJBACCCCAAAIIIJAUAeo1c1YaEHNDaxFIaGuUBEIAAQQQQAABBJIiQL1mzkoDYm5oLQIJbY2SQAgggAACCCCAQFIEqNfMWWlAzA2tRSChrVESCAEEEEAAAQQQSIoA9Zo5Kw2IuaG1CCS0NUoCIYAAAggggAACSRGgXjNnpQExN7QWgYS2Rkkg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C/7podkxFQQQQKBpAtRrTXP77lmebUAeeOABTZ48WS+++KI73+HDh+v000/XJZdcovr6evfvzjzzTHXr1k033LDljSqN+eXk5MhJIOdWr3fffXeXDcixxx6rUaNGacKECdsMs2zZssYMvcNjSWgrjARBAIHmFgiE3G985HY9xp1JzcoPVDHrESlu/v9R09xLY3wEEECAes08BzzbgNx6663uFZCnn37aXWXv3r3dKxDOLVfOFQvnd/LJJ+vQQw/V2LFjGyXhPNx+6qmnqqCgwP2TSANy/vnnq2XLlu74yfqR0MmSJS4CCKRMIBBSwaBLlbN7f3fIqkUvqmrhv5xHz1M2BQZCAAEEkilAvWau69kG5Je//KWcRuHOO+90n/Fw3oR1xx136NVXX9XLL7/srty5fcp5De+1116bsEQkEtE999yjWbNm6dlnn9Xtt9+eUANyyy23aMGCBQ0NUcIDNuJAEroRWByKAALeEwiElL/fuQrvebDi9TUqn/mQ6lbP8N48mRECCCBgIEC9ZoD331M924A4D5pfc801cl656zyIPnPmTDlXIfr16+c2D05D0r17d02bNk1PPfVUwhLO63vbtm2rNWu2vIHl4Ycf3mUD4rzu12la5s6dq6KiInXo0EHV1dXunF544QX3v9v4kdA2FImBAALNIRDIylPBgRcpe7e+iseiKv/oj6r7dk5zTIUxEUAAgaQKUK+Z83q2AXGW1rlzZx1//PF666233NftOrdAOW/DcpoT57d8+XI99NBDKisra7JEIg2Ic/uX8+zJqlWr9Nprr2nz5s3usyfHHHOM+3d33XVXwg+hOw1McXHxdud71FFHKR6P64knnmjyejgRAQQQSLWA03wUDR+nUGEHxeurVT5jourWzEr1NBgPAQQQSIkADYg5s2cbkJ194dy5AlFXV2fl9buJNCDOFZAuXbpo6dKlqqysbFAfMmSIzjrrLD3++OP65JNPEtoNp6Fy/mzv51xRcd6mtfXNXwkF5CAEEECgmQUiPUcr0usUxao2qmz6PYqWrmjmGTE8AgggkDwBGhBzW882IDfffLP73Y9HH33UfJU7iZBIA7Kj051XATtvxXrjjTf0/PPPJzRProAkxMRBCCDgA4FAuEi5nQ93mw/nV/7JA6pd9bEPZs4UEUAAgaYL0IA03W7rmZ5tQO6//369/fbb+ve//22+SsMGxLn6seeee2rq1KnuLVJbf04z4Twk7zQfThNi+iOhTQU5HwEEUiUQzNtNzhfOQ/lt3SGj5WvcDw3ytqtU7QDjIIBAcwlQr5nLe7YBcV6567wi13m+Yut3P8yXu22ERK6AjBw50v0QotMUOW/C2vo78sgjNXr0aPdNWitWmN9yQEInY4eJiQACyRAoHHqVstv2Vay2THVr56hm2Vuq3/RlMoYiJgIIIOApAeo18+3wbAOy//77ux8edJoP53sg69evd5/72N7vnXfeabLE9hqQNm3auG/Zcr434oyfm5vrvpHLeYXvpEmTtG7dOver7E4D8sEHH+gf//hHk8f/7okktBVGgiCAQJIFQsWdVXzoeMVj9SqZ/DvFqtYneUTCI4AAAt4RoF4z3wvPNiATJ05MeHVjxoxJ+NgfHri9BsR5sNx5wPy6667Thg0b3FOc261OOOEE7bPPPu5/d/7eaT6cr7V/97asJk9Ecr/M7vx4C5aJIucigEDyBAIK5BarYOAFym7TSzUr31fFzD8nbzgiI4AAAh4UoF4z3xTPNiCDBw9OeHXTp09P+FgvH0hCe3l3mBsCGS4QzFLxoTe7r9p1fs6HBkumjFOsfFWGw7B8BBDINAHqNfMd92wDYr40/0Ugof23Z8wYgUwRyOk0XAX7/dpdbqx6k/vGq/qNizNl+awTAQQQaBCgXjNPBhoQc0NrEUhoa5QEQgABSwKB7Hzl7/8b5eyxnxux8vNnVf3FJN52ZcmXMAgg4D8B6jXzPfNsA5LIMyDOsxe1tbXauHGjFi1apFdeeUUVFRXmKs0UgYRuJniGRQCBHQpEep+mSI8Ttlz5qKtUyRtjFa+vQgwBBBDIWAHqNfOt92wDcuaZZ6pnz55yvojufH3866+/VklJiftGqr322st9ENz5+2+//VbFxcVq2bKlNm3apFtvvdW3TQgJbZ7QREAAAXsCgayIio+6V8HsPNV9O0+Vnz+n6Oal9gYgEgIIIOBDAeo1803zbAPSr18//fa3v9Wbb77pXtlwrnRs/QUCAR1zzDE67rjj9Kc//UkLFy7UwIED3bdIvfvuu3r22WfNZZohAgndDOgMiQACOxAIKP+AMQp3GKz60q9V+s613HZFriCAAAK8tdRKDni2AXG+u+Fc4bjvvvt2uNCxY8cqHA7rjjvucI85//zz1aFDB/3hD3+wgpPqIDQgqRZnPAQQ2JFAXr9fKHfvI91vfZRNu1P16z8HCwEEEECABsRKDni2AXG+Ou58YPCFF17Y4UJ/9KMfacSIEbr44ovdY0466SQdfvjhDf/bilAKg9CApBCboRBAYIcCuT1OUl7vUxWPx1Tx6UTVrvoILQQQQACB/wpQr5mngmcbkJtvvtl9puOee+7Z4Sovv/xytW3bVldffbV7zE9/+lPtu+++Df/bnCe1EUjo1HozGgIIbCsQ3usw5Q/Y8lHUirl/U82yyTAhgAACCHxHgHrNPB0824CMHj1aRx55pHsV5KWXXlJNTU3DaoPBoPtV8qOPPlpTpkzRP//5T/dhdacRWbZsmRJ5g5Y5nf0IJLR9UyIigEDiAtntDlDBgRcpEAiqatG/VbXwX4mfzJEIIIBAhghQr5lvtGcbkJycHDnPeHTu3NltPtauXeu+BSsSibjPeTj/uXLlSv3xj39UNBrVvffe62o4/7l4sT8/jkVCmyc0ERBAoGkCWa17qXDIlQqEslW9/G1VzvlL0wJxFgIIIJDmAtRr5hvs2QbEWZpzpWPkyJEaPHiw2rdv37Ba59W706ZN01tvvaX6+nq1atVKZ5xxhqZOnap58+aZqzRTBBK6meAZFoEMFwhk56n4iAkK5uSrdtUn7lfOpXiGq7B8BBBAYPsC1GvmmeHpBuS7y8vKylJ+fr6qq6u/dzuWOYF3IpDQ3tkLZoJAJgnkdjtOeX3O2PK63SnjnC8OZtLyWSsCCCDQKAHqtUZxbfdgXzQge+yxhzp27Og2IM4zH85HB51X9H73uRBziuaPQEI3/x4wAwQyTiCYpRZH3KNgpJXKZ/5ZtSvfzzgCFowAAgg0RoB6rTFa2z/W0w1Iu3bt9POf/9x9DmTrb8yYMe4HCJ3X7T799NOaMWOGuYJHIpDQHtkIpoFABgnk7/9bhfccqlj1Jm1+8zIpVp9Bq2epCCCAQOMFqNcab/bDMzzbgDhvtXI+Ruh8aNBpMoqLi9WzZ085DcigQYPcZz6cB9UnTJigJUuWmEt4IAIJ7YFNYAoIZJBApNcpivQcveVjg9PvVv26+Rm0epaKAAIINE2Aeq1pbt89y7MNyNlnn6399ttPd911l/u2K+eqh/PHaUCcn3N15Morr9SXX36pBx980FzCAxFIaA9sAlNAIEMEcjodooL9znNXWz7rUdWueC9DVs4yEUAAATMB6jUzP+dszzYgd955p+bPn6+//e1v7ip/2IA4f+fcntW3b19dddVV5hIeiEBCe2ATmAICGSCQ1WYfFQ75nQLBLFUtelFVC5/LgFWzRAQQQMCOAPWauaNnG5D7779f7777rp5//vkdNiA/+tGPNGLECF188cXmEh6IQEJ7YBOYAgJpLhAq7KDCQ/6gYHa+ar7+UBUzHkrzFbM8BBBAwK4A9Zq5p2cbkHHjxrmv3HWuhOzoCojzjIjzet7x48ebS3ggAgntgU1gCgiksUAgXKyi4TcolNdGdesXqmzaHTx0nsb7zdIQQCA5AtRr5q6ebUCOPvponXTSSXr99df10ksvadSoUQ3PgDhNx+jRo3XYYYdp0qRJeu2118wlPBCBhPbAJjAFBNJVIBRW0bBrldVyb0XLV6v0vZsUrytP19WyLgQQQCBpAtRr5rSebUCcr6A7t1b16NHD/eaH88XzoqIi96Fz5wF055sgy5cvd9+C5fxbOvxI6HTYRdaAgBcFAio46BLltBuoWE2pSqfeqFjFt16cKHNCAAEEPC9AvWa+RZ5tQJylOU2I872PYcOGabfddmtY7aZNmzRt2jT95z//SZvmw1kcCW2e0ERAAIFtBfL6/ky5XY9RPFqrsg9uV/2mxTAhgAACCDRRgHqtiXDfOc3TDch3l+d88yMSibhfP3eeDUnHHwmdjrvKmhBoXoHw3kcpv9/P3UmUffKA6lZ93LwTYnQEEEDA5wLUa+Yb6NkGZOzYse5Vjo8++miHqzz00EPl/LnhhhvMJTwQgYT2wCYwBQTSSCB7j/1UcNBYBQJBVc5/RtVfvpJGq2MpCCCAQPMIUK+Zu3umAcnOzlYoFGpYkfNsh/MAuvNnez/n2LPOOku9evXiNbzmeUAEBBBIM4FQiy4qGnadAllhVS9/W5Vz/pJmK2Q5CCCAQPMI0ICYu3umAXG+53H66ac3ekXLli1zv5aeDj8SOh12kTUg0PwCwUhr93W7wdwWql07R+UfTZDiseafGDNAAAEE0kCAes18Ez3TgAQCAZ1zzjkqLCx0V9W9e3dt3LhRGzZs2GaV8Xhc0WhUmzdvdl/Bu379enMJD0QgoT2wCUwBAZ8LBLLy3A8NZhV1VH3JCpW+P16qT8/n5ny+VUwfAQR8KkC9Zr5xnmlAfriUiRMn6uWXX9arr75qvkqfRCChfbJRTBMBDwvk9T9buZ1HKla1USXv3aB49SYPz5apIYAAAv4ToF4z3zPPNiDmS/NfBBLaf3vGjBHwkkAgO08tjrrffe6j9P1bVL9hoZemx1wQQACBtBCgXjPfRs83IM73P1q3bi3n6+fObVrb+82dO9dcwgMRSGgPbAJTQMCnAllt+6pg4G8VDBdtufXq3et8uhKmjQACCHhbgHrNfH8824A4Xzo///zz1bVr112ucsyYMbs8xg8HkNB+2CXmiIAHBUJhtTj6fgWz89zJVcz5i2qWv+3BiTIlBBBAwP8C1Gvme+jZBuRnP/uZ+wX01atXa+HChaqqqpLz8Pn2fq+8kh7vtiehzROaCAhkokB4r8OUP+BXW5qPeU+rZtkbvPUqExOBNSOAQEoEqNfMmT3bgNx5553atGmTbr/99h02HubL91YEEtpb+8FsEPC8QFau8geco3CHwe5UKz/7h6qXvOb5aTNBBBBAwM8C1Gvmu+fZBuT+++/X22+/rX//+9/mq/RJBBLaJxvFNBHwhEBABYMuVc4e+7mzidVVqOTNKxSvK/fE7JgEAgggkK4C1GvmO+vZBuSqq65SSUmJHn74YfNV+iQCCe2TjWKaCHhAINL7NEV6nKB4tNa98lG7Ziav3PXAvjAFBBBIfwHqNfM99mwD0q9fP/ch9EcffVSzZ882X6kPIpDQPtgkpoiABwScN14VDb3KnUn5pxNV+800D8yKKSCAAAKZIUC9Zr7Pnm1ARo0apf79+2vPPfd0v3S+du1a1dfXb7Ni58H0Rx55xFzCAxFIaA9sAlNAwAcCBYOvUM7u/VW97C1Vzv2rD2bMFBFAAIH0EaBeM99LzzYgzpfQE/3xGt5EpTgOAQT8LhCMtFHxkfcoEAhq8+TLFav41u9LYv4IIICArwRoQMy3y7MNSKtWrRJe3caNGxM+1ssHktBe3h3mhoA3BCK9T1Wkx0mq+3aeyqbd6Y1JMQsEEEAggwSo18w327MNiPnS/BeBhPbfnjFjBFIqEAipxVH3KpjbQmUf36e61Z+mdHgGQwABBBCQqNfMs8AzDcjYsWObvJp77723yed66UQS2ku7wVwQ8J5AdrsDVXjQxYpVb9bmN8ZK8aj3JsmMEEAAgTQXoF4z32DPNCCNeebjh8vmGRDzRCACAgh4WyCQXaCiETcplN9WVYv+raqF//L2hJkdAgggkKYCNCDmG+uZBqQxz3z8cNk8A2KeCERAAAEPCwSCKhz8O2Xv1lfR8rUqfW+c4nWVHp4wU0MAAQTSV4AGxHxvPdOAmC/F/xFIaP/vIStAIBkCkT4/UaTbKMXrq1X63o2Kln2djGGIiQACCCCQgAD1WgJIuziEBsTc0FoEEtoaJYEQSBuBnI5DVTDwt+56ePA8bbaVhSCAgI8FqNfMN48GxNzQWgQS2holgRBIC4FQ8V4qOmScAqEcVS16UVULn0uLdbEIBBBAwM8C1Gvmu0cDYm5oLQIJbY2SQAj4XiCQU7jlofO8NqpdM1vlH02QFPf9ulgAAggg4HcB6jXzHaQBMTe0FoGEtkZJIAT8LRAIqXDIlcpuu4+i5atVOuUGxet56Nzfm8rsEUAgXQSo18x3kgbE3NBaBBLaGiWBEPC1QF7fM5Xb9WjF66pU8t4NipWv8vV6mDwCCCCQTgLUa+a7SQNibmgtAgltjZJACPhWIGfPQ1Sw/3nu/Ms++qPq1sz07VqYOAIIIJCOAtRr5rtKA2JuaC0CCW2NkkAI+FIg1KKLig7+/ZaHzhc+r6pFL/hyHUwaAQQQSGcB6jXz3aUBMTe0FoGEtkZJIAR8JxAIF6l4xHgFI61Uu3qGyj++j4fOfbeLTBgBBDJBgHrNfJdpQMwNrUUgoa1REggBfwk4D50Pu0bZrXsqWvaN+9yH6qv9tQZmiwACCGSIAPWa+UbTgJgbWotAQlujJBACvhLI2/cs5XY5QrG6SpW+d71i5Wt8NX8miwACCGSSAPWa+W7TgJgbWotAQlujJBACvhEIdxqh/P3OVTwec7/1Ubd2jm/mzkQRQACBTBSgXjPfdRoQc0NrEUhoa5QEQsAXAlktu6lw2LUKhLJV+fmzqv7iJV/Mm0kigAACmSxAvWa++zQg5obWIpDQ1igJhIDnBQK5LVQ84iYFc1uqdtUnKv/kfs/PmQkigAACCEjUa+ZZQANibmgtAgltjZJACHhbIJilomHXKqtVd9WXfq3SqTfy0Lm3d4zZIYAAAg0C1GvmyUADYm5oLQIJbY2SQAh4WiCv/6+U2/kwxWorVPreOMUqvvX0fJkcAggggMD/BKjXzLOBBsTc0FoEEtoaJYEQ8KxAuPNI5fc/e8tD59PvVt238zw7VyaGAAIIILCtAPWaeVbQgJgbWotAQlujJBACnhRwv3R+yDgFglmqnP+Mqv8/e+cBJmV19fH/9J2dtpXeQaoKFpooCCiCih2N7TOaYmKJyRejMeazJLbE2BKjJjEaa4wFVCQoTekgRQGlKkgv23d2d3Zndma+595xlkXK7s690//3efIkYd733Ht/98zsOffec85XM1JynBwUCZAACZDA0QnQXlPXDjog6gy1SaBCa0NJQSSQkgScQ38Ga6ehDDpPydXhoEiABEigdQRor7WO07GeogOizlCbBCq0NpQURAIpR8Bg8yBvwlMwGE2omvdrWfGcjQRIgARIIP0I0F5TXzM6IOoMtUmgQmtDSUEkkHIE7AOvgP248xEo2wTvogdSbnwcEAmQAAmQQOsI0F5rHSeegKhzSogEKnRCMLMTEkg4AUv7IXAO/wUMBiO8nz6FwN6VCR8DOyQBEiABEtBDgPaaOkeegKgz1CaBCq0NJQWRQMoQMDo7wTP6PhgsdtRvm4O6tS+lzNg4EBIgARIggbYToL3WdmbffYMOiDpDbRKo0NpQUhAJpAQBgzkX7jH3weTsiEDpRniXPAKEgykxNg6CBEiABEggNgK012Lj1vwtOiDqDLVJoEJrQ0lBJJACBAxwjvglrO0HI1hXiur59yLsr06BcXEIJEACJEACKgRor6nQi7xLB0SdoTYJVGhtKCmIBJJOwD7gctj7Tka4sQHVi36PYNX2pI+JAyABEiABElAnQHtNnSEdEHWG2iRQobWhpCASSCoBa+cRcJ56sxxDzcq/wr97WVLHw85JgARIgAT0EaC9ps6SDog6Q20SqNDaUFIQCSSNgMnTHe7T/w8Gsw2+LR/At/4/SRsLOyYBEiABEtBPgPaaOlM6IOoMtUmgQmtDSUEkkBQCBqsb7jH3w5RbBP/+NahZ9hiAcFLGwk5JgARIgATiQ4D2mjpXOiDqDLVJoEJrQ0lBJJB4AgYTXKf9Gpai/gjW7EX1gvsQDtQlfhzskQRIgARIIK4EaK+p46UDos5QmwQqtDaUFEQCCSeQe+J1yOl5FsIBH6oW3IdQzZ6Ej4EdkgAJkAAJxJ8A7TV1xlntgBiNRvzyl7/Ezp078cYbb7RIc9y4cRgzZgwKCgpQXl6O+fPnY968eS2+19oHqNCtJcXnSCC1CFi7jILzlJ/IQXmXP47Avs9Sa4AcDQmQAAmQgDYCtNfUUWatA2K1WiEUaMiQIfjkk09adEAmT56MiRMnYubMmdi6dSsGDRqE8ePH47333pP/pqNRoXVQpAwSSDQBAzzj/yCLDfo2ToNv09RED4D9kQAJkAAJJJAA7TV12FnpgBx//PG47LLL4HQ65X9ackA8Hg8eeOABzJkzRzoc0XbFFVdg1KhRuPPOO+Hz+ZRXgwqtjJACSCDBBAywdhkJ5yk/lVevKj66FQg2JHgM7I4ESIAESCCRBGivqdPOOgfEbrfjsccew2effYa33noLjzzySIsOyPDhw3H99dfj97//PXbv3t1EvWfPntL5+Mc//oFVq1YprwYVWhkhBZBAQgnIoPPiQbLP+m1zULf2pYT2z85IgARIgAQST4D2mjrzrHNATCYTiouLsW/fPknvueeea9EBueiii+T1q1tuuQWNjY1N1B0Oh3Rmpk+fjhkzZiivBhVaGSEFkEDCCJjye8Mz+j7ZX6jBi+qF9yNUuz9h/bMjEiABEiCB5BCgvabOYKyncAAAIABJREFUPesckO8ia40DctVVV2HkyJG49dZbD3ldBLE/88wzmD17Nt55551WrYbb7Ya40nWkNmHCBITDYbzwwgutksWHSIAEkkNAOB+uYbfBmJOPhp2LULv6b8kZCHslARIgARJIOAE6IOrI6YC04gTk6quvxogRI7Q4IOeffz7Ef47UVq9ejVAohOeff159ZSmBBEggLgRMrs5wj30IBoNRyq9ecD8aK76KS18USgIkQAIkkHoE6ICorwkdkFY4IBdffDHOOecc3HzzzQgGg03Uo1ew2pIJiycg6kpLCSSQTALReh9iDL7N78O34a1kDod9kwAJkAAJJJgAHRB14HRAWuGAiOtX1113He6//37s3bu3iXqvXr1wxx13yDiSzz//XHk1qNDKCCmABOJLwJyD/Al/hsFiR/Xih9FYuj6+/VE6CZAACZBAyhGgvaa+JHRAWuGAiFOLhx9+GB9++KEMOI+2aBreu+66C7W1tcqrQYVWRkgBJBBHAgY4Tr0Zts7DEazZi6q5d8SxL4omARIgARJIVQK019RXhg7IERyQoqIiuFwuWSE9mvVqypQpGDt2LGbNmoXNmzezEKG67lECCaQVAXu/S2DvfzHCoUZ4lzyCxrJNaTV+DpYESIAESEAPATog6hzpgBzBARHXrcS1q7vvvhtlZWWSssFgwKRJk2ThQXEiIv59/vz5+Pjjj9VX4VsJVGhtKCmIBLQSsHYeCeepN0mZNZ/9Hf4dC7XKpzASIAESIIH0IUB7TX2tst4BUUeoTwIVWh9LSiIBXQTMBX0hCg4aTBb4tsyAb/0bukRTDgmQAAmQQBoSoL2mvmh0QNQZapNAhdaGkoJIQAsBo6MD3KPvgdHqgn/PCtSs+AuAsBbZFEICJEACJJCeBGivqa8bHRB1htokUKG1oaQgElAmYLC64D7jXpic7dFY8TWqFz8EBP3KcimABEiABEggvQnQXlNfPzog6gy1SaBCa0NJQSSgRsBokdeuLIV9EawtQfXC+xBuqFaTybdJgARIgAQyggDtNfVlpAOizlCbBCq0NpQURAIKBES63Ztg6zwCIX8tqhf+DqGaPQry+CoJkAAJkEAmEaC9pr6adEDUGWqTQIXWhpKCSCBmAvYBl8Ped3Ik3e7SP6KxdEPMsvgiCZAACZBA5hGgvaa+pnRA1Blqk0CF1oaSgkggJgK27mfCMeQH8t2a1c/Bv3NxTHL4EgmQAAmQQOYSoL2mvrZ0QNQZapNAhdaGkoJIoM0EzMXHwzXidhiMJvg2ToVv07Q2y+ALJEACJEACmU+A9pr6GtMBUWeoTQIVWhtKCiKBNhEwOjvAM/p3MFjsaNi5CLWr/9am9/kwCZAACZBA9hCgvaa+1nRA1Blqk0CF1oaSgkigTQQcJ98IW9fTESjdCO/SPwChxja9z4dJgARIgASyhwDtNfW1pgOizlCbBCq0NpQURAKtJmCwupE34UlZ6bxq/j0IVm5r9bt8kARIgARIIPsI0F5TX3M6IOoMtUmgQmtDSUEk0GoCucdfg5ze50SKDS64r9Xv8UESIAESIIHsJEB7TX3d6YCoM9QmgQqtDSUFkUCrCNh6TYDjhGvls97lTyKwb1Wr3uNDJEACJEAC2UuA9pr62tMBUWeoTQIVWhtKCiKBFglYOw2XBQcNBiPq1r+J+i3TW3yHD5AACZAACZAA7TV1HaADos5QmwQqtDaUFEQCxyRgLhoYSblrsqB+6yzUrXuFxEiABEiABEigVQRor7UK0zEfogOizlCbBCq0NpQURAJHJWDydId71N0y5a5/96eoWfk0gDCJkQAJkAAJkECrCNBeaxUmOiDqmBIjgQqdGM7sJXsJGHOL4T7jHhhz8hAoWQ/vsj8BoUD2AuHMSYAESIAE2kyA9lqbkR32Ak9A1Blqk0CF1oaSgkjg8B87mxvu0++BydkejVXb4V30IMKNPpIiARIgARIggTYRoL3WJlxHfJgOiDpDbRKo0NpQUhAJHErAnAP3qLtgzuuFYO0BVC/8HcINVaREAiRAAiRAAm0mQHutzch4AqKOLH4SqNDxY0vJ2UvAYHHANfJXMOf3RqihWjofodr92QuEMycBEiABElAiQHtNCZ98mScg6gy1SaBCa0NJQSQQIWC0wHXar2Ep7ItQgxfepX9AsGo76ZAACZAACZBAzARor8WMrulFOiDqDLVJoEJrQ0lBJCAJ5B5/NXJ6T0QoUAvvwgcQ9O4iGRIgARIgARJQIkB7TQmffJkOiDpDbRKo0NpQUhAJwGB1Iu/sJ2Ew2+Bd9hgC+z8nFRIgARIgARJQJkB7TRkhHRB1hPokUKH1saSkbCZggGPID2DrPkZCaKzciur592YzEM6dBEiABEhAIwHaa+oweQKizlCbBCq0NpQUlMUEck+4Fjm9JjQR8H76FAJ7V2YxEU6dBEiABEhAJwHaa+o06YCoM9QmgQqtDSUFZSkBk7sbPGMfRDgcQv3m9xHYvwaNFV9lKQ1OmwRIgARIIB4EaK+pU6UDos5QmwQqtDaUFJSFBKydhsFx0o9lzEfDrqWoXfVMFlLglEmABEiABOJNgPaaOmE6IOoMtUmgQmtDSUFZRsDSaRhcQ29tmnXVx3cjWL0jyyhwuiRAAiRAAokgQHtNnTIdEHWG2iRQobWhpKAsI+A+80GYPd3krOs2TkX9pmlZRoDTJQESIAESSBQB2mvqpOmAqDPUJoEKrQ0lBWURAVv3sXAMuQHhRh8qZ/0c4UBdFs2eUyUBEiABEkg0Adpr6sTpgKgz1CaBCq0NJQVlAwGTDdbOw+AY8kMYDEbUbXhLBp6zkQAJkAAJkEA8CdBeU6dLB0SdoTYJVGhtKCkowwnkDr4BOT3GNs2yYft81H7+fIbPmtMjARIgARJIBQK019RXgQ6IOkNtEqjQ2lBSUAYTMDo7wjPuEXnqIVok5uNdAOEMnjWnRgIkQAIkkCoEaK+prwQdEHWG2iRQobWhpKAMJuA4+SewdR0F//61qFnxFBD0Z/BsOTUSIAESIIFUI0B7TX1F6ICoM9QmgQqtDSUFZSIBoxmOwTfA1u0MObuqBfchWPF1Js6UcyIBEiABEkhhArTX1BeHDog6Q20SqNDaUFJQhhEwWJ1wDvs5LIX9EA4FUbfuFTR8MzfDZsnpkAAJkAAJpAMB2mvqq0QHRJ2hNglUaG0oKSiDCBisbrhH3wOToz1CgTrUrngagZJ1GTRDToUESIAESCCdCNBeU18tOiDqDLVJoEJrQ0lBGUQg9/irkdN7IoK1JfAu/xNC3j0ZNDtOhQRIgARIIN0I0F5TXzE6IOoMtUmgQmtDSUEZQMDk6oycPuc1xXx4l/yRJx8ZsK6cAgmQAAmkOwHaa+orSAdEnaE2CVRobSgpKM0JWLuMgmPw9TCYbXImjRVfo3rBfWk+Kw6fBEiABEggEwjQXlNfRTog6gy1SaBCa0NJQWlMwN7vEtj7XyxnEChZj8bKbWjY/glCtfvSeFYcOgmQAAmQQKYQoL2mvpJ0QNQZapNAhdaGkoLSlIAxtxie8Y/CYDTBt3EafJumscBgmq4lh00CJEACmUqA9pr6ytIBUWeoTQIVWhtKCkpLAgY4TvkJbF1OixQZXPZoWs6CgyYBEiABEshsArTX1NeXDog6Q20SqNDaUFJQmhEwWJxwnvpTWNqdKEfOIoNptoAcLgmQAAlkEQHaa+qLTQdEnaE2CVRobSgpKI0ImFxd4Bz+c1nnI9zYgNp1r8C/Y34azYBDJQESIAESyCYCtNfUV5sOiDpDbRKo0NpQUlCaELB0OBnOU34Cg9mOYO0B1Cx/AkHvrjQZPYdJAiRAAiSQjQRor6mvOh0QdYbaJFChtaGkoDQgkNP3QuQOuEyOVGS7qln5F4T9NWkwcg6RBEiABEggmwnQXlNffTog6gy1SaBCa0NJQSlOwN7/Utj7XSRHWb91Fuq+eB0IB1N81BweCZAACZAACQC019S1gA6IOkNtEqjQ2lBSUCoSMJhgHzBFVjY32txyhLVrX0LDtjmpOFqOiQRIgARIgASOSID2mrpi0AFRZ6hNAhVaG0oKSjECBpsHzqG3wlLYr2lk/j0rULPizyk2Ug6HBEiABEiABI5NgPaauobQAVFnqE0CFVobSgpKIQIGqwvuMb+DKbcIoUAd/Nvnw2B1ou7LNxD2V6fQSDkUEiABEiABEmiZAO21lhm19AQdkJYIJfBzKnQCYbOrhBFwDv0ZrJ2GIlizD95ljyFUuy9hfbMjEiABEiABEtBNgPaaOlE6IOoMtUmgQmtDSUFJJWCAydUZofpyOAb/ANbOwxAONaJ6wX0IVm1P6sjYOQmQAAmQAAmoEqC9pkoQoAOizlCbBCq0NpQUlEQCjpN+BFu30QgH/TCYrNL5qF3zIvw7FiRxVOyaBEiABEiABPQQoL2mzpEOiDpDbRKo0NpQUlBSCBhg7TwCzlNvauo9WFeCmhVPI1i5NSkjYqckQAIkQAIkoJsA7TV1onRA1Blqk0CF1oaSghJMwGBxwjXydpjze8ueG3YuQmDf5wiUrEM4UJfg0bA7EiABEiABEogfAdpr6mzpgKgz1CaBCq0NJQUljIAB9gGXyStXxpy8SJarXUtkhisEGxI2CnZEAiRAAiRAAokiQHtNnTQdEHWG2iRQobWhpKA4EzDmFMDk7gJL+8HI6TVB9hb0lcG75I8I1eyJc+8UTwIkQAIkQALJI0B7TZ09HRB1htokUKG1oaSgOBKw9TwLuSdcC4PB2NRL3Zf/Rv3W2UAoEMeeKZoESIAESIAEkk+A9pr6GtABUWeoTQIVWhtKCooDgZw+5yGn9yQYczyRE4+afTA62iGwdxUrmseBN0WSAAmQAAmkJgHaa+rrQgdEnaE2CVRobSgpSCMBEWBu6zEWuQMvb5Lq37Mi4nQYLUCoEUBYY48URQIkQAIkQAKpS4D2mvra0AFRZ6hNAhVaG0oK0kTAXDQQrmE/h8FilxJDvnI0bJ+P+q8/RLiR2a00YaYYEiABEiCBNCJAe019seiAqDPUJoEKrQ0lBSkRMMDaaShsPcbBUjxISgrWlSKwfw3qvniNcR5KbPkyCZAACZBAuhOgvaa+gnRA1Blqk0CF1oaSgmIiYIC54DjY+18KS/FAKSEcDsG/czFq17zw7VWrmATzJRIgARIgARLIGAK019SXkg6IOkNtEqjQ2lBSUCsJGCwOmIsGwNp+CCwdToLR5o44Ho318ppVw/ZPEPKVtVIaHyMBEiABEiCBzCdAe019jemAqDPUJoEKrQ0lBQEweXpIR8JgNMPoKEZg/1oY7QUw5/WCKb8XLEUDYPJ0PySdbshfi8D+z+Db9C5CtfvJkQRIgARIgARI4DsEaK+pqwQdEHWG2iRQobWhzBxBBhMQDjbNx2B1I/f4K4FQEP69KxCs2Qt7v4tgcneDf+cSmAv6wL93JSzth8DWZaS8QiWaqNkRDjVKZ+S7LejdjUDJl/DvXYXGsk2H9Jc5IDkTEiABEiABEtBDgPaaOkc6IOoMtUmgQmtDmf6CTDa4T/u1dChC/hqEG6oQqq+S/99gssr5OWylOKn368ixeDH/i18gEMw9ZN7C+YgWCwwF6mC05CIcDCBYvQONldvQWLYZgdL1UjYbCZBA2wnYcg0498ZC1FQEMftfFW0XwDdIgASUCDjyjDjrf/KxeYUPG5YmLjMj7TWlZYtsjPbu3ZsJ/NU5apFAhdaCMY2EGGDrdQ6sHU9GyFcBGACDqKthssKc3wtGq+uIcwk3+hAuX4mJ58xDjqVGPrNy5fHY5bsEjeVbYOkwBMHKbahd8yIgTkAMJohTDmNuEUK1B3jCkUYawqGmNoEzLvOg90mRFNVzXq7Ark0NqT1gjo4EMozASWc5MXisU85q6hMlqC49eGMgnlOlvaZOlw6IOkNtEqjQ2lCmvCBTfm/kDri8KdvUkQYsTiu8yx9DqL4CRlsejPZ8GHMK4N+9HCcMr8VJZx10UKrLGvHlolp8tdqHIHKAxvqUZ8ABkkA6EyjsZMbkm4sOmULlgUbM/HsZGnzc10vnteXY04fAuGvy0G1Ajhyw2AAQGwGJaLTX1CnTAVFnqE0CFVobypQTZLQXwtZ9DBrLv4Kt+5myzoZo4aAfvs3vAcFGhEWsRyiAcCggPxNXpI4UCC6ufVzyv8Ww2Y1Y9ZEXp5xz0BER/3/dgtqUmz8HRAKZRmDYeS4MPM2Bfdv8KO5igclikFNcPK0KW1b6Mm26nA8JpBSBdt0tOHGME1362ZrGVbE/gJn/KIc/ARsAtNfU1YEOiDpDbRKo0NpQppQga+eRcJz0w6bYDel4iCDynYsi2aZ8pa0er8kCnHFpHnqckIPyvQG8/9cynHdjAYq7RuJC5L89zbS5rQbKB0kgBgIGI3D5ncWwO02Y/VLE4DntYjfy21uwY3095r1WGYNUvkICJNBaAhfcWoiCDhb5eCgYljFY+77xy1vHiWi019Qp0wFRZ6hNAhVaG8okCzIg9/irZYrbxoqvkNPnXBkMHvTugcnVSV6p8i57HMGqb9o0zo69rRh3dR4sNqP8wZ3xXBnK9jTCmWdC575WjLzQ0yRv6ftV2LScu7BtAsyHSaAVBHI9Roy8wI2u/XNQXxvCfx45II2ego5mXHBL5ErWmo9r8MXCWgQaeBWrFUj5CAm0mcD3H+zQ9I74e/jyPYlNG097rc1LdtgLdEDUGWqTQIXWhjJ5gowWOE68Tl63at7qt81F3dqXYHR1RNhXiXBj27J12OwGXHhbEXJdJtRVB7F6Tg2+WnWog3H29/PR+bjIcbQwjN54WAScJw8FeyaBjCNgACb9sADte0ROHFd+6JWORrRNubMYDrdJ/t9Nn9Zh6XvVGYeAEyKBZBIQp/+9Buc0xX2Isaye7cXaTxJ79Zj2mroWZJ0D0qNHD1x00UXo3r07gsEg1q1bh6lTp8Lr9R6V5qBBg3Drrbce8fObbroJoZCeMz8qtLpCJ0+CQVYUdwy+HiZnZGdGFPUTpx31Wz6Af9dipaGNvtyDXoPtEEGu0/9aKkJGDmud+lgx+oo85OQa5WfihKRkZySehI0ESECdQL9hdnnSGGgI4cN/lqNs96FfxL5D7TjtoshJZDAQxtt/KoGvRs/fB/XRUwIJpDkBA/D9Bw6efOz/xo9FU6tkGuxEXb2KEqS9pq5LWeWAdO7cGb/61a+wbds2zJs3Dy6XSzojwvl4+OGH0dh4BKsOwKRJk3Duuefi8ccfP4y4kKWrUaF1kUycHKOrE3IHTIG5sD+M1kgqwJCvHLVrXkBg/xotA+l+vA1jr8yPXLv6W9lhRs93Ozljige9h9jx5eJarPjv0R1rLYOjEBLIEgIFncw478eFMth8+QfVx6w5cO6PC9CuuxWluwPYttaHfVv98rokGwmQQOwE8tqZcdFtBzPPbVhWi+XTk/M3jvZa7OsYfTOrHBBxWtGpUyfce++98vRDtG7duuE3v/kNXnvtNSxcuPCIRH/yk58gPz9fOinxbFToeNLVLNtogbXjKcg94X9gtEWyUIUb69GwczF86/8DUatDR7M7jbjwZ0XIcRjx+bwafD43UvfjWK1rfxvGX5uPBl8IUx8rYUrQloDxcxJogYDVbsDkmwrhKjBjx4Zvg8yPcb2xQ08rxJVIkzmSGUukyZ76eOuTTXBBSIAEDhIQf//EqWOvIXaMuvhgrONHL5Rj79f+pKCivaaOPWscEJPJhCeeeEI6GW+99dYh5O677z6Ulpbi6aefPiLRBx98EOvXr5dOSjwbFTqedHXKNsB12q+bang0VnyN2rUvR4LKNZ8DR3Ocl+0JyCtVoVbUWDIYgMk3F6KgowVff+bDkveqEORNLJ0KQFlZRmDs1XnoPjBHOhIfPFMGf33LwVUiacToKR7YXZGYEBGs7vPyOlaWqQ6nq0iguKsFE39QgN1fNaChLoTjTsnF+iW12LauHiU7kveHjfaa4sJmUyX09u3b4/777z/iSUf0ZOS3v/3tYUQdDgcee+wxrF27Fm63G+IaV319PVavXo1p06bJ/62rUaF1kYyPHKOzEwxGMyztByN34OXyxKN+62zUb5mu7cSj+cj7nGTH6Zd5EGwMY/ozZajc3/orHGIHduIPCyK7r6WN8n1m5ImPXlBqZhNwF5lwyS+KEQqFMf2vZajY1/rvoSATTRc679UK7NjASumZrS2cnW4C0euM4VAYAX8Y1hyjLDYoig4ms9FeU6efNScgPXv2xJ133onnn38eK1euPIScUKSBAwfi9ttvP4zogAEDcNttt2HPnj2YOXMmKisr0adPH0ycOFH+26OPPtqmIHThxHg8B48Qm3c4YcIEhMNhvPDCC+orSwlaCZjz+8B1+m9hMEZ2M0WrXfsSGrbN0dpPVJjDE7l6JX5sv5tpp7Ud9jwxB0PPdcnMWesW1GDVRy1f32qtbD5HAtlC4NSJLhx/hiNy9erVttf3OO0iN/oOzcXa+TVYPYvfwWzRG85TnUD3QTaMvSr/EEEiFlJkeExEscFjzYAOiPr6Zo0D0qtXL9xxxx1tdkDECYhwXrZu3Yq6uoOpU0eOHInrrrsO//znP7FixYpWr8T5558P8Z8jNXGqIjJqCSeJLRUIGGB0dpQpc10jbofZ010OKlRfhYbtn8C38R0R+aF/oAZgwvfz0amPDQd2+DHz7+UIx9iNqBJ71v9EAtg3LK2T6QqPlEFL/yQokQTSn4CMwbqtSGaWi3XX9bhT7Bh1iQd7tzbgo39WpD8UzoAEEkBA7PWJgHN3oVlmuXLmRzb/khl43nzadEDUlSBrHJAOHTpAxHq8+uqrWLRo0SHkxBUs8fk999zTaqK5ubkyK9asWbNkGt/WNp6AtJZU8p+zD5gCe98LmgYS8ntRNfdOhP3xzbrRf3guRlzgRqM/jPeeLoW3rBWBH8fAFU3hKx7ZusaHBW9WJR8uR0ACKU5AVDs/54YCiOuMFfsDeP/psphCvKKZewL+EN5+tAQ9T7CjXXeLzKTVUBfjzkKKs+PwSECVwICRuRh+vht13iDmvFSB828qhEjp8OYfUiO1NR0Q1RUGssYBEUHoTz31lEy/+12HQcSG7Nu3D88+++xhRMXpR9euXWXwurgeFW3CkfjjH/8oZQknREejQuugqEeGiPfwjH1QxnyI1li1A3XrXkFj2UY9HRxFiqvQhAtuKYTFasSy6dXYuKxtBQuPNrhuA20483t5MJoMWPWRF+sWJLZoU1yhUTgJxIHAsPNcGHiaA/76kAw8r451I8AAXPBtUghfTRB2Z2QnV1RL/2wOr2TFYekoMs0JWHMMuOSXxfLkcfG0KmxZ6UP7HhaZ/KGtMVjxQkF7TZ1s1jggAtXNN9+MaDD6d9Pwvv7661iwYMFhRMeNG4fLL78cf/7zn2UmrGg7++yzcfHFF+ORRx7Bjh071FcCABVaC0ZlIeb84+A49acw5RbDv3c1alY/CzTqSzZwtAGK7FUTf1SA9t2t2PN1A2a9WKH1hle0iJoI5pv9UgX2fJWc9IXKC0QBJBBnAr2H5OCMKXmyl7mvVGDnRrWA1859rTj7ukhSCPH9MxgNqCppxLQnmZo3zktJ8WlI4JRznDhhtFPp5DHe06a9pk44qxwQUfNDxIGIeI45c+ZAxHcIJ6KmpgYPPfSQLERYVFQkCxTu3LlT/v+cnBzcddddsNvtmD59OkpKStC/f38IB2Tx4sUQjouuRoXWRTJ2OTm9J8E+8AoZbB6s3Q/v4ocR8pXFLrANb4pAVxHwKnZc3/tLKWor9afsjAbE7txUj7kvtz2gtg3T4aMkkJYECjubce6PIgUHW1t7pzUTPXWSC64Ckzz5iBY0fO/PpahoQ3a71vTDZ0ggnQk480y4+BdFsobO7JfKsXtzam6U0V5T17KsckAErr59++LCCy+U16pECl1xqiGuUVVXV0uaIrBcBJjffffdKCuLGJ7iutXkyZNlpizxv8W/C+dDODHNr2WpLgcVWpVgjO8bTLD1HA+TqwtyeoyVQhp2LpJZrhJx8iH6E/fERe0O8aO76J0qfLVaTyHD7xLJ72DGhbcWyaJO/37wQKvqisRIla+RQNoREAXPxPfQ4TG1quBgrBOM1vfZsLQWyz+Ib0xZrGPkeySQDALRmMU9X317CyAZg2hFn7TXWgGphUeyzgFRRxY/CVTo+LE9mmSDzQPn0FthKezX9Ej9tjmoE85HgprI9nHeTwpR2MmCnRvrMfeVOJ5MGIArfl0s76HP/EcZ9n+TvEJOCcLLbkigVQTE91AEnbfvYUXlgUZZ+DNetXM69rLinB8UyOx07z5VGnt8SatmxodIID0IiNPHyTcVyWuKonZV+d621dxJ5Cxpr6nTpgOizlCbBCq0NpStEmTK6wnXsJ/DaC9AKFAHcRwQ8pWietGDQFDtznerBgBABIeLjFeiVkd9XQjiSka8qyVHd5jWfFKDz2YzCLa1a8XnMpvA8MkuDBjxbdD5s2WoLlXLPtcSrfH/k4eu/XKwfX09Pn4tjpsOLQ2En5NAihAQxXNF1jlxA0DcBEjlRntNfXXogKgz1CaBCq0NZYuCrF1HwTH4BhhMVgS9u+Fd/iRCtfsAmegvMakxzRYDLrsjkulD7PjMfa0SuxSDXVucOIBogK2INRG7vFUl8TW0WjMmPkMCySRw3Kl2jLrYE/kevlqZkCrLnmKTLDZqNBp4GpnMxWffKUGga38bxl+bj8ZAGFOfKEFdlf4YSJ0Tpb2mTpMOiDpDbRKo0NpQHl2QwYjcQVcip/dE+Yx/7yrUrH4uYbEezQcWzXPu8wbxzmOl8oc3EU1cNZlwfWSnqbqsETOeLUODLzF9J2J+7IME2kKguKsFYudVxF+JQp1rP0lciuqRF7rRb1guSncF8MFzZYna+2gLHj5LAnEnIGruXPSzIniKzVj7SQ1Wp8HJPO01dbWgA6LOUJujJRyRAAAgAElEQVQEKrQ2lEcVJOI9rJ2Gyc99G6fBt2lawk48mg9KFCITFcqtOUYsfa8Kmz6NT9D50UDYcg04/6eFcBWYsW+rH7P+Vc6A9PirH3tIMQJ2lxGTbypErtuEb76oxyf/TuxVKBH0fukvi2CxGbHgzUr4akKw2g3Y/kViroCm2HJwOFlKIJoiXtTJmfp4adxir3Tipb2mTpMOiDpDbRKo0NpQHlGQpcMpcA3/OcLBAGpWPYPA3pXx7fAo0kVNgLFX5UNcwUqm8S8yb517Y4F0gjavqMOSdyOZ4NhIINMJ5LqNcopjr8pDcVcrKvYFMONv5Wj0J/4k8IQxDpwywSUD0kWhUNF01B7J9DXk/DKDgMVmwCX/WyQToyx7vxobl+spvhtvOrTX1AnTAVFnqE0CFVobysMEmVyd4Rp5hww4921+D74Nb8evs2NIdniMuOQXxbLGgMh4JXZcg0lM9CGcIXHvVtxD/3RGNdYvSY8f/6QsHjvNCALiytWkHxdInRetwRepdO4tT04slMkMnHllHrr2z2niK4oUvvvnUoRT+xp8RugDJ5FcAqdMcOKEMU5ZmDOddJ72mrre0AFRZ6hNAhVaG8pDBJmLBsA57DYYLQ4ZcF41/96EZbn67oyGnefCwNMc2P+NHx/+szwlDIyBp+Vi2HluhEQA7isVKVv4KT7aQanZRiCa7UrMu7Y6iDkvVaBiXxJ3Ab5dAJGC1GQyYOzVeZHd4OnV2LiMGwLZpp/ZNF9nvgkX/zxSdHDOyxUJSf6giy/tNXWSdEDUGWqTQIXWhrJJkKX9YDiH/RwGoxmBsk2oWf4kwoHkpJ4VVZBFEUCz1YCPXijH3q9Tp8LraRe70ffUXFmF/b9/K5d1ENhIIBMJXHZ7MYThs2JmNbas9MFfn/hrV8fiGr0PL9JyL3yzEru/8jM4PRMVkXOSJ389js/B7i0NmP2virQiQntNfbnogKgz1CaBCq0NpRRk7TYajhOvk6l2/Xs+Rc2q54BQcgrviQrkE76fD7vLhJIdfnnfPJVa88xY3vJGfCAyY9WllmGWSrw4lvQjIE4Yxl6ZL50PkXHu3w/uRzA5PwfHhCcyAl1wSyHy21vkc8JR+nIRT0LST+M44mMRaN/Dgkk/KpQn7+//pSztNr1or6nrNx0QdYbaJFChtaGErdcEOE64Vgr0712JmhVPA+Hk3PEWzsekHxbAajeifG8As16sQH1t6l3uFpmxREV2d6EZG5bWYvkHXn0LQkkkkGQCIutcl342OYqdm+ox9+XEZrxqy/SFkySy1IksWSJWbO4rqTvWtsyLz2Y3AbEJMHisU6bb9RSZJQwRdC6Cz9Ot0V5TXzE6IOoMtUmgQmtAaTDC6GgH9xn3wGh1wbfpPfg2vpOUVLvR2Zz9/Xx0Ps6G/dv9mPtyRcpd+WhOvWNvK865oUBexXrzDyVJyQqkQQsoggQOISAyzl15dzuZ/GHfNr9MfZ3qBTiLu1lw3o2FMk7lrT+UcEVJIK0JiA2ui38RKbwbbYGGEN7+U0lanrbTXlNXRzog6gy1SaBCq6N0nnorrJ0jdT6CNXtRNe/XSGakt9jxmXxTkUyxOfWJUtRUJOcUpi1kRVCg2KFiVqy2UOOzqUpApNw98Uwn+g/PhbheKIp+pkMTsWJX/187GIwG/OfhA7JGCBsJpCuB0y/1oM/JdnnVqrYqiI69rFj6fiQOKx0b7TX1VaMDos5QmwQqtApKA8wFx8F9xv81CfF++iQCe1epCFV6V1yjmHB9vrzS9NVnPix6u0pJXqJejgbBBgNhfPhCOUp2pOBF+UTBYD9pT0DEUxR0jMRTrF9Si09npM/VwotuK4Ko1zP7pXKZnc5mNwAGpOWOcdorEicQMwFR8HPKHcUy9bWILyzdFYBIP53MFPQxT+bbF2mvqRIE6ICoM9QmgQodI0qjBZ4zfw9R60O0hp2LUbf2JYQbk7ezUtDRjLOviwSdi13XD58vR21VeuxgGgzAmVflofvASF0CcWWluqwRn82pgc+bHnOIUZP4WoYRcBeacMn/FjfN6v2nS1G+N30yvI2+3INeg+3YtKIOOzc0YPQUD4LBMN5+tCStjbcMUzNO5xgEThjtkLFX7XtYcWC7H//9e2olYIl18WivxUru4Ht0QNQZapNAhY4Npa3nWTLblWjC6aj65LcI1R6ITZiGt0RGKWH0OPNMMuh89ksVaWe4izvzE39UgKLOkZ1j0XzeIN59qhQNPmbH0qAmFJEAAoNG5WLouW7s+aoBs0SazzRT3ej4v4squoucAITsggRiJhDNdBUVsPT9KmxanryNwZgncoQXaa+p06QDos5QmwQqdNtQGu2Fsrq5ydUpYiBvnIb6rbOSVucjOvrjTrVj1MUeGTz63lOlKR10fizi4thc5GlvqAshv70ZrgIzFk+rSts7u23TLj6dzgTy2psx5gpPUyrb5R9UY8PS9EtlK65cnXKOCwWdLBCnOdacSACvCKLf9GlmGHLprGcc+7EJDB7nwEnjXfKhYGMYb/7hQMZcH6S9pq79dEDUGWqTQIVuG8rcwTcgp8fYyI9bXQmq5t6ZtDof0ZE78owyt7k4/UhXo+dIq3DimQ6cfLYLe7c2YMm0anjLUz+Yvm3axKczhYCIvbrw1kJYbBFjPZ0SQLS0Bied5ZRpTDevqMOSd9MvdWlL8+PnmUXgnBvy0bG3TaaS/mJhLfZ/kznxhLTX1HWVDog6Q20SqNCtQ2nydIdj8PUw5/eWL9StfxMNOxYg3JDcIG9R70PEfeS6I3Ef7/65NCULnbWO8qFPeYpMMoVitM17tQI7NjTEIorvkEBcCYy80I1+w3JRstOP9YvrZM2dvVv9ce0zUcK7DbRh3NX5KN0dwAfPlCWqW/ZDAq0m4Ck2YcBIBzZ9WifrSonrvNOeLEn5tNetnuC3D9Jeayuxw5+nA6LOUJsEKnTrULpO/z9YCvvKhwMl6+Fd8nDrXozjU8JAP++nhfKKRMW+SNxHXXVmBWw3zybE4mhxVCaKjpmAOP0QaaRNZgP++/cyHNieOTuuAoo4Wb3sV8XyOsvHr1eiqqSRp5ExawtfjAeBMy7zoPdJ9ibRvpog/vNw5tWxob2mrj10QNQZapNAhW4ZpbmwH9yn/1Y+6Nv8Puq3zUa4PslVgg2Qlc6jWT7mpHixwZYpH/kJYdyJPO5DxjmlAfTGQwcQaEizqN5YJ8/3Up6AiFOacEM+7E4T9n/jx8x/ZEa2ne+C/95v2skK6dH2yRuV+GZdfcqvDweYHQQuu70Y4m9FtKVb6uvWrhLttdaSOvpzdEDUGWqTQIU+NkpDTh7co34Dk7Mj6rfNRd3af2ljryKo33A7Rl7ggajqKrJEpUu63VjnHC1U+PncGqz5uAZh+iCxouR7GgiIrHMOjwkjLnCj83E2mXlu3quVqKnMzDilbgNs6HOKXdYHETWG9m/3Y2aGpDbVoA4UkUQCJgtw9T3tZb2PFf+txt5tfpTvSZ+0121BR3utLbSO/CwdEHWG2iRQoY/hKTdzPkTAefXC3yX/5AOAqPcx8YcF8urVsunV2Lgs/TLttFWBRV53kZlHtEzd3WorEz6fPAKi2GenPjY5gFAojKmPl6KmIjOdj+aUZXG3XxXDaMrMO/bJ0yj2HCuB4q4WGfeRqdeumnOhvRarlhx8jw6IOkNtEqjQR/GSbR64T79bnnwE60rhXfQgQr5SbdxjFXTiWAdOPitiiMtdSHHlIwtOAwxGYNAoB06d6JIZhqY9VQpvWeYbfLHqCd+LH4GeJ+ZgzBV5TR18/ZkPC99ObjKK+M32cMnjrslDtwE5MsPQyg/Tp8J7Ihmxr/gT6DvULgtmduhplZ3t3twg4yAzudFeU19dOiDqDLVJoEIfjtIgnA9x7crVKeJ8LH4IobrkB7QVdbHg3BsL5FHz9i/rZcrdTAs6b0mxx1+bh679c1C6KyBPf8R/s5FAogiYrQZc/IsiONwm7P26ARX7G7H2k1qZ9SpbWtcBNoy/Jl/OedUsr4wNEUUXy3Zn5rWXbFnXdJpnVAebj3nt/BqsnlWTTtNo81hpr7UZ2WEv0AFRZ6hNAhX6OyhNNnjG3A+Tq3NKOR8mMzD55iJ5B/vrz31Y+Fb27Lg2XyFR7O28Gwua6i1sWVWHxdOqs+IUSNuXnoJiJnDyBCdOHOOMpLx+qhTBLLS5xWnk5XcWy8D7aPPXh/Cfhw9kJY+YlYkvxkRAbAJc+suipsQPuW6jLFg768Vy7PkqM1JfHw0M7bWYVOaQl+iAqDPUJoEKfShKW68JcJxwLUK+clQveiAlTj7ECE8+24kTz3TC5w1Kw6fBlwX3ro6i5aLwosiKJdIuitOgj1+vwPYvWR9E248CBR2RgKvQhIt+Fkm3O/fVCuzM4po0p5zjxAmjnYdwygYDkF+N5BMQyRBOv8SD6rLIJoBwiD1FZpTvzfzdANpr6vpHB0SdoTYJVOjmKA3wjH8UJmd71K55EQ3fzNPGWUVQYWex618oAz/nvVaBHetpbAueQ8Y7pSMi6hII4yfTM4Gp6BDfVScQvf6XDXfNW6JlyzVg+PlubFtXj679beh7ai7WL67Fp/9lTEhL7Ph5bARE5jmLzSCv/7XrbpXxRyIOKZsa7TX11aYDos5QmwQq9EGUOX3OQ+6g7yHkr0HlrJ8DweQb+r0G5+Dks10yx/m2tT7M/092Xr06ksKLP0aX/rJY3kEP+EOySnNVCQPTtf04UFATgS79bDjrf/JlAoR3/1yK6lLqWRROtFJ6VWmjzMjXf0Qu5rxUwWKF/P5oI9Clvw1jr8yTp4+iie/hW38sga8me2KvxLxpr6mrFB0QdYbaJFChIyht3c+EY8gP5P+uXfsyGrbN1sY4VkHNs+3UVgXx/tOlaKjL3qtXR+IoUhKffqkHBR0t+HJxLVZwBzZWdeN7RyEgdl7F1St3kZmZn47ASGwEiEKFUeNQPJLNcWr8IukncO6PC+Sph2jBQBgbltdh5czsO22jvaauW3RA1Blqk0CFBqydhsNx6k0wGIzwbZ4O34Y3tfGNVZDIty+MHluuERuX1+Gz2d6sjvs4FsdoRhThpL31aAkD0mNVOr53CAG704i+w+xw5plw3Cm5qPMGMe2JUgQauAnwXVUZfblHpkSNtsoDkfv5bCSgSkAkHhF/C+Wpx6Ml8Hmz69SjOT/aa6raBNABUWeoTUK2K7Sl3WA4h/8cBqM5pSqdn3VdPrr0taF0dwAznitDOHt/c1vUdZEh7Iq72snCjLNfKpeZwnZtauB1rBbJ8YFjEZj4gwJ06BXZdRVtwVuV2Pp5PaEdgYBIEX7+TwsP+eTtR0sytjI8lSBxBIad58LA0xz45ot6fPLvysR1nII9Zbu9pmNJ6IDooKhJRjYrtLmwH1wj74DBZEXDriWoXfUckr19Lq4UnXaxB0WdLfKo+f2/ltKQboWui2tYfU62y10yEawvquJO/2tZ1tVJaQUqPtICAYMBGHR6pOhltGVT0c9YFURsmrTrZpEnRA6PCZ/OiNQpOrDTj7oq7qDEyjUb3+vc1yp/x0V9mcvvbAeb3ZgVaXZbWutsttdaYtPaz+mAtJZUAp7LVoU2ebrDNeo3MFpy4d/3GWo+fQoIJzewVNylvuCWQpnTPNgYxrL3q7FllS8BWpD+XYhc8JNvLjykNsHuLQ2Y/a/Mroyb/iuXejNofp3o87k1KNsbwL6tfl69aslxMwImk0FuBIy4wN30tCgW+sGzZam30BxRShJweIwyuYhwQERxwWjdnXceL032/mDSeWWrvaYTPB0QnTQVZWWjQhtz28E9+l4YbW4ESjfCu/SPQCi5FbVFLvMzr8xD94E5ssjZjOfKs6q6sqIay9eLu1lw0ngntq+vx/Dz3PIP2Ht/KUXFvszPD6+DH2VAppQdf20k25VI87l+aV3WGz1t1QtRKO6ae9sf8trMf5Rh/zfJ/Y1t6zz4fHIInHSWE4PHHlpjZtUsL9bNz66Uu0ein432mm4tpAOim6iCvGxTaIPVCfcZ98Dk7IjGym9QvfhBoDG597pFlp0x34s4H+Lk46MXynFgO/9YK6g1xlzhQc8T7di8sg5LRKV0NhJogYDZYsBFtxXJlNdi53X1rBoyi5GAuL52/BmOpre3f1mPj1/P7vv7MaLMqtfERtyUO4qR6zI1zbu+NoSpT5TAn8XFd6Mwss1ei4fy0wGJB9UYZWaVQhstcI26C5aC4xCsK0H1gvsRbkh+XY0x3/Og5wl2GfMhCg3u3uKPcTX5WpSAOA0RxRvFTrZw6Lj7St1oiUC0undNRRDTnipBkHsALSE76ucmC2TmsMr9jZj4wwKEQ2GIKzSCLRsJHI1A90E2jL0qHz5vUF55FKmvRWKR3Zv5N1Ewyyp7LU5fEzogcQIbi9jsUWgDnENvhbXTUFlosHrh7xGq2RMLMq3vdOhplX+gxcnH3FcqsOcr/tDqAnzGFA96D7EzIF0X0AyWIzKnifgrcW1vzisV2LUx+UVIMwV3NKMfK6Vnyorqn4eI4RMJCyZcn49OfWxY83GNTD8viszyCu1B3tljr+nXsahEOiDxY9tmydmi0LknXIucXhMQDgbgXfIIGss3t5mV9hcMgEz12dOKDctqsXx69hVW0s60mUCxCytOQUSRwpIdfsx8vhwhbsDGE3l6ym72Pdyxvh7zXuNVIZ0L2amPFROuj2yybF3jkzvbIr6G30WdlNNX1nGn2DHqEg/WL6mV6XbFadnbj5WgtpKZ0767qtlir8VTm+mAxJNuG2Vng0Jbu5wG5yk/lWRqVjwN/57lbaSk/3Fx13XUxZHUseIP8zuPlTBlrH7M8j7/5JsKZUFHURxt84o6mVmMxeTiADvNRIqscyJdbL9hdgwY6UDAH8K7T5aililjta9kNCYrKpg1VbQjTluBV9/TDhabsWn8OzfWY+4r3AQ40oJmg70Wb0WmAxJvwm2Qnw0K7R77EMzurvBtmgbfxqltoBOfR0XhvDFX5KHbwBwZo7Dw7SpsW5vcQPj4zDQ1pHY+zoqz/icfBqNBDmjv1w2Y9a8KFndMjeVJyih6D8nBqEs9MH6rE2IQC96sxNY1/B7GZUEMkJstp1/ikeJZVC4ulNNS6FW/bQer/aADMuflCllIlu1wAtlgr8V73emAxJtwG+RnskKLWh+5x18NS9EAhBvrUfnRbQg31rWBjv5Hxa7r+GvyZYVlEXQ+/z+V2LGBP7b6SR8qUexyi+Jy7kKz/GDD0los/4BX3uLNPVXli7grcfXRXx9CbWUQ65dETsbY4kugsLMZk28qkp0IQ1PU6gnzpk18oaewdBH7IQoNRptIUiBuA4TDKTzoJA4tk+21RGGlA5Io0q3oJ1MV2ujoEKn1YY3kE6/fNgd1a19qBZH4PSIC6s7+fj4KO1mk4TPv1Urs28ag8/gRP1xy1wE26QCKtnhaFbaspNGZSP6p0JfYBLjy7nYy4PztP5UwM1OCF0WkWRVX30RbPduLtZ+wvkOClyBluus2wIZx1+TLv4dluwPYsLSOG3LHWJ1MtdcSqZB0QBJJu4W+MlWh3WN+D3NeD5nxyr9zEXyb30PYn7y8/o48owzE9BSZZVam2S9VoHwPC+Ql46tw4lgHTj7LJWNvZr3IFL3JWINk9tltoA3jrs5HVUkjpj1ZmsyhZGXfg07PxdBJkUrpIi7r3ae4BtmiCOLUUWwAlO8LoN/QXJx4ZmSDkPWaWqcBmWqvtW72ep6iA6KHoxYpmajQ5sL+cJ9+d+Ta1Zzbk17rw1Nsks6H2PUTR8zC6K0uYzomLQoco5Azv5eHHidEYnBEusc182rQwEJXMdJM/ddEsc/h57vRpb8NOblGmMwGmXXn0xm8hpeM1RNG6Pd+006uw7QnS1BVwt/DZKxDIvss6mLB+T8tPGKX4ioy4yBbXo1MtNdanrXeJ+iA6OWpJC3TFNrW8yw4TrxOMkmFa1ci4FxUV3YVmFGxP4DZ/6pgtisljdXzsqh6Pfpyj0wEIFpNZRDv/bmU2bH04E05KWOvykP3QZG1Fq3RH8bM58tQtpunkMlarPHX5qFr/xwZkL78g2r4vAwGSdZaJKLfaCa0+roQrDaD/K1dNcsLb3kQe7f6AcZ9tLgMmWavtTjhODxAByQOUGMVmUkKbS4aAPeo3zShqJr3awS9u2NFo+W96HWD2qog3v9LKXfZtVDVJ6RjLytOv8wjT6cWvlWJrz9nFiR9dFNDUvseFkz6UaG8crfwrSqU7PKjviaEIH2PpC5Q83gskZBj86o6rFtQizqmQU7qusSjcxFsftntxTLu6r2/lKK6tBGhEJiAoI2wM8lea+PUtT1OB0QbSnVBmaTQkUrnwxAOh1C78q/w7/lUHZCChC79bBjzPQ8sViMWvVOFr1Yz4FkBZ9xeHTzOgZPGu8D883FDnFTBwsHsc5Jd1oBZ8m51UsfCzg8l0LG3FUPGOdG+h1V+IJzErz/z4YtFtagu5bWsTNGXQaNyMfRct0y68uHz5ZkyrYTPI5PstYTD+7ZDOiDJIn+EfjNFoY2O9vCM+wMMRhOq5t2FoHdX8igbgAEjxA+uS9YZ2LW5AXNfrmBqweStyDF7zmtnltfkhPHz/tOlvI+eouvU1mGJ2Kvhk93o1NsmX/3g2TKU7gq0VQyfTwABEZw8eKwDHb9dK9Gl2BD4clEdMwUmgH+8u5j0owLpZC6bXo2Ny5KbCj/ec42n/Eyx1+LJqCXZdEBaIpTAz9NdoQ02D3L6nIuc7mNhsNgROPAFvEv/kECCh3YlKm+PuzoPBR0t8gOx67r0/WoeNSdtRVrX8QW3FMo1C4fC2PeNH+4iMz6bXcNTq9bhS6mn2nWzYMh4p0x3bcuNFDgr2enHjOe485pSC3WEwYi1O/4MB7r2tzUVDmW67FRftSOPr/sgGzodZ0NNeRAnn+2U6/nmHw/wip3Ccqa7vaYwdW2v0gHRhlJdULortOPkG2HreroEEfKVo2rBvQjXV6qDiUGCyLRz7o2FKOocqfPx+bwarF/M3Z4YUCb8FVeBCadOcqH7t0HpYgDVZY2Y+jhThCZ8MRQ6NBiAC39WBHGqJR2PXX6s+rAGpbsDMvCcLT0IuAtN0onsNdiOin0BvPeXsvQYOEcpCQw/34UBIx2H0BDfwQ+e4TqqqEi622sqc9f1Lh0QXSQ1yElnhTZYncib8GcYTBb4965C3RevIVRXooFKbCKiP7r1tSG8/9dS7vTEhjGpbxV0NMvMWOJeumhiHVmvJalL0qbOew3OwejL8+Q7IrXnjvX1DDZvE8HUediaY8AVd0VS9YpaIaJmCFvqExCbOZf8okieeIgU53aXEcKh/GxODXasb0j9CaTwCNPZXksVrHRAUmUlAKSzQuf0vRC5Ay5DY8VWVC+4N2lUzVYDBo7KlcXtRJv9Ujl2b2aF86QtiIaOo3VCROKAZe9XozHA3XMNWOMjwgCMudyDHKdRFvrMdZuw6iOvzKjElt4Exl2Th24DcrDm4xppwLKlLgGr3QCRzUwEm/cfnoudm+ox9+Xk3EZIXUpqI0tne01t5vrepgOij6WypHRVaFFs0HXanTAYzahZ9Rz8uxYrs4hFgKjzMfGHBSjuGsnism5BDVZ9xD+UsbBMpXeapwj1+0LYssqHDcvqZCFJttQi0OP4HJx5ZeTUQzRfTRDvPFbKK1eptUwxjabniTkYc0WeTNs69YlSdBtgkyci29YxXXZMQOP0krvIhMk3FcpTqvwOFog6SyLblch6xaaPQLraa/oIqEuiA6LOUJuEdFRoY24x3KPvh9HmQsOuJahd9aw2Hm0RJI6VRdyA2KETxZVWzvTiq898LKjUFogp/GzfoXYZEOsujMQTNPhCslhhXTULpqXKshmMwEU/K4KnOLJGon3632rGXqXKAimOQ5wuf++udhD/Pf+NSoz5XsTRfPtPJdwMUGSr8/WRF7nRb2huk0jGe+ike1BWOtpr8SERu1Q6ILGz0/5m2im0OQfuM+6B2d01cvVq0QNAKPGpNfPam3HejQWw2IwIhcKY81IF9nzF3R7tCppsgQag83FWDDvXLY3cFTOrZWpQtiQTMAAiY1JxVwuGTnJDxF2t/aRGZi9b8d9qxn0keXl0dh+toN1cpjjlEm3m38tRXcZTSZ282yorv4MZ5/+kECaLoelV4SzylKqtJFt+Pu3stZanlPAn6IAkHPnRO0wvhTbAOew2WDueglB9Jarm34NwfUXCafY52Y6TxjvhyDPhwHY/ls+oRtluBkgmfCES2KE4DTntIg/EdaxFU6uwc0MD67okkP93uxpxQeSeebTx1COJixHnrkVK3vHX5h+xlw3LarF8ujfOI6D45gTsTqOMt6qrDkJ8D3ueYJcfl+0JwGIzwF8fxoznyph6Pg5qk172WhwAaBBJB0QDRF0i0kmh7f0vg73fhQgH/ahe/BCCFV/rwtBqOSI7kkgPKZq4l/zBc2Xw+xig3GqAafqgLTdyFURkdhFNBDnv3tKAqpJG7rYneE37j8jFiMnupl5rq4KY+ngJ1yHB65DI7gaMzEXfU+2AAchvH6mxJJo4+RKZztYvqWOWrAQtiKiZJNJcl+9rlCnnRdu2zievINeK66n8cxi3lUgney1uEBQF0wFRBKjz9XRRaGvnEXCeerOcejKCzkWBQVHZPFonQtT4+HJRLQIN/LXVqY+pLOv0Sz0Qp1/N27a1Psz/T1UqDzujxiZSs176y2JZYHDlh154KxplmmRvOa/hZNRCH20yBuD7D3Q47FMR7Cyy1YmrWQ11/E2Oly4UdjJj8s1Fh4if9WI5rx/HC/h35KaLvZYgHDF1QwckJmzxeSkdFNrk6QH3Gf8Hg8kK35YZ8K1/Iz4wjiJV7H6f95PCpmBkpoRMKP6U6UwEPFusBlzyv8XIcUQqbIs27ckSVJXQAE7EQp060SUTA1TsD+D9v5TxGsKLIMwAACAASURBVFwioKdYH8XdLDIea/h5LhmD17yJa0DT/8pid/FaslPOceKE0ZEbAKJ5yxtlxjm2xBBIB3stMSRi74UOSOzstL+Z6gptsLnhGfN7GO0F8O/7HDXLH0ciz3hFpitx/1j8wRM/tnNfqeRRv3YtTC+BvYbk4IxLPU3XsXgKEuf1MwCnTHCiSz9b0/Ub1tqJM/M0EC/issSptMV6qBMy/ZlSxuRpXD9x6ijSXIskKyLuStwGiLZ182uwahbTzmvEfUxRqW6vJYqDSj90QFToaX431RXaPuhK2Puci6B3N6oX3I9wo08zgaOL6zbQBnHtxppjRG1lEOKouaqUO90JW4AU7shoAkQmtPN/Wgjjt3EhIibk49crWX9C87oNn+zCgBGOJql7vm7ArBcSn3xC87QoTgcBA2RsiEgQEW3rl9Ti0xkMTNeBV8gYeFouhp3nRjgUlpsugYaQLArZa7AdH79egdoqpiXXxbolOalur7U0/lT4nA5IKqzCt2NIaYU2WpB3zlMwWl3wLvsTAvvXJIScuGpzyoTIVQ/R9n/jxyf/roSvhj+0CVmANOpk8FgHTjrL1TTirz/3YeFbjAnRtYQde1txzg0F0vg5sDMAV4EJs1+sQMV+Zp3TxTjd5RgMQJ9T7DAagZEXeuCvD2Heq5UsgqdpYc/7aQGKu0QK7YrG3zhNYGMQk9L2WgzzScYrdECSQf0ofaayQlu7nQHnST9GsK4UVbP/NyFXr+wuo6y826Fn5Af3i4W1WDXLy5SCKaSzqTQUYfyceKYDxd2s6NLXJoe2dY1P1ibYsLSWAbEKi9WuuwWjLvbI64/c1VYAmSWvio2jiT8oQPsekd/umoogPnmjEqW7El8nKhOQi6tXIuPcyWcf3GAR85r7SgV2bmzIhCmm3RxS2V5LF5h0QFJopVJRoY2O9rB1HYWcPufDYLKgbv2bqN8yPe7UOvWx4ozLPLC7THIXbfHUKmz/kj+0cQefIR0MGpWLoeceTA+7f7sfH/2zHCHe2mvzCkevfYgXRWajaU+UyvoCbCRwLAJmiwGiKnePQTmyMF6wMSxrNS2bXs1EEW1Qna4DbHIjTvAUrXxvQG4EiL+Lb/2xhL9pbWCp89FUtNd0zi8RsuiAJIJyK/tIPYU2wDP+DzA5O8oZBMo2wbv4YSAcPyvOZAFEdp3oPfOKfQF5l58VdlupRHysicAZUzzoPeRgql6RMU1c4auvC8l0sWxHJ+ApNqH7oBx0G5jTVF/gq898EAy9rHZN1WkDAbPVgNGXe9BtQI58S/ymT3+mjIZzKxledFuRrPUhss2JTbhNn9ZBFCAM+MP8LraSYTweSz17LR6zjK9MOiDx5dsm6amm0Obi4+E+7U45h/ptc+Db+A7C/vhl2SjsbMboKXlyd0c0cdVDXLkK8tS+TXrEhw8SEAHqwvARmWOaN+GIfLm4llXUm0HxFJnQa4hdOh7C4Im2UCiMtR/XQtTbYSOBWAmIRBHn3JAPu9OELavqsPS9ajohLcAUzC76WZE8PXrjoQOsdRWr8sXhvVSz1+IwxbiLpAMSd8St7yDVFNo59FZYOw1D/dbZqFv3cusn0sYnhZF44plOnDjGAaPJgNrqIBa/U8WCSm3kyMePTqB58KYwqKPZsqrLGrFxWZ2s3pytTVztEOmMh5/vhskcueYhDB6R4WrHlw3YsaGe8TPZqhya5y2yGY69Mk9mcBIFC0XmJhYrPDJkm90gM171PsmO7evr8fFrlZpXg+JUCKSavaYyl2S9SwckWeSP0G8qKbSl41C4hv1MjrJq3l0IenfFhVT7HhaZtjF66rFtnU/ujPl9vGMeF+BZKlQUTBMZnERQ+udza2QO/X7DcmUVb9EWvVOFr1YnLq10qiyDOOk498YCmd5atD1fNWDLKh92bWrgbmuqLFKGjUPUkBFXsoTOieD0ea9VoHwvr0RGl9lkBkZc4JapdaMbAoLRjvWMgUylr0Iq2WupxKUtY6ED0hZacX42VRTa5OoC9+h7YTDnoP6rmaj78nXtMxfXrQaMdKDPSZE7+j5vEMtnePHNunrtfVEgCQgCIjNPuFn2ZrHzL6oJCz3cu7UBH/0z++pZDD/fJecvmrjuuG5BbSJri1Ixs5SAiDEad00+PEVmBPwhuQGw/YvsNrAdHqMs8HncqblNcVeluwMy5mPLyuzbHEn1r0aq2GupzulY46MDkkKrlwoKbbA44B5zP0yO9giUfAHv0kcPtdoUeYmUumJ3p/kd843L67B6lpeZdRTZ8vW2E3DkGTHlV+1kbYu3Hi1BXXXm15cRjldBJzPKdgcw5Y52yHEYMftf5di9xd92gHyDBGIkIFLLiuxOnb9NmX20NOsDRubKHjYszaxrkmL+4mS2Yy8bOh1nRUEHSxNJvy+Eea9XYt9WfidjVK+4v5YK9lrcJxnnDuiAxBlwW8QnX6ENcI28HZZ2JyJYW4Lq+fcgHFAPPBU7zx16WNHjhBwcJ4pUmQyyQrW41yru35fsZJR5W/SEz+olMOnHBWjf3YqayiC2rfVh65p6VOzLvCshrkKTdDaGTnShXfeDxczqvEGZzrP56ZBewpRGAkcmIGr3nDzBiRNGO+UDMi7ktQo0+MLo0MsKZ74Jp18Sqaz+9p9K5JWtdGlibpYcwyHXiaOnruKkw1VwMNGDmJOITSvZEZDXH8VVUVY1T+2VTr69ltp8WjM6OiCtoZSgZ5Kt0PaBV8B+3PkINzageuHvEKzeoTxzcdIh7vsWdDy4uyN+XEWcR6CBcR7KgClAmYA4lRt3TV5THIQQWF3aiF2bG6QxIDJmBdPYHxHXHH21QYy5PA9WeyTWo3n7bK4Xa+bVKnOkABKIlYAITj/90khciIhDEhW+z7js0Mx1S96twuYVaXIVyQAMO9clY81m/6sCe7f64cwT187yDvlbKJJgCKdr79d+7NnSIB0vtvQgkGx7LT0oHXuUdEBSaBWTqdDWziPgPPVmSaNmxdPw71muRKagoxkjL3SjuGtkp7XBF8L2L+qxbV29/LFlI4FUIiACP8WuZM8T7ejazyYLp0WbOK0TGaGWvlsNX016XNESO8cnjXfKYmXRGI/mvEUxuLrqoKwjULE/jb2rVFIijkWJQH77SEIEi+1wJzkquGxPACtneqVBL/7GiPpQ4vuZSm3Sjwqks+HIM8lhieudXy6uk6f/IumFKOYpNuCE48FkK6m0cm0bSzLttbaNNHWfzjoHpEePHrjooovQvXt3BINBrFu3DlOnToXX6z3mKo0bNw5jxoxBQUEBysvLMX/+fMybN0/ryiZLoU3ubnCfcQ8MZht8W6bDt/7NmOYljB5xX1dUMc9vHznxCAXDcidZ/OD6vOlhvMU0eb6UMQRE4TShw1362tC5nw0Od8SQEMZPVUmjDArd/813rg0KfyUF7CCR3EGMW9TyaH7qGF2cxdOq5BwObOe1x4xR2AyaiKj6Pf6afDkjcSXy0xnV8tqgyJTYvInru90H5uDrz3xY+E6VPG0Q39sl71Yn5XsorhmffLYT4TBw4pjIdbIjNRFULjJa1VXxb2G6q22y7LV059Z8/FnlgHTu3Bm/+tWvsG3bNuk8uFwu6YwI5+Phhx9GY+ORdwInT56MiRMnYubMmdi6dSsGDRqE8ePH47333pP/pqslS6GdI26Htf1g+PevRc2yP7XJkrLYDDK2o2t/Gzr3ObhzLHZ9vvmyHp9+4E2bXWNd60g5mUVA3EWf+IOCpkmJ07w182pknMi+b/wYdbEHHftYMfflCnlH3V+fWE/EZIE02sQOst0VcZaat/raEPZ+3QBvRRCrZ6nHdGXW6nI2qUZAXNsVG1mbV9ahbHejzF53zT3tDzmVbD7mFTOrMXSSW/7TjOfK4hZTaMs1yMKJza8Oi7EOO88lv/d9h0aC5Y/URBXz1bNr5JVOxlqlmsbFNp5k2WuxjTY138oqB+Smm25Cp06dcO+998rTD9G6deuG3/zmN3jttdewcOHCw1bJ4/HggQcewJw5c6TDEW1XXHEFRo0ahTvvvBM+n557qclQaKO9EJ6zH4fBYETlnNsRqt1/TE0VfwxEwK64s+suMkPU8bBYDx6Zi/u7YodYHJHzeDk1v/QcVdsJnDHFg95DIimjmzdhWERP+6L/LiqsCyPlwHa/LKYprneJayXCEYipGYDCTmZ5qmGzG7Fiprfp2omQPfJCD/qcfPjY1i+plc/t2NCA0l088YiJPV9KCQJd+ttQ0MEMkSlr9JQ8uel1pFZ5oFE6A+I5V4HpkCKaIgmD+P609bsgHPwh45wYNMoBb3kQ7z9d2hQTFk1gcTRIIrtcKAT5W5DOcWQpoQQpNohk2GsphkB5OFnjgJhMJjzxxBPSyXjrrbcOAXffffehtLQUTz/99GFAhw8fjuuvvx6///3vsXv37qbPe/bsKZ2Pf/zjH1i1apXyQggByVBo+4ApsPe9AIGSL+Fd8sgh8xBZPMSPuNjl8bQzo7CTRV5NiRYtiz4srnSIIm7inrzYsWIjgUwjIE76ep6YI3cvR32blaelOYpq4mJHVlQzFoHuJTv92LY2Egf13euI+R3MKO5qkd8jscsqrp0I516kKBWxKbnNTjZWz/HKugDRYoriWdHEdUdxbeXj1yshUnwedk2spQHzcxJIAwLi71JRFwv6nGJHv29PHerrQsj5tqho8ymU7PLjv38rR16xGef9pFBe01rwZqXMdCeaqDZ+8gSXjEv85ovDa1CJ756oldM8Y9XKD73SwbHaDbjqt+2PSEx87+0uI4sHpoE+xTrEZNhrsY41Vd/LGgekffv2uP/++4940hE9Gfntb3972DqJK1ri+tUtt9xyyBUth8OBxx57DNOnT8eMGTO0rG+iFbrn8F5wD5oIszmI4J6PYQrskTtEIlOOu9Aki0Q1D8aNTlLs5O7YUC9TBoodJ6bR1bL8FJImBMRpRGMgjPHX5kM4JgverJLGiEglancYm4JPjzYdcT1x7zY/dm5okBl/xPfpkl8UywDV8n0BmM0GebrYvAUaQkcNzhU7vqtne5uMqjTByGGSgBKBjr2tOOeGAgjnY/aL5Zh8c9ER5W1YVovOx9ngLox8p8TGwOyXKmSNjXFX56HbwMhpyvz/VMoNAtHExpu4WtW1f+Qz4djv3FiPASMcEDU63nmsBP2G5+Lks11NfR7Y4cf6xXUy4QoTrSgtbVq8nGh7LS2gtHGQWeOARE8snn/+eaxcufIQTEKRBg4ciNtvv/0wfFdddRVGjhyJW2+99ZDPjEYjnnnmGcyePRvvvPNOq7G73W6Ia11HahMmTEA4HMYLL7zQanmxPmiwunDZnZ3hyKk8pghxhaOypBFVBxqlsyFPOfY0JiXQL9a58j0SiAcBcf1JXK9ofqfbaAJ6HJ8jA73HXpUv6xiIJu6zl+9pRM/BOfIKY/MmvmNiZ7Z5E06K+L4JQ2bnt6mARYDrJb8oatqN3b9dGDy18ooV75XHY4UpM9UJ9DwhR2ZxE9+VCTfko103K2a9WC5rTdmdRlnoMNq85Y0o39sorzIKJ2LTirqm+iPiGfE9nPmPMnm9a+BpDpjMBumsiO/Ymk9qEQyEMfnmQpncQaTPjTo0yz+olhsS4ruaTnVKUn1tU318dEDUVyhrHJBevXrhjjvuQFsdkKuvvhojRozQ5oCcf/75EP85Ulu9ejVCoZAcYyLa6OsGwZ7nQv3+TWj0B2UOcvHDLGI3xI6PvE9bGaSzkYjFYB8ZR0BcXRRpRUXc1LQnS5sy34gUnd2Pt8ldWeGMiFNG4XAsfrdanqCIUxBxunikYHZxLWvgKAc2r6jD7s1MZ51xSsMJxUxAxGpYbSLN7cFYK1HkUGSlEs7Ff/9eJjcGJlxfgPY9Dm4CiCtV4qqVuCbZvO3e0gDhXFSXHix+GD11Ec+JwoFrP67Fmo9rZPYrtuwiQAdEfb2zxgHp0KEDRKzHq6++ikWLFh1CTlzBEp/fc889hxG9+OKLcc455+Dmm29uClwXD0WvYLU1E1aqnIA0TdRgAsLpU11WXeUpgQQSRyDXbZS7sUfbGRWnKKIquQhab2twbOJmwZ5IIE0JGIBeg3PkCb48uQfkdcnzbiyEp9gss8N99GKFjBG54JZC+V0V38PP50UyVh2pjbjAjXbdLPh0hlfW8mDLTgJ0QNTXPWscEBGE/tRTT8n0u6LuR/MmYkP27duHZ5999jCi4vrVddddJ+NH9u7d2/R59ETlueeew+eff66+EkkKQtcycAohARIgARIggTQhIK5ndT8+B1s/9zWdNIoaOiKjI52KNFnEJA+TDoj6AmSNAyJQiVOMaDD6d9Pwvv7661iwYMFhRMWJhagR8uGHH8qA82iLpuG96667UFtbq74SdEC0MKQQEiABEiABEiABEognATog6nSzygERNT9EHIgoJijqeohrVOKKVU1NDR566CGZ5aqoqEgWKNy5c2dT1qspU6Zg7NixmDVrFjZv3pxxhQjV1YgSSIAESIAESIAESCA7CNABUV/nrHJABK6+ffviwgsvRNeuXVFfX4/169fLK1nV1dWSprhuJa5d3X333SgrK5P/ZjAYMGnSJFl4UJyIiH+fP38+Pv74Y/UVaCaBCq0VJ4WRAAmQAAmQAAmQgHYCtNfUkWadA6KOLH4SqNDxY0vJJEACJEACJEACJKCDAO01dYp0QNQZapNAhdaGkoJIgARIgARIgARIIC4EaK+pY6UDos5QmwQqtDaUFEQCJEACJEACJEACcSFAe00dKx0QdYbaJFChtaGkIBIgARIgARIgARKICwHaa+pY6YCoM9QmgQqtDSUFkQAJkAAJkAAJkEBcCNBeU8dKB0SdoTYJVGhtKCmIBEiABEiABEiABOJCgPaaOlY6IOoMtUmgQmtDSUEkQAIkQAIkQAIkEBcCtNfUsdIBUWeoTQIVWhtKCiIBEiABEiABEiCBuBCgvaaOlQ6IOkNtEqjQ2lBSEAmQAAmQAAmQAAnEhQDtNXWsdEDUGWqTQIXWhpKCSIAESIAESIAESCAuBGivqWOlA6LOUJsEKrQ2lBREAiRAAiRAAiRAAnEhQHtNHSsdEHWG2iRQobWhpCASIAESIAESIAESiAsB2mvqWOmAqDPUJoEKrQ0lBZEACZAACZAACZBAXAjQXlPHSgdEnaE2CVRobSgpiARIgARIgARIgATiQoD2mjpWOiDqDLVJoEJrQ0lBJEACJEACJEACJBAXArTX1LHSAVFnqE0CFVobSgoiARIgARIgARIggbgQoL2mjpUOiDpDbRKo0NpQUhAJkAAJkAAJkAAJxIUA7TV1rHRA1Blqk0CF1oaSgkiABEiABEiABEggLgRor6ljpQOizlCbBCq0NpQURAIkQAIkQAIkQAJxIUB7TR0rHRB1htok/PCHP5SyQqGQNpkURAIkQAIkQAIkQAIkoI+A0WiUwp5//nl9QrNMEh2QFFrwZDgg4ktEhyeFlCCGoXANY4CWYq9wDVNsQWIYDtcwBmgp9grXMMUWJIbhJGoN6YDEsDjfeYUOiDrDtJXQtWtX3H333XjwwQexc+fOtJ1HNg+ca5j+q8815BqmP4H0nwG/h1zD9CeQXjOgA5Je66V1tPzB1YozKcK4hknBrrVTrqFWnEkRxjVMCnatnXINteJMijCuYVKwx9wpHZCY0aX/i/yycg3Tn0D6z4DfQ65h+hNI/xnwe8g1TH8C6TUDOiDptV5aR8sfXK04kyKMa5gU7Fo75RpqxZkUYVzDpGDX2inXUCvOpAjjGiYFe8yd0gGJGV36v8gvK9cw/Qmk/wz4PeQapj+B9J8Bv4dcw/QnkF4zoAOSXuuldbT8wdWKMynCuIZJwa61U66hVpxJEcY1TAp2rZ1yDbXiTIowrmFSsMfcKR2QmNGl/4v8snIN059A+s+A30OuYfoTSP8Z8HvINUx/Auk1Azog6bVeWkfrdrsxevRoLFiwANXV1VplU1hiCHANE8M5nr1wDeNJNzGyuYaJ4RzPXriG8aSbGNlcw8Rw1tULHRBdJCmHBEiABEiABEiABEiABEigRQJ0QFpExAdIgARIgARIgARIgARIgAR0EaADoosk5ZDA/7d3JuA2VW0cfzUpVBRRMiRNlJCUUolCSkhRESWheZKhWSJThkSTShnSgNBEgzFjpiZNNGgmikQJ3/Nb37POs+/p3HsO9jn33Hv+63k8fd+96+y11m/tfe77X++wRUAEREAEREAEREAERCAuAQmQuIjUQQREQAREQAREQAREQAREICwCEiBhkdR1REAEREAEREAEREAEREAE4hKQAImLSB1EQAREQAREQAREQAREQATCIiABEhZJXUcEREAEREAEREAEREAERCAuAQmQuIjUQQREQAREQAREQAREQAREICwCEiBhkdR1REAEREAEREAEREAEREAE4hKQAImLKH92KF++vDVt2tTKlStn27Zts48++sgmTJhgGzduzJ8LzoOr2mOPPez222+31atX27hx47KsoGbNmla/fn075JBD3J7NmzfP3njjDdu+fXukH58///zz7dRTT7X999/ffv31V5s6daotWrQoD9LIW1OuXr26nXPOOVaqVCn7999/7bvvvrPJkye7//qmPUzvPT355JPt3HPPtZIlS9pff/1lS5YssSlTptiWLVu0h+m9dTFnd8YZZ1irVq1s4MCB9sUXX2gP88ge9uvXz3jDeXQbNWqUvf/+++7HdevWtbPOOssOOuggW7dunc2cOdPee++9LB/Zd999nc1TtWpVK1SokH3//ffueV6xYkUeIZH/pikBkv/2NO6KSpcubXfccYd9/fXX7iHFOOXBxJB96KGHnMGklrsE9tlnH2vX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WMTDvw5/39jHYCMhnVLlFGDhtBvPiPYwfPZhXREvBp4JqlgFn0OEB88hXkhyQ8jR4r/k+fjmy/DyNxBh4cPv8H59/vnnrpsvw4sNxH2glnoCEiCpZ57rIxKGw0kAyZTUz+ZBJymWJEtc1noRYa5vUWQC0QKEXxCL3qJFC1dKmXK9hPrwxvPoFxES/sOpD1/MvPWVMqLEyz777LO2YMGC9FlkPpoJZZSpS08SJGFXvEE72P755x9nwGoP03vT8SDyj0INnKDyslZCPSjsMGDAAO1hem9fzNlF54DouzT9NxG7hOfOP4cUheBvHZEcfM8iLgi1O/vss503hNC6WC8iRGwQhkWFScKyeFt6nTp1XBI6ESF8Ti31BCRAUs88LUbEPd2kSROXYLllyxb79NNPXUhWdGWltJhsBk8ilgABB3kEGLEYROwZ4oM698S5+ubfSXHSSSe5SiKc+HFSFF39LIPxhr50/56V7C6M+MBLpT0MHX3oF6S6DoYNp+lbt251RgrGSzAsS89h6NiTdsFYAkTPYdJwh3JhhEPt2rXdW8sRDxzgkEvHc7h+/Xo3Bn2ojEVpbN6HRXjdzJkzbfr06VnmwEErHjDeB8LfRr6LOZyLfsN6KBPXRRIiIAGSECZ1EgEREAEREAEREAEREAERCIOABEgYFHUNERABERABERABERABERCBhAhIgCSESZ1EQAREQAREQAREQAREQATCICABEgZFXUMEREAEREAEREAEREAERCAhAhIgCWFSJxEQAREQAREQAREQAREQgTAISICEQVHXEAEREAEREAEREAEREAERSIiABEhCmNRJBERABERABERABERABEQgDAISIGFQ1DVEQAREQAREQAREQAREQAQSIiABkhAmdRIBERABERABERABERABEQiDgARIGBR1DREQgVwnsN9++9nDDz9sY8eOtTlz5rj58OZb3pB7++23JzS/8uXLW7du3VzfPn362DfffJPQ5/Jzp169ehlsb7vttl1a5l577WV16tSxd955Z5c+n92HmNOgQYPcG8oHDhwY6rXT8WKPP/64rV692tgPNREQARHI6wQkQPL6Dmr+IiACjsBxxx1nN998s/Xs2dN++OEH9zOM5q1bt9rQoUMTonTppZfaaaedZhjN77//vo0ZMyahz+XnTrsrQLp27WolS5bcZQEjAfJ/AhIg+fkp09pEIPMISIBk3p5rxSKQLwmcd9551rBhQ7vllltsx44dVqBAAXdC/u6779qUKVPirnnPPfe0vn37Oq9H4cKFrVSpUobx/M8//8T9bH7usLsCZHc/LwEiAZKfny+tTQQylYAESKbuvNYtAvmMwLXXXmuFChVyYVi0ww47zO6991579NFH7eOPP4672qpVq1qnTp3s5ZdfNsQI4VvPP/+8zZ07N+5n83OH3RUQu/t5CRAJkPz8fGltIpCpBCRAMnXntW4RyAcECLE6+uij467kt99+s7vuuivHfogPREiPHj2c1wPDeeXKlda/f/+Ynzv44IMNr0vlypWdx2Tt2rVOrLz33nu2ffv2yGcS6Zedkc7aWCNeHIQRrW3btlazZk3r0qWLNWvWzE488UTbe++93VxfeOEF+/33361x48Z2yimnWMGCBe27776zl156KRKWxjWyC+epVauWuz79WQct1ty4br169axatWpWokQJJ9jWr19vy5Yts9dee83xY93R+Qrz5s2z5557zl133333dR6rk046yYoWLWqbNm2y5cuXu89v3LgxC3OudeGFF7owu3322cdWrFjh+t1zzz0J5YDsv//+1rRpUzvqqKOsWLFibqzPPvvMXn/9dVuzZk2WsU444QQ766yzrFy5ck7Q/vXXX44t433//feRvuwL8x48eLA1b97czY3G3NiHbdu2ORELI7xxX331lePKvegb+7BgwQIX7kdfRPOGDRts4cKF9sYbb9i///6bpW+sHJAzzjjD+IfHjnBDxmGu9A025tegQQM3BuxZN+OQm8Nc1URABEQglQQkQFJJW2OJgAiESgCDGeMUQ7Fu3bq2aNEi++WXX9wYVapUsYMOOshmzJjhjEhvUMeaAAKCpPNff/3V5ZDQMPArVKjgBMlPP/2U5WMYcRigjIt35eeff3ZCiCT2oJGdaL+dFSCIix9//NH22GMPN37p0qWdEGKeGJb8f4z5Aw880Bn4iAO8QRiotN0RIIzZuXNnt9ZPP/3UCRsMWnhj3C9ZssSefPJJl7iOSGFfEEhTp051RjHzov8dd9zh5onBzs+LFy/uBCBzJRQOQ5yGkU9hgAMOOMA+/PBDW7dunVsr12B98ZLQyedhLxlr6dKlTigimhgLIXL//fe7+4NGsjx5QNwHcEUAsE72dvPmzXbfffdF5sX+Y/RjvDNnDP+K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\" width=\"800\">" + ], + "text/plain": [ + "<IPython.core.display.HTML object>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "Text(0, 0.5, 'Integral')" + ] + }, + "execution_count": 274, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#for i in range(1,len(cosdata)):\n", + "# cosdata[i] -= cosdata[i-1]\n", + "# sindata[i] -= sindata[i-1]\n", + "plt.plot(cosdata, label='cos')\n", + "plt.plot(sindata, label='sin')\n", + "plt.legend()\n", + "plt.xlabel(\"# Accumulated samples\")\n", + "plt.ylabel(\"Integral\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "09ecf1f7", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.13" + }, + "toc": { + "base_numbering": 1, + "nav_menu": {}, + "number_sections": true, + "sideBar": true, + "skip_h1_title": false, + "title_cell": "Table of Contents", + "title_sidebar": "Contents", + "toc_cell": false, + "toc_position": { + "height": "calc(100% - 180px)", + "left": "10px", + "top": "150px", + "width": "510.391px" + }, + "toc_section_display": true, + "toc_window_display": true + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/stitch_project/api/Stitch/Stitchtility.py b/stitch_project/api/Stitch/Stitchtility.py new file mode 100644 index 0000000..c0b407d --- /dev/null +++ b/stitch_project/api/Stitch/Stitchtility.py @@ -0,0 +1,26 @@ +def frequencyHzToDphi(frequency): + dphi = int(frequency/0.18626451492) + if dphi <= 1: + return 1 + if dphi >= 2**22: + return 2**22-1 + else: + return dphi + +def rampHzSqToDdphi(rampHzSq): + ddphi = int(rampHzSq/2.22044604921) + if ddphi <= 1: + return 1 + if ddphi >= 2**22: + return 2**22-1 + else: + return ddphi + +def DeltaDphiAndDdphiToNsweep(DeltaDphi, Ddphi): + return int(DeltaDphi/(Ddphi*2**-23)) + +def numPeriodsToNringup(numPeriods, frequencyHz): + return int(numPeriods*100.0e6/frequencyHz) + +def numPeriodsToNmeas(numPeriods, frequencyHz): + return int(numPeriods*100.0e6/frequencyHz) -- GitLab