Skip to content

Instantly share code, notes, and snippets.

@mattwoodrow
Created November 12, 2018 03:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mattwoodrow/6743c06bf847c8adbe68a1ef95adaf34 to your computer and use it in GitHub Desktop.
Save mattwoodrow/6743c06bf847c8adbe68a1ef95adaf34 to your computer and use it in GitHub Desktop.
wr-content-frame-time-thresholds
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"import ujson as json\n",
"import matplotlib.pyplot as plt\n",
"import pandas as pd\n",
"import numpy as np\n",
"\n",
"from moztelemetry.dataset import Dataset\n",
"\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can look at the schema of the dataset we are interested in:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[u'submissionDate',\n",
" u'sourceName',\n",
" u'sourceVersion',\n",
" u'docType',\n",
" u'appName',\n",
" u'appUpdateChannel',\n",
" u'appVersion',\n",
" u'appBuildId']"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Dataset.from_source('telemetry').schema"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's create a Dataset of Telemetry submissions for a given submission date:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"pings_dataset = (\n",
" Dataset.from_source('telemetry')\n",
" .where(docType='main')\n",
" #.where(appBuildId='20180721100146')\n",
" #.where(submissionDate ='20180925')\n",
" .where(submissionDate=lambda x: x > '20181100')\n",
" .where(appUpdateChannel=\"nightly\")\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Select only the properties we need and then take a 10% sample:"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"fetching 72432.79830MB in 256857 files...\n"
]
}
],
"source": [
"pings = (\n",
" pings_dataset\n",
" .select(\n",
" 'clientId',\n",
" buildId='application.buildId',\n",
" frame_time='payload.processes.gpu.histograms.CONTENT_FRAME_TIME.values',\n",
" frame_time_sum='payload.processes.gpu.histograms.CONTENT_FRAME_TIME.sum',\n",
" frame_time_svg='payload.processes.gpu.histograms.CONTENT_FRAME_TIME_WITH_SVG.values',\n",
" frame_time_svg_sum='payload.processes.gpu.histograms.CONTENT_FRAME_TIME_WITH_SVG.sum',\n",
" experiments='environment.experiments',\n",
" osName='environment.system.os.name',\n",
" gfx='environment.system.gfx')\n",
" .records(sc, sample=1.)\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"#pings = (\n",
"# pings_dataset\n",
"# .records(sc, sample=0.01)\n",
"#)\n",
"#pings.take(1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": []
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"2018964"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pings.count()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[{'buildId': u'20181107100135',\n",
" 'clientId': u'b6a0293a-1c5c-462d-9c0d-4430376770d4',\n",
" 'experiments': {u'searchCohort': {u'branch': u'nov17-2'}},\n",
" 'frame_time': {u'103': 53,\n",
" u'1059': 3,\n",
" u'11': 4,\n",
" u'120': 12,\n",
" u'1237': 1,\n",
" u'13': 3,\n",
" u'140': 8,\n",
" u'164': 13,\n",
" u'1688': 1,\n",
" u'192': 32,\n",
" u'1971': 3,\n",
" u'2': 0,\n",
" u'21': 1,\n",
" u'224': 11,\n",
" u'2302': 1,\n",
" u'25': 3,\n",
" u'262': 9,\n",
" u'29': 6,\n",
" u'3': 1,\n",
" u'306': 1,\n",
" u'34': 2,\n",
" u'357': 2,\n",
" u'4': 9,\n",
" u'40': 3,\n",
" u'417': 1,\n",
" u'4281': 1,\n",
" u'47': 5,\n",
" u'487': 2,\n",
" u'5': 8,\n",
" u'5000': 0,\n",
" u'55': 8,\n",
" u'569': 2,\n",
" u'6': 1,\n",
" u'64': 18,\n",
" u'665': 2,\n",
" u'7': 1,\n",
" u'75': 31,\n",
" u'777': 1,\n",
" u'8': 3,\n",
" u'88': 468,\n",
" u'9': 1,\n",
" u'907': 4},\n",
" 'frame_time_sum': 104235,\n",
" 'frame_time_svg': None,\n",
" 'frame_time_svg_sum': None,\n",
" 'gfx': {u'ContentBackend': u'Skia',\n",
" u'D2DEnabled': False,\n",
" u'DWriteEnabled': True,\n",
" u'adapters': [{u'GPUActive': True,\n",
" u'RAM': None,\n",
" u'description': u'Intel(R) HD Graphics 4600',\n",
" u'deviceID': u'0x0412',\n",
" u'driver': u'igdumdim64 igd10iumd64 igd10iumd64 igdumdim32 igd10iumd32 igd10iumd32',\n",
" u'driverDate': u'4-23-2014',\n",
" u'driverVersion': u'10.18.10.3574',\n",
" u'subsysID': u'07501025',\n",
" u'vendorID': u'0x8086'}],\n",
" u'features': {u'advancedLayers': {u'noConstantBufferOffsetting': True,\n",
" u'status': u'available'},\n",
" u'compositor': u'd3d11',\n",
" u'd2d': {u'status': u'blacklisted', u'version': u'1.1'},\n",
" u'd3d11': {u'blacklisted': False,\n",
" u'status': u'available',\n",
" u'textureSharing': True,\n",
" u'version': 45056,\n",
" u'warp': False},\n",
" u'gpuProcess': {u'status': u'available'},\n",
" u'webrender': {u'status': u'blocked'},\n",
" u'wrQualified': {u'status': u'blocked'}},\n",
" u'monitors': [{u'pseudoDisplay': False,\n",
" u'refreshRate': 25,\n",
" u'screenHeight': 2160,\n",
" u'screenWidth': 3840}]},\n",
" 'osName': u'Windows_NT'},\n",
" {'buildId': u'20181107100135',\n",
" 'clientId': u'06a6d9a3-d975-435a-84a4-fa383815a143',\n",
" 'experiments': None,\n",
" 'frame_time': {u'103': 73,\n",
" u'120': 14,\n",
" u'13': 1,\n",
" u'140': 18,\n",
" u'164': 9,\n",
" u'192': 10,\n",
" u'224': 3,\n",
" u'262': 4,\n",
" u'34': 1,\n",
" u'357': 1,\n",
" u'40': 2,\n",
" u'417': 1,\n",
" u'47': 5,\n",
" u'487': 2,\n",
" u'55': 2,\n",
" u'569': 1,\n",
" u'64': 8,\n",
" u'665': 0,\n",
" u'75': 27,\n",
" u'8': 0,\n",
" u'88': 100,\n",
" u'9': 1},\n",
" 'frame_time_sum': 33191,\n",
" 'frame_time_svg': None,\n",
" 'frame_time_svg_sum': None,\n",
" 'gfx': {u'ContentBackend': u'Skia',\n",
" u'D2DEnabled': True,\n",
" u'DWriteEnabled': True,\n",
" u'adapters': [{u'GPUActive': True,\n",
" u'RAM': 3072,\n",
" u'description': u'ASUS R9 280 Series',\n",
" u'deviceID': u'0x679a',\n",
" u'driver': u'aticfx64 aticfx64 aticfx64 aticfx32 aticfx32 aticfx32 atiumd64 atidxx64 atidxx64 atiumdag atidxx32 atidxx32 atiumdva atiumd6a atitmm64',\n",
" u'driverDate': u'7-4-2017',\n",
" u'driverVersion': u'22.19.171.1024',\n",
" u'subsysID': u'047e1043',\n",
" u'vendorID': u'0x1002'}],\n",
" u'features': {u'advancedLayers': {u'status': u'available'},\n",
" u'compositor': u'd3d11',\n",
" u'd2d': {u'status': u'available', u'version': u'1.1'},\n",
" u'd3d11': {u'blacklisted': False,\n",
" u'status': u'available',\n",
" u'textureSharing': True,\n",
" u'version': 45312,\n",
" u'warp': False},\n",
" u'gpuProcess': {u'status': u'available'},\n",
" u'webrender': {u'status': u'blocked'},\n",
" u'wrQualified': {u'status': u'blocked'}},\n",
" u'monitors': [{u'pseudoDisplay': False,\n",
" u'refreshRate': 60,\n",
" u'screenHeight': 1080,\n",
" u'screenWidth': 1920}]},\n",
" 'osName': u'Windows_NT'},\n",
" {'buildId': u'20181107100135',\n",
" 'clientId': u'7ec1ddf4-8d14-42b1-9dc4-d22abd5528fe',\n",
" 'experiments': {u'prefflip-webrender-v1-2-1492568': {u'branch': u'enabled',\n",
" u'type': u'normandy-exp'}},\n",
" 'frame_time': {u'103': 2450,\n",
" u'120': 846,\n",
" u'140': 58,\n",
" u'1445': 1,\n",
" u'15': 2,\n",
" u'164': 33,\n",
" u'18': 11,\n",
" u'192': 27,\n",
" u'21': 26,\n",
" u'224': 14,\n",
" u'2302': 3,\n",
" u'25': 14,\n",
" u'262': 15,\n",
" u'2688': 0,\n",
" u'29': 12,\n",
" u'306': 5,\n",
" u'34': 12,\n",
" u'357': 6,\n",
" u'40': 25,\n",
" u'417': 1,\n",
" u'47': 23,\n",
" u'487': 5,\n",
" u'55': 28,\n",
" u'569': 3,\n",
" u'64': 38,\n",
" u'665': 1,\n",
" u'7': 0,\n",
" u'75': 96,\n",
" u'8': 2,\n",
" u'88': 377,\n",
" u'9': 3},\n",
" 'frame_time_sum': 477702,\n",
" 'frame_time_svg': {u'103': 2365,\n",
" u'120': 725,\n",
" u'13': 0,\n",
" u'140': 48,\n",
" u'15': 2,\n",
" u'164': 25,\n",
" u'18': 11,\n",
" u'192': 23,\n",
" u'21': 25,\n",
" u'224': 12,\n",
" u'25': 14,\n",
" u'262': 14,\n",
" u'29': 12,\n",
" u'306': 4,\n",
" u'34': 12,\n",
" u'357': 4,\n",
" u'40': 22,\n",
" u'47': 17,\n",
" u'487': 3,\n",
" u'55': 22,\n",
" u'569': 3,\n",
" u'64': 34,\n",
" u'665': 1,\n",
" u'75': 90,\n",
" u'777': 0,\n",
" u'88': 363},\n",
" 'frame_time_svg_sum': 433366,\n",
" 'gfx': {u'ContentBackend': u'Skia',\n",
" u'D2DEnabled': True,\n",
" u'DWriteEnabled': True,\n",
" u'adapters': [{u'GPUActive': True,\n",
" u'RAM': 8192,\n",
" u'description': u'NVIDIA GeForce GTX 1070',\n",
" u'deviceID': u'0x1b81',\n",
" u'driver': u'C:\\\\WINDOWS\\\\System32\\\\DriverStore\\\\FileRepository\\\\nv_dispi.inf_amd64_54bd1f10ac116cd5\\\\nvldumdx.dll,C:\\\\WINDOWS\\\\System32\\\\DriverStore\\\\FileRepository\\\\nv_dispi.inf_amd64_54bd1f10ac116cd5\\\\nvldumdx.dll,C:\\\\WINDOWS\\\\System32\\\\DriverStore\\\\FileRepository\\\\nv_dispi.inf_amd64_54bd1f10ac116cd5\\\\nvldumdx.dll,C:\\\\WINDOWS\\\\System32\\\\DriverStore\\\\FileRepository\\\\nv_dispi.inf_amd64_54bd1f10ac116cd5\\\\nvldumdx.dll C:\\\\WINDOWS\\\\System32\\\\DriverStore\\\\FileRepository\\\\nv_dispi.inf_amd64_54bd1f10ac116cd5\\\\nvldumd.dll,C:\\\\WINDOWS\\\\System32\\\\DriverStore\\\\FileRepository\\\\nv_dispi.inf_amd64_54bd1f10ac116cd5\\\\nvldumd.dll,C:\\\\WINDOWS\\\\System32\\\\DriverStore\\\\FileRepository\\\\nv_dispi.inf_amd64_54bd1f10ac116cd5\\\\nvldumd.dll,C:\\\\WINDOWS\\\\System32\\\\DriverStore\\\\FileRepository\\\\nv_dispi.inf_amd64_54bd1f10ac116cd5\\\\nvldumd.dll',\n",
" u'driverDate': u'10-2-2018',\n",
" u'driverVersion': u'25.21.14.1616',\n",
" u'subsysID': u'00000000',\n",
" u'vendorID': u'0x10de'}],\n",
" u'features': {u'advancedLayers': {u'status': u'available'},\n",
" u'compositor': u'webrender',\n",
" u'd2d': {u'status': u'available', u'version': u'1.1'},\n",
" u'd3d11': {u'blacklisted': False,\n",
" u'status': u'available',\n",
" u'textureSharing': True,\n",
" u'version': 45312,\n",
" u'warp': False},\n",
" u'gpuProcess': {u'status': u'available'},\n",
" u'webrender': {u'status': u'available'},\n",
" u'wrQualified': {u'status': u'available'}},\n",
" u'monitors': [{u'pseudoDisplay': False,\n",
" u'refreshRate': 60,\n",
" u'screenHeight': 1080,\n",
" u'screenWidth': 1920}]},\n",
" 'osName': u'Windows_NT'},\n",
" {'buildId': u'20181107100135',\n",
" 'clientId': u'782c5657-b26a-4227-aa39-556ea790201b',\n",
" 'experiments': None,\n",
" 'frame_time': {u'103': 7211,\n",
" u'1059': 1,\n",
" u'120': 244,\n",
" u'1237': 3,\n",
" u'140': 126,\n",
" u'1445': 3,\n",
" u'164': 92,\n",
" u'1688': 1,\n",
" u'18': 1,\n",
" u'192': 60,\n",
" u'1971': 0,\n",
" u'21': 8,\n",
" u'224': 40,\n",
" u'25': 13,\n",
" u'262': 43,\n",
" u'29': 15,\n",
" u'306': 22,\n",
" u'34': 79,\n",
" u'357': 24,\n",
" u'4': 0,\n",
" u'40': 206,\n",
" u'417': 14,\n",
" u'47': 216,\n",
" u'487': 12,\n",
" u'5': 1,\n",
" u'55': 263,\n",
" u'569': 11,\n",
" u'64': 700,\n",
" u'665': 5,\n",
" u'75': 1928,\n",
" u'777': 4,\n",
" u'88': 8811,\n",
" u'907': 4},\n",
" 'frame_time_sum': 2031891,\n",
" 'frame_time_svg': None,\n",
" 'frame_time_svg_sum': None,\n",
" 'gfx': {u'ContentBackend': u'Skia',\n",
" u'D2DEnabled': False,\n",
" u'DWriteEnabled': True,\n",
" u'adapters': [{u'GPUActive': True,\n",
" u'RAM': None,\n",
" u'description': u'Intel(R) HD Graphics 4000',\n",
" u'deviceID': u'0x0166',\n",
" u'driver': u'igdumdim64 igd10iumd64 igd10iumd64 igdumdim32 igd10iumd32 igd10iumd32',\n",
" u'driverDate': u'8-16-2018',\n",
" u'driverVersion': u'10.18.10.5059',\n",
" u'subsysID': u'15871043',\n",
" u'vendorID': u'0x8086'},\n",
" {u'GPUActive': False,\n",
" u'RAM': 2048,\n",
" u'description': u'NVIDIA GeForce GT 740M',\n",
" u'deviceID': u'0x0fdf',\n",
" u'driver': u'C:\\\\WINDOWS\\\\System32\\\\DriverStore\\\\FileRepository\\\\nvami.inf_amd64_eb18ef0e5d636f6f\\\\nvldumdx.dll,C:\\\\WINDOWS\\\\System32\\\\DriverStore\\\\FileRepository\\\\nvami.inf_amd64_eb18ef0e5d636f6f\\\\nvldumdx.dll,C:\\\\WINDOWS\\\\System32\\\\DriverStore\\\\FileRepository\\\\nvami.inf_amd64_eb18ef0e5d636f6f\\\\nvldumdx.dll,C:\\\\WINDOWS\\\\System32\\\\DriverStore\\\\FileRepository\\\\nvami.inf_amd64_eb18ef0e5d636f6f\\\\nvldumdx.dll C:\\\\WINDOWS\\\\System32\\\\DriverStore\\\\FileRepository\\\\nvami.inf_amd64_eb18ef0e5d636f6f\\\\nvldumd.dll,C:\\\\WINDOWS\\\\System32\\\\DriverStore\\\\FileRepository\\\\nvami.inf_amd64_eb18ef0e5d636f6f\\\\nvldumd.dll,C:\\\\WINDOWS\\\\System32\\\\DriverStore\\\\FileRepository\\\\nvami.inf_amd64_eb18ef0e5d636f6f\\\\nvldumd.dll,C:\\\\WINDOWS\\\\System32\\\\DriverStore\\\\FileRepository\\\\nvami.inf_amd64_eb18ef0e5d636f6f\\\\nvldumd.dll',\n",
" u'driverDate': u'10-10-2018',\n",
" u'driverVersion': u'25.21.14.1634',\n",
" u'subsysID': u'15871043',\n",
" u'vendorID': u'0x10de'}],\n",
" u'features': {u'advancedLayers': {u'status': u'available'},\n",
" u'compositor': u'd3d11',\n",
" u'd2d': {u'status': u'available', u'version': u'1.1'},\n",
" u'd3d11': {u'blacklisted': False,\n",
" u'status': u'available',\n",
" u'textureSharing': True,\n",
" u'version': 45056,\n",
" u'warp': False},\n",
" u'gpuProcess': {u'status': u'available'},\n",
" u'webrender': {u'status': u'blocked'},\n",
" u'wrQualified': {u'status': u'blocked'}},\n",
" u'monitors': [{u'pseudoDisplay': False,\n",
" u'refreshRate': 60,\n",
" u'screenHeight': 768,\n",
" u'screenWidth': 1366}]},\n",
" 'osName': u'Windows_NT'}]"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pings.take(4)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"# We add two extra steps. The first rewrites the ping to have some\n",
"# information more easily accessible (like the primary adapter),\n",
"# and the second step removes any pings that don't have adapter\n",
"# information.\n",
"def rewrite_ping(p):\n",
" adapters = p.get('gfx', None).get('adapters', None)\n",
" if not adapters:\n",
" return None\n",
" adapter = adapters[0]\n",
" \n",
" p['adapter'] = adapter\n",
" \n",
" # Convert the version to a tuple of integers.\n",
" #if 'driverVersion' in adapter:\n",
" # p['driverVersion'] = [int(n) for n in adapter['driverVersion'].split('.') if n.isdigit()]\n",
" return p\n",
"\n",
"def filter_ping(p):\n",
" return 'adapter' in p\n",
"#rpings = pings.map(rewrite_ping).filter(filter_ping)\n",
"#rpings = rpings.cache()\n",
"#rpings.count()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To prevent pseudoreplication, let's consider only a single submission for each client. As this step requires a distributed shuffle, it should always be run only after extracting the attributes of interest with *Dataset.select()*."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"#subset = (\n",
"# rpings\n",
"# .map(lambda p: (p['clientId'], p))\n",
"# .reduceByKey(lambda p1, p2: p1)\n",
"# .map(lambda p: p[1])\n",
"#)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Caching is fundamental as it allows for an iterative, real-time development workflow:"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"cached = pings.cache()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"How many pings are we looking at?"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"2018964"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cached.count()"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"157605"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"wrExperiment = cached.filter(lambda p: \"experiments\" in p and p[\"experiments\"]).filter(lambda p: \"prefflip-webrender-v1-2-1492568\" in p[\"experiments\"])\n",
"wrExperiment.count()"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1906520"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cached = cached.filter(lambda p: \"features\" in p[\"gfx\"])\n",
"cached = cached.filter(lambda p: \"wrQualified\" in p[\"gfx\"][\"features\"])\n",
"cached.count()"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"wrQualified = cached.filter(lambda p: p[\"gfx\"][\"features\"][\"wrQualified\"][\"status\"] == \"available\" )\n",
"wrQualified.count()\n",
"wrQualified = wrQualified.filter(lambda p: len(p[\"gfx\"][\"monitors\"]) == 1)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"defaultdict(int, {u'basic': 5303, u'd3d11': 60089, u'webrender': 92212})"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"wrExperiment = cached.filter(lambda p: \"experiments\" in p and p[\"experiments\"]).filter(lambda p: \"prefflip-webrender-v1-2-1492568\" in p[\"experiments\"])\n",
"wrExperiment.map(lambda p: p[\"gfx\"][\"features\"][\"compositor\"]).countByValue()"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"wrExperiment = wrExperiment.filter(lambda p: p[\"gfx\"][\"features\"][\"wrQualified\"][\"status\"] == \"available\")\n",
"wrExperiment = wrExperiment.filter(lambda p: len(p[\"gfx\"][\"monitors\"]) == 1 and p[\"gfx\"][\"monitors\"][0][\"refreshRate\"] == 60)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"defaultdict(int, {u'disabled': 33914, u'enabled': 35974})"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"wrExperiment.map(lambda p: p[\"experiments\"][\"prefflip-webrender-v1-2-1492568\"][\"branch\"]).countByValue()"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(35974, 33914)"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"treatment = wrExperiment.filter(lambda p: p[\"experiments\"][\"prefflip-webrender-v1-2-1492568\"][\"branch\"] == \"enabled\")\n",
"control = wrExperiment.filter(lambda p: p[\"experiments\"][\"prefflip-webrender-v1-2-1492568\"][\"branch\"] == \"disabled\")\n",
"treatment.count(), control.count()"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"defaultdict(int, {u'basic': 1337, u'd3d11': 259, u'webrender': 34378})"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"treatment.map(lambda p: p[\"gfx\"][\"features\"][\"compositor\"]).countByValue()"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[{'buildId': u'20181107100135',\n",
" 'clientId': u'7ec1ddf4-8d14-42b1-9dc4-d22abd5528fe',\n",
" 'experiments': {u'prefflip-webrender-v1-2-1492568': {u'branch': u'enabled',\n",
" u'type': u'normandy-exp'}},\n",
" 'frame_time': {u'103': 2450,\n",
" u'120': 846,\n",
" u'140': 58,\n",
" u'1445': 1,\n",
" u'15': 2,\n",
" u'164': 33,\n",
" u'18': 11,\n",
" u'192': 27,\n",
" u'21': 26,\n",
" u'224': 14,\n",
" u'2302': 3,\n",
" u'25': 14,\n",
" u'262': 15,\n",
" u'2688': 0,\n",
" u'29': 12,\n",
" u'306': 5,\n",
" u'34': 12,\n",
" u'357': 6,\n",
" u'40': 25,\n",
" u'417': 1,\n",
" u'47': 23,\n",
" u'487': 5,\n",
" u'55': 28,\n",
" u'569': 3,\n",
" u'64': 38,\n",
" u'665': 1,\n",
" u'7': 0,\n",
" u'75': 96,\n",
" u'8': 2,\n",
" u'88': 377,\n",
" u'9': 3},\n",
" 'frame_time_sum': 477702,\n",
" 'frame_time_svg': {u'103': 2365,\n",
" u'120': 725,\n",
" u'13': 0,\n",
" u'140': 48,\n",
" u'15': 2,\n",
" u'164': 25,\n",
" u'18': 11,\n",
" u'192': 23,\n",
" u'21': 25,\n",
" u'224': 12,\n",
" u'25': 14,\n",
" u'262': 14,\n",
" u'29': 12,\n",
" u'306': 4,\n",
" u'34': 12,\n",
" u'357': 4,\n",
" u'40': 22,\n",
" u'47': 17,\n",
" u'487': 3,\n",
" u'55': 22,\n",
" u'569': 3,\n",
" u'64': 34,\n",
" u'665': 1,\n",
" u'75': 90,\n",
" u'777': 0,\n",
" u'88': 363},\n",
" 'frame_time_svg_sum': 433366,\n",
" 'gfx': {u'ContentBackend': u'Skia',\n",
" u'D2DEnabled': True,\n",
" u'DWriteEnabled': True,\n",
" u'adapters': [{u'GPUActive': True,\n",
" u'RAM': 8192,\n",
" u'description': u'NVIDIA GeForce GTX 1070',\n",
" u'deviceID': u'0x1b81',\n",
" u'driver': u'C:\\\\WINDOWS\\\\System32\\\\DriverStore\\\\FileRepository\\\\nv_dispi.inf_amd64_54bd1f10ac116cd5\\\\nvldumdx.dll,C:\\\\WINDOWS\\\\System32\\\\DriverStore\\\\FileRepository\\\\nv_dispi.inf_amd64_54bd1f10ac116cd5\\\\nvldumdx.dll,C:\\\\WINDOWS\\\\System32\\\\DriverStore\\\\FileRepository\\\\nv_dispi.inf_amd64_54bd1f10ac116cd5\\\\nvldumdx.dll,C:\\\\WINDOWS\\\\System32\\\\DriverStore\\\\FileRepository\\\\nv_dispi.inf_amd64_54bd1f10ac116cd5\\\\nvldumdx.dll C:\\\\WINDOWS\\\\System32\\\\DriverStore\\\\FileRepository\\\\nv_dispi.inf_amd64_54bd1f10ac116cd5\\\\nvldumd.dll,C:\\\\WINDOWS\\\\System32\\\\DriverStore\\\\FileRepository\\\\nv_dispi.inf_amd64_54bd1f10ac116cd5\\\\nvldumd.dll,C:\\\\WINDOWS\\\\System32\\\\DriverStore\\\\FileRepository\\\\nv_dispi.inf_amd64_54bd1f10ac116cd5\\\\nvldumd.dll,C:\\\\WINDOWS\\\\System32\\\\DriverStore\\\\FileRepository\\\\nv_dispi.inf_amd64_54bd1f10ac116cd5\\\\nvldumd.dll',\n",
" u'driverDate': u'10-2-2018',\n",
" u'driverVersion': u'25.21.14.1616',\n",
" u'subsysID': u'00000000',\n",
" u'vendorID': u'0x10de'}],\n",
" u'features': {u'advancedLayers': {u'status': u'available'},\n",
" u'compositor': u'webrender',\n",
" u'd2d': {u'status': u'available', u'version': u'1.1'},\n",
" u'd3d11': {u'blacklisted': False,\n",
" u'status': u'available',\n",
" u'textureSharing': True,\n",
" u'version': 45312,\n",
" u'warp': False},\n",
" u'gpuProcess': {u'status': u'available'},\n",
" u'webrender': {u'status': u'available'},\n",
" u'wrQualified': {u'status': u'available'}},\n",
" u'monitors': [{u'pseudoDisplay': False,\n",
" u'refreshRate': 60,\n",
" u'screenHeight': 1080,\n",
" u'screenWidth': 1920}]},\n",
" 'osName': u'Windows_NT'}]"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"wrQualified.take(1)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(34378, 26525)"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"wrEnabled = treatment.filter(lambda p: p[\"gfx\"][\"features\"][\"compositor\"] == \"webrender\")\n",
"wrDisabled = control.filter(lambda p: p[\"gfx\"][\"features\"][\"compositor\"] == \"d3d11\")\n",
"wrEnabled.count(), wrDisabled.count()"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
"wrDisabled2 = wrDisabled.sample(False, wrEnabled.count()/(wrDisabled.count()*1.0))\n",
"wrDisabled3 = wrDisabled.sample(False, wrEnabled.count()/(wrDisabled.count()*1.0))\n",
"wrDisabled = wrDisabled.sample(False, wrEnabled.count()/(wrDisabled.count()*1.0))"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(26525, 26525, 26525, 34378)"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"wrDisabled3.count(), wrDisabled.count(), wrDisabled2.count(), wrEnabled.count()"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [],
"source": [
"def aggregate_series(s1, s2):\n",
" \"\"\"Function to sum up series; if one is None, return other\"\"\"\n",
" if s1 is None:\n",
" return s2\n",
" if s2 is None:\n",
" return s1\n",
" return s1.add(s2, fill_value=0)\n",
"\n",
"def roundDict(x):\n",
" int_x = {int(k) : v for k, v in x.items()}\n",
" d = {}\n",
" lastValue = 0\n",
" for (key, value) in sorted(int_x.iteritems()):\n",
" if key < 100:\n",
" lastValue = value\n",
" continue\n",
" rounded = key/100\n",
" if rounded in d:\n",
" d[rounded] += lastValue\n",
" else:\n",
" d[rounded] = lastValue\n",
" lastValue = value\n",
" return d"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
"aggregated_enabled_svg = (\n",
" wrEnabled\n",
" .filter(lambda p: p['frame_time_svg'])\n",
" .map(lambda p: pd.Series(roundDict(p['frame_time_svg'])))\n",
" .reduce(aggregate_series)\n",
")\n",
"aggregated_enabled_svg.index = [int(i) for i in aggregated_enabled_svg.index]\n",
"aggregated_enabled_svg = aggregated_enabled_svg.sort_index()\n",
"\n",
"aggregated_enabled = (\n",
" wrEnabled\n",
" .filter(lambda p: p['frame_time'])\n",
" .map(lambda p: pd.Series(roundDict(p['frame_time'])))\n",
" .reduce(aggregate_series)\n",
")\n",
"aggregated_enabled.index = [int(i) for i in aggregated_enabled.index]\n",
"aggregated_enabled = aggregated_enabled.sort_index()\n",
"\n",
"aggregated_disabled = (\n",
" wrDisabled\n",
" .filter(lambda p: p['frame_time'])\n",
" .map(lambda p: pd.Series(roundDict(p['frame_time'])))\n",
" .reduce(aggregate_series)\n",
")\n",
"aggregated_disabled.index = [int(i) for i in aggregated_disabled.index]\n",
"aggregated_disabled = aggregated_disabled.sort_index()"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1 607494277.0\n",
"2 6907229.0\n",
"3 1953117.0\n",
"4 803458.0\n",
"5 241853.0\n",
"6 174718.0\n",
"7 129512.0\n",
"9 99581.0\n",
"10 76100.0\n",
"12 63755.0\n",
"14 56111.0\n",
"16 48308.0\n",
"19 39783.0\n",
"23 31080.0\n",
"26 22408.0\n",
"31 15945.0\n",
"36 11098.0\n",
"42 8159.0\n",
"50 8638.0\n",
"dtype: float64"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"aggregated_disabled"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1 354563368.0\n",
"2 19976566.0\n",
"3 5628364.0\n",
"4 2667638.0\n",
"5 835837.0\n",
"6 783262.0\n",
"7 527235.0\n",
"9 305199.0\n",
"10 189392.0\n",
"12 149014.0\n",
"14 112457.0\n",
"16 74378.0\n",
"19 51208.0\n",
"23 43185.0\n",
"26 35445.0\n",
"31 27229.0\n",
"36 28501.0\n",
"42 16769.0\n",
"50 9868.0\n",
"dtype: float64"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"aggregated_enabled_svg"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1 896245346.0\n",
"2 38125900.0\n",
"3 10489117.0\n",
"4 4468821.0\n",
"5 1313364.0\n",
"6 1143275.0\n",
"7 809255.0\n",
"9 511304.0\n",
"10 345999.0\n",
"12 516000.0\n",
"14 230593.0\n",
"16 138608.0\n",
"19 90951.0\n",
"23 72304.0\n",
"26 60883.0\n",
"31 50714.0\n",
"36 83253.0\n",
"42 31411.0\n",
"50 32942.0\n",
"dtype: float64"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"aggregated_enabled"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1 541681978.0\n",
"2 18149334.0\n",
"3 4860753.0\n",
"4 1801183.0\n",
"5 477527.0\n",
"6 360013.0\n",
"7 282020.0\n",
"9 206105.0\n",
"10 156607.0\n",
"12 366986.0\n",
"14 118136.0\n",
"16 64230.0\n",
"19 39743.0\n",
"23 29119.0\n",
"26 25438.0\n",
"31 23485.0\n",
"36 54752.0\n",
"42 14642.0\n",
"50 23074.0\n",
"dtype: float64"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"aggregated_enabled_no_svg = aggregated_enabled - aggregated_enabled_svg\n",
"aggregated_enabled_no_svg"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [],
"source": [
"def percent_slow_frames(dataset1, dataset2):\n",
" percent_enabled = dataset1[1:].map(lambda x: 100*x/dataset1[0:].sum())\n",
" percent_disabled = dataset2[1:].map(lambda x: 100*x/dataset2[0:].sum())\n",
" df = pd.DataFrame()\n",
" df['enabled'] = percent_enabled\n",
" df['disabled'] = percent_disabled\n",
" p = df.plot(kind='bar', figsize=(15, 7))\n",
" p.set_xlabel(\"frames\")\n",
" p.set_ylabel(\"percentage of content paints that happen in x frames\")\n",
" return p\n",
"\n",
"def relative_change_slow_frames(dataset1, dataset2):\n",
" percent_enabled = dataset1[1:].map(lambda x: x/dataset1[0:].sum())\n",
" percent_disabled = dataset2[1:].map(lambda x: x/dataset2[0:].sum())\n",
" p = (100*(percent_enabled - percent_disabled) / percent_disabled).plot(kind='bar', figsize=(15, 7))\n",
" p.set_xlabel(\"frames\")\n",
" p.set_ylabel(\"% change in content paints of x frames from enabling WebRender\")"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f5eabdc5650>"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABM8AAAJlCAYAAADNQNV8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3Wm4HVWdPuxnJSBJGBIwBCIQJhlCo9hJK9AKqCAgigPa\ndEdjMygIIkNQUUQEsVsRxdiAIrZDI9B5FUEFBQTlr0gDbUNEEMMkQ2RQCJCghjBlvR/OJp4czknO\n3tlh7+Tc93Xt61StWlX1q4Ivea5Va5VaawAAAACA5xvW6QIAAAAAoFsJzwAAAABgAMIzAAAAABiA\n8AwAAAAABiA8AwAAAIABCM8AAAAAYADCMwAAAAAYgPAMAAAAAAYgPAMAAACAAQjPAAAAAGAAXRee\nlVI+VkpZWEr54lL6vbaUckMpZUEp5fZSyn4vVI0AAAAADA1dFZ6VUl6Z5OAkv1lKv02S/CjJz5Js\nl+Q/kny9lPKG5VwiAAAAAENI14RnpZQ1kpyb5H1J5i6l+6FJ7qq1HlNrva3W+uUk30sybTmXCQAA\nAMAQ0jXhWZIvJ7m41nrlIPrukOSnfdp+kmTHtlcFAAAAwJC1SqcLSJJSyr8keUWSfxjkKesn+VOf\ntj8lWauUslqt9cl+7vHiJHskuSfJgtarBQAAAGAFNyLJJkl+Umt9ZEkdOx6elVI2TPKlJLvVWp9e\njrfaI8l5y/H6AAAAAKxY3p3kv5fUoePhWZLJSdZNMrOUUhptw5PsXEr5YJLVaq21zzl/TLJen7b1\nkjze36izhnuS5Nxzz83EiRObLvLBBx/MPvu8M0891fqgtVKG5eKLL8r48eNbvsaKbtq0aZk+fXqn\ny+iYof78iXcw1J8/8Q6G+vMn3kHiHQz150+8g6H+/Il3kHgHQ/35E+9gqD9/0tl3MGvWrEydOjVp\n5EVL0g3h2U+TvKxP238lmZXk5H6CsyS5Nskb+7Tt3mgfyIIkmThxYiZNmtR0kTNnzmwEZ+cmaT58\nS2al1qkZP358S/dfWYwePdrzD+HnT7yDof78iXcw1J8/8Q4S72CoP3/iHQz150+8g8Q7GOrPn3gH\nQ/35k655B0sdJdXx8KzW+tckv+vdVkr5a5JHaq2zGvufSbJBrXW/RpevJjmslPK5JN9MsmuSdybZ\na/lXPDFJx//DAgAAAPAC6KbVNnvrO9psfJKNFh2s9Z4kb0qyW5Ibk0xL8t5aa98VOAEAAACgZR0f\nedafWuvr++wf0E+fq9IzXxoAAAAALBfdOvKMldSUKVM6XUJHDfXnT7yDof78iXcw1J8/8Q4S72Co\nP3/iHQz150+8g8Q7GOrPn3gHQ/35kxXnHZT+5+Nf+ZRSJiW54YYbbmh5wYDJkycnuSGtzXk2M8nk\ntHp/AAAAANrjbzlPJtdaZy6pb1d+tgkAAADQqtmzZ2fOnDmdLoMOGzt2bCZMmLDM1xGeAQAAACuN\n2bNnZ+LEiZk/f36nS6HDRo0alVmzZi1zgCY8AwAAAFYac+bMyfz583Puuedm4sSJnS6HDpk1a1am\nTp2aOXPmCM8AAAAA+po4caI5x2kLq20CAAAAwACEZwAAAAAwAOEZAAAAAAxAeAYAAAAAAxCeAQAA\nALBE+++/f9Zcc81B9R02bFhOOumktt37F7/4RYYNG5arrrqqbddshtU2AQAAgCFj9uzZmTNnTkdr\nGDt2bCZMmNDRGppVSkkppaP37xThGQAAADAkzJ49O1ttNTELFszvaB0jRozKbbfNWuECtKFKeAYA\nAAAMCXPmzGkEZ+cmmdihKmZlwYKpmTNnjvBsBWHOMwAAAGCImZhkUod+yx7aPfDAAznwwAOz/vrr\nZ8SIEdl2223zrW99a9Hx5+YIO//88/Pv//7v2WijjTJy5Mjstttu+f3vf7/Yta6++ursu+++2Xjj\njTNixIhMmDAhRx99dBYsWNDvve++++7sscceWWONNbLBBhvk05/+dFtqfs7999+ft73tbVljjTWy\n3nrr5eijj86TTz6ZWmsTb6i9jDwDAAAAWEE89NBD2X777TN8+PAcccQRGTt2bC699NK8973vzZ//\n/OccccQRi/qefPLJGT58eD7ykY9k3rx5+dznPpepU6fm2muvXdTn/PPPzxNPPJEPfOADefGLX5xf\n/epXOf3003P//ffnO9/5zmL3fuaZZ7Lnnntmxx13zOc///lcdtllOeGEE/Lss8/mxBNPXOaaFyxY\nkNe//vW57777cuSRR2b8+PE555xzcuWVV5rzDAAAAICl+/jHP55aa2688caMGTMmSXLwwQfnXe96\nV0488cS8//3vX9T3ySefzG9+85sMHz48STJmzJgcddRR+d3vfpdtttkmSXLKKadktdVWW3TO+973\nvmy++eY57rjjct9992XDDTdc7Hp77bVXpk+fniQ59NBDs/fee+dzn/tcjjjiiKyzzjot17zaaqvl\nrLPOyp133pnzzz8/++yzT5LkoIMOystf/vJ2vb6W+GwTAAAAYAVx4YUXZu+9986zzz6bRx55ZNFv\n9913z7x58zJz5sxFfQ888MBFwVmS7LTTTqm15q677lrU1js4mz9/fh555JHsuOOOWbhwYX79618/\n7/6HHXbYYvsf/OAH89RTT+WnP/1pSzXPnTt3Uc2XXnppxo8fvyg4S5IRI0bk4IMPbuINtZ+RZwAA\nAAArgIcffjhz587N1772tZx11lnPO15KyUMPPbRodNdGG2202PG11147SfLYY48tavvDH/6Q448/\nPhdffPFi7aWUzJs3b7Hzhw0bls0222yxti233DK11txzzz3LVHOS3HvvvXnpS1/6vD5bbbVVv9d+\noQjPAAAAAFYACxcuTJJMnTo1++23X799Xv7yl+eWW25JksVGnfX23OT7CxcuzG677Za5c+fm2GOP\nzVZbbZXVV189999/f/bbb79F93shau5mwjMAAACAFcC6666bNddcM88++2xe//rXL/P1br755txx\nxx0555xz8u53v3tR+0CfYC5cuDB33XXXYqPDbrvttiTJJptsssw1b7zxxouCv95uvfXWpT3KcmXO\nMwAAAIAVwLBhw/KOd7wjF1xwQb8h05w5c5q63nMj0/qOMPvSl7404OqWZ5xxxvP2X/SiF2XXXXdd\n5pr32muvPPDAA7ngggsWtc2fPz//+Z//ObgHWk6MPAMAAACGmFkr7L1PPvnk/PznP8/222+fgw46\nKNtss00effTR3HDDDbnyyiubCtC23nrrbL755vnQhz6U++67L2uttVYuuOCCzJ07t9/+q622Wi67\n7LLsv//+2X777XPJJZfk0ksvzXHHHZcXv/jFy1zzQQcdlDPOOCPvec97cv3112f8+PE555xzsvrq\nqzf3ktpMeAYAAAAMCWPHjs2IEaOyYMHUjtYxYsSojB07tqVzx40bl1/96lc56aST8v3vfz9nnnlm\nXvziF+fv/u7vcsoppyzqN9DIsd7tq6yySn70ox/liCOOyMknn5wRI0Zkn332yWGHHZbtttvueeeu\nuuqqueyyy3LIIYfkmGOOyZprrpkTTzwxxx9//PPu0fs+g6155MiRufLKK3P44YfnjDPOyKhRozJ1\n6tTsueee2XPPPVt6X+1QnpskbmVXSpmU5IYbbrghkyZNavr8mTNnZvLkyUluSNL8+cnMJJPT6v0B\nAACApXvu3+8D/ft79uzZTX/e2G5jx47NhAkTOlrDym5p/x/8LefJ5FrrzCVdy8gzAAAAYMiYMGGC\n4IqmWDAAAAAAAAYgPAMAAACAAQjPAAAAAGAAwjMAAAAAGIDwDAAAAAAGIDwDAAAAgAEIzwAAAABg\nAMIzAAAAABiA8AwAAAAABiA8AwAAAIABCM8AAAAAVnAnnnhihg37W8yzySab5MADD1yu93r00UeX\n2rfdddx7770ZNmxYvv3tb7ftmkuzygt2JwAAAIAOmz17dubMmdPRGsaOHZsJEya09ZqllJRSFu0P\nGzZssf3lea+l9V3RCc8AAACAIWH27NnZauutsuCJBR2tY8TIEbnt1tvaHqD1dtttty02Eo3WCc8A\nAACAIWHOnDk9wdk+ScZ2qohkwYULMmfOnOUanq266qrL7dpDjQgSAAAAGFrGJnlJh35tCO2uvvrq\nvPKVr8zIkSOzxRZb5Gtf+9rz+vSda+yZZ57Jpz71qWy55ZYZOXJkxo4dm5122ik/+9nPFvW5+eab\nc8ABB2TzzTfPyJEjM378+Lz3ve8dcG6zhx9+OPvuu29Gjx6dsWPH5qijjsqTTz651PrnzZuXo446\nKhMmTMiIESOyxRZb5JRTTkmt9Xn99t9//4wZMyZrr712DjjggMydO3ewr6ltjDwDAAAAWEH89re/\nzR577JFx48blpJNOytNPP50TTzwx48aNW6xf37nGTjjhhJx88sk5+OCD88pXvjKPP/54rr/++syc\nOTO77rprkuSKK67I3XffnQMPPDDrr79+brnllpx11ln53e9+l2uvvXax69Vas++++2bTTTfNySef\nnOuuuy6nnXZa5s6dm//6r/8asP4nnngiO++8cx588MEccsgh2WijjXLNNdfk2GOPzR//+Md88Ytf\nXNT3LW95S6655poceuih2XrrrfP9738/++233ws+j5rwDAAAAGAFcfzxxyfpGX22wQYbJEne8Y53\nZNttt13ieZdcckne9KY35cwzzxywz2GHHZajjz56sbbtt98+73rXu/I///M/efWrX73Ysc033zwX\nXnhhkuTQQw/NmmuumTPPPDMf/vCHB6zn1FNPzd13350bb7wxm222WZLkoIMOyvjx4/OFL3whH/rQ\nh7LBBhvkhz/8YX75y1/mC1/4wqKaDj300Lz2ta9d4nMuDz7bBAAAAFgBLFy4MJdffnne/va3LwrO\nkmSrrbbKHnvsscRzx4wZk1tuuSV33nnngH1WW221RdtPPvlkHnnkkWy//faptWbmzJmL9S2l5LDD\nDlus7fDDD0+tNZdccsmA9/je976XnXbaKaNHj84jjzyy6LfrrrvmmWeeyVVXXZWkJ+xbddVVc8gh\nhyx2z+fu8UISngEAAACsAB5++OE88cQTeelLX/q8Y1tttdUSzz3ppJMyd+7cbLnllnn5y1+eY445\nJjfffPNifR577LEceeSRWX/99TNy5Misu+662WyzzVJKybx58553zb51bL755hk2bFjuueeeAeu4\n4447ctlll2Xddddd7PeGN7whpZQ89NBDSXpWRh0/fnxGjRrV1HMuDz7bBAAAAFjJ7bTTTvn973+f\nH/7wh7n88svzjW98I9OnT89ZZ521aGGBf/qnf8p1112XY445Jtttt13WWGONLFy4MHvssUcWLly4\n1HsMZi6yhQsX5g1veEM++tGP9juCbMstt2z+4ZYz4RkAAADACmDdddfNyJEjc8cddzzv2K233rrU\n88eMGZP99tsv++23X+bPn5+ddtopJ554Yg488MDMnTs3V155ZT796U/nuOOOW3TOkj7zvOOOO7Lx\nxhsv1nfhwoXZZJNNBjxn8803z1/+8pe87nWvW2KtG2+8ca688srMnz9/sdFng3nOdvPZJgAAAMAK\nYNiwYdljjz3ygx/8IPfdd9+i9lmzZuXyyy9f4rmPPvroYvujRo3KS1/60jz55JNJkuHDhyfJ80aY\nTZ8+vd8RZbXWfPnLX16s7bTTTkspJW984xsHrGPffffNtdde22+98+bNW3T/vfbaK08//fRiCxws\nXLgwp59+utU2AQAAAOjfpz71qVx22WV5zWtekw984AN5+umnc8YZZ2TbbbfNTTfdNOB522yzTV77\n2tdm8uTJWWeddfJ///d/+d73vpcjjjgiSbLmmmtm5513zimnnJKnnnoqG2ywQS6//PLcc889A07Q\nf/fdd+etb31r9txzz1xzzTU577zzMnXq1LzsZS8bsI6PfOQjueiii/LmN785+++/fyZPnpy//vWv\nuemmm3LhhRfmnnvuyTrrrJO99947r371q/Oxj30sd999d7bZZptceOGF+fOf/7xsL7AFwjMAAABg\naJmz4t77ZS97WS6//PIcffTROeGEE7LhhhvmpJNOygMPPLBYeFZKWWyE1pFHHpmLLrooV1xxRZ58\n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\nJEmSpG5TJTw7i6L32WjvA/5rYuVIkiRJkiRJ3aNqT7H3RMTewM/L5zsBU4E5EXHyyE6ZefQE65Mk\nSeS9/MIAABodSURBVJIkSZJqUyU82x6YX369dfnvUPnYvmG/nEBdkiRJkiRJUu3GHZ5l5u7tKESS\nJEmSJEnqNlXmPJMkSZIkSZL6guGZJEmSJEmS1IThmSRJkiRJktSE4ZkkSZIkSZLUhOGZJEmSJEmS\n1IThmSRJkiRJktSE4ZkkSZIkSZLUhOGZJEmSJEmS1IThmSRJkiRJktSE4ZkkSZIkSZLURNeEZxHx\ngYi4IyKWRcTPI+KlK9h3t4hYPurxeERs1MmaJUmSJEmS1Nu6IjyLiLcAJwH/DrwEuB64MCIGVnBY\nAs8HNikfm2bmve2uVZIkSZIkSf2jK8Iz4CjgK5k5JzMXAocADwHvXslx92XmvSOPtlcpSZIkSZKk\nvlJ7eBYRawIzgEtH2jIzgUuAXVZ0KHBdRPw+Ii6KiJe3t1JJkiRJkiT1m9rDM2AAWB24Z1T7PRTD\nMceyGHg/8CbgAOAu4P8i4sXtKlKSJEmSJEn9Z426C6giM28Gbm5o+nlEbE0x/POgFR171FFHseGG\nGz6pbebMmcycObPldUqSJEmSJKlec+fOZe7cuU9qW7JkySof3w3h2RDwOLDxqPaNgT+M43WuBl6x\nsp1mz57N9OnTx/GykiRJkiRJmqzG6jQ1f/58ZsyYsUrH1z5sMzMfBa4B9hhpi4gon185jpd6McVw\nTkmSJEmSJKkluqHnGcDJwDcj4hqKHmRHAesC3wSIiOOBzTLzoPL5kcAdwG+AKcDBwO7AXh2vXH1l\ncHCQoaGhyscPDAwwderUFlYkSZIkSZLaqSvCs8z8dkQMAJ+kGK55HbBPZt5X7rIJsHnDIWsBJwGb\nAQ8BNwB7ZOblnata/WZwcJBtt53G8PBDlV9jypR1WbRogQGaJEmSJEmTRFeEZwCZeRpwWpNt7xr1\n/ETgxE7UJY0YGhoqg7OzgWkVXmEBw8OzGBoaMjyTJEmSJGmS6JrwTJo8pgEuOiFJkiRJUj+ofcEA\nSZIkSZIkqVsZnkmSJEmSJElNGJ5JkiRJkiRJTRieSZIkSZIkSU0YnkmSJEmSJElNGJ5JkiRJkiRJ\nTRieSZIkSZIkSU0YnkmSJEmSJElNGJ5JkiRJkiRJTRieSZIkSZIkSU0YnkmSJEmSJElNGJ5JkiRJ\nkiRJTRieSZIkSZIkSU0YnkmSJEmSJElNGJ5JkiRJkiRJTRieSZIkSZIkSU0YnkmSJEmSJElNrFF3\nAeo/CxYsqHzswMAAU6dObWE1kiRJkiRJzRmeqYMWQ8CsWbMqv8KUdaawaOEiAzRJkiRJktQRhmfq\noAchgQOAgQqHD8HwucMMDQ0ZnkmSJEmSpI4wPFPnDQCb1V2EJEmSJEnSyrlggCRJkiRJktSE4Zkk\nSZIkSZLUhOGZJEmSJEmS1IThmSRJkiRJktSE4ZkkSZIkSZLUhOGZJEmSJEmS1IThmSRJkiRJktSE\n4ZkkSZIkSZLUhOGZJEmSJEmS1IThmSRJkiRJktSE4ZkkSZIkSZLUhOGZJEmSJEmS1IThmSRJkiRJ\nktSE4ZkkSZIkSZLUhOGZJEmSJEmS1IThmSRJkiRJktSE4ZkkSZIkSZLUhOGZJEmSJEmS1IThmSRJ\nkiRJktSE4ZkkSZIkSZLUxBp1FyBpchkcHGRoaKjy8QMDA0ydOrWFFUmSJEmS1D6GZ1KHLViwoPKx\ndQdPg4ODbLvtNIaHH6r8GlOmrMuiRQsM0CRJkiRJk4LhmdQxiyFg1qxZlV9hyjpTWLRwUW3B09DQ\nUBmcnQ1Mq/AKCxgensXQ0JDhmSRJkiRpUjA8kzrmQUjgAGCgwuFDMHzucJcET9OA6TXXUA+HrUqS\nJElSfzE8kzptANis7iJUhcNWJUmSJKn/GJ5J0ipy2KokSZIk9R/DM0kat/4dtipJkiRJ/cbwTJI0\nLs77JkmSJKmfGJ5JklaZ875JkiRJ6jeGZ5KkVea8b5IkSZL6jeGZJKkC532TJEmS1B8MzyRJGgfn\nfNNE3wPg+0CSJGkyMTyTJGkVOeebWvEeAN8HkiRJk4nhmaSOW7BgQeVj7a2hOjnnmyb+HgDfB5Ik\nSZNL14RnEfEB4EPAJsD1wOGZ+csV7P9q4CTgb4FB4LjMPLMDpUqqbDEAs2bNqvwKU9aZwqKFi/yF\nUzXr7znfJjpscd68eRx++OEtrKgO/f0emKi5c+cyc+bMusuoVb9fg34/f/AagNeg388fvAb9fv4w\nea5BV4RnEfEWiiDsfcDVwFHAhRHxgsx8yt15RGwB/AA4DXgbsCfw9Yj4fWZe3Km6JY3Xg8U/BwAD\nFQ4fguFzhyd9bw173mkya8WwxdVWW503vOENvpcnsYkGqGecccakuFFup8nyy0K79Pv5g9cAvAb9\nfv7gNej384fJcw26IjyjCMu+kplzACLiEGB/4N3AZ8fY/1Dg9sz8cPl8UUTsWr6O4ZnU7QaAzeou\nog72vBthgDh5tWLo6vLlDlmczFoVoA4ODvoekCRJk0Lt4VlErAnMAD490paZGRGXALs0OWxn4JJR\nbRcCs9tSpCS1hD3vDBALEwkPoVsCxIkNWzRAnbzXwAC1MNHed8uWLWthNZ3X7+cvSeovtYdnFL9C\nrg7cM6r9HmDbJsds0mT/DSJi7cx8uLUlSlIL9W3POzBAnHh4CJM9QDRA7Z1r0L8Bamt6363GD3/4\nQzbddNNKx9d5Dfr9/EdMNEB84IEHmD9/fuXj674GEz3/gYEBli1b1tfXYLK/B8Agvd/PH/rnGnRD\neNYpU6D6jdoTx/0IqPIa84p/bgGqvK8eGF1HZ038/MFrMLnP/8nfuz+vQb+f/5O/9wSvwQMVC+iV\n98BLgPUrFrEUhq8d5oorrmDatKqrPVZX+zWY9OcPXoNrgYmFh2utvRbnfufcysHLRC1YsKAMjt4D\nVKnhFpYv/29e+9rXVq6hzmvQ7+cPsHjxYg444M088sjwhF5nxowZlY+t8xq04vzXXHMtHnvs0b6+\nBjB53wPQmmsQsRqnnHIKAwNV/qpaBIjPfvazK3//iej384fJfw0afqeYsrJ9IzMrfZNWKYdtPgS8\nKTPPb2j/JrBhZr5xjGMuA67JzKMb2t4JzM7MZzT5Pm8D/qu11UuSJEmSJGkSe3tmfmtFO9Te8ywz\nH42Ia4A9gPMBIiLK56c2OewqYL9RbXuX7c1cCLwduBOY2J8HJEmSJEmSNJlNAbagyItWqPaeZwAR\ncSDwTeAQ4GqKVTPfDGyXmfdFxPHAZpl5ULn/FsCNwGnAGRRB2+eB12Tm6IUEJEmSJEmSpEpq73kG\nkJnfjogB4JPAxsB1wD6ZeV+5yybA5g373xkR+1OsrnkE8DvgPQZnkiRJkiRJaqWu6HkmSZIkSZIk\ndaPV6i5AkiRJkiRJ6laGZ5IkSZIkSVIThmdSB5UryUqSJEmSpEmiKxYMkPrIwxGxQ2YuqLsQSe0X\nEZsChwK7ApsCy4Hbge8C38zMx2ssT5IkSdIqcMGANomIdYAZwP2ZedOobVOAAzNzTi3FdUhETAN2\nBq7KzIURsR1wJLA2cHZm/qTWAtsoIk5usulI4GzgjwCZeXTHiqpZRKwHHAhsAywG5mbmH+utqn0i\nYjrwQGbeUT7/R+AQYCrwW+CLmXlOjSW2XUR8Afh2Zl5Rdy11iIgdgUuAW4FlwC7At4C1gH2Am4B9\nM/PPtRUpSeqIiHgW8CLg+sy8PyIGgPdQ3Bf/T6//YTUingsMZ+ZQ+fyVPPm+6EuZeVWNJUodUf5f\neDAzl45qXxPYJTMvr6cyrYzhWRtExAuAiyh+GCTwM+Ctmbm43L4x8PvMXL2+KtsrIvYFvgcsBdYF\n3gjMAa6nGC68G7B3rwZoEbGc4lwfHLVpN+BXwF+AzMy/63RtnRIRNwG7ljeImwOXA88AbqYI0B4F\ndh4Jl3pNRFwPfDAzL4mI9wKnAl8DFgDbAu8FjszMM2oss63K/wcJ3Ab8J3BmZv6h3qo6JyJ+Blyc\nmceWz2cBh2XmzhHxDOAnwOWZeWSddXZCRKwF/D1FgLhJ2fwH4Erge5n5SF21dYo3y08VEbcD+2Tm\nLXXX0k6GBoXyD8szGaMnbmZeWmdt7RYRL6P43WADinvDvYD/AR6juC/ejOKeaX5tRbZZRPwC+FRm\n/iAi3gCcC/yA4r7oBcBrgQMy8wc1llmb8vfD92fmJ+uupV36/bOwHI3wPYoONknxB9V/Grkv6IeM\nACb3PaHhWRtExHnAmsA7gacDnwf+Bnh1Zg72w3+MiLgS+Elmfjwi3gqcBpyemR8rtx8PzMjMveus\ns10i4hjgfcB7GwPCiHgU2GF0b8ReVAYnm2TmvRFxNrAl8JrMXBIR6wPnAfdl5ttqLbRNIuIhYFpm\n/jYi5lO8/7/WsP1twMcy829rK7LNyvfAXsDrgLcDGwIXUISIP8rM5TWW13ble2D7zLy9fL4aMAxs\nnpn3RMReFEM3n1Nnne0WEdsAF1L8cvgL4J5y08bATsDvgP0y89Z6Kmwvb5YhIo5osulk4LMUN81k\n5qkdK6qDDA3++jlwCbAO8DDwXOBHwACwI8U1eVtmPlZbkW0UERcDdwJHA++nGInw48w8uNx+BvCM\nzHxjbUW2WUQsBV6YmXdExM+B8zLzhIbthwHvzszptRVZo4jYAZjf4z8L+vqzMCLOpPgD+mEUGcFn\nKO4L9s7MB8r7gcWZ2bPz0k/2e0LDszaIiHuAPTPzxvJ5UIRHrwF2p+h11Os3yksowrFby18YHwZe\nlpnXltu3By7JzE1W9DqTWUS8lGKI5veBj2Tmo30cnt0GHJKZFzdsfzlwTmZOra3INoqIIYoeFdeU\nnwl7Z+b1Ddu3Bm7MzHVrK7LNRr0H1qTogfpuYE+KH5bfBL7RrT8gJyoi7gTenpnzyuebAncD62Xm\nsojYAliQmevUVmQHlL80/gV4R2b+adS2DSh6Ja+TmfvUUV+7ebP818+Cuyl62TR6HvB7ip7ImZlb\ndbq2TjA0gIj4ETAIHJqZGRH/AuyWma+JiOdT9Mo6MzM/UWed7RIR9wOvyMwF5c/DYYoep1eX26cD\n52fmc+uss50i4kHgVZl5Q3lftFdm3tCwfWvghsxcr7Yi2ygiXrSSXbajmNKkl38/7OvPwoi4G3hj\nw//7tSl6oG4O7EHR+abXM4JJfU/YszdqNVuHhhvELBxKEaJcRpGs94MEKHuXDANLGrb9maIXSs/K\nzF9S9DR4NvCrMjDst7R65HynUMxz1uhuimvTqy6gmCgeiv/3bx61/UCKubD6QmY+mpnfzsx9ga0o\nep+9HVhUb2Vt9V3gyxGxb0TsDvwXcFlmLiu3b0vx/6DXvQL4+OibJICy7V+BV3a8qs7ZEzgiM3+V\nmZdQXI/FwE8i4pnlPr3+s+GrwBBF7+MtRx7A4xQh4pa9GpyVHgOeVn69JcXPh0YXUHwe9LLdgJPy\nib/azwb2jIhnlcN2/xk4qLbq2m8tirkvycxHgYco/k+MGAKeVUNdnXQZxbBdgGuBV4/avju9/TPx\nOorzvm6Mx7VAT8+DW+r3z8INgQdGnmTmw8ABFL1SfwpsVE9ZHTWp7wkNz9pjIUUX9CfJzMMohm6c\n3/GKOu9O4PkNz3eh+IvjiKk8NUzpOZm5NDMPAo6nGK7Qs39JaOLScsjiBjz1h+HzKBdO6FH/AuwR\nEZcBdwEfjIgrIuKrZdsngGPqLLAumTlY9i7YEti35nLa6eMUiwJ8H7iUYlLodzdsT+AjNdTVaQ8C\nW6xg+xY8dX7IXtL3N8uZeQjwSeDCsmdBv+n30ACK/+NPa3i+LrAGMDK3zQ0U86D1qrso/nA04q08\n+T54U54cpvWiY4CDy964PwOOi4izIuKjZdsXgU/XWmF73Q8cTHHvM/qxFcWQxV7X75+Ft1MsGvJX\n5VD1fyi39eRw1VEm9T3hGnUX0KPOo/hgOGv0hsw8rBzGeEjHq+qs02kIijLz16O270cxWXZfyMxz\nysnDZ1BMiNkPjh31fOmo568DenYVxsz8fUS8hOJm8XVAAC+j6Jo9j2L4xq9qLLETfkvRs2RMZQ+E\ni5ttn+zKOa3eEsUKy2vkqIniM/OieirruK8DcyLiUxQhYuP8FntQhIxfqKm2Thi5Wf7rpPiZ+VhE\n/APFcI1+uFkmM8+LiKsp3gv7A++qu6YOOga4IiI244nQ4KU8sYDMW+j9+8KLgZMj4hCKqTyOB67L\nJ1YbngrcW1dxHXAODUF5Zv5w1PbXA1d3tKIOK4es7gT8B/BhYD2KHuiPAb+kWFztuzWW2G7XAJtl\n5pi/B0TE0ynuFXtZv38WXkAxJ/Z3Ghsb7gm+QzEfZC+b1PeEznkmSZLaqpzf6EiKVZVGbjyCYqL4\nz2fmZ+uqrd0i4gTgxWPN3xERa1DcLL+ul+c8a1TOA3sMcATF0P0X9ck8oFtThAb7A+uXzSOhwYk9\nHhoQERtRjL7YieIz4C6KuX9G5sJ9M7BpZnbtL03tFBHrAo+XPVN7Xvk5sBHFKKihcihrT4uIN1LM\neXp2k+3PAF6fmWd2trLOKj8Lj6OYC7yvPgvLn/nrjjHXV5RzQa4BPKdZwNorJvM9oeGZJEnqiIjY\nkoZlyTPzjjrr6YRmN8ujtvf8zfJoETED2BWYk5kPrGz/XtGPoUGjcnGAtYGF2aMra0pauX7/LGwU\nEY9QLCi3oO5aOmky3hMankmSpNpExObAsZn57pXu3IP6/fzBa9Dv5w/9cQ0iYh2K6TvuH93bshze\nf2BmzqmluA7p92sQEdOAnYGrMnNhRGxH0QNnbeDszOz5KW0arsGVmbmon65BRJzcZNORwNmUc0Fn\n5tEdK6pmEbEexSJq21Csvn1OZnbtnNiGZ5IkqTYRsQMwv5eXZl+Rfj9/8Br0+/lD71+DiHgBcBHF\n3G5JMd/TWzNzcbl9Y+D3vXr+4DWIiH0phi4vpVgw443AHOB6it5Xu1GsPtzL4VFfX4OIWE5xrqMn\nxN8N+BXwF4opgf+u07V1SkTcBOyamfeXfzS5HHgGcDNFgPYosHO39kJzwQBJktQ2EfH6leyy1Uq2\nT2r9fv7gNej38wevAXAC8GtgR+DpwOeBeRHx6swcXOGRvaPfr8G/Uczp9fGIeCvwLeD0zPwYQEQc\nTzEfZE8GR6V+vwYfpVgw4IONAWFEPAq8sx/m/wS244kM6niK3mYvzswlEbE+xcKLxwFvq6m+FbLn\nmSRJapvyL63JilcRyx7ubdDX5w9eg34/f/AaRMQ9wJ6ZeWP5PIDTKCZN352ix0nP9roCr0FELAFm\nZOatEbEaxaqzL2tYNGN74JLM3GRFrzOZeQ2gXF30bOD7wEcy89EyPNuhH8Kz8mfBJpl5b0TcBhyS\nmRc3bH85xdDNqbUVuQJ9sbKTJEmqzWLggMxcbawHML3uAtus388fvAb9fv7gNViHYkVBoEgJM/NQ\nil+gLwNeUFdhHeQ1KFcWzMzlwDCwpGHbn4EN6yiqw/r6GmTmLynm/Xs28KsyMOy33kwj5zuF4mdD\no7sprk1XMjyTJEntdA3FjWIzK+uNMtn1+/mD16Dfzx+8Bgsphis+SWYeRjEH1Pkdr6jz+v0a3Ak8\nv+H5LkDjcNWpPDVI6DV34jUgM5dm5kEUwxYvAXqyt+UKXBoR84ENgG1HbXse5cIJ3cg5zyRJUjud\nCKy3gu23UgzZ6VX9fv7gNej38wevwXnATOCs0Rsy87ByCNshHa+qs/r9GpxOQ0iSmb8etX0/eneu\nrxFegwaZeU5E/IziDwu/rbueDjl21POlo56/DriiQ7WMm3OeSZIkSZIkSU04bFOSJEmSJElqwvBM\nkiRJkiRJasLwTJIkSZIkSWrC8EySJEmSJElqwvBMkiRJkiRJasLwTJIkqUtFxFcj4o8R8XhEvKju\neiRJkvpRZGbdNUiSJGmUiNgX+C6wG3AHMJSZy+utSpIkqf+sUXcBkiRJGtM2wOLM/MVYGyNizcx8\ntMM1SZIk9R2HbUqSJHWZiPgGcCowNSKWR8TtEfHTiPhCRMyOiPuAH5f7HhURN0TE0ogYjIgvRcR6\nDa91UEQ8EBH7R8TCiPhLRHw7ItYpt90REfdHxCkREQ3HrRURn4uI35WvfVVE7NawfWpEnF8euzQi\nbix7y0mSJPUUe55JkiR1nyOA24CDgR2B5cD/Au8ATgde3rDv48DhFEM7twJOA04ADmvYZ91ynwOB\nDYDzyscDwH7lcecCPwP+pzzmS8B25TGLgTcCF0TECzPztvL7rAHsCjwE/A2wtEXnL0mS1DWc80yS\nJKkLRcSRwJGZuVX5/KfA0zJzx5Uc9ybg9MzcqHx+EHAGsHVm3lm2nQ7MAjbKzGVl2wXAHZn5TxEx\nlSK82zwz/9Dw2hcDv8jMj0fE9cD/ZuanWnrikiRJXcaeZ5IkSZPHNaMbImJP4BiKXmIbUNzfrR0R\nUzJzuNztoZHgrHQPcOdIcNbQtlH59fbA6sDNjUM5gbWAofLrU4HTI2If4BLgO5l540ROTpIkqRs5\n55kkSdLk8ZfGJxHxPOD7wHXAAcB04APl5rUadh29sEA2aRu5N1wfeKx8vR0aHtOAIwEy8z+BLYE5\nFGHbLyPiA0iSJPUYe55JkiRNXjMopuH40EhDRLy1Ba97LUXPs40zc16znTLzbuCrwFcj4tMUc7R9\nqQXfX5IkqWsYnkmSJE1etwJrRsQRFD3QdgXeP9EXzcxbIuJbwJyI+BBFmLYR8HfA9Zl5QUTMBi4A\nbgaeCewO3DTR7y1JktRtHLYpSZI0OTxllafMvAE4GvgwcCMwk2L+s1Z4J8WQzM8BCylW49wRGCy3\nrw58kSIw+1G5j8M2JUlSz3G1TUmSJEmSJKkJe55JkiRJkiRJTRieSZIkSZIkSU0YnkmSJEmSJElN\nGJ5JkiRJkiRJTRieSZIkSZIkSU0YnkmSJEmSJElNGJ5JkiRJkiRJTRieSZIkSZIkSU0YnkmSJEmS\nJElNGJ5JkiRJkiRJTRieSZIkSZIkSU38f8z6PqtmrJ+7AAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f5eabdf0b10>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"percent_slow_frames(aggregated_enabled, aggregated_disabled)"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f5eb8dcc090>"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABMEAAAJlCAYAAADTieXPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3WuYXlVhNuBnJSBJOCRgQFIgnAmhIjZRkSp4QA2ieC41\nGguiIEg5qihSJITWIgqxQKXQVqtAU0VQsAJi5RNUsBaiEiBEkEPk0MIAiUIIp6zvxwxxEiYws2cP\nM5nc93W9V/asfXifd8Ov51p77VJrDQAAAAAMZyMGOwAAAAAADDQlGAAAAADDnhIMAAAAgGFPCQYA\nAADAsKcEAwAAAGDYU4IBAAAAMOwpwQAAAAAY9pRgAAAAAAx7SjAAAAAAhj0lGAAAAADD3pAowUop\nf1JKObeU0lFKWVJK+XUpZcpg5wIAAABgeFhrsAOUUsYl+VmSHyWZlqQjyfZJHh7MXAAAAAAMH6XW\nOrgBSjk5yW611tcNahAAAAAAhq2h8DjkPkmuK6V8q5Tyf6WUuaWUjw52KAAAAACGj6EwE+yxJDXJ\nqUm+neRVSf4hycdqref2cPyL0/nY5J1Jlr5wSQEAAAAYgkYl2SrJD2qtD67qoKFQgj2e5Be11t27\njf1DklfUWl/Tw/EfSHL+CxgRAAAAgKHvg7XWf1/VzkFfGD/JfUnmrzQ2P8l7VnH8nUly3nnnZfLk\nyQMY67kdddRRmT179qB9/2Bb039/4h6s6b8/cQ8S92BN//2Je7Cm//7EPVjTf3/iHiTuwZr++xP3\nYE3//Yl7kAzuPZg/f35mzJiRdHVGqzIUSrCfJZm00tikJHet4vilSTJ58uRMmTJlIHM9p7Fjxw7q\n9w+2Nf33J+7Bmv77E/cgcQ/W9N+fuAdr+u9P3IM1/fcn7kHiHqzpvz9xD9b035+4B8mQuQfPuWzW\nUFgYf3aSV5dSji2lbNv1uONHk5w5yLkAAAAAGCYGvQSrtV6X5N1JpieZl+S4JEfUWv9jUIMBAAAA\nMGwMhcchU2u9NMmlg50DAAAAgOFp5MyZMwc7Q5+ceOKJE5J87GMf+1gmTJgwqFl23nnnQf3+wbam\n//7EPVjTf3/iHiTuwZr++xP3YE3//Yl7sKb//sQ9SNyDNf33J+7Bmv77E/cgGbx7cN999+Wcc85J\nknNmzpx536qOK7XWFy5VC0opU5Jcf/311w+FBdcAAAAAGERz587N1KlTk2RqrXXuqo4bEo9DAgAA\nAPRk4cKF6ejoGOwYDLLx48dn4sSJ/bqGEgwAAAAYkhYuXJjJkydnyZIlgx2FQTZmzJjMnz+/X0WY\nEgwAAAAYkjo6OrJkyZKcd955mTx58mDHYZDMnz8/M2bMSEdHhxIMAAAAGL4mT55sXXD6bcRgBwAA\nAACAgaYEAwAAAGDYU4IBAAAAMOwpwQAAAAAY9pRgAAAAAGuQ/fffP+uvv36vjh0xYkRmzZrV2ndf\nddVVGTFiRK6++urWrtlb3g4JAAAArHYWLlyYjo6OwY6R8ePHZ+LEiYMdo09KKSmlDOr3DwYlGAAA\nALBaWbhwYSZNmpylS5cMdpSMGjUmCxbMX+2KsDWREgwAAABYrXR0dHQVYOclmTyISeZn6dIZ6ejo\nUIKtBqwJBgAAAKymJieZMoif/hdw9957bw444IBsuummGTVqVF760pfma1/72vL9z6yhdcEFF+Tv\n/u7vssUWW2T06NF505velN/+9rcrXOunP/1p9t1332y55ZYZNWpUJk6cmKOPPjpLly7t8bvvuOOO\nTJs2Leutt14222yznHTSSa1kfsY999yTd73rXVlvvfXykpe8JEcffXQef/zx1Fr7cIfaYyYYAAAA\nwCC4//77s+uuu2bkyJE5/PDDM378+Fx22WX5yEc+kj/84Q85/PDDlx978sknZ+TIkfnUpz6VxYsX\n5wtf+EJmzJiRa6+9dvkxF1xwQR577LF8/OMfz4tf/OL84he/yBlnnJF77rkn3/zmN1f47qeeeip7\n7bVXdtttt3zxi1/M5ZdfnhNOOCFPP/10Zs6c2e/MS5cuzRvf+MbcfffdOeKIIzJhwoSce+65ufLK\nK60JBgAAALAm+exnP5taa371q19l3LhxSZKDDjooH/jABzJz5sx87GMfW37s448/nl//+tcZOXJk\nkmTcuHE58sgjc/PNN2ennXZKkpxyyilZZ511lp/z0Y9+NNtuu22OO+643H333dl8881XuN7ee++d\n2bNnJ0kOOeSQ7LPPPvnCF76Qww8/PBtttFHjzOuss07OPvvs3Hbbbbngggvynve8J0ly4IEH5mUv\ne1lbt6/PPA4JAAAAMAguuuii7LPPPnn66afz4IMPLv+85S1vyeLFizN37tzlxx5wwAHLC7Ak2X33\n3VNrze233758rHsBtmTJkjz44IPZbbfdsmzZsvzyl7981vcfeuihK/z913/913niiSfyX//1X40y\nL1q0aHnmyy67LBMmTFhegCXJqFGjctBBB/XhDrXLTDAAAACAF9gDDzyQRYsW5ZxzzsnZZ5/9rP2l\nlNx///3LZ1ttscUWK+zfcMMNkyQPP/zw8rHf/e53Of744/O9731vhfFSShYvXrzC+SNGjMg222yz\nwtgOO+yQWmvuvPPOfmVOkrvuuivbbbfds46ZNGlSj9d+ISjBAAAAAF5gy5YtS5LMmDEj++23X4/H\nvOxlL8tNN92UJCvMAuvumUXmly1blje96U1ZtGhRjj322EyaNCnrrrtu7rnnnuy3337Lv++FyDxU\nKcEAAAAAXmAbb7xx1l9//Tz99NN54xvf2O/rzZs3L7feemvOPffcfPCDH1w+vqpHG5ctW5bbb799\nhdlaCxYsSJJstdVW/c685ZZbLi/wurvlllue76cMGGuCAQAAALzARowYkfe+97258MILeyyLOjo6\n+nS9Z2aKrTzj68tf/vIq38Z45plnPuvvF73oRdlzzz37nXnvvffOvffemwsvvHD52JIlS/LP//zP\nvftBA8BMMAAAAGA1NX+1/v6TTz45P/7xj7PrrrvmwAMPzE477ZSHHnoo119/fa688so+FWE77rhj\ntt1223ziE5/I3XffnQ022CAXXnhhFi1a1OPx66yzTi6//PLsv//+2XXXXXPppZfmsssuy3HHHZcX\nv/jF/c584IEH5swzz8yHPvShXHfddZkwYULOPffcrLvuun27SS1SggEAAACrlfHjx2fUqDFZunTG\nYEfJqFFjMn78+EbnbrLJJvnFL36RWbNm5Tvf+U7OOuusvPjFL86f/umf5pRTTll+3KpmcnUfX2ut\ntfKf//mfOfzww3PyySdn1KhRec973pNDDz00u+yyy7POXXvttXP55Zfn4IMPzjHHHJP1118/M2fO\nzPHHH/+s7+j+Pb3NPHr06Fx55ZU57LDDcuaZZ2bMmDGZMWNG9tprr+y1116N7ld/lWcWUFtdlFKm\nJLn++uuvz5QpUwY7DgAAADBA5s6dm6lTp6anDmDhwoV9fmRwIIwfPz4TJ04c7BjD2nP9f9B9f5Kp\ntda5q7qOmWAAAADAamfixInKJ/rEwvgAAAAADHtKMAAAAACGPSUYAAAAAMOeEgwAAACAYU8JBgAA\nAMCwpwQDAAAAYNhTggEAAAAw7CnBAAAAABj2lGAAAAAADHtKMAAAAACGPSUYAAAAwBAyc+bMjBjx\nx8pmq622ygEHHDCg3/XQQw8977Ft57jrrrsyYsSIfOMb32jtms9lrRfkWwAAAABatHDhwnR0dAx2\njIwfPz4TJ05s9ZqllJRSlv89YsSIFf4eyO96vmNXZ0owAAAAYLWycOHCTNpxUpY+tnSwo2TU6FFZ\ncMuC1ouw7hYsWLDCzDCaUYIBAAAAq5WOjo7OAuw9ScYPZpBk6UVL09HRMaAl2Nprrz1g116TqBEB\nAACA1dP4JH8yiJ8WCrif/vSneeUrX5nRo0dn++23zznnnPOsY1Zei+upp57KiSeemB122CGjR4/O\n+PHjs/vuu+dHP/rR8mPmzZuXD3/4w9l2220zevToTJgwIR/5yEdWufbXAw88kH333Tdjx47N+PHj\nc+SRR+bxxx9/3vyLFy/OkUcemYkTJ2bUqFHZfvvtc8opp6TW+qzj9t9//4wbNy4bbrhhPvzhD2fR\nokW9vU2tMBMMAAAAYBDceOONmTZtWjbZZJPMmjUrTz75ZGbOnJlNNtlkheNWXovrhBNOyMknn5yD\nDjoor3zlK/P73/8+1113XebOnZs999wzSfLDH/4wd9xxRw444IBsuummuemmm3L22Wfn5ptvzrXX\nXrvC9Wqt2XfffbP11lvn5JNPzs9//vOcfvrpWbRoUf7t3/5tlfkfe+yx7LHHHrnvvvty8MEHZ4st\ntsg111yTY489Nv/7v/+b0047bfmx73jHO3LNNdfkkEMOyY477pjvfOc72W+//V7QdcaUYAAAAACD\n4Pjjj0/SORtss802S5K8973vzUtf+tLnPO/SSy/N2972tpx11lmrPObQQw/N0UcfvcLYrrvumg98\n4AP52c9+lte85jUr7Nt2221z0UUXJUkOOeSQrL/++jnrrLPyyU9+cpV5Tj311Nxxxx351a9+lW22\n2SZJcuCBB2bChAn50pe+lE984hPZbLPNcvHFF+cnP/lJvvSlLy3PdMghh+T1r3/9c/7OtnkcEgAA\nAOAFtmzZslxxxRV597vfvbwAS5JJkyZl2rRpz3nuuHHjctNNN+W2225b5THrrLPO8u3HH388Dz74\nYHbdddfUWjN37twVji2l5NBDD11h7LDDDkutNZdeeukqv+Pb3/52dt9994wdOzYPPvjg8s+ee+6Z\np556KldffXWSztJu7bXXzsEHH7zCdz7zHS8UJRgAAADAC+yBBx7IY489lu222+5Z+yZNmvSc586a\nNSuLFi3KDjvskJe97GU55phjMm/evBWOefjhh3PEEUdk0003zejRo7Pxxhtnm222SSklixcvftY1\nV86x7bbbZsSIEbnzzjtXmePWW2/N5Zdfno033niFz5vf/OaUUnL//fcn6Xyb54QJEzJmzJg+/c62\neRwSAAAAYDWy++6757e//W0uvvjiXHHFFfnXf/3XzJ49O2efffbyBfT/4i/+Ij//+c9zzDHHZJdd\ndsl6662XZcuWZdq0aVm2bNnzfkdv1upatmxZ3vzmN+fTn/50jzO6dthhh77/uAGkBAMAAAB4gW28\n8cYZPXp0br311mftu+WWW573/HHjxmW//fbLfvvtlyVLlmT33XfPzJkzc8ABB2TRokW58sorc9JJ\nJ+W4445bfs5zPT556623Zsstt1zh2GXLlmWrrbZa5TnbbrttHnnkkbzhDW94zqxbbrllrrzyyixZ\nsmSF2WC9+Z1t8jgkAAAAwAtsxIgRmTZtWr773e/m7rvvXj4+f/78XHHFFc957kMPPbTC32PGjMl2\n222Xxx9/PEkycuTIJHnWjK/Zs2f3OMOr1pp//Md/XGHs9NNPTyklb33rW1eZY9999821117bY97F\nixcv//699947Tz755AoL+S9btixnnHGGt0MCAAAADHcnnnhiLr/88rz2ta/Nxz/+8Tz55JM588wz\n89KXvjQ33HDDKs/baaed8vrXvz5Tp07NRhttlP/5n//Jt7/97Rx++OFJkvXXXz977LFHTjnllDzx\nxBPZbLPNcsUVV+TOO+9c5UL0d9xxR975zndmr732yjXXXJPzzz8/M2bMyM4777zKHJ/61KdyySWX\n5O1vf3v233//TJ06NY8++mhuuOGGXHTRRbnzzjuz0UYbZZ999slrXvOafOYzn8kdd9yRnXbaKRdd\ndFH+8Ic/9O8G9pESDAAAAFg9daze37/zzjvniiuuyNFHH50TTjghm2++eWbNmpV77713hRKslLLC\njKkjjjgil1xySX74wx/m8ccfz5ZbbpnPf/7z+eQnP7n8mDlz5uSwww7LV77yldRaM23atFx22WX5\nkz/5k2fNvhoxYkS++c1v5vjjj8+xxx6btdZaK4cffnhOOeWUFY5bOcfo0aNz9dVX5/Of/3wuuOCC\nnHvuudlggw2yww47ZNasWRk7duzy8773ve/lyCOPzPnnn59SSt75znfmtNNOy5/92Z/17yb2QXkh\n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\n3v8HgnAMiHjVkqAAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f5eabc3bc50>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"percent_slow_frames(aggregated_enabled_svg, aggregated_disabled)"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f5ebb3dbe50>"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nHHNMNt98844zb7jhhvn85z+fG2+8Meecc07e8IY3JEkOP/zwPOtZz+rW5euI2zYBAAAA1hLnnXde\nDjjggDz22GO5++67l71e8YpXZNGiRZk3b96yfQ877LBlxVmS7LXXXmmt5aabblo2NrA4W7x4ce6+\n++48//nPz9KlS/OTn/zkCec/+uijl/v8l3/5l3n44Yfzn//5nx1lvu+++5ZlvvDCCzNt2rRlxVmS\nTJgwIUccccQIrlD3mXkGAAAAsBa46667ct999+ULX/hCPv/5zz9he1XlzjvvXDa7a5tttllu+2ab\nbZYkuffee5eN/frXv84HPvCBfPOb31xuvKqyaNGi5Y4fN25cnvGMZyw3ttNOO6W1lltuuWW1MifJ\nr371qzzzmc98wj4777zzoN/9ZFGeAQAAAKwFli5dmiQ5+OCDc8ghhwy6z7Oe9axce+21SbLcrLOB\nHl98f+nSpXnZy16W++67LyeeeGJ23nnnbLTRRrnttttyyCGHLDvfk5F5NFOeAQAAAKwFtthii2yy\nySZ57LHH8tKXvnS1v++aa67JDTfckLPOOitvectblo0PdQvm0qVLc9NNNy03O+z6669Pkmy33Xar\nnXnbbbddVvwNdN11163qp6xR1jwDAAAAWAuMGzcub3zjG3PuuecOWjItXLhwRN/3+My0FWeYffrT\nnx7y6ZZnnnnmEz5vsMEG2WeffVY78/7775/bb78955577rKxxYsX5x//8R+H94PWEDPPAAAAgDFm\n/lp77lNPPTXf+973sueee+bwww/PrrvumnvuuSdXXnllLrnkkhEVaLvsskt22GGH/NVf/VVuvfXW\nbLrppjn33HNz3333Dbr/hhtumIsuuiiHHnpo9txzz1xwwQW58MILc9JJJ+UpT3nKamc+/PDDc+aZ\nZ+atb31rrrjiikybNi1nnXVWNtpoo5FdpC5TngEAAABjwtSpUzNhwqQsWXJwT3NMmDApU6dO7ejY\nLbfcMj/+8Y9zyimn5Otf/3o++9nP5ilPeUr+6I/+KKeddtqy/YaaOTZwfL311su3vvWtHHPMMTn1\n1FMzYcKEvOENb8jRRx+dPfbY4wnHrr/++rnoooty5JFH5n3ve1822WSTzJ49Ox/4wAeecI6B5xlu\n5okTJ+aSSy7Ju9/97px55pmZNGlSDj744Oy3337Zb7/9Orpe3VCPLxK3rquqmUmuvPLKKzNz5sxe\nxwEAAADWgHnz5mXWrFkZ6t//CxYsGPHtjd02derUTJ8+vacZ1nWr+v/g8e1JZrXW5q3su8w8AwAA\nAMaM6dOnK64YEQ8MAAAAAIAhKM8AAAAAYAjKMwAAAAAYgvIMAAAAAIagPAMAAACAISjPAAAAAGAI\nyjMAAAAAGILyDAAAAACGoDwDAAAAgCEozwAAAABgCMozAAAAgLXc7NmzM27cH2qe7bbbLocddtga\nPdc999yzyn27neNXv/pVxo0bl6985Std+85VWe9JOxMAAABAjy1YsCALFy7saYapU6dm+vTpXf3O\nqkpVLfs8bty45T6vyXOtat+1nfIMAAAAGBMWLFiQnXfZOUseXNLTHBMmTsj1113f9QJtoOuvv365\nmWh0TnkGAAAAjAkLFy7sK87ekGRqr0IkS85bkoULF67R8mz99ddfY9891qggAQAAgLFlapKn9ejV\nhdLuhz/8YZ7znOdk4sSJ2XHHHfOFL3zhCfusuNbYo48+mg996EPZaaedMnHixEydOjV77bVX/uu/\n/mvZPtdcc03e9ra3ZYcddsjEiRMzbdq0vP3tbx9ybbO77rorBx54YCZPnpypU6fmuOOOy0MPPbTK\n/IsWLcpxxx2X6dOnZ8KECdlxxx1z2mmnpbX2hP0OPfTQTJkyJZtttlne9ra35b777hvuZeoaM89G\nYHXvi14T9zQDAAAAY8fPfvaz7Lvvvtlyyy1zyimn5JFHHsns2bOz5ZZbLrffimuNnXzyyTn11FNz\nxBFH5DnPeU7uv//+XHHFFZk3b1722WefJMl3v/vd3HzzzTnssMOy1VZb5dprr83nP//5/PznP8/l\nl1++3Pe11nLggQdm++23z6mnnpof/ehHOf3003PfffflX/7lX4bM/+CDD+ZFL3pR7rjjjhx55JHZ\nZpttctlll+XEE0/Mb37zm3zqU59atu9rXvOaXHbZZTnqqKOyyy675Otf/3oOOeSQJ30dNeXZMC1Y\nsCA77zwjS5Ys7vg7JkyYlOuvn69AAwAAADrygQ98IEnf7LOtt946SfLGN74xu+2220qPu+CCC/Kq\nV70qn/3sZ4fc5+ijj84JJ5yw3Niee+6ZN7/5zfnv//7vvOAFL1hu2w477JDzzjsvSXLUUUdlk002\nyWc/+9m85z3vGTLPJz/5ydx888256qqr8oxnPCNJcvjhh2fatGn5xCc+kb/6q7/K1ltvnW984xv5\nwQ9+kE984hPLMh111FF58YtfvNLfuSa4bXOYFi5c2F+cfTXJlR28vpolSxb3/IkeAAAAwNpp6dKl\nufjii/P6179+WXGWJDvvvHP23XfflR47ZcqUXHvttbnxxhuH3GfDDTdc9v6hhx7K3XffnT333DOt\ntcybN2+5fasqRx999HJj7373u9NaywUXXDDkOf793/89e+21VyZPnpy777572WufffbJo48+mksv\nvTRJX9m3/vrr58gjj1zunI+f48lk5tmIzUgys9chAAAAgDHmrrvuyoMPPphnPvOZT9i2884758IL\nLxzy2FNOOSWve93rstNOO2W33XbLfvvtl7e+9a3Zfffdl+1z7733Zvbs2fna176WO++8c9l4VWXR\nokVP+M4Vc+ywww4ZN25cbrnlliFz3HDDDbnmmmuyxRZbPGFbVS0774IFCzJt2rRMmjTpCb/zyaY8\nAwAAAFjH7bXXXvnlL3+Zb3zjG7n44ovzz//8z5kzZ04+//nPL3uwwP/5P/8nP/rRj/K+970ve+yx\nRzbeeOMsXbo0++67b5YuXbrKcwxnLbKlS5fm5S9/ed7//vcPOoNsp512GvmPW8OUZwAAAABrgS22\n2CITJ07MDTfc8IRt11133SqPnzJlSg455JAccsghWbx4cfbaa6/Mnj07hx12WO67775ccskl+fCH\nP5yTTjpp2TEru83zhhtuyLbbbrvcvkuXLs1222035DE77LBDHnjggbzkJS9ZadZtt902l1xySRYv\nXrzc7LPh/M5us+YZAAAAwFpg3Lhx2XffffMf//EfufXWW5eNz58/PxdffPFKj73nnnuW+zxp0qQ8\n85nPzEMPPZQkGT9+fJI8YYbZnDlzBp1R1lrLP/zDPyw3dvrpp6eq8spXvnLIHAceeGAuv/zyQfMu\nWrRo2fn333//PPLII8s94GDp0qU544wzPG0TAAAAgMF96EMfykUXXZQXvvCFede73pVHHnkkZ555\nZnbbbbdcffXVQx6366675sUvfnFmzZqVzTffPP/7v/+bf//3f88xxxyTJNlkk03yohe9KKeddloe\nfvjhbL311rn44otzyy23DLlA/80335zXvva12W+//XLZZZfl7LPPzsEHH7zcOmoreu9735vzzz8/\nr371q3PooYdm1qxZ+f3vf5+rr7465513Xm655ZZsvvnmOeCAA/KCF7wgf/3Xf52bb745u+66a847\n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\nPcXwz0NXdewxxxzDpptu+ri2WbNmMWvWrJbXKUmSJEmSpHrNnTuXuXPnPq5t6dKla3x8N4Rnw8Cj\nwBD7ucAAABjqSURBVBZj2rcA7pzA61wJvHh1O51yyinMmDFjAi8rSZIkSZKkXjVep6n58+czc+bM\nNTq+9mGbmbkCuBrYZ7QtIqJ8fvkEXup5FMM5JUmSJEmSpJbohp5nACcD34qIqyl6kB0DbAh8CyAi\nTgS2ysxDy+dHA7cC/wNMAQ4D9gb263jlkiRJkiRJ6ltdEZ5l5vciYgj4GMVwzWuA/TPznnKXqcDW\nDYesB3wW2Ap4ELgO2CczL+lc1ZIkSZIkSep3XRGeAWTml4AvNdn21jHPPw18uhN1SZIkSZIkaXDV\nPueZJEmSJEmS1K0MzyRJkiRJkqQmDM8kSZIkSZKkJgzPJEmSJEmSpCYMzyRJkiRJkqQmDM8kSZIk\nSZKkJgzPJEmSJEmSpCYMzyRJkiRJkqQmDM8kSZIkSZKkJgzPJEmSJEmSpCYMzyRJkiRJkqQmDM8k\nSZIkSZKkJgzPJEmSJEmSpCYMzyRJkiRJkqQmDM8kSZIkSZKkJgzPJEmSJEmSpCYMzyRJkiRJkqQm\nDM8kSZIkSZKkJgzPJEmSJEmSpCYMzyRJkiRJkqQmDM8kSZIkSZKkJgzPJEmSJEmSpCbWqbsADZ4F\nCxZUPnZoaIhp06a1sJqJWbx4McPDw5WPr7t+SZIkSZI0MYZn6qAlEDB79uzKrzBlgyksWriolgBq\n8eLF7LjjdEZGHqz8GlOmbMiiRQsM0CRJkiRJ6hGGZ+qgByCBg4GhCocPw8hZIwwPD9cSPg0PD5fB\n2RnA9AqvsICRkdm11S9JkiRJkibO8EydNwRsVXcRkzEdmFF3EZIkSZIkqQNcMECSJEmSJElqwvBM\nkiRJkiRJasLwTJIkSZIkSWrC8EySJEmSJElqwvBMkiRJkiRJasLwTJIkSZIkSWrC8EySJEmSJElq\nwvBMkiRJkiRJasLwTJIkSZIkSWrC8EySJEmSJElqwvBMkiRJkiRJasLwTJIkSZIkSWrC8EySJEmS\nJElqwvBMkiRJkiRJasLwTJIkSZIkSWrC8EySJEmSJElqwvBMkiRJkiRJasLwTJIkSZIkSWrC8EyS\nJEmSJElqwvBMkiRJkiRJasLwTJIkSZIkSWrC8EySJEmSJElqwvBMkiRJkiRJasLwTJIkSZIkSWrC\n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\nYBbwnbEbMvPIcgjb4R2vqrMG/RqcTkNIkpm/HbP9QPp3rq9RXoMGmXlmRPyC4g8Lv6+7ng45fszz\nZWOevwq4tEO1TJhznkmSJEmSJElNOGxTkiRJkiRJasLwTJIkSZIkSWrC8EySJEmSJElqwvBMkiRJ\nkiRJasLwTJIkSZIkSWrC8EySJKlLRcRXI+LeiHg0Ip5bdz2SJEmDKDKz7hokSZI0RkQcAPwA2Au4\nFRjOzJX1ViVJkjR41qm7AEmSJI1rB2BJZv5qvI0RsW5mruhwTZIkSQPHYZuSJEldJiK+CZwGTIuI\nlRFxS0T8PCI+HxGnRMQ9wM/KfY+JiOsiYllELI6IL0bERg2vdWhE3B8RB0XEwoj4c0R8LyI2KLfd\nGhH3RcSpERENx60XEZ+JiP8tX/uKiNirYfu0iDinPHZZRFxf9paTJEnqK/Y8kyRJ6j5HATcDhwHP\nB1YC/w38A3A68KKGfR8F3ksxtHM74EvAScCRDftsWO5zCLAJcHb5cT9wYHncWcAvgP8qj/kisFN5\nzBLgtcC5EfGczLy5/DzrAHsCDwJ/BSxr0flLkiR1Dec8kyRJ6kIRcTRwdGZuVz7/OfCkzHz+ao57\nHXB6Zm5ePj8U+AawfWbeVradDswGNs/M5WXbucCtmfnuiJhGEd5tnZl3Nrz2BcCvMvOjEXEt8N+Z\n+fGWnrgkSVKXseeZJElS77h6bENE7AscR9FLbBOK+7v1I2JKZo6Uuz04GpyV7gJuGw3OGto2Lx/v\nDKwN/K5xKCewHjBcPj4NOD0i9gfmAd/PzOsnc3KSJEndyDnPJEmSesefG59ExDOBHwHXAAcDM4D3\nlJvXa9h17MIC2aRt9N5wY+CR8vV2afiYDhwNkJn/DmwLzKEI234dEe9BkiSpz9jzTJIkqXfNpJiG\n4wOjDRHxxha87m8oep5tkZmXNdspM+8Avgp8NSI+QTFH2xdb8PklSZK6huGZJElS77oJWDcijqLo\ngbYn8K7Jvmhm3hgR3wXmRMQHKMK0zYGXAddm5rkRcQpwLvA74KnA3sANk/3ckiRJ3cZhm5IkSb3h\nCas8ZeZ1wLHAB4HrgVkU85+1wlsohmR+BlhIsRrn84HF5fa1gS9QBGY/Lfdx2KYkSeo7rrYpSZIk\nSZIkNWHPM0mSJEmSJKkJwzNJkiRJkiSpCcMzSZIkSZIkqQnDM0mSJEmSJKkJwzNJkiRJkiSpCcMz\nSZIkSZIkqQnDM0mSJEmSJKkJwzNJkiRJkiSpCcMzSZIkSZIkqQnDM0mSJEmSJKkJwzNJkiRJkiSp\nif8DGSzDy21XqCQAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f5eb8bb72d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"percent_slow_frames(aggregated_enabled_no_svg, aggregated_disabled)"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\nAz7W9oSSJEmSJElSjxhPMe1BYGb58VYUo9Eel5k3ZuYr2xVMkiRJkiRJ6jXjKaYdBZwWEXdS7Ob5\nic5EkiRJkiRJknpT0xsQZOYZEXE+sDXw+8x8oHOxJEmSJEmSpN4zrt08M/PPwJ87lEWSJEmSJEnq\naeOZ5ilJkiRJkiQNNItpkiRJkiRJUpMspkmSJEmSJElNspgmSZIkSZIkNclimiRJkiRJktQki2mS\nJEmSJElSkyymSZIkSZIkSU2ymCZJkiRJkiQ1yWKaJEmSJEmS1CSLaZIkSZIkSVKTLKZJkiRJkiRJ\nTbKYJkmSJEmSJDXJYpokSZIkSZLUJItpkiRJkiRJUpMspkmSJEmSJElNspgmSZIkSZIkNclimiRJ\nkiRJktQki2mSJEmSJElSkyymSZIkSZIkSU2ymCZJkiRJkiQ1yWKaJEmSJEmS1CSLaZIkSZIkSVKT\nLKZJkiRJkiRJTbKYJkmSJEmSJDXJYpokSZIkSZLUJItpkiRJkiRJUpMspkmSJEmSJElNspgmSZIk\nSZIkNclimiRJkiRJktQki2mSJEmSJElSkyymSZIkSZIkSU2ymCZJkiRJkiQ1qe+KaRHxoYi4NSIe\niohfR8RLq840tgVVB+gBXgOvwaCfP3gNBv38wWsAXoNBP3/wGgz6+YPXYNDPH7wG4DUY9PMHr8HE\nOP++KqZFxNuA44FPAi8BrgUuiIhplQYb08T4T9JZXgOvwaCfP3gNBv38wWsAXoNBP3/wGgz6+YPX\nYNDPH7wG4DUY9PMHr8HEOP++KqYBhwNfy8zTMvMm4FBgBXBQtbEkSZIkSZLUD/qmmBYR6wFzgYtH\n2jIzgYuAXarKJUmSJEmSpP7RN8U0YBowCVja0L4U2KL7cSRJkiRJktRv1q06QIUmAyxatKilFz/x\nunOB1t4D/gSc0eJrAW5tyNJd1V+Dfjh/8BpM3PNf/XMP5jUY9PNf/XMP5jXwe6H/B1b/3IN5DQb9\n/Ff/3IN5Dao/f/Aa9MP5g9dg4p7/6p97MK9BP5x/3WsnP9VxUcyEnPjKaZ4rgLdk5jl17d8BNs7M\nNzcc/3bW7qeVJEmSJEmS+s87MvN7Y3X2zci0zFwVEVcBewDnAERElM9PHuUlFwDvAG4DhrsUU5Ik\nSZIkSb1pMvBciprRmPpmZBpAROwPfIdiF8/fUuzu+VZgu8y8t8JokiRJkiRJ6gN9MzINIDPPiohp\n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\nvAJYAbwAWN6m85ckSeoJrpkmSZI0QUTEfGB+Zm5dPr8E+JvM3GENr3sLcGpmTi+fvwf4FvC8zLyt\nbDsVeCcwPTMfKtvOA27NzA9GxAyKYt5WmXl33XtfCPwmM4+OiGuBH2TmsW09cUmSpB7iyDRJkqSJ\n7arGhoh4DXAkxSiyjSju+TaIiMmZOVwetmKkkFZaCtw2Ukira5tefvxCYBJwc/3UT2B9oFZ+fDJw\nakTsBVwE/DAzr1+bk5MkSeo1rpkmSZI0sT1Y/yQingP8BLgG2A+YA3yo7F6/7tDGjQpyjLaR+8Wn\nAY+U77d93WM2MB8gM78JzAROoyi+XRERH0KSJKmPODJNkiSpv8ylWMrjn0YaIuKANrzv1RQj0zbP\nzMvGOigz7wC+Dnw9Ij5HscbbKW34/JIkST3BYpokSVJ/WQKsFxEfoRih9grg/Wv7ppn5+4j4HnBa\nRPwTRXFtOrA7cG1mnhcRJwLnATcDTwd2A25c288tSZLUS5zmKUmSNHE9aSepzLwO+Cjwz8D1wDyK\n9dPa4UCKKZz/CtxEsdvnDsBQ2T8J+DJFAe3c8hineUqSpL7ibp6SJEmSJElSkxyZJkmSJEmSJDXJ\nYpokSZIkSZLUJItpkiRJkiRJUpMspkmSJEmSJElNspgmSZIkSZIkNclimiRJkiRJktQki2mSJEmS\nJElSkyymSZIkSZIkSU2ymCZJkiRJkiQ1yWKaJEmSJEmS1CSLaZIkSZIkSVKT/j8nh25pVFodJwAA\nAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f5eab11b090>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"relative_change_slow_frames(aggregated_enabled, aggregated_disabled)"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABNMAAAJlCAYAAADw0rQaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3Xm0ZGddLv7nm0BoG02iNklAbQwEmkZA7WAYHABBBrko\niEvpC6IgkwxyG39XBvFnQvBeRaFDMFcEUdRIK4MKMopBUAOCJMjYtBdMODIkcDCESGwS4Hv/qAqc\nNN1J1e46fXb3+XzWqlW73v1W1VP157Pevd/q7gAAAAAA1++otQ4AAAAAAIcLZRoAAAAAzEiZBgAA\nAAAzUqYBAAAAwIyUaQAAAAAwI2UaAAAAAMxImQYAAAAAM1KmAQAAAMCMlGkAAAAAMCNlGgAAAADM\naM3LtKq6qKq+sp/HC1bMeVZVfbKqrqyqN1fVKft8xo2q6pyqWq6qK6rqlVV1wqH/NQAAAAAcyda8\nTEtyxyQnrXj8SJJO8vIkqaqnJnliksckOS3JF5K8qaqOWfEZZyW5f5IHJ/mhJDdL8qpDlB8AAACA\ndaK6e60zXEtVnZXkR7v71tPXn0zyW929c/r62CSXJvnZ7n759PVnkjyku/9yOmdLkt1J7tzd71qL\n3wEAAADAkWcMK9O+qqpumOShSV4yfX1yJqvVzrtmTnd/Psk7k9xlOnTHJDfYZ86eJEsr5gAAAADA\nQbvBWgfYx4OSHJfkj6avT8rkks9L95l36fRckpyY5KppyXagOV+nqr41yX2SXJxk70GlBgAAAOBw\ntyHJdyZ5U3d/9kCTxlamPTLJG7r7kkPwXfdJ8qeH4HsAAAAAOHw8NMnLDnRyNGVaVW1Ocq8kD1wx\nfEmSymT12crVaScmec+KOcdU1bH7rE47cXruQC5OknPPPTdbt249uPAD7dixIzt37lyT7x4L/4H/\nYL3//sR/sN5/f+I/SPwH6/33J/6D9f77E//Bev/9if8g8R+s99+f+A/W+vfv3r07D3vYw5JpZ3Qg\noynTMlmVdmmS118z0N0XVdUlSe6Z5H3JVzcguFOSc6bTLkjypemclRsQbE7yjuv4vr1JsnXr1mzb\ntm2hP2RWxx133Jp991j4D/wH6/33J/6D9f77E/9B4j9Y778/8R+s99+f+A/W++9P/AeJ/2C9//7E\nfzCi33+dtwMbRZlWVZXk55K8tLu/ss/ps5I8s6o+kkkzeGaSjyd5dTLZkKCqXpLkeVV1WZIrkpyd\n5Hw7eQIAAACwSKMo0zK5vPM7kvzhvie6+zlVtTHJ7yU5Psk/JLlfd1+1YtqOJF9O8sokN0ryxiRP\nWO3QAAAAAKwvoyjTuvvNSY6+jvOnJzn9Os5/McmTpg8AAAAAWBVHn3766WudYU2cccYZN03y2Mc+\n9rG56U1vumY5bn/726/Zd4+F/8B/sN5/f+I/WO+/P/EfJP6D9f77E//Bev/9if9gvf/+xH+Q+A/W\n++9P/Adr+fs/9alP5UUvelGSvOj000//1IHmVXcfulQjUlXbklxwwQUXjOXmdgAAAACskQsvvDCn\nnnpqkpza3RceaN5Rhy4SAAAAABzelGkAAAAAMCNlGgAAAADMSJkGAAAAADNSpgEAAADAjJRpAAAA\nADAjZRoAAAAAzEiZBgAAAAAzUqYBAAAAwIyUaQAAAAAwI2UaAAAAAMxImQYAAAAAM1KmAQAAAMCM\nlGkAAAAAMCNlGgAAAADMSJkGAAAAADNSpgEAAADAjJRpAAAAADAjZRoAAAAAzEiZBgAAAAAzUqYB\nAAAAwIyUaQAAAAAwI2UaAAAAAMxImQYAAAAAM1KmAQAAAMCMlGkAAAAAMCNlGgAAAADMSJkGAAAA\nADNSpgEAAADAjJRpAAAAADAjZRoAAAAAzEiZBgAAAAAzUqYBAAAAwIyUaQAAAAAwI2UaAAAAAMxo\nrjKtqm5YVedV1a1WKxAAAAAAjNVcZVp3X53kDquUBQAAAABGbchlnucm+flFBwEAAACAsbvBwPc8\nsqruleSCJF9YebK7n7KIYAAAAAAwNkPKtNsluXB6fOt9zvXBxQEAAACA8Zq7TOvue6xGEAAAAAAY\nuyH3TEuSVNUpVXWfqvqG6etaXCwAAAAAGJ+5y7Sq+taqOi/JvyZ5fZKbTk+9pKqeu8hwAAAAADAm\nQ1am7UxydZLNSa5cMf7nSe67iFAAAAAAMEZDNiC4d5L7dPfH97my8/8muflCUgEAAADACA1ZmXbj\nXHtF2jW+JckXDy4OAAAAAIzXkDLtH5I8fMXrrqqjkvxykr9bSCoAAAAAGKEhl3n+cpLzquqOSY5J\n8pwk35XJyrTvX2A2AAAAABiVuVemdfcHktw6yT8meXUml33+RZLv7e6PLjYeAAAAAIzHkJVp6e7L\nk/z6grMAAAAAwKjNVKZV1R1m/cDuft/wOAAAAAAwXrOuTPuXJJ2kps/XqOnzyrGjF5ALAAAAAEZn\n1numnZzkFtPnBye5KMnjk3zP9PH4JB+dngMAAACAI9JMK9O6+2PXHFfVK5L8Yne/fsWU91XVvyc5\nM8lfLTYiAAAAAIzD3Lt5Jrl9JivT9nVRktseXBwAAAAAGK8hu3nuTvL0qnpUd1+VJFV1TJKnT88B\nrCtLS0tZXl5es+/ftGlTNm/evGbfDwAAsJ4MKdMel+Svk3y8qq7ZufMOmWxC8IBFBQM4HCwtLWXL\nlq3Zu/fKNcuwYcPG7NmzW6EGAABwCMxdpnX3u6rqFkkemuQ20+E/T/Ky7v7CIsMBjN3y8vK0SDs3\nydY1SLA7e/c+LMvLy8o0AACAQ2DIyrRMS7MXLTgLwGFsa5Jtax0CAACAVTaoTKuqWyW5R5ITss8m\nBt39rAXkAgAAAIDRmbtMq6pHJ/ndJMtJLsnkXmnX6CTKNAAAAACOSENWpj0zya90928uOgwAAAAA\njNlR1z/l63xzklcsOggAAAAAjN2QMu0VSe696CAAAAAAMHZDyrSPJDmzql5aVb9UVb+48jEkRFXd\nrKr+pKqWq+rKqnpvVW3bZ86zquqT0/NvrqpT9jl/o6o6Z/oZV1TVK6vqhCF5AAAAAGB/htwz7TFJ\n/jPJ3aaPlTrJ2fN8WFUdn+T8JOcluU8mGxvcKsllK+Y8NckTkzw8ycVJnp3kTVW1tbuvmk47K8n9\nkjw4yeeTnJPkVUl+cJ48AAAAAHAgc5dp3X3ygjM8LclSdz9qxdjH9pnz5CRndvdrk6SqHp7k0iQP\nTPLyqjo2ySOTPKS73zad84gku6vqtO5+14IzAwAAALAODbnMM0lSVcdU1ZaqGrK6baUHJHl3Vb28\nqi6tqgur6qvFWlWdnOSkTFauJUm6+/NJ3pnkLtOhO2ZSDK6csyfJ0oo5AAAAAHBQ5i7TqmpjVb0k\nyZVJPphk83T8BVX1tAEZbpHkF5LsyWRjg99NcnZV/cz0/EmZXD566T7vu3R6LklOTHLVtGQ70BwA\nAAAAOChDVqb97yTfneTuSfauGP/bJD89MMMF3f2r3f3e7n5xkhcnedyAzwIAAACAVTPkEs0HJvnp\n7v6nquoV4x9McssBn/epJLv3Gdud5Cemx5ckqUxWn61cnXZikvesmHNMVR27z+q0E6fnDmjHjh05\n7rjjrjW2ffv2bN++fZ7fAAAAAMBhYteuXdm1a9e1xi6//PKZ3jukTLtJkk/vZ/zGmVyOOa/zk2zZ\nZ2xLppsQdPdFVXVJknsmeV+STDccuFMmO3YmyQVJvjSd85fTOVsyuQT1Hdf15Tt37sy2bdsGxAYA\nAADgcLS/hVQXXnhhTj311Ot975DLPN+d5P4rXl9ToD0q11NcHcDOJHeuqqdX1S2r6r9PP+t3Vsw5\nK8kzq+oBVXX7JH+c5ONJXp18dUOClyR5XlXdvapOTfIHSc63kycAAAAAizJkZdozkryhqm47ff+T\np8d3TXK3eT+su99dVQ9K8htJfjXJRUme3N1/tmLOc6pqY5LfS3J8kn9Icr/uvmrFR+1I8uUkr0xy\noyRvTPKEAb8PAAAAAPZr7jKtu/+xqr4nydOSvD+THTgvTHKX7n7/kBDd/fokr7+eOacnOf06zn8x\nyZOmDwAAAABYuCEr09LdH03y6AVnAQAAAIBRG3LPtP2qqm1V9dpFfR4AAAAAjM1cZVpV3aeqfruq\n/ldV3WI6dpuq+qsk/zzv5wEAAADA4WTmyzyr6ueTvDjJZ5N8S5JHVdVTkrwgyZ8nuV13716VlAAA\nAAAwAvOsJHtykqd2902S/FSSTUken+T23f04RRoAAAAAR7p5yrRbJnnF9Pgvknwpyf/s7o8vPBUA\nAAAAjNA8Zdo3JLkySbq7k3wxyadWIxQAAAAAjNHM90ybelRV/eeK9/5cVS2vnNDdZy8kGQAAAACM\nzDxl2lKSR694fUmSn9lnTidRpgEAAABwRJq5TOvu71zFHAAAAAAwevPcMw0AAAAA1rVBZVpV3bOq\nXltVH50+XltV91p0OAAAAAAYk7nLtKp6fJI3JrkiyfOnj88neX1VPWGx8QAAAABgPObdzTNJnpFk\nR3f/zoqxs6vq/Om5cxaSDAAAAABGZshlnsdnsjJtX3+T5LiDiwMAAAAA4zWkTHtNkgftZ/zHk7z2\n4OIAAAAAwHjNdJlnVf3iipcfSvIrVXX3JO+Yjt05yfcnee5C0wEAAADAiMx6z7Qd+7y+LMltp49r\nfC7JI5M8ewG5AAAAAGB0ZirTuvvk1Q4CAAAAAGM35J5pSZKqOqaqtlTVkB1BAQAAAOCwM3eZVlUb\nq+olSa5M8sEkm6fjL6iqpy04HwAAAACMxpCVaf87yXcnuXuSvSvG/zbJTy8gEwAAAACM0pBLNB+Y\n5Ke7+5+qqleMfzDJLRcTCwAAAADGZ8jKtJsk+fR+xm+cpPczDgAAAABHhCFl2ruT3H/F62sKtEcl\necdBJwIAAACAkRpymeczkryhqm47ff+Tp8d3TXK3RYYDAAAAgDGZe2Vad/9jku/JpEh7f5J7Z3LZ\n5126+4LFxgMAAACA8RiyMi3d/dEkj15wFgAAAAAYtZnLtKp6W5Lzkrw1yTu6++rVCgUAAAAAYzTP\nZZ4XJXlEJmXa56rqb6vqV6rqLlV19KqkAwAAAIARmblM6+6f6+6Tk9wiyZOSfCLJY5Kcn+SyqnpD\nVf3P1YkJAAAAAGtv7numdffFSf5g+khV3SLJIzMp2O6d5LcWmA+AkVtaWsry8vKaff+mTZuyefPm\nNft+AABgfRm0AUFV3TzJ3Vc8TkjyT0netqBcABwGlpaWsmXL1uzde+WaZdiwYWP27NmtUAMAAA6J\neTYgeHi+Vp5tSvL2TMqzFyf5ZxsSAKw/y8vL0yLt3CRb1yDB7uzd+7AsLy8r0wAAgENinpVpL02y\nlOQ3krxEeQbA12xNsm2tQwAAAKy6eXbzfHwml3L+WpJPV9VfV9UvVdUdq6pWJx4AAAAAjMc8u3m+\nsLsf0t03TfL9SV6f5LQkr8tkN8/XVdX/t0o5AQAAAGDNzbMy7au6+0Pd/bvd/dNJvjfJ7yT5gSS/\nuchwAAAAADAmc+/mWVUnJLlHvrYZwa2TXJ3JJaB/t8BsAAAAADAq8+zm+X8yKc+2JPlSkncleWUm\nBdrbu3vvagQEAAAAgLGYZ2Xa9yb5q0zKs/O7+8rViQQAAAAA4zRzmdbdd1nNIAAAAAAwdoM2IAAA\nAACA9UiZBgAAAAAzUqYBAAAAwIyUaQAAAAAwI2UaAAAAAMxo5t08r1FVlyXp/ZzqJHuTfCTJS7v7\nDw8yGwAAAACMytxlWpIzkvxKkjcmedd07LQk901yTpKTk/xuVd2gu1+8kJQAAAAAMAJDyrS7JvnV\n7n7hysGqemySe3f3g6vqfUl+MYkyDQAAAIAjxpB7pv1okr/dz/h5Se4zPX59klsMDQUAAAAAYzSk\nTPuPJA/Yz/gDpueS5MZJrhgaCgAAAADGaMhlnmdmck+0e+Rr90z7vkxWrD1u+vpHkrzt4OMBAAAA\nwHjMXaZ194ur6kNJnpjkJ6bDe5LcrbvfPp3z3MVFBAAAAIBxGLIyLd19fpLzF5wFAAAAAEZtUJlW\nVUclOSXJCdnnvmvd/fcLyAUAAAAAozN3mVZVd07ysiQ3T1L7nO4kRy8gFwAAAACMzpCVaS9M8u4k\n90/yqUwKNAAAAAA44g0p026V5Ce7+yOLDgMAAAAAY3bU9U/5Ou/M5H5pAAAAALCuDFmZ9oIkz62q\nk5K8P8nVK0929/sWEQwAAAAAxmZImfaq6fMfrBjrTDYjsAEBAAAAAEesIWXayQtPAQAAAACHgbnL\ntO7+2GoEAQAAAICxm6lMq6ofS/KG7r56enxA3f2ahSQDAAAAgJGZdWXaXyU5Kcmnp8cH4p5pAAAA\nAByxZirTuvuo/R0DAAAAwHqy5sVYVf1aVX1ln8eH9pnzrKr6ZFVdWVVvrqpT9jl/o6o6p6qWq+qK\nqnplVZ1waH8JAAAAAEe6We+Z9ouzfmB3nz0gxweS3DNJTV9/acV3PzXJE5M8PMnFSZ6d5E1VtbW7\nr5pOOyvJ/ZI8OMnnk5yT5FVJfnBAFgAAAADYr1nvmbZjxnmdZEiZ9qXu/swBzj05yZnd/dokqaqH\nJ7k0yQOTvLyqjk3yyCQP6e63Tec8Isnuqjqtu981IA8AAAAAfJ1Z75l28irnuFVVfSLJ3iTvSPL0\n7v73qjo5k40PzluR5fNV9c4kd0ny8iR3zOR3rJyzp6qWpnOUaQAAAAAsxEHdM62mDjLDPyX5uST3\nSfK4JCcn+fuqunEmRVpnshJtpUun55LkxCRXdffnr2MOAAAAABy0WS/zvJaq+vlMLv281fT1/01y\nVnf//ryf1d1vWvHyA1X1riQfS/JTST48JN88duzYkeOOO+5aY9u3b8/27dtX+6sBAAAAWAO7du3K\nrl27rjV2+eWXz/Teucu0qnpWkqckeUEml2Qmk8spd1bV5u7+/+f9zJW6+/Kq+tckpyR5ayabEpyY\na69OOzHJe6bHlyQ5pqqO3Wd12onTc9dp586d2bZt28FEBgAAAOAwsr+FVBdeeGFOPfXU633vkMs8\nfyHJo7v76d39munj6Ukek+TxAz7vWqrqGzMp0j7Z3RdlUojdc8X5Y5PcKcnbp0MXZLL758o5W5Js\nztfKPgAAAAA4aEMu87xhknfvZ/yCIZ9XVb+V5K8zubTz25KckeTqJH82nXJWkmdW1UeSXJzkzCQf\nT/Lq5KsbErwkyfOq6rIkV2Syo+j5dvIEAAAAYJGGlGl/ksnqtKfsM/6YJH864PO+PcnLknxrks8k\n+cckd+7uzyZJdz+nqjYm+b0kxyf5hyT36+6rVnzGjiRfTvLKJDdK8sYkTxiQBQAAAAAOaKYyraqe\nt+JlJ3lUVd07k504k8lll5uT/PG8Abr7eu/0392nJzn9Os5/McmTpg8AAAAAWBWzrkz73n1eXzB9\nvuX0eXn6+K5FhAIAAACAMZqpTOvue6x2EAAAAAAYuyG7eQIAAADAujRkA4JU1R2T/FQm90k7ZuW5\n7v6JBeQCAAAAgNGZe2VaVT0kyduTbE3yoCQ3zOReaT+c5PKFpgMAAACAERlymeczkuzo7gckuSrJ\nk5PcJsnLkywtMBsAAAAAjMqQMu2WSV43Pb4qyY27u5PsTPKYRQUDAAAAgLEZUqZdluSbpsefSHK7\n6fHxSTYuIhQAAAAAjNGQDQj+PsmPJHl/klckeX5V/fB07LwFZgMAAACAURlSpj0xyYbp8a8nuTrJ\nXZO8KsmzF5QLAAAAAEZn7jKtu/9jxfFXkvzGQhMBAAAAwEgNWZmWqjoqySlJTsg+913r7r9fQC4A\nAAAAGJ25y7SqunOSlyW5eZLa53QnOXoBuQAAAABgdIasTHthkncnuX+ST2VSoAEAAADAEW9ImXar\nJD/Z3R9ZdBgAAAAAGLOjrn/K13lnJvdLAwAAAIB1ZcjKtBckeW5VnZTk/UmuXnmyu9+3iGAAAAAA\nMDZDyrRXTZ//YMVYZ7IZgQ0IAAAAADhiDSnTTl54CgAAAAA4DMxdpnX3x1YjCAAAAACM3ZANCFJV\nP1NV51fVJ6vq5tOx/1FVP77YeAAAAAAwHnOXaVX1C0mel+T1SY7P1+6R9rkk/2Nx0QAAAABgXIas\nTHtSkkd3968n+fKK8Xcnuf1CUgEAAADACA0p005O8p79jH8xyY0PLg4AAAAAjNeQMu2iJN+zn/H7\nJtl9cHEAAAAAYLzm3s0zk/ulnVNVG5JUktOqanuSpyd51CLDAQAAAMCYzF2mdffvV9V/JXl2ko1J\nXpbkk0me3N1/tuB8AAAAADAaQ1ampbv/NMmfVtXGJN/Y3Z9ebCwAAAAAGJ9BZdo1uvvKJFcuKAsA\nAAAAjNpBlWkAS0tLWV5eXrPv37RpUzZv3rxm3w8AAMD6okwDBltaWsqWLVuzd+/aLVDdsGFj9uzZ\nrVADAADgkFCmAYMtLy9Pi7Rzk2xdgwS7s3fvw7K8vKxMAwAA4JBQpgELsDXJtrUOAQAAAKtuUJlW\nVd+X5B5JTkhy1Mpz3f2UBeQCAAAAgNGZu0yrqmckeXaSPUkuTdIrTvd+3wQAAAAAR4AhK9OenOSR\n3f3SBWcBAAAAgFE76vqnfJ2vJDl/0UEAAAAAYOyGlGk7kzxh0UEAAAAAYOyGXOb520leV1UfTfKh\nJFevPNndP7GIYAAAAAAwNkPKtLMz2cnz75J8NjYdAAAAAGCdGFKm/WySB3f36xYdBgAAAADGbMg9\n0/4jyUcXHQQAAAAAxm5ImXZ6kjOqauOCswAAAADAqA25zPMXk9wyyaVVdXG+fgOCbQvIBQAAAACj\nM6RM+6uFpwAAAACAw8DcZVp3n7EaQQAAAABg7IasTEuSVNWpSbZOX36wu9+zmEhw+FhaWsry8vKa\nZti0aVM2b968phkAAABgvZi7TKuqE5L8WZK7J/ncdPj4qvq7JA/p7s8sLh6M19LSUrZs2Zq9e69c\n0xwbNmzMnj27FWoAAABwCAxZmfaCJN+U5Lu6e3eSVNVtk/xRkrOTbF9cPBiv5eXlaZF2br62SPNQ\n2529ex+W5eVlZRoAAAAcAkPKtPsmudc1RVqSdPeHquoJSf5mYcngsLE1iU1sAQAAYD04auB7rt7P\n+NUDPw8AAAAADgtDyq+3JHl+Vd3smoGq+rYkO5Oct6hgAAAAADA2Q8q0JyY5NsnFVfXRqvpokoum\nY09aZDgAAAAAGJO575nW3f9eVduS3CvJbabDu7v7bxeaDAAAAABGZq4yrapumOSNSR7X3W9O8uZV\nSQUAAAAAIzTXZZ7dfXWSO6xSFgAAAAAYtSH3TDs3yc8vOggAAAAAjN3c90ybvueRVXWvJBck+cLK\nk939lEUEAwAAAICxGVKm3S7JhdPjW+9zrg8uDgAAAACM10xlWlXdIckHuvsr3X2PVc4EAAAAAKM0\n6z3T3pNkU5JU1b9V1beuXiQAAAAAGKdZy7TPJTl5evydc7wPAAAAAI4Ys94z7VVJ3lZVn8rkvmjv\nrqov729id99iUeEAAAAAYExmKtO6+zFV9RdJTklydpIXJ7liNYMBAAAAwNjMvJtnd78xSarq1CTP\n725lGgAAAADrysxl2jW6+xGrEQQAAAAAxm50GwlU1dOq6itV9bx9xp9VVZ+sqiur6s1Vdco+529U\nVedU1XJVXVFVr6yqEw5tegAAAACOZKMq06rq+5I8Jsl79xl/apInTs+dluQLSd5UVcesmHZWkvsn\neXCSH0pys0w2TgAAAACAhRhNmVZV35jk3CSPSvK5fU4/OcmZ3f3a7v5AkodnUpY9cPreY5M8MsmO\n7n5bd78nySOSfH9VnXaofgMAAAAAR7bRlGlJzkny1939lpWDVXVykpOSnHfNWHd/Psk7k9xlOnTH\nTO7/tnLOniRLK+YAAAAAwEGZu0yrqp+tqvuveP2cqvpcVb29qm4+JERVPSTJ9yR5+n5On5Skk1y6\nz/il03NJcmKSq6Yl24HmAAAAAMBBGbIy7RlJ/itJquouSZ6Q5JeTLCfZOe+HVdW3Z3K/s4d299UD\n8gAAAADAIXGDAe/5jiQfmR4/MMmruvtFVXV+krcO+LxTk9wkyYVVVdOxo5P8UFU9McltklQmq89W\nrk47Mcl7pseXJDmmqo7dZ3XaidNzB7Rjx44cd9xx1xrbvn17tm/fPuCnAAAAADB2u3btyq5du641\ndvnll8/03iFl2n8m+dZM7kd27yTPm47vTfINAz7vb5Pcfp+xlybZneQ3uvvfquqSJPdM8r7kqxsO\n3CmT+6wlyQVJvjSd85fTOVuSbE7yjuv68p07d2bbtm0DYgMAAABwONrfQqoLL7wwp5566vW+d0iZ\n9uYkv19V70ly6ySvn45/V5KL5/2w7v5Ckg+tHKuqLyT5bHfvng6dleSZVfWR6XecmeTjSV49/YzP\nV9VLkjyvqi5LckWSs5Oc393vmjcTAAAAAOzPkDLtCUmencnlng/u7s9Ox09NsuuA75pPX+tF93Oq\namOS30tyfJJ/SHK/7r5qxbQdSb6c5JVJbpTkjdOsAAAAALAQc5dp3f25JE/cz/ivLSTR5LN+eD9j\npyc5/Tre88UkT5o+AAAAAGDhhuzmmar6wao6t6reXlXfNh37mar6gcXGAwAAAIDxmHtlWlU9OMmf\nJPnTJNsyuaQySY5L8owkP7qwdABwGFhaWsry8vKaff+mTZuyefPmNft+AABYT4bcM+2ZSR7X3X9c\nVQ9ZMX7+9BwArBtLS0vZsmVr9u69cs0ybNiwMXv27FaoAQDAITCkTNuS5O/3M355JpsDAMC6sby8\nPC3Szk2ydQ0S7M7evQ/L8vKyMg0AAA6BIWXaJUlOSXLxPuM/kOTfDjYQAByetmZy9wMAAOBINmQD\nghcneX5V3SlJJ7lZVT00yW8n+d1FhgMAAACAMRmyMu03MinhzkuyMZNLPr+Y5Le7+wULzAYAAAAA\nozJ3mdbdneTXq+q3Mrnc8xuTfKi7/3PR4QAAAABgTIasTEuSdPdVST60wCwAAAAAMGpzl2lVtSHJ\nk5LcI8kJ2ee+a93t7ssAAAAAHJGGrEx7SZJ7J3llkndlsgkBAAAAABzxhpRp/y3Jj3b3+YsOAwAA\nAABjdtSYYYz2AAAgAElEQVT1T/k6n0hyxaKDAAAAAMDYDSnTfinJb1bVzRcdBgAAAADGbMhlnu9O\nsiHJv1XVlUmuXnmyu79lEcEAAAAAYGyGlGm7knxbkmckuTQ2IAAAAABgnRhSpt01yV26+72LDgMA\nAAAAYzbknmkfTvINiw4CAAAAAGM3pEx7WpLnVtXdq+pbq+rYlY9FBwQAAACAsRhymecbp8/n7TNe\nmdw/7eiDSgQAAAAAIzWkTLvHwlMAAAAAwGFg7jKtu9+2GkEAAAAAYOyGrExLklTVxiSbkxyzcry7\n33ewoQ4XS0tLWV5eXtMMmzZtyubNm9c0AwAAAMB6MXeZVlU3SfKHSe53gCnr4p5pS0tL2bJla/bu\nvXJNc2zYsDF79uxWqAEAAAAcAkNWpp2V5Pgkd0ry1iQPSnJikmcm+aWFJRu55eXlaZF2bpKta5Ri\nd/bufViWl5fXrExb69V5VuYBAAAAh9KQMu2Hk/x4d7+7qr6S5GPd/eaq+nySpyd53UITjt7WJNvW\nOsSaGMPqPCvzAAAAgENpSJl24ySfnh5fluQmSf41yfuzXluldWrtV+et/co8AAAAYH0ZUqbtSbIl\nycVJ3pvksVV1cZLHJfnUwpJxGFm/q/MAAACA9WVImfb8JDedHp+R5I1JHprkqiQ/t5hYAAAAADA+\nc5dp3X3uiuMLqurmSW6TZKm71+5O9AAAAACwyo6aZ3JV3bCqPlpVX71BVndf2d0XKtIAAAAAONLN\nVaZ199VJNqxSFgAAAAAYtbnKtKlzkjy1qobcbw0AAAAADltDCrHvS3LPJPeuqvcn+cLKk939E4sI\nBgAAAABjM6RM+1ySVy06CAAAAACM3UxlWlX9WJI3dPfV3f2IVc4EAAAAAKM06z3T/jLJ8UlSVV+u\nqhNWLxIAAAAAjNOsZdpnktx5elxJenXiAAAAAMB4zXrPtBcmeXVVdSZF2iVVtd+J3X30grIBAAAA\nwKjMVKZ19+lV9WdJTknymiSPyGQjAgAAAABYN2bezbO7P5zkw1V1RpJXdPeVqxcLAAAAAMZn5jLt\nGt19xmoEAQAAAICxm3UDAgAAAABY95RpAAAAADAjZRoAAAAAzGihZVpVbVzk5wEAAADAmMxdplXV\neVX1bfsZPy3JvywkFQAAAACM0JCVaXuTvK+qfjpJquqoqjo9yT8mef0CswEAAADAqNxg3jd09/2r\n6glJ/qCqfjzJdya5eZL/1t1/s+B8AAAAADAac5dpSdLd51TVtyd5apIvJbl7d799ockAAAAAYGSG\n3DPtm6vqVUl+Icljk7w8yd9U1eMXHQ4AAAAAxmTIyrQPJLkoyfd290VJXjy9f9r/qar7d/f9F5oQ\nAAAAAEZiyAYEL0zyQ9MiLUnS3X+e5LuTHLOoYAAAAAAwNkM2IDjzAOMfT/IjB50IAAAAAEZqyMo0\nAAAAAFiXlGkAAAAAMCNlGgAAAADMaKYyrap+rKpuuNphAAAAAGDMZl2Z9pdJjk+SqvpyVZ2wepEA\nAAAAYJxmLdM+k+TO0+NK0qsTBwAAAADG6wYzznthkldXVWdSpF1SVfud2N1HLygbAAAAAIzKTGVa\nd59eVX+W5JQkr0nyiCSfW81gAAAAADA2s65MS3d/OMmHq+qMJK/o7itXLxYAAAAAjM/MZdo1uvuM\nJKmqmyTZMh3e092fWWQwAAAA4PCxtLSU5eXlNfv+TZs2ZfPmzWv2/awfc5dpVbUxye8k+Zkk19wf\n7ctV9cdJnmTFGgAAAKwvS0tL2bJla/buXbtKYMOGjdmzZ7dCjVU3d5mWZGeSuyX5sSTnT8d+IMnZ\nSZ6b5BcWEw0AAAA4HCwvL0+LtHOTbF2DBLuzd+/Dsry8rExj1Q0p0x6c5Ce7+60rxl5fVf+V5OVR\npgEAAMA6tTXJtrUOAavqqAHv2Zjk0v2Mf3p6bi5V9biqem9VXT59vL2q7rvPnGdV1Ser6sqqenNV\nnbLP+RtV1TlVtVxVV1TVK6vqhHmzAAAAAMB1GVKmvSPJGVW14ZqBqvqGJL82PTevf0/y1Eyq61OT\nvCXJq6tq6/Szn5rkiUkek+S0JF9I8qaqOmbFZ5yV5P6ZrJr7oSQ3S/KqAVkAAAAA4ICGXOb55CRv\nSvLxqnrvdOy7k+xNcp95P6y7X7fP0DOr6heS3DnJ7un3ndndr02Sqnp4JivjHpjk5VV1bJJHJnlI\nd79tOucRSXZX1Wnd/a55MwEAAADA/sy9Mq27P5DkVkmenuRfpo+nJblVd3/wYMJU1VFV9ZBMLhd9\ne1WdnOSkJOet+P7PJ3lnkrtMh+6YSSm4cs6eJEsr5gAAAADAQRuyMi3dfWWSFy8qRFXdLpNLRDck\nuSLJg7p7T1XdJUnn6+/RdmkmJVuSnJjkqmnJdqA5AAAAAHDQBpVpq+DDmVwqelySn0zyx1X1Q4fi\ni3fs2JHjjjvuWmPbt2/P9u3bD8XXA8Bhb2lpKcvLy2uaYdOmTdm8efOaZgAA4PCxa9eu7Nq161pj\nl19++UzvHUWZ1t1fSvJv05fvqarTMrlX2nOSVCarz1auTjsxyXumx5ckOaaqjt1nddqJ03PXaefO\nndm2zba9ADDE0tJStmzZmr17r1zTHBs2bMyePbsVagAAzGR/C6kuvPDCnHrqqdf73lGUaftxVJIb\ndfdFVXVJknsmeV+STDccuFOSc6ZzL0jypemcv5zO2ZJkc4btLgoAzGh5eXlapJ2bZOsapdidvXsf\nluXlZWUaAACrbs3LtKr6X0nekMmGAd+U5KFJ7pbk3tMpZ2Wyw+dHklyc5MwkH0/y6mSyIUFVvSTJ\n86rqskzuuXZ2kvPt5AkAh8rWJFZ6AwBw5Ju7TKuq70jS3f3x6evTkvz3JB/q7hcNyHBCkj9KctMk\nl2eyAu3e3f2WTL7oOVW1McnvJTk+yT8kuV93X7XiM3Yk+XKSVya5UZI3JnnCgCwAAAAAcEBDVqa9\nLMmLkvxJVZ2U5M1JPpjkoVV1Unc/a54P6+5HzTDn9CSnX8f5LyZ50vQBAAAAAKviqAHvuV2Say6f\n/KkkH+juu2ZyeebPLSgXAAAAAIzOkDLthkm+OD2+V5LXTI8/nMmlmgAAAABwRBpSpn0wyeOq6geT\n/Egm9ydLkpsl+eyiggEAAADA2Awp056a5LFJ3ppkV3e/dzr+Y/na5Z8AAAAAcMSZewOC7n5rVW1K\ncmx3X7bi1IuSfGFhyQAAAABgZOZemVZVb0nyTfsUaUnyH0n+fCGpAAAAAGCEhlzmefckx+xnfEOS\nHzyoNAAAAAAwYjNf5llVd1jx8rZVddKK10cnuW+STywqGAAAAACMzTz3TPuXJD19vGU/5/8ryZMW\nEQoAAAAAxmieMu3kJJXk35KcluQzK85dleTT3f3lBWYDAAAAgFGZuUzr7o9ND4fcZw0AAAAADnvz\nrEz7qqq6VZJ7JDkh+5Rr3f2sBeQCAAAAgNGZu0yrqkcn+d0ky0kuyeQeatfoJMo0AAAAAI5IQ1am\nPTPJr3T3by46DADA4WhpaSnLy8tr9v2bNm3K5s2b1+z7AQDWkyFl2jcnecWigwAAHI6WlpayZcvW\n7N175Zpl2LBhY/bs2a1QAwA4BIaUaa9Icu8kL1xwFgCAw87y8vK0SDs3ydY1SLA7e/c+LMvLy8o0\nAIBDYEiZ9pEkZ1bVnZO8P8nVK09299mLCAYAcHjZmmTbWocAAGCVDSnTHpPkP5PcbfpYqZMo0wAA\nAAA4Is1dpnX3yasRBAAAAADG7qi1DgAAAAAAh4uZVqZV1fOS/Gp3f2F6fEDd/ZSFJAMAAACAkZn1\nMs/vTXLDFccH0gcXBwAAAADGa6Yyrbvvsb9jAAAAAFhP3DMNAAAAAGY0926eSVJVd0zyU0k2Jzlm\n5bnu/okF5AIAAACA0Zl7ZVpVPSTJ25NsTfKgTO6l9l1JfjjJ5QtNBwAAAAAjMuQyz2ck2dHdD0hy\nVZInJ7lNkpcnWVpgNgAAAAAYlSFl2i2TvG56fFWSG3d3J9mZ5DGLCgYAAAAAYzOkTLssyTdNjz+R\n5HbT4+OTbFxEKAAAAAAYoyEbEPx9kh9J8v4kr0jy/Kr64enYeQvMBgAAAACjMqRMe2KSDdPjX09y\ndZK7JnlVkmcvKBcAAAAAjM7cZVp3/8eK468k+Y2FJgIAAACAkRqyMi1VdXSSByXZOh36UJJXd/eX\nFhUMAAAAAMZm7jKtqr4ryWuSnJRkz3T4qUk+U1UP6O4PLDAfAAAAAIzGkN08fz/JB5N8e3dv6+5t\nSb4jyfuSvGiR4QAAAABgTIZc5vk9Se7Y3ZddM9Ddl1XVryT554UlAwAAAICRGbIy7V+TnLif8ROS\nfOTg4gAAAADAeA0p056e5Oyq+smq+vbp4yeTnJXkqVV17DWPxUYFAAAAgLU15DLP106fX56kp8c1\nff7rFa87ydHDowEAAADAuAwp0+6x8BQAAAAAcBiYu0zr7retRhAAAAAAGLsh90wDAAAAgHVJmQYA\nAAAAM1KmAQAAAMCMlGkAAAAAMKO5y7SqektVHb+f8WOr6i2LiQUAAAAA4zNkZdrdkxyzn/ENSX7w\noNIAAAAAwIjdYNaJVXWHFS9vW1UnrXh9dJL7JvnEooIBAAAAwNjMXKYl+ZckPX3s73LO/0rypEWE\nAgAAADjcLC0tZXl5+f+1d+dhctV1vsffX8ISgsMyhgDO2BgEQ7yOaIIsCoMssjmKoANEUJELCgOa\nwZk7gOIooMPFGZZBEZdBkQmGCyqKCiIgg4Ao+yYhEgVbBYIlmyE0BPjeP85pqDRZqqur6lRXvV/P\n0w9dv9+pqu85D6k+/enfUtn7T548mYGBgcrev1+MJkybCgTwG2Ar4I91fc8AD2fmcy2sTZIkSZIk\naVwYHBxk2rTpDA0trqyGiRMnMX/+PAO1Nms4TMvM35bfugOoJEmSJElSnVqtVgZpc4DpFVQwj6Gh\nA6nVaoZpbTaakWkviIjNgB2BKYwI1zLzhBbUJUmSJEmSNA5NB2ZUXYTaaNRhWkQcCpwF1ICHKNZQ\nG5aAYZokSZIkSZJ6UjMj044DPpGZJ7e6GEmSJEmSJKmbNbP+2XrAha0uRJIkSZIkSep2zYxMuxDY\nFfhSi2uRJEnSODU4OEitVqvs/SdPnuxiy5IkqSOaCdMWACdGxDbAncCS+s7MPKMVhUmSJGl8GBwc\nZNq06eUOZtWYOHES8+fPM1CTJElt10yY9iFgEbBD+VUvAcM0SZKkPlKr1cogbQ7FDmadNo+hoQOp\n1WqGaZIkqe1GHaZl5tR2FCJJkqTxbjowo+oiJEmS2qqZDQgAiIjVI2JaRDQzuk2SJEmSJEkad0Yd\npkXEpIg4G1gM/BIYKNs/HxHHtLg+SZIkSZIkqWs0MzLtJGAL4K3AUF37FcB+LahJkiRJkiRJ6krN\nTNF8F7BfZv48IrKu/ZfAq1tTliRJkiRJktR9mhmZtj7w8DLa16LYzVOSJEmSJEnqSc2EaTcBb697\nPBygHQJcP+aKJEmSJEmSpC7VzDTPjwOXRsRry+fPLr9/M7BDK4uTJEmSJEmSusmoR6Zl5rXAGyiC\ntDuBXSmmfW6bmTeP9vUi4tiIuCEinoiIhRFxUUS8ZhnHnRARD0TE4oi4PCI2HdG/RkScGRG1iPhz\nRHwrIqaMth5JkiRJkiRpeZqZ5klm/jozD83MrTLztZl5YGbe2WQN2wOfB7YGdgFWA34cEWsOHxAR\nRwNHAh8CtgKeBC6LiNXrXud0iumn7wb+FngF8O0ma5IkSZIkSZJeYtTTPCPiOWCjzHx4RPvLgYcz\nc8JoXi8z9xzxOgdRjHSbCVxbNs8GTszMH5THvB9YSLGz6AURsTZwMLB/Zl5dHvNBYF5EbJWZN4zu\nLCVJkiRJkqSXamZkWiynfQ3gmTHUMmxdik0NHgGIiKnAhsCVwwdk5hPAL4Bty6YtKYLB+mPmA4N1\nx0iSJEmSJElj0vDItIj4aPltAodExKK67gkUUyvvGUsxEREU0zWvzcy7y+YNy/dcOOLwhWUfwAbA\nM2XItrxjJEmSJEmSpDEZzTTPo8r/BnAY8Fxd3zPA/WX7WHwReC3wljG+jiRJkiRJktRyDYdpmTkV\nICKuAvbJzEdbWUhEfAHYE9g+Mx+s63qIIsDbgKVHp20A3Fp3zOoRsfaI0WkblH3LddRRR7HOOuss\n1TZr1ixmzZrV1HlIkiRJkiSpu82dO5e5c+cu1fb444839NxRb0CQmTuO9jkrUwZpewE7ZObgiPe7\nLyIeAnYG7iiPX5ti988zy8NuBp4tj7moPGYaMABcv6L3Pu2005gxY0brTkaSJEmSJEldbVkDqW65\n5RZmzpy50uc2s5vnBOAgiuBqCiM2McjMnUb5el8EZgHvBJ6MiA3Krsczc6j8/nTguIhYQDGd9ETg\n98D3yvd8IiLOBk6NiEeBPwNnANe5k6ckSZIkSZJaZdRhGvCfFGHaD4G7KDYHGIvDytf4nxHtHwTO\nBcjMz0XEJODLFLt9XgPskZn1u4ceRbGO27codhb9EXDEGGuTJEmSJEmSXtBMmLY/sG9mXtKKAjJz\nlZUfBZn5aeDTK+h/GvhI+SVJkiRJkiS1XENB1gjPAAtaXYgkSZIkSZLU7ZoJ004BZkdEtLoYSZIk\nSZIkqZs1M81zO2BHYI+I+CWwpL4zM/dpRWGSJEmSJElSt2kmTHsMuKjVhUiSJEmSJEndbtRhWmZ+\nsB2FSJIkSZIkSd2umZFpAETE+sC08uH8zPxja0qSJEmSJEmSutOoNyCIiLUi4mvAg8BPy68HIuLs\niJjU6gIlSZIkSZKkbtHMbp6nAjsA7wDWLb/2KttOaV1pkiRJkiRJUndpZprnu4H3ZOb/1LVdEhFP\nARcAh7eiMEmSJEmSJKnbNDMybRKwcBntD5d9kiRJkiRJUk9qJky7Hjg+IiYON0TEmsCnyj5JkiRJ\nkiSpJzUzzXM2cBnw+4i4vWzbAhgCdmtVYZIkSZIkSVK3GXWYlpl3RcRmwAHA5mXzXOC8zHyqlcVJ\nkiRJkiRJ3aSZkWlk5mLgqy2uRZIkSZIkSepqow7TIuJY4KHM/PqI9oOB9TPz5FYVJ0mSJEnSeDA4\nOEitVqu0hsmTJzMwMFBpDVI/aGZk2oeB/ZbR/kvgfMAwTZIkSZLUNwYHB5k2bTpDQ4srrWPixEnM\nnz/PQE1qs2bCtA2Bh5fR/kdgo7GVI0mSJEnS+FKr1cogbQ4wvaIq5jE0dCC1Ws0wTWqzZsK03wFv\nAe4b0f4W4IExVyRJkiRJ0rg0HZhRdRGS2qyZMO2rwOkRsRrwk7JtZ+BzwCmtKkySJEmSJEnqNs2E\naf8OvBz4IrB62TYEnJyZJ7WqMEmSJEmSJKnbjDpMy8wEjo6IEynGsD4F3JuZT7e6OEmSJEmSJKmb\nNDMyDYDMXATc2MJaJEmSJEmSpK62StUFSJIkSZIkSeOFYZokSZIkSZLUIMM0SZIkSZIkqUGGaZIk\nSZIkSVKDmtqAICI2A3YEpjAikMvME1pQlyRJkiRJktR1Rh2mRcShwFlADXgIyLruBAzTJEmSJEmS\n1JOaGZl2HPCJzDy51cVIkiRJkiRJ3ayZNdPWAy5sdSGSJEmSJElSt2tmZNqFwK7Al1pciyRJkiRp\nnBocHKRWq1X2/pMnT2ZgYKCy95fUP5oJ0xYAJ0bENsCdwJL6zsw8oxWFSZIkSZLGh8HBQaZNm87Q\n0OLKapg4cRLz588zUJPUds2EaR8CFgE7lF/1EjBMkyRJkqQ+UqvVyiBtDjC9ggrmMTR0ILVazTBN\nUtuNOkzLzKntKESSJEmSNN5NB2ZUXYQktVUzGxBIkiRJkiRJfamhkWkRcSrwycx8svx+uTLzYy2p\nTJIkSRonXHhdkqT+0eg0zzcCq9V9vzw5tnIkSZKk8cWF1yVJ6i8NhWmZueOyvpckSZL6nQuvS5LU\nX5rZzVOSJEnSS7jwuiRJ/cANCCRJkiRJkqQGGaZJkiRJkiRJDTJMkyRJkiRJkhpkmCZJkiRJkiQ1\nqKkwLSLeFxHXRcQDEbFx2faPEbFXa8uTJEmSJEmSuseow7SIOBw4FbgEWBeYUHY9Bvxj60qTJEmS\nJEmSukszI9M+AhyamZ8Fnqtrvwn4m5ZUJUmSJEmSJHWhZsK0qcCty2h/GlhrbOVIkiRJkiRJ3auZ\nMO0+4A3LaN8dmDe2ciRJkiRJkqTutWoTzzkVODMiJgIBbBURs4BjgUNaWZwkSZIkSZLUTUYdpmXm\nf0XEU8BngEnAN4EHgNmZeX6L65MkSZIkSZK6RjMj08jM84DzImIS8LLMfLi1ZUmSJEmSJEndp6kw\nbVhmLgYWt6gWSZIkSZIkqauNOkyLiFuBXEZXAkPAAuCczLxqjLVJkiRJkiRJXaWZ3TwvBTYBngSu\nKr8WAa8GbgQ2Aq6IiL1aVaQkSZIkSZLUDZqZ5vmXwCmZeWJ9Y0QcB2ycmbtGxPHAJ4HvtaBGSZIk\nSepqg4OD1Gq1SmuYPHkyAwMDldYgSf2gmTBtf2DLZbSfD9wMHArMBT42hrokSZIkaVwYHBxk2rTp\nDA1Vu5z0xImTmD9/noGaJLVZM2Ha08CbKdZGq/dmijXToJg+OoQkSZIk9bharVYGaXOA6RVVMY+h\noQOp1WqGaZLUZs2EaZ8HvhQRMynWSAN4E3AI8G/l492A28ZeniRJkiSNF9OBGVUXIUlqs1GHaZn5\nmYi4DzgSeF/ZPB84NDO/WT7+EnBWa0qUJEmSJEmSukMzI9PIzPOA81bQ/1TTFUmSJEmSJEldqqkw\nDSAiVgemUKyP9oLMHBxrUZIkSZIkSVI3GnWYFhGbAV+j2HBgqS4ggQktqEuSJEmSJEnqOs2MTDsH\neBb4O+BBigBNkiRJkiRJ6nnNhGlvAGZm5j2tLkaSJEmSJEnqZqus/JCXuBuY3OpCJEmSJEmSpG7X\nTJh2NPC5iHhrRLw8Itau/2p1gZIkSZIkSVK3aGaa5xXlf68c0e4GBJIkSVKfGhwcpFarVfb+kydP\nZmBgoLL3lyT1j2bCtB1bXUREbA/8H2AmsBHwrsy8eMQxJwCHAOsC1wGHZ+aCuv41gFOB/YA1gMuA\nf8jMh1tdryRJkqQXDQ4OMm3adIaGFldWw8SJk5g/f56BmiSp7UYdpmXm1W2oYy3gNuBs4DsjOyPi\naOBI4P3A/cBngMsiYnpmPlMedjqwB/Bu4AngTODbwPZtqFeSJElSqVarlUHaHGB6BRXMY2joQGq1\nmmGaJKntmhmZBkBETAIGgNXr2zPzjtG+Vmb+CPhR+bqxjENmAydm5g/KY94PLATeBVxQrtV2MLD/\ncNgXER8E5kXEVpl5w2hrkiRJkjRa04EZVRchSVJbjTpMi4j1ga9TjAJblpaumRYRU4ENqVujLTOf\niIhfANsCFwBbUpxL/THzI2KwPMYwTZIkSZIkSWPWzG6ep1OsW7Y18BSwO/AB4F7gna0r7QUbUmxs\nsHBE+8KyD2AD4JnMfGIFx0iSJEmSJElj0sw0z52AvTLzpoh4HvhtZl4eEU8AxwI/bGmFbXbUUUex\nzjrrLNU2a9YsZs2aVVFFkiRJkiRJaqe5c+cyd+7cpdoef/zxhp7bTJi2FjC8Q+ajwPrAr4A7ac8C\nCQ8BQTH6rH502gbArXXHrB4Ra48YnbZB2bdcp512GjNmuK6DJEmSJElSv1jWQKpbbrmFmTNnrvS5\nzUzznA9MK7+/HfhwRPwVcBjwYBOvt0KZeR9FILbzcFu54cDWwM/KppuBZ0ccM41ig4TrW12TJEmS\nJEmS+lMzI9P+E9io/P54il04DwCeAQ5qpoiIWAvYlGIEGsAmEbEF8Ehm/o5inbbjImIBcD9wIvB7\n4HvwwoYEZwOnRsSjwJ+BM4Dr3MlTkiRJkiRJrTLqMC0z59R9f3NEbAxsDgxmZq3JOrYErqLYaCCB\nU8r2bwAHZ+bnImIS8GWKzQ+uAfbIzGfqXuMo4DngW8AaFCHfEU3WI0mSJEmSJL1EMyPTlpKZi4Fb\nxvgaV7OSKaeZ+Wng0yvofxr4SPklSZIkSZIktdyow7SImEAxnXNnYAojQrDM3KkllUmSJEmSJEld\nptk10w4CfgjcRTEtU5IkSZIkSep5zYRp+wP7ZuYlrS5GkiRJkiRJ6mYrXKdsOZ4BFrS6EEmSJEmS\nJKnbNROmnQLMjohodTGSJEmSJElSN2tommdEfGdE007AHhHxS2BJfUdm7tOi2iRJkiRJkqSu0uia\naY+PeHxRqwuRJEmSJEnS+DU4OEitVqvs/SdPnszAwEDb36ehMC0zP9juQiRJkiRJkjQ+DQ4OMm3a\ndIaGFldWw8SJk5g/f17bA7VR7+YZEVOBVTPz3hHtmwFLMvP+FtUmSZIkSZKkcaBWq5VB2hxgegUV\nzGNo6EBqtVr3hWnAOcBXgXtHtG8NHAK8dWwlSZIkSZIkaXyaDsyouoi2amY3zzcC1y+j/efAG8ZW\njiRJkiRJktS9mgnTElh7Ge3rABPGVo4kSZIkSZLUvZoJ034KHBsRLwRn5ffHAte2qjBJkiRJkiSp\n2zSzZtrRFIHa/Ii4pmzbnmK02k6tKkySJEmSJEnqNqMemZaZdwOvBy4ApgB/AZwLbJ6Zd7W2PEmS\nJEmSJKl7NDMyjcx8APh4i2uRJEmSJEmSuloza6ZJkiRJkiRJfckwTZIkSZIkSWqQYZokSZIkSZLU\nIMM0SZIkSZIkqUFNbUAwLCImA1sDE4AbM/PBllQlSZIkSZIkdaGmw7SIeDdwNvArYDVgWkQckZlf\nb1VxkiRJkiRJUjdpeJpnRLxsRNOngK0yc6vMfCPw98BnW1mcJEmSJEmS1E1Gs2bazRGxV93jZ4Ep\ndY83AJ5pSVWSJEmSJElSFxrNNM/dgDMj4iDgCGA28P8iYkL5Os8DB7W6QEmSJEmSJKlbNBymZeb9\nwNsjYhZwNXAGsGn5NQG4JzOH2lGkJEmSJEmS1A1GM80TgMycC7wJ2AL4H2CVzLzNIE2SJEmSJEm9\nbj0/V1UAABRgSURBVFS7eUbEnsB04PbMPCQidgDOi4hLgX/NzKfaUaQkSZIkSZLUDUazm+cpwNcp\nRqV9OSI+mZlXAzOAIeDWiNijPWVKkiRJkiRJ1RvNNM+DgD0zc3+KQO19AJn5TGZ+EtgH+HjLK5Qk\nSZIkSZK6xGjCtCeBqeX3r6QYjfaCzLw7M7dvVWGSJEmSJElStxlNmHYscG5EPECxm+cn21OSJEmS\nJEmS1J0a3oAgM8+LiB8BmwD3ZuZj7StLkiRJkiRJ6j6j2s0zM/8E/KlNtUiSJEmSJEldbTTTPCVJ\nkiRJkqS+ZpgmSZIkSZIkNcgwTZIkSZIkSWqQYZokSZIkSZLUIMM0SZIkSZIkqUGGaZIkSZIkSVKD\nDNMkSZIkSZKkBhmmSZIkSZIkSQ0yTJMkSZIkSZIaZJgmSZIkSZIkNcgwTZIkSZIkSWqQYZokSZIk\nSZLUIMM0SZIkSZIkqUGGaZIkSZIkSVKDDNMkSZIkSZKkBhmmSZIkSZIkSQ0yTJMkSZIkSZIaZJgm\nSZIkSZIkNcgwTZIkSZIkSWqQYZokSZIkSZLUIMM0SZIkSZIkqUGGaZIkSZIkSVKDDNMkSZIkSZKk\nBhmmSZIkSZIkSQ0yTJMkSZIkSZIaZJgmSZIkSZIkNcgwTZIkSZIkSWqQYZokSZIkSZLUIMM0SZIk\nSZIkqUGGaZIkSZIkSVKDDNMkSZIkSZKkBhmmSZIkSZIkSQ3quTAtIo6IiPsi4qmI+HlEvKnqmpZv\nbtUFdAGvgdeg388fvAb9fv7gNQCvQb+fP3gN+v38wWvQ7+cPXgPwGvT7+YPXYHycf0+FaRGxH3AK\n8CngjcDtwGURMbnSwpZrfPxP0l5eA69Bv58/eA36/fzBawBeg34/f/Aa9Pv5g9eg388fvAbgNej3\n8wevwfg4/54K04CjgC9n5rmZeQ9wGLAYOLjasiRJkiRJktQLeiZMi4jVgJnAlcNtmZnAFcC2VdUl\nSZIkSZKk3tEzYRowGZgALBzRvhDYsPPlSJIkSZIkqdesWnUBFZoIMG/evKae/OLzLgGaew34PXBe\nk88FuG9ELZ1V/TXohfMHr8H4Pf+l37s/r0G/n//S792f18DPQv8fWPq9+/Ma9Pv5L/3e/XkNqj9/\n8Br0wvmD12D8nv/S792f16AXzr/uuRNXdFwUMyHHv3Ka52Lg3Zl5cV37OcA6mbn3iOPfy9h+WkmS\nJEmSJKn3HJCZ31xeZ8+MTMvMJRFxM7AzcDFARET5+IxlPOUy4ADgfmCoQ2VKkiRJkiSpO00EXkWR\nGS1Xz4xMA4iIfYFzKHbxvIFid8/3AJtn5h8rLE2SJEmSJEk9oGdGpgFk5gURMRk4AdgAuA3YzSBN\nkiRJkiRJrdBTI9MkSZIkSZKkdlql6gIkSZIkSZKk8cIwTZIkSZIkSWqQYZpUoXLHWUmSJEmSNE70\n1AYE0jj0dERskZnzqi5EUmdExEbA4cB2wEbA88BvgO8C52TmcxWWJ0mSJGkl3ICgQyJiTWAm8Ehm\n3j2ibyKwb2aeW0lxHRIR04FtgOsz856I2ByYDawBzMnMn1RaYBtFxKnL6ZoNzAH+BJCZH+tYURWL\niLWAfYFNgQeBuZn5p2qraq+ImAE8mpn3lY/fBxwGDAC/Bb6QmedXWGJbRcTngQsy85qqa6lKRGwJ\nXAEsAJ4CtgW+CawO7AbcDeyemX+urEhJUttFxMuB1wO3Z+YjETEZ+N8U98UX9vofWiPir4GhzKyV\nj7dn6XuiMzPz+gpLlDqi/LfwWGYuGtG+GrBtZv60msq0MoZpHRARrwF+TPHDIYFrgf0z88GyfwPg\ngcycUF2V7RURuwPfAxYBk4C9gXOB2ymmG+8A7NqrgVpEPE9xro+N6NoBuAl4EsjM3KnTtXVKRNwN\nbFfeML4S+CmwHvArikBtCbDNcNDUiyLiduCfMvOKiDgEOAP4KjAPmAYcAszOzK9VWGbblP8OEvg1\ncDbwjcx8qNqqOisirgUuz8zjy8cHAkdm5jYRsR7wE+CnmTm7yjrbLSJWB95FESZuWDY/BPwM+F5m\nPlNVbZ3kDfTSIuI3wG6ZeW/VtbSbQcILf2iexTJG6WbmlVXW1m4RsRXF7wZrU9wbvg24EHiW4r74\nFRT3TLdUVmSbRcQvgBMz8wcRsRfwHeAHFPdErwH+DtgnM39QYZmVKn9H/HBmnlB1Le3Q75+D5UyF\n71EMuEmKP67+w/A9QT9kBDC+7wkN0zogIi4CVgMOAtYFTgdeC7w1Mwf74R9KRPwM+ElmHhcR+wNf\nBM7KzE+U/ScBMzNz1yrrbJeIOAb4EHBIfWAYEUuALUaOVuxFZZCyYWY+HBFzgKnAnpn5eES8DLgI\n+GNmvrfSQtsoIhYD0zPztxFxC8W/ga/W9b8X+ERm/q/Kimyj8v+BtwHvAA4A1gEupQgUL8nM5yss\nryPK/wdel5m/KR+vAgwBr8zMhRHxNoqpnn9VZZ3tFBGbApdR/LL4C2Bh2bUBsDXwe2CPzFxQTYXt\n1+830BHx0eV0nQp8juImmsw8o2NFdVi/Bwnl58AVwJrA08BfA5cAk4EtKa7HezPz2cqKbKOIuBy4\nH/gY8GGKmQo/ysxDy/6vAetl5t6VFdlmEbEI+JvMvC8ifg5clJkn1/UfCRycmTMqK7JiEbEFcEsP\n/yzo98/Bb1D8Mf1Iiozg/1LcE+yamY+W9wIPZmbPrnM/3u8JDdM6ICIWArtk5p3l46AIk/YEdqQY\nldSzN80AEfE4RVi2oPzl8Wlgq8y8tex/HXBFZm64otcZzyLiTRRTOr8PHJuZS/o4TPs1cFhmXl7X\n/2bg/MwcqKzINouIGsWoi5vLz4VdM/P2uv5XA3dm5qTKimyjEf8PrEYxQvVgYBeKH57nAF/v1h+Y\nrRAR9wMHZOZ15eONgD8Aa2XmUxHxKmBeZq5ZWZFtVv4S+STw/sx8YkTf2hSjltfMzN2qqK8T+v0G\nuvws+APFKJx6GwMPUIxUzszcpNO1dUq/BwkRcQkwCByemRkRRwM7ZOaeEbEZxaitb2Tmp6uss10i\n4hHgLZk5r/x5OEQxGvWGsn8GcHFm/nWVdbZTRDwG/G1m3lHeE70tM++o6381cEdmrlVZkW0WEa9f\nySGbUyyD0pO/I/o5GH8A9q77d78GxQjVVwI7UwzG6fWMYFzfE/bkTVoXWpO6G8YsHE4RqlxNkbz3\ngwQoR58MAY/X9f2ZYpRKz8rMGylGIawP3FQGiP2WZg+f70SKddLq/YHi2vSySykWnofi3/57RvTv\nS7GWVs/LzCWZeUFm7g5sQjE67QBgfrWVtd13gS9FxO4RsSNwHnB1Zj5V9k+j+LfQy94CHDfypgmg\nbPsksH3Hq+qsXYCPZuZNmXkFxTV5EPhJRPxleUwv/3z4ClCjGJ08dfgLeI4iUJzay0Fa6VngL8rv\np1L8fKh3KcXnQa/aATglX/yr/mnALhHx8nKa7z8CH6isuvZbnWLdTDJzCbCY4t/EsBrw8grq6qSr\nKab5AtwKvHVE/470/s/D2yjO/bZlfN0K9Ow6uqV+/xxcB3h0+EFmPg3sQzFq9SpgSjVlddS4vic0\nTOuMeyiGrC8lM4+kmOZxcccr6rz7gc3qHm9L8RfJYQO8NFzpOZm5KDM/AJxEMb2hZ//SsBxXltMb\n1+alPxw3ptyIoYcdDewcEVcDvwP+KSKuiYivlG2fBo6pssAqZOZgOfpgKrB7xeW023EUmwx8H7iS\nYqHpg+v6Ezi2gro66THgVSvofxUvXV+y1/T1DXRmHgacAFxWjjzoR/0eJDzGi79EQ7Ge7qrA8No4\nd1Cso9arfkfxh6Rh+7P0ffBGLB2u9aJjgEPLkbrXAp+NiP+OiI+XbV8A/q3SCtvvEeBQivufkV+b\nUExz7GX9/jn4G4pNSF5QTm3/+7KvJ6e3jjCu7wlXrbqAPnERxQfFf4/syMwjy2mPh3W8qs46i7rg\nKDPvGtG/B8XC230hM88vFyKfSbHAZj84fsTjRSMevwPo6V0eM/OBiHgjxQ3kO4AAtqIYzn0dxZSP\nmyossd1+SzHyZJnKEQqXL6+/F5RrYu0XxS7Oq+aIhecz88fVVNZR/wWcGxEnUgSK9etj7EwROH6+\noto6ZfgG+oWF9jPz2Yj4e4opHj1/A52ZF0XEDRT/L7wd+GDVNXXYMcA1EfEKXgwS3sSLG9LsR2/f\nG14OnBoRh1Es/XEScFu+uJPxAPBwVcV1wPnUheaZ+cMR/e8EbuhoRR1WTnHdGvgM8C/AWhQj1J8F\nbqTYrO27FZbYCTcDr8jMZf4uEBHrUtwr9qp+/xy8lGJN7W/XN9bdD3ybYj3JXjau7wldM02SJHVU\nuT7SbIpdm4ZvRIJi4fnTM/NzVdXWCRFxMvCGZa0BEhGrUtxAv6NX10yrV64jewzwUYqp/q/vh3VE\n4YU1oT4DvB14Wdk8HCT8ey8HCRExhWJ2xtYUnwG/o1g7aHgt3fcAG2Vm1/4S1U4RMQl4rhy12vPK\nz4EpFLOmauXU154XEXtTrJk6Zzn96wHvzMxvdLayzik/Bz9LsZZ4v30OrgpMWsZaYVGuJbkq8FfL\nC1t7xXi+JzRMkyRJlYiIqdRtg56Z91VZT6cs7wZ6RH/P30DXi4iZwHbAuZn56MqO7yX9GiQAlJsN\nrAHckz26c6eklevnz8GRIuIZig3q5lVdSyeNx3tCwzRJktQ1IuKVwPGZefBKD+5R/X4N+v38wWvQ\nD+cfEWtSLPfxyMjRmOVSAPtm5rmVFNchXgOIiOnANsD1mXlPRGxOMUpnDWBOZvb0Mjh15/+zzJzf\nT+cfEacup2s2MIdyLenM/FjHiqpYRKxFsSHbphS7e5+fmV27prZhmiRJ6hoRsQVwSy9vBb8y/X4N\n+v38wWvQ6+cfEa8BfkyxNlxSrBe1f2Y+WPZvADzQq+cPXgOAiNidYrrzIopNOPYGzgVupxihtQPF\nDsc9GSh5/vE8xbmOXGB/B+Am4EmKJYV36nRtnRIRdwPbZeYj5R9RfgqsB/yKIlBbAmzTraPU3IBA\nkiR1TES8cyWHbLKS/nGv369Bv58/eA36/fyBk4G7gC2BdYHTgesi4q2ZObjCZ/YOrwH8K8W6YMdF\nxP7AN4GzMvMTABFxEsWakj0ZJuH5f5xiA4J/qg8MI2IJcFCfrB+6OS9mUidRjEZ7Q2Y+HhEvo9jI\n8bPAeyuqb4UcmSZJkjqm/EtssuIdyrLHRyP09TXo9/MHr4HnHwuBXTLzzvJxAF+kWIR9R4oRKb0+\nKstrEPE4MDMzF0TEKhQ7225VtxHH64ArMnPDFb3OeNXv5w9Q7l46B/g+cGxmLinDtC36IUwrfxZs\nmJkPR8SvgcMy8/K6/jdTTPUcqKzIFej5XaIkSVJXeRDYJzNXWdYXMKPqAjug369Bv58/eA36/fzX\npNixEChSw8w8nOIX6quB11RVWAd5DQoJkJnPA0PA43V9fwbWqaKoDurr88/MGynWDVwfuKkMEPtt\ntNPw+U6k+NlQ7w8U16YrGaZJkqROupnixnF5VjZapRf0+zXo9/MHr0G/n/89FNMbl5KZR1KsIXVx\nxyvqPK8B3A9sVvd4W6B+iusALw0Xesn99Pf5A5CZizLzAxTTHK8AenY05nJcGRG3AGsD00b0bUy5\nEUM3cs00SZLUSf8OrLWC/gUUU3x6Wb9fg34/f/Aa9Pv5XwTMAv57ZEdmHllOeTus41V1ltcAzqIu\nOMnMu0b070HvrhcGnv9SMvP8iLiW4g8Nv626ng45fsTjRSMevwO4pkO1jJprpkmSJEmSJEkNcpqn\nJEmSJEmS1CDDNEmSJEmSJKlBhmmSJEmSJElSgwzTJEmSJEmSpAYZpkmSJEmSJEkNMkyTJEkaRyLi\nKxHxp4h4LiJeX3U9kiRJ/SYys+oaJEmS1ICI2B34LrADcB9Qy8znq61KkiSpv6xadQGSJElq2KbA\ng5n5i2V1RsRqmbmkwzVJkiT1Fad5SpIkjQMR8XXgDGAgIp6PiN9ExFUR8fmIOC0i/gj8qDz2qIi4\nIyIWRcRgRJwZEWvVvdYHIuLRiHh7RNwTEU9GxAURsWbZd19EPBIR/xkRUfe81SPiPyLi9+VrXx8R\nO9T1D0TExeVzF0XEneVoOkmSpJ7hyDRJkqTx4aPAr4FDgS2B54FvAe8HzgLeXHfsc8BHKKaCbgJ8\nETgZOLLumEnlMfsCawMXlV+PAnuUz/sOcC1wYfmcM4HNy+c8COwNXBoRf5OZvy7fZ1VgO2Ax8Fpg\nUYvOX5IkqSu4ZpokSdI4ERGzgdmZuUn5+CrgLzJzy5U8793AWZk5pXz8AeBrwKsz8/6y7SzgQGBK\nZj5Vtl0K3JeZ/xARAxRh3isz86G6174c+EVmHhcRtwPfyswTW3rikiRJXcSRaZIkSePbzSMbImIX\n4BiKUWRrU9zzrREREzNzqDxs8XCQVloI3D8cpNW1TSm/fx0wAfhV/dRPYHWgVn5/BnBWROwGXAF8\nOzPvHMvJSZIkdRvXTJMkSRrfnqx/EBEbA98HbgP2AWYAR5Tdq9cdOnKjglxO2/D94suAZ8vX26Lu\nazowGyAzzwamAudShG83RsQRSJIk9RBHpkmSJPWWmRRLefzzcENE7N+C172VYmTaBpl53fIOysw/\nAF8BvhIR/0axxtuZLXh/SZKkrmCYJkmS1FsWAKtFxEcpRqhtB3x4rC+amfdGxDeBcyPinynCtSnA\nTsDtmXlpRJwGXAr8CvhLYEfg7rG+tyRJUjdxmqckSdL49ZKdpDLzDuBjwL8AdwKzKNZPa4WDKKZw\n/gdwD8Vun1sCg2X/BOALFAHaJeUxTvOUJEk9xd08JUmSJEmSpAY5Mk2SJEmSJElqkGGaJEmSJEmS\n1CDDNEmSJEmSJKlBhmmSJEmSJElSgwzTJEmSJEmSpAYZpkmSJEmSJEkNMkyTJEmSJEmSGmSYJkmS\nJEmSJDXIME2SJEmSJElqkGGaJEmSJEmS1CDDNEmSJEmSJKlB/x8uzkkyRzdgdgAAAABJRU5ErkJg\ngg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f5eab5f63d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"relative_change_slow_frames(aggregated_enabled_svg, aggregated_disabled)"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABNMAAAJlCAYAAADw0rQaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3XnUZGV9Luz7B4qICZCIgEMwKIo42xgUEwfUoMajcVrR\nXhqNRtE4cTr5TohDTkD0HGOijRii0ZiTkxjbCMQ4axTjhAMRjDggOSjacQBtRUSRQf19f1R1LF8b\nqNpdL727+7rWqvXuevZT9d67/rzXs/dT3R0AAAAA4Jrtsq0DAAAAAMD2QpkGAAAAAHNSpgEAAADA\nnJRpAAAAADAnZRoAAAAAzEmZBgAAAABzUqYBAAAAwJyUaQAAAAAwJ2UaAAAAAMxJmQYAAAAAcxpF\nmVZVN6mqv6+qTVV1aVV9qqrWrJjzgqr62vT8e6rqoBXnr1dVJ02/45KqOqWq9r12rwQAAACAHdk2\nL9Oqau8kpye5PMkDkhyS5A+SXDQz55gkz0xyVJLDknw/yburareZrzohyYOTPDLJvZLcJMmp18Il\nAAAAALCTqO7etgGqXpzk8O6+99XM+VqSP+vu9dP3eya5MMkTuvuN0/ffTPKY7n7TdM7BSc5Jcvfu\nPmO1rwMAAACAHd82X5mW5CFJPlFVb6yqC6vqrKp68uaTVXVgkv2TnLZ5rLu/m+TjSQ6fDt01yXVW\nzDk3ycaZOQAAAACwVa6zrQMkuUWS30vy0iQvyuQ2zhOr6vLu/vtMirTOZCXarAun55JkvyRXTEu2\nq5rzU6rqhpncVvqlJJdt/WUAAAAAsB3bPckvJ3l3d3/rqiaNoUzbJckZ3f3H0/efqqrbJ3lakr9f\nxf/7gCT/sIrfDwAAAMD257FJXn9VJ8dQpn09k2ebzTonySOmxxckqUxWn82uTtsvySdn5uxWVXuu\nWJ223/TclnwpSV73utflkEMOGRx+a6xbty7r16/fJv97LPwGfoOd/foTv8HOfv2J3yDxG+zs15/4\nDXb260/8Bjv79Sd+g8RvsLNff+I32NbXf8455+Rxj3tcMu2MrsoYyrTTkxy8YuzgJF9Oku4+v6ou\nSHK/JGcn/7UBwd2SnDSdf2aSH07nzG5AcECSj17F/70sSQ455JCsWbNmWdeykL322mub/e+x8Bv4\nDXb260/8Bjv79Sd+g8RvsLNff+I32NmvP/Eb7OzXn/gNEr/Bzn79id9gRNd/tY8DG0OZtj7J6VX1\nnCRvzKQke3KSp8zMOSHJ86vqvEzaweOTfCXJm5PJhgRV9dokL6uqi5JckuTEJKfbyRMAAACAZdnm\nZVp3f6KqHp7kxUn+OMn5SY7u7jfMzHlJVe2R5K+S7J3kQ0ke1N1XzHzVuiQ/SnJKkusleVeSZ1w7\nVwEAAADAzmCbl2lJ0t3vSPKOa5hzbJJjr+b85UmeNX0BAAAAwNLteuyxx27rDNvEcccdd+MkT33q\nU5+aG9/4xtssxx3ucIdt9r/Hwm/gN9jZrz/xG+zs15/4DRK/wc5+/YnfYGe//sRvsLNff+I3SPwG\nO/v1J36DbXn9X//61/PqV786SV597LHHfv2q5lV3X3upRqSq1iQ588wzzxzLw+0AAAAA2EbOOuus\nHHrooUlyaHefdVXzdrn2IgEAAADA9k2ZBgAAAABzUqYBAAAAwJyUaQAAAAAwJ2UaAAAAAMxJmQYA\nAAAAc1KmAQAAAMCclGkAAAAAMCdlGgAAAADMSZkGAAAAAHNSpgEAAADAnJRpAAAAADAnZRoAAAAA\nzEmZBgAAAABzUqYBAAAAwJyUaQAAAAAwJ2UaAAAAAMxJmQYAAAAAc1KmAQAAAMCclGkAAAAAMCdl\nGgAAAADMSZkGAAAAAHNSpgEAAADAnJRpAAAAADAnZRoAAAAAzEmZBgAAAABzUqYBAAAAwJyUaQAA\nAAAwJ2UaAAAAAMxJmQYAAAAAc1KmAQAAAMCclGkAAAAAMCdlGgAAAADMSZkGAAAAAHNSpgEAAADA\nnBYq06rqulV1WlXdarUCAQAAAMBYLVSmdfeVSe64SlkAAAAAYNSG3Ob5uiS/u+wgAAAAADB21xn4\nmSdV1f2TnJnk+7Mnu/v3lxEMAAAAAMZmSJl2+yRnTY9vveJcb10cAAAAABivhcu07j5iNYIAAAAA\nwNgNeWZakqSqDqqqB1TV9afva3mxAAAAAGB8Fi7TquqGVXVakv9I8o4kN56eem1VvXSZ4QAAAABg\nTIasTFuf5MokByS5dGb8H5M8cBmhAAAAAGCMhmxAcGSSB3T3V1bc2fn/ktx8KakAAAAAYISGrEy7\nQX56Rdpmv5jk8q2LAwAAAADjNaRM+1CSx8+876raJckfJvnXpaQCAAAAgBEacpvnHyY5rarummS3\nJC9JcrtMVqb96hKzAQAAAMCoLLwyrbs/k+TWST6c5M2Z3Pb5T0nu0t1fWG48AAAAABiPISvT0t0X\nJ3nRkrMAAAAAwKjNVaZV1R3n/cLuPnt4HAAAAAAYr3lXpv17kk5S07+b1fTv7NiuS8gFAAAAAKMz\n7zPTDkxyi+nfRyY5P8nTk9x5+np6ki9MzwEAAADADmmulWnd/eXNx1V1cpJnd/c7ZqacXVX/meT4\nJP+83IgAAAAAMA4L7+aZ5A6ZrExb6fwkt926OAAAAAAwXkPKtHOSPKeqdts8MD1+zvQcAAAAAOyQ\n5t2AYNbTkrw1yVeqavPOnXfMZBOChywrGAAAAACMzcJlWnefUVW3SPLYJLeZDv9jktd39/eXGQ4A\nAAAAxmTIyrRMS7NXLzkLAMB2aePGjdm0adM2+//77LNPDjjggG32/wEAdiaDyrSqulWSI5LsmxXP\nXevuFywhFwDAdmHjxo05+OBDctlll26zDLvvvkfOPfcchRoAwLVg4TKtqp6S5JVJNiW5IJNnpW3W\nSZRpAMBOY9OmTdMi7XVJDtkGCc7JZZc9Lps2bVKmAQBcC4asTHt+kud1958uOwwAwPbrkCRrtnUI\nAABW2S7XPOVn/EKSk5cdBAAAAADGbkiZdnKSI5cdBAAAAADGbshtnuclOb6q7p7k00munD3Z3Scu\nIxgAAAAAjM2QMu2oJN9Lcu/pa1YnUaYBAAAAsENauEzr7gNXIwgAAAAAjN2QZ6YlSapqt6o6uKqG\nrG4DAAAAgO3OwmVaVe1RVa9NcmmSzyY5YDr+iqr6oyXnAwAAAIDRGLIy7X8nuVOS+yS5bGb8vUke\nvYRMAAAAADBKQ27RfFiSR3f3x6qqZ8Y/m+SWy4kFAAAAAOMzZGXajZJ8YwvjN8hkN08AAAAA2CEN\nKdM+keTBM+83F2hPTvLRrU4EAAAAACM15DbP5yZ5Z1Xddvr5o6fH90hy72WGAwAAAIAxWXhlWnd/\nOMmdMynSPp3kyExu+zy8u89cbjwAAAAAGI8hK9PS3V9I8pQlZwEAAACAURvyzLQtqqo1VfW2ZX0f\nAAAAAIzNQmVaVT2gqv68qv5XVd1iOnabqvrnJP+26PdNP/8nVfXjFa/PrZjzgqr6WlVdWlXvqaqD\nVpy/XlWdVFWbquqSqjqlqvZdNAsAAAAAXJ25y6+q+t0k70zyhCTHJPlYVT0ukx08L0hy++7+jYE5\nPpNkvyT7T1+/NvN/j0nyzCRHJTksyfeTvLuqdpv5/AmZ7DD6yCT3SnKTJKcOzAIAAAAAW7TIM9OO\nTnJMd/9ZVT0yyclJnp7kDt39la3M8cPu/ubV/N/ju/ttSVJVj09yYZKHJXljVe2Z5ElJHtPdH5jO\neWKSc6rqsO4+YyuzAQAAAECSxW7LvGUmBVqS/FOSHyb5H0so0pLkVlX11ar6QlW9rqp+KUmq6sBM\nVqqdtnlid383yceTHD4dumsmpeDsnHOTbJyZAwAAAABbbZEy7fpJLk2S7u4klyf5+hIyfCzJ7yR5\nQJKnJTkwyQer6gaZFGmdyUq0WRdOzyWT20OvmJZsVzUHAAAAALbaIrd5JsmTq+p7M5/9naraNDuh\nu09c5Au7+90zbz9TVWck+XKS30ry+QXzAQAAAMCqWaRM25jkKTPvL0jy2yvmdJKFyrSVuvviqvqP\nJAcleX+SymT12ezqtP2SfHImx25VteeK1Wn7Tc9drXXr1mWvvfb6qbG1a9dm7dq1g68BAAAAgPHa\nsGFDNmzY8FNjF1988VyfnbtM6+5fXijVQFX1c5kUaf+3u8+vqguS3C/J2dPzeya5W5KTph85M5Pn\nt90vyZumcw5OckAmO41erfXr12fNmjXLvgwAAAAARmpLC6nOOuusHHroodf42UVv81y6qvqzJG/N\n5NbOmyY5LsmVSd4wnXJCkudX1XlJvpTk+CRfSfLmZLIhQVW9NsnLquqiJJdksjrudDt5AgAAALBM\ng8q0qrpfknVJDpkOnZPkhO5+74Cvu1mS1ye5YZJvJvlwkrt397eSpLtfUlV7JPmrJHsn+VCSB3X3\nFTPfsS7Jj5KckuR6Sd6V5BkDsgAAAADAVVq4TKuqpyd5eSbF1cunw3dP8o6qWtfdJ13lh7egu6/x\n4WTdfWySY6/m/OVJnjV9AQAAAMCqGLIy7blJ1nX3X8yMnVhVp0/PLVSmAQAAAMD2YpcBn9k7k9so\nV/qXJHttYRwAAAAAdghDyrS3JHn4FsZ/M8nbti4OAAAAAIzXXLd5VtWzZ95+Lsnzquo+ST46Hbt7\nkl9N8tKlpgMAAACAEZn3mWnrVry/KMltp6/NvpPkSUleuIRcAAAAADA6c5Vp3X3gagcBAAAAgLEb\n8sy0JElV7VZVB1fVkB1BAQAAAGC7s3CZVlV7VNVrk1ya5LNJDpiOv6Kq/mjJ+QAAAABgNIasTPvf\nSe6U5D5JLpsZf2+SRy8hEwAAAACM0pBbNB+W5NHd/bGq6pnxzya55XJiAQAAAMD4DFmZdqMk39jC\n+A2S9BbGAQAAAGCHMKRM+0SSB8+831ygPTnJR7c6EQAAAACM1JDbPJ+b5J1Vddvp54+eHt8jyb2X\nGQ4AAAAAxmThlWnd/eEkd86kSPt0kiMzue3z8O4+c7nxAAAAAGA8hqxMS3d/IclTlpwFAAAAAEZt\n7jKtqj6Q5LQk70/y0e6+crVCAQAAAMAYLXKb5/lJnphJmfadqnpvVT2vqg6vql1XJR0AAAAAjMjc\nZVp3/053H5jkFkmeleSrSY5KcnqSi6rqnVX1P1YnJgAAAABse0M2IPhSd/9Ndz+hu2+e5KAkJ2ay\nm+eLlx0QAAAAAMZi0AYEVXXzJPeZee2b5GNJPrCkXAAAAAAwOotsQPD4/KQ82yfJRzIpz16T5N9s\nSAAAAADAjm6RlWl/m2RjJrdyvlZ5BgAAAMDOZpFnpj09k1s5/yTJN6rqrVX1B1V116qq1YkHAAAA\nAOOxyG6er+rux3T3jZP8apJ3JDksydsz2c3z7VX1/61STgAAAADY5hbezTNJuvtz3f3K7n50krsk\n+Yskv5bkT5cZDgAAAADGZOHdPKtq3yRH5CebEdw6yZWZ3AL6r0vMBgAAAACjsshunn+ZSXl2cJIf\nJjkjySmZFGgf6e7LViMgAAAAAIzFIivT7pLknzMpz07v7ktXJxIAAAAAjNPcZVp3H76aQQAAAABg\n7AZtQAAAAAAAOyNlGgAAAADMSZkGAAAAAHNSpgEAAADAnJRpAAAAADCnuXfz3KyqLkrSWzjVSS5L\ncl6Sv+3u/7OV2QAAAABgVBYu05Icl+R5Sd6V5Izp2GFJHpjkpCQHJnllVV2nu1+zlJQAAAAAMAJD\nyrR7JPnj7n7V7GBVPTXJkd39yKo6O8mzkyjTAAAAANhhDHlm2m8kee8Wxk9L8oDp8TuS3GJoKAAA\nAAAYoyFl2reTPGQL4w+ZnkuSGyS5ZGgoAAAAABijIbd5Hp/JM9GOyE+emfYrmaxYe9r0/a8n+cDW\nxwMAAACA8Vi4TOvu11TV55I8M8kjpsPnJrl3d39kOuely4sIAAAAAOMwZGVauvv0JKcvOQsAAAAA\njNqgMq2qdklyUJJ9s+K5a939wSXkAgAAAIDRWbhMq6q7J3l9kpsnqRWnO8muS8gFAAAAAKMzZGXa\nq5J8IsmDk3w9kwINAAAAAHZ4Q8q0WyV5VHeft+wwAAAAADBmu1zzlJ/x8UyelwYAAAAAO5UhK9Ne\nkeSlVbV/kk8nuXL2ZHefvYxgAAAAADA2Q8q0U6d//2ZmrDPZjMAGBAAAAADssIaUaQcuPQUAAAAA\nbAcWLtO6+8urEQQAAAAAxm6uMq2qHprknd195fT4KnX3W5aSDAAAANhubNy4MZs2bdpm/3+fffbJ\nAQccsM3+PzuPeVem/XOS/ZN8Y3p8VTwzDQAAAHYyGzduzMEHH5LLLrt0m2XYffc9cu655yjUWHVz\nlWndvcuWjgEAAAA2bdo0LdJel+SQbZDgnFx22eOyadMmZRqrbsgGBAAAAABbcEiSNds6BKyqeZ+Z\n9ux5v7C7TxweBwAAAADGa96VaevmnNdJlGkAAAAA7JDmfWbagasdBAAAAADGbqs2E6ipZYUBAAAA\ngDEbVKZV1e9W1WeSXJbksqr6TFU9ebnRAAAAAGBcFt7Ns6pekOT3k7wiyUenw4cnWV9VB3T3/1xi\nPgAAAAAYjYXLtCS/l+Qp3b1hZuwtVXV2JgWbMg0AAACAHdKQ2zyvm+QTWxg/M8PKOQAAAADYLgwp\n0/4+k9VpKx2V5B+2Lg4AAAAAjNdcK8mq6mUzbzvJk6vqyCQfm47dLckBSf5uufEAAAAAYDzmvS3z\nLivenzn9e8vp303T1+2WEQoAAAAAxmiuMq27j1jtIAAAAAAwdkOemQYAAAAAO6VBu29W1V2T/FYm\nz0nbbfZcdz9iCbkAAAAAYHQWXplWVY9J8pEkhyR5eJLrZvKstPsmuXip6QAAAABgRIbc5vncJOu6\n+yFJrkhydJLbJHljko1LzAYAAAAAozKkTLtlkrdPj69IcoPu7iTrkxy1rGAAAAAAMDZDyrSLkvz8\n9PirSW4/Pd47yR7LCAUAAAAAYzRkA4IPJvn1JJ9OcnKSl1fVfadjpy0xGwAAAACMypAy7ZlJdp8e\nvyjJlUnukeTUJC9cUi4AAAAAGJ2Fy7Tu/vbM8Y+TvHipiQAAAABgpIasTEtV7ZLkoCT7ZsVz17r7\ng0vIBQAAAACjs3CZVlV3T/L6JDdPUitOd5Jdl5ALAAAAAEZnyMq0VyX5RJIHJ/l6JgUaAAAAAOzw\nhpRpt0ryqO4+b9lhAAAAAGDMdrnmKT/j45k8L21VVNUfVdWPq+plK8ZfUFVfq6pLq+o9VXXQivPX\nq6qTqmpTVV1SVadU1b6rlRMAAACAnc+QlWmvSPLSqto/yaeTXDl7srvPHhqmqn4lyVFJPrVi/Jgk\nz0zy+CRfSvLCJO+uqkO6+4rptBOSPCjJI5N8N8lJSU5Ncs+heQAAAABg1pAy7dTp37+ZGetMNiMY\nvAFBVf1cktcleXKSP15x+ugkx3f326ZzH5/kwiQPS/LGqtozyZOSPKa7PzCd88Qk51TVYd19xpBM\nAAAAADBryG2eB27hdYuZv0OdlOSt3f2+2cGqOjDJ/klO2zzW3d/N5HbTw6dDd82kGJydc26SjTNz\nAAAAAGCrLLwyrbu/vOwQVfWYJHfOpBRbaf9MVrxduGL8wum5JNkvyRXTku2q5gAAAADAVhlym2eq\n6reTPC2T1WiHd/eXq+q/Jzm/u9+84HfdLJPnnd2/u6+8pvnLtm7duuy1114/NbZ27dqsXbv22o4C\nAAAAwLVgw4YN2bBhw0+NXXzxxXN9duEyrap+L8kLMinAnpefPCPtO0n+e5KFyrQkhya5UZKzqqqm\nY7smuVdVPTPJbTJ5Htt++enVafsl+eT0+IIku1XVnitWp+03PXeV1q9fnzVr1iwYGQAAAIDt1ZYW\nUp111lk59NBDr/GzQ56Z9qwkT+nuFyX50cz4J5LcYcD3vXf6uTsnudP09YlMNiO4U3d/MZNC7H6b\nPzDdcOBuST4yHTozyQ9XzDk4yQFJPjogEwAAAAD8jCG3eR6Yn6wIm3V5khss+mXd/f0kn5sdq6rv\nJ/lWd58zHTohyfOr6rwkX0pyfJKvZLoKrru/W1WvTfKyqrooySVJTkxyup08AQAAAFiWIWXa+Zms\nIlu5EcEDk5zzs9MH6Z960/2SqtojyV8l2TvJh5I8qLuvmJm2LpOVcqckuV6SdyV5xpLyAAAAAMCg\nMu1lSU6qqt0zeZbZYVW1Nslzkjx5GaG6+75bGDs2ybFX85nLM7kF9VnLyAAAAAAAKy1cpnX3X1fV\nD5K8MMkeSV6f5GtJju7uNyw5HwAAAACMxpCVaenuf0jyD9NbL3+uu7+x3FgAAAAAMD6DyrTNuvvS\nJJcuKQsAAAAAjNou2zoAAAAAAGwvlGkAAAAAMCdlGgAAAADMSZkGAAAAAHMatAFBVf1KkiOS7JsV\nhVx3//4ScgEAAADA6CxcplXVc5O8MMm5SS5M0jOne4sfAgAAAIAdwJCVaUcneVJ3/+2SswAAAADA\nqA15ZtqPk5y+7CAAAAAAMHZDyrT1SZ6x7CAAAAAAMHZDbvP88yRvr6ovJPlckitnT3b3I5YRDAAA\nAADGZkiZdmImO3n+a5JvxaYDAAAAAOwkhpRpT0jyyO5++7LDAAAAAMCYDXlm2reTfGHZQQAAAABg\n7IaUaccmOa6q9lhyFgAAAAAYtSG3eT47yS2TXFhVX8rPbkCwZgm5AAAAAGB0hpRp/7z0FAAAAACw\nHVi4TOvu41YjCAAAAACM3ZCVaUmSqjo0ySHTt5/t7k8uJxIAAAAAjNPCZVpV7ZvkDUnuk+Q70+G9\nq+pfkzymu7+5vHgAAAAAMB5DdvN8RZKfT3K77v7F7v7FJLdPsmeSE5cZDgAAAADGZMhtng9Mcv/u\nPmfzQHd/rqqekeRflpYMAAAAAEZmyMq0XZJcuYXxKwd+HwAAAABsF4aUX+9L8vKqusnmgaq6aZL1\nSU5bVjAAAAAAGJshZdozM3k+2peq6gtV9YUk50/HnrXMcAAAAAAwJgs/M627/7Oq1iS5f5LbTIfP\n6e73LjUZAAAAAIzMQmVaVV03ybuSPK2735PkPauSCgAAAABGaKHbPLv7yiR3XKUsAAAAADBqQ56Z\n9rokv7vsIAAAAAAwdgs/M236mSdV1f2TnJnk+7Mnu/v3lxEMAAAAAMZmSJl2+yRnTY9vveJcb10c\nAAAAABivucq0qrpjks9094+7+4hVzgQAAAAAozTvM9M+mWSfJKmqL1bVDVcvEgAAAACM07xl2neS\nHDg9/uUFPgcAAAAAO4x5n5l2apIPVNXXM3ku2ieq6kdbmtjdt1hWOAAAAAAYk7nKtO4+qqr+KclB\nSU5M8pokl6xmMAAAAAAYm7l38+zudyVJVR2a5OXdrUwDAAAAYKcyd5m2WXc/cTWCAAAAAMDY2UgA\nAAAAAOakTAMAAACAOSnTAAAAAGBOyjQAAAAAmNPCZVpVPaGqHjzz/iVV9Z2q+khV3Xy58QAAAABg\nPIasTHtukh8kSVUdnuQZSf4wyaYk65cXDQAAAADG5ToDPvNLSc6bHj8syand/eqqOj3J+5cVDAAA\nAADGZsjKtO8lueH0+Mgk75keX5bk+ssIBQAAAABjNGRl2nuS/HVVfTLJrZO8Yzp+uyRfWlIuAAAA\nABidISvTnpHko0lulOSR3f2t6fihSTYsKxgAAAAAjM3CK9O6+ztJnrmF8T9ZSiIAAAAAGKkhK9NS\nVfesqtdV1Ueq6qbTsd+uql9bbjwAAAAAGI+Fy7SqemSSdyf5QZI1Sa43PbVXkucuLxoAAAAAjMuQ\nlWnPT/K07n5Kkitnxk/PpFwDAAAAgB3SkDLt4CQf3ML4xUn23ro4AAAAADBeQ8q0C5IctIXxX0vy\nxa2LAwAAAADjNaRMe02Sl1fV3ZJ0kptU1WOT/HmSVy4zHAAAAACMyXUGfObFmZRwpyXZI5NbPi9P\n8ufd/YolZgMAAACAUVm4TOvuTvKiqvqzTG73/Lkkn+vu7y07HAAAAACMyZCVaUmS7r4iyeeWmAUA\nAAAARm3hMq2qdk/yrCRHJNk3K5671t1rlhMNAAAAAMZlyMq01yY5MskpSc7IZBMCAAAAANjhDSnT\n/luS3+ju05cdBgAAAADGbJdrnvIzvprkkmUHAQAAAICxG1Km/UGSP62qmy87DAAAAACM2ZDbPD+R\nZPckX6yqS5NcOXuyu39xGcEAAAAAYGyGlGkbktw0yXOTXBgbEAAAAACwkxhSpt0jyeHd/allhwEA\nAACAMRvyzLTPJ7n+soMAAAAAwNgNKdP+KMlLq+o+VXXDqtpz9rXsgAAAAAAwFkNu83zX9O9pK8Yr\nk+en7bpViQAAAABgpIaUaUcsPQUAAAAAbAcWLtO6+wOrEQQAAAAAxm7IyrQkSVXtkeSAJLvNjnf3\n2VsbCgAAAADGaOEyrapulOT/JHnQVUzxzDQAAAAAdkhDdvM8IcneSe6W5AdJHpjkCUn+X5KHLi8a\nAAAAAIzLkNs875vkN7v7E1X14yRf7u73VNV3kzwnyduXmhAAAAAARmLIyrQbJPnG9PiiJDeaHn86\nyZplhAIAAACAMRpSpp2b5ODp8aeSPLWqbprkaUm+vqxgAAAAADA2Q8q0lye58fT4uEw2ItiY5NlJ\nnrvol1XV06rqU1V18fT1kap64Io5L6iqr1XVpVX1nqo6aMX561XVSVW1qaouqapTqmrfAdcGAAAA\nAFdp4TKtu1/X3X87PT4zyc2T/EqSX+rufxyQ4T+THJPJLaKHJnlfkjdX1SFJUlXHJHlmkqOSHJbk\n+0neXVW7zXzHCUkenOSRSe6V5CZJTh2QBQAAAACu0kJlWlVdt6q+sLnoSpLuvrS7z+ruTUMCdPfb\nu/td3f2F7j6vu5+f5HtJ7j6dcnSS47v7bd39mSSPz6Qse9g0055JnpRkXXd/oLs/meSJSX61qg4b\nkgkAAAAAtmShMq27r0yy+yplSVXtUlWPSbJHko9U1YFJ9k9y2kyG7yb5eJLDp0N3zWRX0tk552Zy\n6+nmOQAAAACw1YY8M+2kJMdU1XWWFaKqbl9VlyS5PMlfJnn4tBDbP0knuXDFRy6cnkuS/ZJcMS3Z\nrmoOAACr4ETeAAAgAElEQVQAAGy1IYXYryS5X5Ijq+rTmTzD7L909yMGfOfnk9wpyV5JHpXk76rq\nXgO+BwAAAABWzZAy7TtZ8sP9u/uHSb44ffvJ6bPOjk7ykiSVyeqz2dVp+yX55PT4giS7VdWeK1an\n7Tc9d7XWrVuXvfba66fG1q5dm7Vr1w65FAAAAABGbsOGDdmwYcNPjV188cVzfXauMq2qHprknd19\nZXc/ceGEi9slyfW6+/yquiCTlXBnT7PsmeRumdxumiRnJvnhdM6bpnMOTnJAko9e0z9av3591qxZ\ns/QLAAAAAGCctrSQ6qyzzsqhhx56jZ+dd2XamzJ5/tg3q+pHSW7c3d9YNOiWVNX/SvLOTDYM+Pkk\nj01y7yRHTqeckOT5VXVeki8lOT7JV5K8OZlsSFBVr03ysqq6KMklSU5Mcnp3n7GMjAAAAACQzF+m\nfTPJ3ZO8NZPbLnuJGfZN8n+T3DjJxZmsQDuyu9+XJN39kqraI8lfJdk7yYeSPKi7r5j5jnVJfpTk\nlCTXS/KuJM9YYkYAAAAAmLtMe1WSN1dVZ1KkXVBVW5zY3bsuEqC7nzzHnGOTHHs15y9P8qzpCwAA\nAABWxVxlWncfW1VvSHJQkrckeWImGxEAAAAAwE5j7t08u/vzST5fVcclObm7L129WAAAAAAwPnOX\naZt193GrEQQAAAAAxm6XbR0AAAAAALYXyjQAAAAAmJMyDQAAAADmtNQyrar2WOb3AQAAAMCYLFym\nVdVpVXXTLYwfluTfl5IKAAAAAEZoyMq0y5KcXVWPTpKq2qWqjk3y4STvWGI2AAAAABiV6yz6ge5+\ncFU9I8nfVNVvJvnlJDdP8t+6+1+WnA8AAAAARmPhMi1JuvukqrpZkmOS/DDJfbr7I0tNBgAAAAAj\nM+SZab9QVacm+b0kT03yxiT/UlVPX3Y4AAAAABiTISvTPpPk/CR36e7zk7xm+vy0v6yqB3f3g5ea\nEAAAAABGYsgGBK9Kcq9pkZYk6e5/THKnJLstKxgAAAAAjM2QDQiOv4rxryT59a1OBAAAAAAjNWRl\nGgAAAADslJRpAAAAADAnZRoAAAAAzGmuMq2qHlpV113tMAAAAAAwZvOuTHtTkr2TpKp+VFX7rl4k\nAAAAABinecu0bya5+/S4kvTqxAEAAACA8brOnPNeleTNVdWZFGkXVNUWJ3b3rkvKBgAAAACjMleZ\n1t3HVtUbkhyU5C1JnpjkO6sZDAAAAADGZt6Vaenuzyf5fFUdl+Tk7r509WIBAAAAwPjMXaZt1t3H\nJUlV3SjJwdPhc7v7m8sMBgAAAABjM+8GBP+lqvaoqr9J8rUkH5y+vlZVr62qPZYdEAAAAADGYuEy\nLcn6JPdO8tAke09fvzkde+nyogEAAADAuCx8m2eSRyZ5VHe/f2bsHVX1gyRvTPJ7ywgGAAAAAGMz\nZGXaHkku3ML4N6bnAAAAAGCHNKRM+2iS46pq980DVXX9JH8yPQcAAAAAO6Qht3keneTdSb5SVZ+a\njt0pyWVJHrCsYAAAAAAwNguXad39maq6VZLHJrnNdHhDkn/o7h8sMxwAAAAAjMmQlWnp7kuTvGbJ\nWQAAAABg1IY8Mw0AAAAAdkrKNAAAAACYkzINAAAAAOakTAMAAACAOS1cplXVL1XVzWbeH1ZVJ1TV\nUcuNBgAAAADjMmRl2uuTHJEkVbV/kvckOSzJi6rqfy4xGwAAAACMypAy7fZJzpge/1aSz3T3PZI8\nNsnvLCkXAAAAAIzOkDLtukkunx7fP8lbpsefT3LjZYQCAAAAgDEaUqZ9NsnTquqeSX49ybum4zdJ\n8q1lBQMAAACAsRlSph2T5KlJ3p9kQ3d/ajr+0Pzk9k8AAAAA2OFcZ9EPdPf7q2qfJHt290Uzp16d\n5PtLSwYAAAAAI7PwyrSqel+Sn19RpCXJt5P841JSAQAAAMAIDbnN8z5JdtvC+O5J7rlVaQAAAABg\nxOa+zbOq7jjz9rZVtf/M+12TPDDJV5cVDAAAAADGZpFnpv17kp6+3reF8z9I8qxlhAIAAACAMVqk\nTDswSSX5YpLDknxz5twVSb7R3T9aYjYAAAAAGJW5y7Tu/vL0cMhz1gAAAABgu7fIyrT/UlW3SnJE\nkn2zolzr7hcsIRcAAAAAjM7CZVpVPSXJK5NsSnJBJs9Q26yTKNMAAAAA2CENWZn2/CTP6+4/XXYY\nAAAAABizIc8/+4UkJy87CAAAAACM3ZAy7eQkRy47CAAAAACM3ZDbPM9LcnxV3T3Jp5NcOXuyu09c\nRjAAAAAAGJshZdpRSb6X5N7T16xOokwDAAAAYIe0cJnW3QeuRhAAAAAAGLshz0wDAAAAgJ3SXCvT\nquplSf64u78/Pb5K3f37S0kGAAAAACMz722ed0ly3Znjq9JbFwcAAAAAxmuuMq27j9jSMQAAAADs\nTDwzDQAAAADmtPBunklSVXdN8ltJDkiy2+y57n7EEnIBAAAAwOgsvDKtqh6T5CNJDkny8EyepXa7\nJPdNcvFS0wEAAADAiAy5zfO5SdZ190OSXJHk6CS3SfLGJBuXmA0AAAAARmVImXbLJG+fHl+R5Abd\n3UnWJzlqWcEAAAAAYGyGlGkXJfn56fFXk9x+erx3kj2WEQoAAAAAxmjIBgQfTPLrST6d5OQkL6+q\n+07HTltiNgAAAAAYlSFl2jOT7D49flGSK5PcI8mpSV64pFwAAAAAMDoLl2nd/e2Z4x8nefFSEwEA\nAADASA1ZmZaq2jXJw5McMh36XJI3d/cPlxUMAAAAAMZm4TKtqm6X5C1J9k9y7nT4mCTfrKqHdPdn\nlpgPAAAAAEZjyG6ef53ks0lu1t1runtNkl9KcnaSVy8zHAAAAACMyZDbPO+c5K7dfdHmge6+qKqe\nl+TflpYMAAAAAEZmyMq0/0iy3xbG901y3tbFAQAAAIDxGlKmPSfJiVX1qKq62fT1qCQnJDmmqvbc\n/FpuVAAAAADYtobc5vm26d83JunpcU3/vnXmfSfZdXg0AAAAABiXIWXaEUtPAQAAAADbgYXLtO7+\nwGoEAQAAAICxG/LMtKWqqudU1RlV9d2qurCq3lRVt97CvBdU1deq6tKqek9VHbTi/PWq6qSq2lRV\nl1TVKVW177V3JQAAAADs6LZ5mZbknklekeRuSe6f5LpJ/qWqrr95QlUdk+SZSY5KcliS7yd5d1Xt\nNvM9JyR5cJJHJrlXkpskOfXauAAAAAAAdg5Dnpm2VN39G7Pvq+p3knwjyaFJPjwdPjrJ8d39tumc\nxye5MMnDkrxxunPok5I8ZvNtqFX1xCTnVNVh3X3GtXEtAAAAAOzYxrAybaW9M9kJ9NtJUlUHJtk/\nyWmbJ3T3d5N8PMnh06G7ZlIMzs45N8nGmTkAAAAAsFUWLtOq6n1VtfcWxvesqvdtTZiqqkxu1/xw\nd39uOrx/JuXahSumXzg9lyT7JbliWrJd1RwAAAAA2CpDbvO8T5LdtjC+eybPP9saf5nktkl+dSu/\nZ27r1q3LXnvt9VNja9euzdq1a6+tCAAAAABcizZs2JANGzb81NjFF18812fnLtOq6o4zb29bVbMr\nvnZN8sAkX533+7bw/X+R5DeS3LO7vz5z6oIklcnqs9nVafsl+eTMnN2qas8Vq9P2m567SuvXr8+a\nNWuGxgYAAABgO7OlhVRnnXVWDj300Gv87CIr0/49k9stO8mWbuf8QZJnLfB9/2VapP1mknt398bZ\nc919flVdkOR+Sc6ezt8zk90/T5pOOzPJD6dz3jSdc3CSA5J8dEgmAAAAAFhpkTLtwExWiH0xyWFJ\nvjlz7ook3+juHy0aoKr+MsnaJA9N8v2q2m966uLuvmx6fEKS51fVeUm+lOT4JF9J8uZksiFBVb02\nycuq6qIklyQ5McnpdvIEAAAAYFnmLtO6+8vTw2XvAPq0TFa7vX/F+BOT/N30f7+kqvZI8leZ7Pb5\noSQP6u4rZuavS/KjJKckuV6SdyV5xpKzAgAAALATG7IBQarqVkmOSLJvVpRr3f2CRb6ru+cq57r7\n2CTHXs35yzO5zXTQraYAAAAAcE0WLtOq6ilJXplkUyYP9++Z051koTINAAAAALYXQ1amPT/J87r7\nT5cdBgAAAADGbEiZ9gtJTl52EAAAAAC2Xxs3bsymTZu22f/fZ599csABB6z6/xlSpp2c5Mgkr1py\nFgAAAAC2Qxs3bszBBx+Syy67dJtl2H33PXLuueeseqE2pEw7L8nxVXX3JJ9OcuXsye4+cRnBAAAA\nANg+bNq0aVqkvS7JIdsgwTm57LLHZdOmTaMs045K8r0k956+ZnUSZRoAAADATumQJGu2dYhVtXCZ\n1t0HrkaQ7dG2vhc4ufbuBwbg/2/v3uPkquv7j78+hMuSWMC6BrB1NQgu258VTRBEUQSUi1YtaBEE\nC1KoWKkp2kcBxVZFpVpBikVarYo0CEUtigpYUIqgqNwvskRBYBQQHLloSBYCfH5/nBOYLBsyOzsz\nZ3bm9Xw85pGZ8z0z8znnkZk9+97vRZIkSZJa65kGQESsDywAbsnMR9pX0uzQC2OBoXvjgSVJkiRJ\nktRCmBYRc4FPAweWm54P/CIiPg3ckZn/3Mb6elb1Y4Ghm+OBJUmSJEmS1FrPtOOAbYBXAec3bL8Q\n+CAwEGHaE/p/LLAkSZIkSZIKrYRpfw68JTN/FBHZsP2nwPPaU5YkSZIkSZLUe9Zp4TnPBO6ZYvs8\nitU8JUmSJEmSpL7USph2BfC6hserArRDgMtmXJEkSZIkSZLUo1oZ5vk+4LyI+JPy+YvL+y8Ddmpn\ncZIkSZIkSVIvmXbPtMy8FHgRRZB2PbAbxbDPHTLzyvaWJ0mSJEmSJPWOVnqmkZm3AIe2uRZJkiRJ\nkiSpp027Z1pEPBoR86fY/oyIeLQ9ZUmSJEmSJEm9p5UFCGIN2zcAHp5BLZIkSZIkSVJPa3qYZ0S8\nu7ybwCERsayheQ7wSuCmNtYmSZIkSZIk9ZTpzJl2RPlvAIcBjUM6HwZuK7dLkiRJkiRJfanpMC0z\nFwBExEXA3pl5X8eq0qxRq9Wo1+uVvf/w8DAjIyOVvb8kSZIkSRos017NMzN37kQhmn1qtRqjo2NM\nTCyvrIahobksXTpuoCZJkiRJkrpi2mFaRMwBDgJ2BeYzaRGDzNylLZWp59Xr9TJIWwKMVVDBOBMT\nB1Cv1w3TJEmSJElSV0w7TAP+lSJM+zZwA8WCBBpoY8DCqouQJEmSJEnquFbCtH2BfTLz3HYXI0mS\nJEmSJPWydda+y5M8DNzc7kIkSZIkSZKkXtdKmHY8sDgiot3FSJIkSZIkSb2slWGeOwI7A3tGxE+B\nlY2Nmbl3OwqTJEmSJEmSek0rYdr9wNntLkSSJEmSJEnqddMO0zLz7Z0oRJIkSZIkSep1rfRMAyAi\nngmMlg+XZuZv2lOSJEmSJEmS1JumvQBBRMyLiC8AdwHfL293RsTnI2JuuwuUJEmSJEmSekUrq3me\nAOwEvB7YpLy9sdx2fPtKkyRJkiRJknpLK8M83wS8OTP/r2HbuRGxAjgLeGc7CpMkSZIkSZJ6TSs9\n0+YCd0+x/Z6yTZIkSZIkSepLrYRplwEfioihVRsiYkPgn8o2SZIkSZIkqS+1MsxzMfAd4FcRcW25\nbRtgAti9XYVJkiRJkiRJvWbaYVpm3hARWwH7A1uXm88ATs/MFe0sTpIkSZIkSeolrfRMIzOXA59r\ncy2SJEmSJElST5v2nGkRcXREvH2K7QdHxJHtKUuSJEmSJEnqPa0sQPAO4MYptv8UOGxm5UiSJEmS\nJEm9q5UwbTPgnim2/wbYfGblSJIkSZIkSb2rlTDtl8DLp9j+cuDOmZUjSZIkSZIk9a5WFiD4HHBi\nRKwHfK/ctivwCeD4dhUmSZIkSZIk9ZpWwrR/AZ4BfAZYv9w2AXw8M49rV2HSbFCr1ajX65XWMDw8\nzMjISKU1SJIkSZI0KKYdpmVmAkdGxLHAGLAC+HlmPtTu4qReVqvVGB0dY2JieaV1DA3NZenScQM1\nSZIkSZK6oJWeaQBk5jLg8jbWIs0q9Xq9DNKWUOTKVRhnYuIA6vW6YZokSZIkSV3QcpgmaZUxYGHV\nRUiSJEmSpC5oZTVPSZIkSZIkaSAZpkmSJEmSJElNcpinJGlGql7V1hVtJUmSJHVTS2FaRGwF7AzM\nZ1Lvtsz8cBvqkiTNAr2wqq0r2kqSJEnqpmmHaRFxKHAKUAd+DWRDcwKGaZI0IKpf1dYVbSVJkiR1\nVys9044B3p+ZH293MZKk2cpVbSVJkiQNhlYWIHg68JV2FyJJkiRJkiT1ulbCtK8Au7W7EEmSJEmS\nJKnXtTLM82bg2Ih4KXA9sLKxMTNPakdhkiRJkiRJUq9pJUz7a2AZsFN5a5SAYZokSdKAqdVq1Ov1\nyt5/eHjYhUgkSVJXTDtMy8wFnShEkiRJs1OtVmN0dKxc3bcaQ0NzWbp03EBNkiR1XCs90yRJkqTH\n1ev1MkhbQrG6b7eNMzFxAPV63TBNkiR1XFNhWkScAHwgMx8s769RZr6nLZVJkiRplhkDFlZdhCRJ\nUkc12zPtxcB6DffXJGdWjiRJs49zRUmSJEmDo6kwLTN3nuq+JMkgZdA5V1T1nwHwcyBJkqTucc40\nSZoBgxQN+lxRvfAZAD8HkiRJ6h7DNEmagUEPUtRoMOeKqv4zAH4OJEmS1E2GaZLUFoMZpEhP8DMg\nSZKkwbBO1QVIkiRJkiRJs4VhmiRJkiRJktSklsK0iHhbRPwgIu6MiOeU2/4uIt7Y3vIkSZIkSZKk\n3jHtMC0i3gmcAJwLbALMKZvuB/6ufaVJkiRJkiRJvaWVBQj+Fjg0M78eEUc1bL8C+GR7ypI0W9Rq\nNer1emXvPzw87Op9kiRJkqSuaSVMWwBcPcX2h4B5MytH0mxSq9UYHR1jYmJ5ZTUMDc1l6dJxAzVJ\nkiRJUle0EqbdCrwIuH3S9j2A8RlXJGnWqNfrZZC2BBiroIJxJiYOoF6vG6ZJkiRJkrqilTDtBODk\niBgCAtguIvYDjgYOaWdxkmaLMWBh1UVIkiRJktRx0w7TMvM/I2IF8BFgLvBl4E5gcWae2eb6JEmS\nJEmSpJ7RSs80MvN04PSImAs8LTPvaW9ZkiRJkiRJUu9pKUxbJTOXA9XNPC5JkiRJkiR10bTDtIi4\nGsgpmhKYAG4GTs3Mi2ZYmyRJkiRJktRT1mnhOecBWwAPAheVt2XA84DLgc2BCyPije0qUpIkSZIk\nSeoFrYRpfwgcn5mvyMz3lrdXAp8E5mXmbhSLE3yg2ReMiFdExDkRcUdEPBYRb5hinw9HxJ0RsTwi\nLoiILSe1bxARJ0dEPSJ+HxFfjYj5LRyfJEmSJEmSNKVWwrR9gTOm2H4msE95/wxgdBqvOQ+4Bvgb\nphhCGhFHAocDfw1sR9Er7jsRsX7DbicCrwPeBLwSeBbwtWnUIEmSJEmSJD2lVhYgeAh4GcXcaI1e\nRjFnGhQh3QRNyszzgfMBIiKm2GUxcGxmfqvc5y+Bu4E/B86KiI2Ag4F9M/Picp+3A+MRsV1m/qTZ\nWiRJkiRJkqQ1aSVM+zTw7xGxiGKONICXAIcAHysf707R02zGImIBsBnw3VXbMvN3EfFjYAfgLGBb\nimNp3GdpRNTKfQzTJEmSJEmSNGPTDtMy8yMRcSvFsMu3lZuXAodm5pfLx/8OnNKeEtmMYujn3ZO2\n3122AWwKPJyZv3uKfSRJkiRJkqQZaaVnGpl5OnD6U7SvaLmiLjviiCPYeOONV9u23377sd9++1VU\nkSRJkiRJkjrpjDPO4IwzVl8S4IEHHmjquS2FaQDl5P/zmbSIQWbWWn3NNfg1EBS9zxp7p20KXN2w\nz/oRsdGk3mmblm1r9KlPfYqFCxe2sVxJkiRJkiT1sqk6Ul111VUsWrRorc+d9mqeEbFVRFwCrABu\nB24tb7eV/7ZVZt5KEYjt2lDDRsD2wA/LTVcCj0zaZxQYAS5rd02SJEmSJEkaTK30TDuVIrj6M+Au\nivnMZiQi5gFbUvRAA9giIrYB7s3MXwInAsdExM0Uod2xwK+Ab8DjCxJ8HjghIu4Dfg+cBPzAlTwl\nSZIkSZLULq2EaS8CFmXmTW2sY1vgIopgLoHjy+1fAg7OzE9ExFzgP4BNgEuAPTPz4YbXOAJ4FPgq\nsAFwPvCuNtYoSZIkSZK0RrVajXq9Xtn7Dw8PMzIyUtn7D4pWwrQbgeF2FpGZF7OWIaeZ+UHgg0/R\n/hDwt+VNkiRJkiSpa2q1GqOjY0xMLK+shqGhuSxdOm6g1mGthGlHAp+IiPcB1wMrGxsnLQAgSZIk\nSZLU9+r1ehmkLQHGKqhgnImJA6jX64ZpHdZKmHZh+e93J20PiiGac2ZUkSRJkiRJ0qw1Biysugh1\nUCth2s5tr0KSJEmSJEmaBaYdppXzm0mSJEmSJEkDp5WeaQCUq2uOAOs3bs/M62ZalCRJkiRJktSL\nph2mRcQzgS8Ce65hF+dMkyRJkiRJUl9ap4XnnAhsAmwPrAD2AA4Efg68oX2lSZIkSZIkSb2llWGe\nuwBvzMwrIuIx4PbMvCAifgccDXy7rRVKkiRJkiRJPaKVnmnzgHvK+/cBzyzvX49rv0qSJEmSJKmP\ntRKmLQVGy/vXAu+IiD8CDgPualdhkiRJkiRJUq9pZZjnvwKbl/c/BJwP7A88DBzUnrIkSZIkSZKk\n3jPtMC0zlzTcvzIingNsDdQys97O4iRJkiRJkqRe0krPtNVk5nLgqjbUIkmSJEmSJPW0aYdpETGH\nYjjnrsB8Js27lpm7tKUySZIkSZIkqce0OmfaQcC3gRuAbGdBkiRJkiRJUq9qJUzbF9gnM89tdzGS\nJEmSJElSL1tn7bs8ycPAze0uRJIkSZIkSep1rYRpxwOLIyLaXYwkSZIkSZLUy5oa5hkR/zNp0y7A\nnhHxU2BlY0Nm7t2m2iRJkiRJkqSe0uycaQ9Menx2uwuRJEmSJEmSel1TYVpmvr3ThUiSJEmSJEm9\nbtpzpkXEgojYaortW0XEc9tRlCRJkiRJktSLWlmA4FRg+ym2b1+2SZIkSZIkSX2plTDtxcBlU2z/\nEfCimZUjSZIkSZIk9a5WwrQENppi+8bAnJmVI0mSJEmSJPWuVsK07wNHR8TjwVl5/2jg0nYVJkmS\nJEmSJPWaplbznORIikBtaURcUm57BUVvtV3aVZgkSZIkSZLUa6bdMy0zbwReCJwFzAf+ADgN2Doz\nb2hveZIkSZIkSVLvaKVnGpl5J/C+NtciSZIkSZIk9bSWwjRJkiRJkvSEWq1GvV6vtIbh4WFGRkYq\nrUEaBIZpkiRJkiTNQK1WY3R0jImJ5ZXWMTQ0l6VLxw3UpA4zTJMkSZIkaQbq9XoZpC0BxiqqYpyJ\niQOo1+uGaVKHGaZJkiRJktQWY8DCqouQ1GEzCtMiYhjYHpgDXJ6Zd7WlKkmSJEmSJKkHtRymRcSb\ngM8DPwPWA0Yj4l2Z+cV2FSdJkiRJkiT1knWa3TEinjZp0z8B22Xmdpn5YuAvgI+2szhJkiRJkiSp\nlzQdpgFXRsQbGx4/AsxveLwp8HBbqpIkSZIkSZJ60HSGee4OnBwRBwHvAhYD/x0Rc8rXeQw4qN0F\nSpIkSZIkSb2i6TAtM28DXhcR+wEXAycBW5a3OcBNmTnRiSIlSZIkSZKkXjCdYZ4AZOYZwEuAbYD/\nA9bJzGsM0iRJkiRJktTvprWaZ0S8FhgDrs3MQyJiJ+D0iDgP+MfMXNGJIiVJkiRJkqReMJ3VPI8H\nvkjRK+0/IuIDmXkxsBCYAK6OiD07U6YkSZIkSZJUvekM8zwIeG1m7ksRqL0NIDMfzswPAHsD72t7\nhZIkSZIkSVKPmM4wzweBBcCVwLMpeqM9LjNvBF7RvtIkSZKk2aFWq1Gv1yt7/+HhYUZGRip7f0mS\nBsl0wrSjgdMi4iRgLnBgZ0qSJEmSZo9arcbo6BgTE8srq2FoaC5Ll44bqEmS1AVNh2mZeXpEnA9s\nAfw8M+/vXFmSJEnS7FCv18sgbQnFWl3dNs7ExAHU63XDNEmSumBaq3lm5m+B33aoFkmSJGkWG6NY\nm0uSJPWz6SxAIEmSJEmSJA00wzRJkiRJkiSpSYZpkiRJkiRJUpMM0yRJkiRJkqQmGaZJkiRJkiRJ\nTTJMkyRJkiRJkppkmCZJkiRJkiQ1yTBNkiRJkiRJapJhmiRJkiRJktQkwzRJkiRJkiSpSYZpkiRJ\nkiRJUpMM0yRJkiRJkqQmGaZJkiRJkiRJTTJMkyRJkiRJkppkmCZJkiRJkiQ1yTBNkiRJkiRJatK6\nVRcgSZIkSZr9arUa9Xq9svcfHh5mZGSksveXNDgM0yRJkiRJM1Kr1RgdHWNiYnllNQwNzWXp0nED\nNUkdZ5gmSZIkSZqRer1eBmlLgLEKKhhnYuIA6vW6YZqkjjNMkyRJkiS1yRiwsOoiJKmjXIBAkiRJ\nkiRJapJhmiRJkiRJktQkwzRJkiRJkiSpSYZpkiRJkiRJUpMM0yRJkiRJkqQmGaZJkiRJkiRJTTJM\nkyRJkiRJkppkmCZJkiRJkiQ1yTBNkiRJkiRJatK6VRcgSZIkafar1WrU6/XK3n94eJiRkZHK3l+S\nNDgM0yRJkiTNSK1WY3R0jImJ5ZXVMDQ0l6VLxw3UJEkdZ5gmSZIkaUbq9XoZpC0BxiqoYJyJiQOo\n1+uGaZKkjuu7OdMi4l0RcWtErIiIH0XES6quac3OqLqAHuA58BwM+vGD52DQjx88B+A5GPTjB89B\nvxz/GLCwxdvSGTy3igCvvc44o1/+D8yE58BzMOjHD56D2XH8fRWmRcRbgOOBfwJeDFwLfCcihist\nbI1mx3+SzvIceA4G/fjBczDoxw+eA/AcDPrxg+dg0I8fBv0cGKbBoP8fKAz6ORj04wfPwew4/r4K\n04AjgP/IzNMy8ybgMGA5cHC1ZUmSJEmSJKkf9M2caRGxHrAI+NiqbZmZEXEhsENlhUmSJEnqezNd\nzch9Fs4AABG+SURBVPSBBx7gqquumlENrmgqSd3RN2EaMAzMAe6etP1uYLT75UiSJEkaBO1azXTR\nokUzer4rmkpSd/RTmDZdQwDj4+MtPfmJ550LtPYa8Cvg9BafC3DrpFq6q/pz0A/HD56D2Xv8q7/3\nYJ6DQT/+1d97MM+B34X+H1j9vQfzHAz68a/+3oN5DsbHx8sg7a+AzVt8lf8G3jKDKu5iYuLzXHLJ\nJYyNdX9BBv8P+PNw0P8PrP7eg3kO+uH4G5479FT7RWa2/Ca9pBzmuRx4U2ae07D9VGDjzNxr0v5v\nZWZJliRJkiRJkvrP/pn55TU19k3PtMxcGRFXArsC5wBERJSPT5riKd8B9gduAya6VKYkSZIkSZJ6\n0xDwXIrMaI36pmcaQETsA5xKsYrnTyhW93wzsHVm/qbC0iRJkiRJktQH+qZnGkBmnhURw8CHgU2B\na4DdDdIkSZIkSZLUDn3VM02SJEmSJEnqpHWqLkCSJEmSJEmaLQzTJEmSJEmSpCYZpkkVKleclSRJ\nkiRJs0RfLUAgzUIPRcQ2mTledSGSuiMiNgfeCewIbA48BvwC+DpwamY+WmF5kiRJktbCBQi6JCI2\nBBYB92bmjZPahoB9MvO0SorrkogYA14KXJaZN0XE1sBiYANgSWZ+r9ICOygiTlhD02JgCfBbgMx8\nT9eKqlhEzAP2AbYE7gLOyMzfVltVZ0XEQuC+zLy1fPw24DBgBLgd+LfMPLPCEjsqIj4NnJWZl1Rd\nS1UiYlvgQuBmYAWwA/BlYH1gd+BGYI/M/H1lRUqSOi4ingG8ELg2M++NiGHgryiui7/S739ojYg/\nBiYys14+fgWrXxOdnJmXVVii1BXlZ+H+zFw2aft6wA6Z+f1qKtPaGKZ1QUQ8H/hfih8OCVwK7JuZ\nd5XtmwJ3Zuac6qrsrIjYA/gGsAyYC+wFnAZcSzHceCdgt34N1CLiMYpjvX9S007AFcCDQGbmLt2u\nrVsi4kZgx/KC8dnA94GnAz+jCNRWAi9dFTT1o4i4FnhvZl4YEYcAJwGfA8aBUeAQYHFmfqHCMjum\n/BwkcAvweeBLmfnraqvqroi4FLggMz9UPj4AODwzXxoRTwe+B3w/MxdXWWenRcT6wJ9ThImblZt/\nDfwQ+EZmPlxVbd3kBfTqIuIXwO6Z+fOqa+k0g4TH/9C8H1P00s3M71ZZW6dFxHYUvxtsRHFt+Brg\nK8AjFNfFz6K4ZrqqsiI7LCJ+DBybmd+KiDcC/wN8i+Ka6PnAnwF7Z+a3KiyzUuXviO/IzA9XXUsn\nDPr3YDlS4RsUHW6S4o+rf7PqmmAQMgKY3deEhmldEBFnA+sBBwGbACcCfwK8KjNrg/BBiYgfAt/L\nzGMiYl/gM8Apmfn+sv04YFFm7lZlnZ0SEUcBfw0c0hgYRsRKYJvJvRX7URmkbJaZ90TEEmAB8NrM\nfCAingacDfwmM99aaaEdFBHLgbHMvD0irqL4DHyuof2twPsz8/9VVmQHlf8HXgO8Htgf2Bg4jyJQ\nPDczH6uwvK4o/w+8IDN/UT5eB5gAnp2Zd0fEayiGev5RlXV2UkRsCXyH4pfFHwN3l02bAtsDvwL2\nzMybq6mw8wb9Ajoi3r2GphOAT1BcRJOZJ3WtqC4b9CCh/B64ENgQeAj4Y+BcYBjYluJ8vDUzH6ms\nyA6KiAuA24D3AO+gGKlwfmYeWrZ/AXh6Zu5VWZEdFhHLgD/NzFsj4kfA2Zn58Yb2w4GDM3NhZUVW\nLCK2Aa7q458Fg/49+CWKP6YfTpER/DPFNcFumXlfeS1wV2b27Tz3s/2a0DCtCyLibuDVmXl9+Tgo\nwqTXAjtT9Erq24tmgIh4gCIsu7n85fEhYLvMvLpsfwFwYWZu9lSvM5tFxEsohnR+Ezg6M1cOcJh2\nC3BYZl7Q0P4y4MzMHKmsyA6LiDpFr4sry++F3TLz2ob25wHXZ+bcyorsoEn/B9aj6KF6MPBqih+e\npwJf7NUfmO0QEbcB+2fmD8rHmwN3APMyc0VEPBcYz8wNKyuyw8pfIh8E/jIzfzepbSOKXssbZubu\nVdTXDYN+AV1+F9xB0Qun0XOAOyl6KmdmbtHt2rpl0IOEiDgXqAHvzMyMiCOBnTLztRGxFUWvrS9l\n5gerrLNTIuJe4OWZOV7+PJyg6I36k7J9IXBOZv5xlXV2UkTcD7wyM68rr4lek5nXNbQ/D7guM+dV\nVmSHRcQL17LL1hTToPTl74h+D8YdwF4Nn/sNKHqoPhvYlaIzTr9nBLP6mrAvL9J60IY0XDBm4Z0U\nocrFFMn7IEiAsvfJBPBAQ9vvKXqp9K3MvJyiF8IzgSvKAHHQ0uxVxztEMU9aozsozk0/O49i4nko\nPvtvntS+D8VcWn0vM1dm5lmZuQewBUXvtP2BpdVW1nFfB/49IvaIiJ2B04GLM3NF2T5K8VnoZy8H\njpl80QRQbvsA8IquV9VdrwbenZlXZOaFFOfkLuB7EfGH5T79/PPhs0CdonfyglU34FGKQHFBPwdp\npUeAPyjvL6D4+dDoPIrvg361E3B8PvFX/U8Br46IZ5TDfP8OOLCy6jpvfYp5M8nMlcByis/EKnXg\nGRXU1U0XUwzzBbgaeNWk9p3p/5+H11Ac+zVT3K4G+nYe3dKgfw9uDNy36kFmPgTsTdFr9SJgfjVl\nddWsviY0TOuOmyi6rK8mMw+nGOZxTtcr6r7bgK0aHu9A8RfJVUZ4crjSdzJzWWYeCBxHMbyhb//S\nsAbfLYc3bsSTfzg+h3Ihhj52JLBrRFwM/BJ4b0RcEhGfLbd9EDiqygKrkJm1svfBAmCPisvptGMo\nFhn4JvBdiommD25oT+DoCurqpvuB5z5F+3N58vyS/WagL6Az8zDgw8B3yp4Hg2jQg4T7eeKXaCjm\n010XWDU3znUU86j1q19S/CFplX1Z/Tp4c1YP1/rRUcChZU/dS4GPRsR/RcT7ym3/Bnys0go7717g\nUIrrn8m3LSiGOfazQf8e/AXFIiSPK4e2/0XZ1pfDWyeZ1deE61ZdwIA4m+KL4r8mN2Tm4eWwx8O6\nXlV3nUJDcJSZN0xq35Ni4u2BkJlnlhORL6KYYHMQfGjS42WTHr8e6OtVHjPzzoh4McUF5OuBALaj\n6M79A4ohH1dUWGKn3U7R82RKZQ+FC9bU3g/KObHeEsUqzuvmpInnM/N/q6msq/4TOC0ijqUIFBvn\nx9iVInD8dEW1dcuqC+jHJ9rPzEci4i8ohnj0/QV0Zp4dET+h+L/wOuDtVdfUZUcBl0TEs3giSHgJ\nTyxI8xb6+9rwAuCEiDiMYuqP44Br8omVjEeAe6oqrgvOpCE0z8xvT2p/A/CTrlbUZeUQ1+2BjwD/\nAMyj6KH+CHA5xWJtX6+wxG64EnhWZk75u0BEbEJxrdivBv178DyKObW/1rix4XrgaxTzSfazWX1N\n6JxpkiSpq8r5kRZTrNq06kIkKCaePzEzP1FVbd0QER8HXjTVHCARsS7FBfTr+3XOtEblPLJHAe+m\nGOr/wkGYRxQenxPqI8DrgKeVm1cFCf/Sz0FCRMynGJ2xPcV3wC8p5g5aNZfum4HNM7Nnf4nqpIiY\nCzxa9lrte+X3wHyKUVP1cuhr34uIvSjmTF2yhvanA2/IzC91t7LuKb8HP0oxl/igfQ+uC8ydYq6w\nKOeSXBf4ozWFrf1iNl8TGqZJkqRKRMQCGpZBz8xbq6ynW9Z0AT2pve8voBtFxCJgR+C0zLxvbfv3\nk0ENEgDKxQY2AG7KPl25U9LaDfL34GQR8TDFAnXjVdfSTbPxmtAwTZIk9YyIeDbwocw8eK0796lB\nPweDfvzgORiE44+IDSmm+7h3cm/MciqAfTLztEqK6xLPAUTEGPBS4LLMvCkitqbopbMBsCQz+3oa\nnIbj/2FmLh2k44+IE9bQtBhYQjmXdGa+p2tFVSwi5lEsyLYlxereZ2Zmz86pbZgmSZJ6RkRsA1zV\nz0vBr82gn4NBP37wHPT78UfE84H/pZgbLinmi9o3M+8q2zcF7uzX4wfPAUBE7EEx3HkZxSIcewGn\nAddS9NDaiWKF474MlDz+eIziWCdPsL8TcAXwIMWUwrt0u7ZuiYgbgR0z897yjyjfB54O/IwiUFsJ\nvLRXe6m5AIEkSeqaiHjDWnbZYi3ts96gn4NBP37wHAz68QMfB24AtgU2AU4EfhARr8rM2lM+s394\nDuAfKeYFOyYi9gW+DJySme8HiIjjKOaU7MswCY//fRQLELy3MTCMiJXAQQMyf+jWPJFJHUfRG+1F\nmflARDyNYiHHjwJvrai+p2TPNEmS1DXlX2KTp16hLPu8N8JAn4NBP37wHHj8cTfw6sy8vnwcwGco\nJmHfmaJHSr/3yvIcRDwALMrMmyNiHYqVbbdrWIjjBcCFmbnZU73ObDXoxw9Qrl66BPgmcHRmrizD\ntG0GIUwrfxZslpn3RMQtwGGZeUFD+8sohnqOVFbkU+j7VaIkSVJPuQvYOzPXmeoGLKy6wC4Y9HMw\n6McPnoNBP/4NKVYsBIrUMDPfSfEL9cXA86sqrIs8B4UEyMzHgAnggYa23wMbV1FUFw308Wfm5RTz\nBj4TuKIMEAett9Oq4x2i+NnQ6A6Kc9OTDNMkSVI3XUlx4bgma+ut0g8G/RwM+vGD52DQj/8miuGN\nq8nMwynmkDqn6xV1n+cAbgO2ani8A9A4xHWEJ4cL/eQ2Bvv4AcjMZZl5IMUwxwuBvu2NuQbfjYir\ngI2A0Ultz6FciKEXOWeaJEnqpn8B5j1F+80UQ3z62aCfg0E/fvAcDPrxnw3sB/zX5IbMPLwc8nZY\n16vqLs8BnEJDcJKZN0xq35P+nS8MPP7VZOaZEXEpxR8abq+6ni750KTHyyY9fj1wSZdqmTbnTJMk\nSZIkSZKa5DBPSZIkSZIkqUmGaZIkSZIkSVKTDNMkSZIkSZKkJhmmSZIkSZIkSU0yTJMkSZIkSZKa\nZJgmSZI0i0TEZyPitxHxaES8sOp6JEmSBk1kZtU1SJIkqQkRsQfwdWAn4FagnpmPVVuVJEnSYFm3\n6gIkSZLUtC2BuzLzx1M1RsR6mbmyyzVJkiQNFId5SpIkzQIR8UXgJGAkIh6LiF9ExEUR8emI+FRE\n/AY4v9z3iIi4LiKWRUQtIk6OiHkNr3VgRNwXEa+LiJsi4sGIOCsiNizbbo2IeyPiXyMiGp63fkR8\nMiJ+Vb72ZRGxU0P7SEScUz53WURcX/amkyRJ6hv2TJMkSZod3g3cAhwKbAs8BnwV+EvgFOBlDfs+\nCvwtxVDQLYDPAB8HDm/YZ265zz7ARsDZ5e0+YM/yef8DXAp8pXzOycDW5XPuAvYCzouIP83MW8r3\nWRfYEVgO/AmwrE3HL0mS1BOcM02SJGmWiIjFwOLM3KJ8fBHwB5m57Vqe9ybglMycXz4+EPgC8LzM\nvK3cdgpwADA/M1eU284Dbs3Mv4mIEYow79mZ+euG174A+HFmHhMR1wJfzcxj23rgkiRJPcSeaZIk\nSbPblZM3RMSrgaMoepFtRHHNt0FEDGXmRLnb8lVBWulu4LZVQVrDtvnl/RcAc4CfNQ79BNYH6uX9\nk4BTImJ34ELga5l5/UwOTpIkqdc4Z5okSdLs9mDjg4h4DvBN4Bpgb2Ah8K6yef2GXScvVJBr2Lbq\nevFpwCPl623TcBsDFgNk5ueBBcBpFOHb5RHxLiRJkvqIPdMkSZL6yyKKqTz+ftWGiNi3Da97NUXP\ntE0z8wdr2ikz7wA+C3w2Ij5GMcfbyW14f0mSpJ5gmCZJktRfbgbWi4h3U/RQ2xF4x0xfNDN/HhFf\nBk6LiL+nCNfmA7sA12bmeRHxKeA84GfAHwI7AzfO9L0lSZJ6icM8JUmSZq8nrSSVmdcB7wH+Abge\n2I9i/rR2OIhiCOcngZsoVvvcFqiV7XOAf6MI0M4t93GYpyRJ6iuu5ilJkiRJkiQ1yZ5pkiRJkiRJ\nUpMM0yRJkiRJkqQmGaZJkiRJkiRJTTJMkyRJkiRJkppkmCZJkiRJkiQ1yTBNkiRJkiRJapJhmiRJ\nkiRJktQkwzRJkiRJkiSpSYZpkiRJkiRJUpMM0yRJkiRJkqQmGaZJkiRJkiRJTfr/czyNllYfej0A\nAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f5eab12fcd0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"relative_change_slow_frames(aggregated_enabled_no_svg, aggregated_disabled)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Compute the percentage of frames that took more than 2 frames (CONTENT_FRAME_TIME score > 200)"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"6.128733037465622"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def percent_frames_slower_than(count, dataset):\n",
" percent = dataset[count-1:].map(lambda x: 100*x/dataset[0:].sum())\n",
" return percent.sum()\n",
"\n",
"percent_frames_slower_than(2, aggregated_enabled)"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"8.15013378087267"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"percent_frames_slower_than(2, aggregated_enabled_svg)"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"4.7567216812923245"
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"percent_frames_slower_than(2, aggregated_enabled_no_svg)"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1.7293934262055126"
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"percent_frames_slower_than(2, aggregated_disabled)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now try with some other thresholds:"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(2.135488829214093, 0.6120535445425546)"
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"percent_frames_slower_than(3, aggregated_enabled), percent_frames_slower_than(3, aggregated_disabled)"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(1.0368759253895876, 0.29610984010566543)"
]
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"percent_frames_slower_than(4, aggregated_enabled), percent_frames_slower_than(4, aggregated_disabled)"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(0.22675456756652698, 0.07780290671178065)"
]
},
"execution_count": 52,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"percent_frames_slower_than(8, aggregated_enabled), percent_frames_slower_than(8, aggregated_disabled)"
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(0.02077171139252958, 0.007091726712999388)"
]
},
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"percent_frames_slower_than(16, aggregated_enabled), percent_frames_slower_than(16, aggregated_disabled)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python [default]",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.12"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
# coding: utf-8
# In[1]:
import ujson as json
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
from moztelemetry.dataset import Dataset
get_ipython().magic(u'matplotlib inline')
# We can look at the schema of the dataset we are interested in:
# In[2]:
Dataset.from_source('telemetry').schema
# Let's create a Dataset of Telemetry submissions for a given submission date:
# In[3]:
pings_dataset = (
Dataset.from_source('telemetry')
.where(docType='main')
#.where(appBuildId='20180721100146')
#.where(submissionDate ='20180925')
.where(submissionDate=lambda x: x > '20181100')
.where(appUpdateChannel="nightly")
)
# Select only the properties we need and then take a 10% sample:
# In[4]:
pings = (
pings_dataset
.select(
'clientId',
buildId='application.buildId',
frame_time='payload.processes.gpu.histograms.CONTENT_FRAME_TIME.values',
frame_time_sum='payload.processes.gpu.histograms.CONTENT_FRAME_TIME.sum',
frame_time_svg='payload.processes.gpu.histograms.CONTENT_FRAME_TIME_WITH_SVG.values',
frame_time_svg_sum='payload.processes.gpu.histograms.CONTENT_FRAME_TIME_WITH_SVG.sum',
experiments='environment.experiments',
osName='environment.system.os.name',
gfx='environment.system.gfx')
.records(sc, sample=1.)
)
# In[5]:
#pings = (
# pings_dataset
# .records(sc, sample=0.01)
#)
#pings.take(1)
#
# In[6]:
pings.count()
# In[7]:
pings.take(4)
# In[8]:
# We add two extra steps. The first rewrites the ping to have some
# information more easily accessible (like the primary adapter),
# and the second step removes any pings that don't have adapter
# information.
def rewrite_ping(p):
adapters = p.get('gfx', None).get('adapters', None)
if not adapters:
return None
adapter = adapters[0]
p['adapter'] = adapter
# Convert the version to a tuple of integers.
#if 'driverVersion' in adapter:
# p['driverVersion'] = [int(n) for n in adapter['driverVersion'].split('.') if n.isdigit()]
return p
def filter_ping(p):
return 'adapter' in p
#rpings = pings.map(rewrite_ping).filter(filter_ping)
#rpings = rpings.cache()
#rpings.count()
# To prevent pseudoreplication, let's consider only a single submission for each client. As this step requires a distributed shuffle, it should always be run only after extracting the attributes of interest with *Dataset.select()*.
# In[9]:
#subset = (
# rpings
# .map(lambda p: (p['clientId'], p))
# .reduceByKey(lambda p1, p2: p1)
# .map(lambda p: p[1])
#)
# Caching is fundamental as it allows for an iterative, real-time development workflow:
# In[10]:
cached = pings.cache()
# How many pings are we looking at?
# In[11]:
cached.count()
# In[12]:
wrExperiment = cached.filter(lambda p: "experiments" in p and p["experiments"]).filter(lambda p: "prefflip-webrender-v1-2-1492568" in p["experiments"])
wrExperiment.count()
# In[13]:
cached = cached.filter(lambda p: "features" in p["gfx"])
cached = cached.filter(lambda p: "wrQualified" in p["gfx"]["features"])
cached.count()
# In[14]:
wrQualified = cached.filter(lambda p: p["gfx"]["features"]["wrQualified"]["status"] == "available" )
wrQualified.count()
wrQualified = wrQualified.filter(lambda p: len(p["gfx"]["monitors"]) == 1)
# In[15]:
wrExperiment = cached.filter(lambda p: "experiments" in p and p["experiments"]).filter(lambda p: "prefflip-webrender-v1-2-1492568" in p["experiments"])
wrExperiment.map(lambda p: p["gfx"]["features"]["compositor"]).countByValue()
# In[16]:
wrExperiment = wrExperiment.filter(lambda p: p["gfx"]["features"]["wrQualified"]["status"] == "available")
wrExperiment = wrExperiment.filter(lambda p: len(p["gfx"]["monitors"]) == 1 and p["gfx"]["monitors"][0]["refreshRate"] == 60)
# In[17]:
wrExperiment.map(lambda p: p["experiments"]["prefflip-webrender-v1-2-1492568"]["branch"]).countByValue()
# In[18]:
treatment = wrExperiment.filter(lambda p: p["experiments"]["prefflip-webrender-v1-2-1492568"]["branch"] == "enabled")
control = wrExperiment.filter(lambda p: p["experiments"]["prefflip-webrender-v1-2-1492568"]["branch"] == "disabled")
treatment.count(), control.count()
# In[19]:
treatment.map(lambda p: p["gfx"]["features"]["compositor"]).countByValue()
# In[20]:
wrQualified.take(1)
# In[21]:
wrEnabled = treatment.filter(lambda p: p["gfx"]["features"]["compositor"] == "webrender")
wrDisabled = control.filter(lambda p: p["gfx"]["features"]["compositor"] == "d3d11")
wrEnabled.count(), wrDisabled.count()
# In[22]:
wrDisabled2 = wrDisabled.sample(False, wrEnabled.count()/(wrDisabled.count()*1.0))
wrDisabled3 = wrDisabled.sample(False, wrEnabled.count()/(wrDisabled.count()*1.0))
wrDisabled = wrDisabled.sample(False, wrEnabled.count()/(wrDisabled.count()*1.0))
# In[23]:
wrDisabled3.count(), wrDisabled.count(), wrDisabled2.count(), wrEnabled.count()
# In[24]:
def aggregate_series(s1, s2):
"""Function to sum up series; if one is None, return other"""
if s1 is None:
return s2
if s2 is None:
return s1
return s1.add(s2, fill_value=0)
def roundDict(x):
int_x = {int(k) : v for k, v in x.items()}
d = {}
lastValue = 0
for (key, value) in sorted(int_x.iteritems()):
if key < 100:
lastValue = value
continue
rounded = key/100
if rounded in d:
d[rounded] += lastValue
else:
d[rounded] = lastValue
lastValue = value
return d
# In[25]:
aggregated_enabled_svg = (
wrEnabled
.filter(lambda p: p['frame_time_svg'])
.map(lambda p: pd.Series(roundDict(p['frame_time_svg'])))
.reduce(aggregate_series)
)
aggregated_enabled_svg.index = [int(i) for i in aggregated_enabled_svg.index]
aggregated_enabled_svg = aggregated_enabled_svg.sort_index()
aggregated_enabled = (
wrEnabled
.filter(lambda p: p['frame_time'])
.map(lambda p: pd.Series(roundDict(p['frame_time'])))
.reduce(aggregate_series)
)
aggregated_enabled.index = [int(i) for i in aggregated_enabled.index]
aggregated_enabled = aggregated_enabled.sort_index()
aggregated_disabled = (
wrDisabled
.filter(lambda p: p['frame_time'])
.map(lambda p: pd.Series(roundDict(p['frame_time'])))
.reduce(aggregate_series)
)
aggregated_disabled.index = [int(i) for i in aggregated_disabled.index]
aggregated_disabled = aggregated_disabled.sort_index()
# In[26]:
aggregated_disabled
# In[27]:
aggregated_enabled_svg
# In[28]:
aggregated_enabled
# In[29]:
aggregated_enabled_no_svg = aggregated_enabled - aggregated_enabled_svg
aggregated_enabled_no_svg
# In[30]:
def percent_slow_frames(dataset1, dataset2):
percent_enabled = dataset1[1:].map(lambda x: 100*x/dataset1[0:].sum())
percent_disabled = dataset2[1:].map(lambda x: 100*x/dataset2[0:].sum())
df = pd.DataFrame()
df['enabled'] = percent_enabled
df['disabled'] = percent_disabled
p = df.plot(kind='bar', figsize=(15, 7))
p.set_xlabel("frames")
p.set_ylabel("percentage of content paints that happen in x frames")
return p
def relative_change_slow_frames(dataset1, dataset2):
percent_enabled = dataset1[1:].map(lambda x: x/dataset1[0:].sum())
percent_disabled = dataset2[1:].map(lambda x: x/dataset2[0:].sum())
p = (100*(percent_enabled - percent_disabled) / percent_disabled).plot(kind='bar', figsize=(15, 7))
p.set_xlabel("frames")
p.set_ylabel("% change in content paints of x frames from enabling WebRender")
# In[31]:
percent_slow_frames(aggregated_enabled, aggregated_disabled)
# In[32]:
percent_slow_frames(aggregated_enabled_svg, aggregated_disabled)
# In[33]:
percent_slow_frames(aggregated_enabled_no_svg, aggregated_disabled)
# In[34]:
relative_change_slow_frames(aggregated_enabled, aggregated_disabled)
# In[35]:
relative_change_slow_frames(aggregated_enabled_svg, aggregated_disabled)
# In[36]:
relative_change_slow_frames(aggregated_enabled_no_svg, aggregated_disabled)
# Compute the percentage of frames that took more than 2 frames (CONTENT_FRAME_TIME score > 200)
# In[45]:
def percent_frames_slower_than(count, dataset):
percent = dataset[count-1:].map(lambda x: 100*x/dataset[0:].sum())
return percent.sum()
percent_frames_slower_than(2, aggregated_enabled)
# In[46]:
percent_frames_slower_than(2, aggregated_enabled_svg)
# In[47]:
percent_frames_slower_than(2, aggregated_enabled_no_svg)
# In[48]:
percent_frames_slower_than(2, aggregated_disabled)
# Now try with some other thresholds:
# In[50]:
percent_frames_slower_than(3, aggregated_enabled), percent_frames_slower_than(3, aggregated_disabled)
# In[51]:
percent_frames_slower_than(4, aggregated_enabled), percent_frames_slower_than(4, aggregated_disabled)
# In[52]:
percent_frames_slower_than(8, aggregated_enabled), percent_frames_slower_than(8, aggregated_disabled)
# In[53]:
percent_frames_slower_than(16, aggregated_enabled), percent_frames_slower_than(16, aggregated_disabled)
# In[ ]:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment