{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Identity Graph Sample\n", "### Made Available by: AWS Adtech/Martech Team" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## About this sample solution\n", "\n", "An identity graph provides a single unified view of customers and prospects by linking multiple identifiers such as cookies, device identifiers, IP addresses, email IDs, and internal enterprise IDs to a known person or anonymous profile using privacy-compliant methods. Typically, identity graphs are part of a larger identity resolution architecture. Identity resolution is the process of matching human identity across a set of devices used by the same person or a household of persons for the purposes of building a representative identity, or known attributes, for targeted advertising. \n", "\n", "The following notebook walks you through a sample solution for identity graph and how it can be used within a larger identity resolution architecture using an open dataset and the use of a graph database, Amazon Neptune. In this notebook, we also show a number of data visualizations that allow one to better understand the structure of an identity graph and the aspects of an identity resolution dataset and use case. Later in the notebook, we expose some additional use cases that can be exposed using this particular dataset.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Glossary\n", "\n", "* **transient identity** - cookie or user device that interacted with the website\n", "* **persistent identity** - single user, one user might have many transient identifiers, as he might own many devices, or use many cookies\n", "* **group identity** (identityGroup) - group of persistent identites forming up households, or companies\n", "* **group of websites** (websiteGroup) - group of websites with the same domain\n", "* **session** - group of single user events on one domain. User can have many sessions, each session has at least one event. Events a, b, and c belongs to the same session if following conditions holds: \n", " * each event is inititated by the same transientId\n", " * each event is on the same domain; \n", " * given timestamp(a) < timestamp(b) < timestamp(c) and maximum delta between two consecutive events X\n", " * timestamp(b) - timestamp(a) < X and \n", " * timestamp(c) - timestamp(a) < X" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Dataset\n", "\n", "The dataset used for the purposes of this demo comes from **CIKM Cup 2016 Track 1: Cross-Device Entity Linking Challenge**, https://competitions.codalab.org/competitions/11171.\n", "\n", "The dataset contains an anonymized browse log for a set of anonymized userIDs representing the same user across multiple devices, as well as obfuscated site URLs and HTML titles those users visited. There are not much of user attributes, so they had to be generated artificially." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Dataset download\n", "\n", "The dataset has already been loaded into an Amazon Neptune cluster for you to use with this notebook. However, should you choose to inspect the raw data itself, the data can be found here:\n", "\n", "Links with CSV files below:\n", "* https://aws-admartech-samples.s3.amazonaws.com/identity-resolution/data/identity_group_edges.csv\n", "* https://aws-admartech-samples.s3.amazonaws.com/identity-resolution/data/identity_group_nodes.csv\n", "* https://aws-admartech-samples.s3.amazonaws.com/identity-resolution/data/ip_edges.csv\n", "* https://aws-admartech-samples.s3.amazonaws.com/identity-resolution/data/ip_nodes.csv\n", "* https://aws-admartech-samples.s3.amazonaws.com/identity-resolution/data/persistent_edges.csv\n", "* https://aws-admartech-samples.s3.amazonaws.com/identity-resolution/data/persistent_nodes.csv\n", "* https://aws-admartech-samples.s3.amazonaws.com/identity-resolution/data/transient_edges.csv\n", "* https://aws-admartech-samples.s3.amazonaws.com/identity-resolution/data/transient_nodes.csv\n", "* https://aws-admartech-samples.s3.amazonaws.com/identity-resolution/data/website_group_edges.csv\n", "* https://aws-admartech-samples.s3.amazonaws.com/identity-resolution/data/website_group_nodes.csv\n", "* https://aws-admartech-samples.s3.amazonaws.com/identity-resolution/data/websites.csv\n", " \n" ] }, { "attachments": { "Untitled%20%281%29.svg": { "image/svg+xml": [ "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgY29udGVudFNjcmlwdFR5cGU9InRleHQvZWNtYXNjcmlwdCIKICAgd2lkdGg9IjYwMCIKICAgem9vbUFuZFBhbj0ibWFnbmlmeSIKICAgY29udGVudFN0eWxlVHlwZT0idGV4dC9jc3MiCiAgIHZpZXdCb3g9Ii0xMjIxIC0zMzYgNjAwIDYwMCIKICAgaGVpZ2h0PSI2MDAiCiAgIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiCiAgIHZlcnNpb249IjEuMSIKICAgaWQ9InN2ZzE1MCIKICAgc29kaXBvZGk6ZG9jbmFtZT0iVW50aXRsZWQuc3ZnIgogICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjkyLjMgKDI0MDU1NDYsIDIwMTgtMDMtMTEpIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExNTYiPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgICAgPGRjOnRpdGxlIC8+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxkZWZzCiAgICAgaWQ9ImRlZnMxNTQiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxOTIwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwMTUiCiAgICAgaWQ9Im5hbWVkdmlldzE1MiIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6em9vbT0iMS4yOCIKICAgICBpbmtzY2FwZTpjeD0iMzE3LjE4NDQ0IgogICAgIGlua3NjYXBlOmN5PSIzODYuMTcxNDgiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9Ijg0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzE1MCIKICAgICBzaG93Z3VpZGVzPSJmYWxzZSIgLz4KICA8ZwogICAgIGlkPSJlZGdlcyIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjkzNjI2ODU5LDAsMCwwLjkzNjI2ODU5LC01Mi4xMDczNDEsNS41OTI2OTMpIj4KICAgIDxwYXRoCiAgICAgICBkPSJtIC05MzcuNzA3NTIsLTE3MS42NDI3MSBjIC01MC41ODAzMiwtMTAuODg4MyAtMTEwLjExODI4LC0xMDMuMDkxMTUgLTk5LjIyOTk4LC0xNTMuNjcxNDQiCiAgICAgICBjbGFzcz0iaWRfMSBpZF81IgogICAgICAgaWQ9InBhdGgyIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5OjIsIDI7c3Ryb2tlLWRhc2hvZmZzZXQ6MDtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHBhdGgKICAgICAgIGQ9Im0gLTkzNy43MDc1MiwtMTcxLjY0MjcxIGMgLTMyLjI2OTksLTI5LjMwMTQgLTM2LjcyMjUzLC0xMjEuNjU4MjUgLTcuNDIxMTQsLTE1My45MjgwOSIKICAgICAgIGNsYXNzPSJpZF8xIGlkXzYiCiAgICAgICBpZD0icGF0aDQiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6MiwgMjtzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZS1vcGFjaXR5OjEiIC8+CiAgICA8cGF0aAogICAgICAgZD0ibSAtOTM3LjcwNzUyLC0xNzEuNjQyNzEgYyAtMTIuNTkxOCwtNTAuODg3NyA1MC42MDc4NCwtMTIwLjkyNTE0IDEwMS40OTU1NCwtMTMzLjUxNjk0IgogICAgICAgY2xhc3M9ImlkXzEgaWRfNyIKICAgICAgIGlkPSJwYXRoNiIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheToyLCAyO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8+CiAgICA8cGF0aAogICAgICAgZD0ibSAtMTAwMS42MTEsLTEwNC45NzY1MyBjIC0wLjU1MjUsLTI2LjExMzkyIDcyLjMyNDYyLC0zMC40OTkzMiA2Ny4xNDExNSwtNjMuMDY4NzgiCiAgICAgICBjbGFzcz0iaWRfMCBpZF8xIgogICAgICAgaWQ9InBhdGg4IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLWRhc2hvZmZzZXQ6MDtzdHJva2Utb3BhY2l0eToxIgogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4KICAgIDxwYXRoCiAgICAgICBkPSJtIC0xMDAxLjYxMSwtMTA0Ljk3NjUzIGMgNTYuMDE1ODUsLTMwLjk3MTg4IDE4Ni40OTc0MSw2LjU5NDA1MyAyMTcuNDY5MjgsNjIuNjA5ODc3IgogICAgICAgY2xhc3M9ImlkXzAgaWRfMiIKICAgICAgIGlkPSJwYXRoMTAiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZS1vcGFjaXR5OjEiIC8+CiAgICA8cGF0aAogICAgICAgZD0ibSAtMTAwMS42MTEsLTEwNC45NzY1MyBjIDQ5LjYyNDY3LDIzLjAwNTIxNyA4OS41NTM4NywxMzEuOTUwMDI1IDY2LjU0ODYyLDE4MS41NzQ2NzUiCiAgICAgICBjbGFzcz0iaWRfMCBpZF8zIgogICAgICAgaWQ9InBhdGgxMiIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxwYXRoCiAgICAgICBkPSJtIC0xMDAxLjYxMSwtMTA0Ljk3NjUzIGMgOC4zNzE4OSwzMS42NjMzNjIgLTI2LjY5MjgsNjguNDkwOTkzIC01OS45Nzc3LDU5Ljk2NzkwNSIKICAgICAgIGNsYXNzPSJpZF8wIGlkXzQiCiAgICAgICBpZD0icGF0aDE0IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLWRhc2hvZmZzZXQ6MDtzdHJva2Utb3BhY2l0eToxIgogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4KICAgIDxwYXRoCiAgICAgICBkPSJtIC03ODQuMTQxNzIsLTQyLjM2NjY1MyBjIDEzLjMyMDYxLC0zNS45MDg0OTMgODcuMTY0MjQsLTY5Ljc5MDMxNyAxMjMuMDcyNzUsLTU2LjQ2OTY5NiIKICAgICAgIGNsYXNzPSJpZF8yIGlkXzgiCiAgICAgICBpZD0icGF0aDE2IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5OjIsIDI7c3Ryb2tlLWRhc2hvZmZzZXQ6MDtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHBhdGgKICAgICAgIGQ9Im0gLTc4NC4xNDE3MiwtNDIuMzY2NjUzIGMgMjcuNzM1NzEsLTI1LjMxNDIwOSAxMDcuMzEwNTQsLTIxLjY4MTk3NyAxMzIuNjI0NzUsNi4wNTM3MTQiCiAgICAgICBjbGFzcz0iaWRfMiBpZF85IgogICAgICAgaWQ9InBhdGgxOCIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheToyLCAyO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxwYXRoCiAgICAgICBkPSJtIC03ODQuMTQxNzIsLTQyLjM2NjY1MyBjIDM3LjI2OTQxLC01LjE3MDQ0OSAxMDAuOTI5MjYsNDIuOTc4MDAyIDEwNi4wOTk2Nyw4MC4yNDc0MjEiCiAgICAgICBjbGFzcz0iaWRfMiBpZF8xMCIKICAgICAgIGlkPSJwYXRoMjAiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6MiwgMjtzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZS1vcGFjaXR5OjEiIC8+CiAgICA8cGF0aAogICAgICAgZD0ibSAtMTAzNi45NjE3LDE1NS4zMDA5OCBjIDE0LjIwMzgsLTMwLjAxNTQzIDgwLjAyMzksLTMyLjg3NDEzIDEwMS44OTkzMiwtNzguNzAyODM1IgogICAgICAgY2xhc3M9ImlkXzEyIGlkXzMiCiAgICAgICBpZD0icGF0aDIyIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5OjIsIDI7c3Ryb2tlLWRhc2hvZmZzZXQ6MDtzdHJva2Utb3BhY2l0eToxIgogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4KICAgIDxwYXRoCiAgICAgICBkPSJtIC05MzUuMDYyMzgsNzYuNTk4MTQ1IGMgNDguNzI2Miw3LjQ0NzExMyAxMTAuNjQ0NzgsOTEuNzA3MDM1IDEwMy4xOTc2MywxNDAuNDMzMTk1IgogICAgICAgY2xhc3M9ImlkXzMgaWRfMTEiCiAgICAgICBpZD0icGF0aDI2IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5OjIsIDI7c3Ryb2tlLWRhc2hvZmZzZXQ6MDtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHBhdGgKICAgICAgIGQ9Im0gLTkzNS4wNjIzOCw3Ni41OTgxNDUgYyA5LjI5NjgyLDUwLjI2NzI4NSAtNTIuMTU4ODcsMTM5LjYxMzQ3NSAtMTAyLjQyNjEyLDE0OC45MTAzMDUiCiAgICAgICBjbGFzcz0iaWRfMyBpZF8xMyIKICAgICAgIGlkPSJwYXRoMjgiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6MiwgMjtzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZS1vcGFjaXR5OjEiIC8+CiAgICA8cGF0aAogICAgICAgZD0ibSAtMTA2MS41ODg3LC00NS4wMDg2MjUgYyAtNDIuMDY4NCwxMC4wMjY0MTcgLTEyMC4yMTA3LC0zOC4wMzY1NzIgLTEzMC4yMzcxLC04MC4xMDQ5NzUiCiAgICAgICBjbGFzcz0iaWRfNCBpZF8xNCIKICAgICAgIGlkPSJwYXRoMzAiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6MiwgMjtzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZS1vcGFjaXR5OjEiIC8+CiAgICA8cGF0aAogICAgICAgZD0ibSAtMTA2MS41ODg3LC00NS4wMDg2MjUgYyAtMzIuNDY3NiwyOS4xNzkzMDYgLTEyNC45Mzc5LDI0LjI0Njk3OSAtMTU0LjExNzEsLTguMjIwNTQzIgogICAgICAgY2xhc3M9ImlkXzQgaWRfMTUiCiAgICAgICBpZD0icGF0aDMyIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5OjIsIDI7c3Ryb2tlLWRhc2hvZmZzZXQ6MDtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHBhdGgKICAgICAgIGQ9Im0gLTEwNjEuNTg4NywtNDUuMDA4NjI1IGMgLTE2LjU0MDcsNDMuMjk4NjY0IC0xMDYuMjk5NSw4My40MzU3NiAtMTQ5LjU5ODIsNjYuODk1MTYxIgogICAgICAgY2xhc3M9ImlkXzQgaWRfMTYiCiAgICAgICBpZD0icGF0aDM0IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5OjIsIDI7c3Ryb2tlLWRhc2hvZmZzZXQ6MDtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHBhdGgKICAgICAgIGQ9Im0gLTkzNy43MDc1MiwtMTcxLjY0MjcxIGMgLTE5Mi42Nzc0OCwtMC4wOTM3IC0xMjUuNjA1NTgsNDYuMTM2NDcgLTI1NC4xMTgyOCw0Ni41MjkxMSIKICAgICAgIGNsYXNzPSJpZF8xIGlkXzE0IgogICAgICAgaWQ9InBhdGgzNiIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheToyLCAyO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8+CiAgPC9nPgogIDxnCiAgICAgaWQ9Im5vZGVzIgogICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuOTM2MjY4NTksMCwwLDAuOTM2MjY4NTksLTUyLjEwNzM0MSw1LjU5MjY5MykiPgogICAgPGNpcmNsZQogICAgICAgcj0iMTAiCiAgICAgICBjeD0iLTEwMDEuNjExIgogICAgICAgY2xhc3M9ImlkXzAiCiAgICAgICBjeT0iLTEwNC45NzY1MyIKICAgICAgIGlkPSJjaXJjbGU0MyIKICAgICAgIHN0eWxlPSJmaWxsOiM4N2RlODc7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxjaXJjbGUKICAgICAgIHI9IjEwIgogICAgICAgY3g9Ii05MzcuNzA3NTIiCiAgICAgICBjbGFzcz0iaWRfMSIKICAgICAgIGN5PSItMTcxLjY0MjcyIgogICAgICAgaWQ9ImNpcmNsZTQ1IgogICAgICAgc3R5bGU9ImZpbGw6IzgwYjNmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPGNpcmNsZQogICAgICAgcj0iMTAiCiAgICAgICBjeD0iLTc4NC4xNDE3MiIKICAgICAgIGNsYXNzPSJpZF8yIgogICAgICAgY3k9Ii00Mi4zNjY2NTMiCiAgICAgICBpZD0iY2lyY2xlNDciCiAgICAgICBzdHlsZT0iZmlsbDojODBiM2ZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8+CiAgICA8Y2lyY2xlCiAgICAgICByPSIxMCIKICAgICAgIGN4PSItOTM1LjA2MjM4IgogICAgICAgY2xhc3M9ImlkXzMiCiAgICAgICBjeT0iNzYuNTk4MTQ1IgogICAgICAgaWQ9ImNpcmNsZTQ5IgogICAgICAgc3R5bGU9ImZpbGw6IzgwYjNmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPGNpcmNsZQogICAgICAgcj0iMTAiCiAgICAgICBjeD0iLTEwNjEuNTg4NyIKICAgICAgIGNsYXNzPSJpZF80IgogICAgICAgY3k9Ii00NS4wMDg2MjUiCiAgICAgICBpZD0iY2lyY2xlNTEiCiAgICAgICBzdHlsZT0iZmlsbDojODBiM2ZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8+CiAgICA8Y2lyY2xlCiAgICAgICByPSI1IgogICAgICAgY3g9Ii0xMDM2LjkzNzUiCiAgICAgICBjbGFzcz0iaWRfNSIKICAgICAgIGN5PSItMzI1LjMxNDE1IgogICAgICAgaWQ9ImNpcmNsZTUzIgogICAgICAgc3R5bGU9ImZpbGw6I2ZmODA4MDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPGNpcmNsZQogICAgICAgcj0iNSIKICAgICAgIGN4PSItOTQ1LjEyODY2IgogICAgICAgY2xhc3M9ImlkXzYiCiAgICAgICBjeT0iLTMyNS41NzA4IgogICAgICAgaWQ9ImNpcmNsZTU1IgogICAgICAgc3R5bGU9ImZpbGw6I2ZmODA4MDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPGNpcmNsZQogICAgICAgcj0iNSIKICAgICAgIGN4PSItODM0LjA1MzUzIgogICAgICAgY2xhc3M9ImlkXzciCiAgICAgICBjeT0iLTMwNS4xNTk2NCIKICAgICAgIGlkPSJjaXJjbGU1NyIKICAgICAgIHN0eWxlPSJmaWxsOiNmZjgwODA7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxjaXJjbGUKICAgICAgIHI9IjUiCiAgICAgICBjeD0iLTY2MS4wNjg5NyIKICAgICAgIGNsYXNzPSJpZF84IgogICAgICAgY3k9Ii05OC44MzYzNDkiCiAgICAgICBpZD0iY2lyY2xlNTkiCiAgICAgICBzdHlsZT0iZmlsbDojZmY4MDgwO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8+CiAgICA8Y2lyY2xlCiAgICAgICByPSI1IgogICAgICAgY3g9Ii02NTEuNTE2OTciCiAgICAgICBjbGFzcz0iaWRfOSIKICAgICAgIGN5PSItMzYuMzEyOTM5IgogICAgICAgaWQ9ImNpcmNsZTYxIgogICAgICAgc3R5bGU9ImZpbGw6I2ZmODA4MDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPGNpcmNsZQogICAgICAgcj0iNSIKICAgICAgIGN4PSItNjc4LjA0MjA1IgogICAgICAgY2xhc3M9ImlkXzEwIgogICAgICAgY3k9IjM3Ljg4MDc2OCIKICAgICAgIGlkPSJjaXJjbGU2MyIKICAgICAgIHN0eWxlPSJmaWxsOiNmZjgwODA7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxjaXJjbGUKICAgICAgIHI9IjUiCiAgICAgICBjeD0iLTgzMS44NjQ3NSIKICAgICAgIGNsYXNzPSJpZF8xMSIKICAgICAgIGN5PSIyMTcuMDMxMzQiCiAgICAgICBpZD0iY2lyY2xlNjUiCiAgICAgICBzdHlsZT0iZmlsbDojZmY4MDgwO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8+CiAgICA8Y2lyY2xlCiAgICAgICByPSI1IgogICAgICAgY3g9Ii0xMDM2LjYyMjQiCiAgICAgICBjbGFzcz0iaWRfMTIiCiAgICAgICBjeT0iMTU2LjQzODI5IgogICAgICAgaWQ9ImNpcmNsZTY3IgogICAgICAgc3R5bGU9ImZpbGw6I2ZmODA4MDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPGNpcmNsZQogICAgICAgcj0iNSIKICAgICAgIGN4PSItMTAzNy40ODg1IgogICAgICAgY2xhc3M9ImlkXzEzIgogICAgICAgY3k9IjIyNS41MDg0NSIKICAgICAgIGlkPSJjaXJjbGU2OSIKICAgICAgIHN0eWxlPSJmaWxsOiNmZjgwODA7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxjaXJjbGUKICAgICAgIHI9IjUiCiAgICAgICBjeD0iLTExOTEuODI1OCIKICAgICAgIGNsYXNzPSJpZF8xNCIKICAgICAgIGN5PSItMTI1LjExMzYiCiAgICAgICBpZD0iY2lyY2xlNzEiCiAgICAgICBzdHlsZT0iZmlsbDojZmY4MDgwO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8+CiAgICA8Y2lyY2xlCiAgICAgICByPSI1IgogICAgICAgY3g9Ii0xMjE1LjcwNTgiCiAgICAgICBjbGFzcz0iaWRfMTUiCiAgICAgICBjeT0iLTUzLjIyOTE2OCIKICAgICAgIGlkPSJjaXJjbGU3MyIKICAgICAgIHN0eWxlPSJmaWxsOiNmZjgwODA7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxjaXJjbGUKICAgICAgIHI9IjUiCiAgICAgICBjeD0iLTEyMTEuMTg2OSIKICAgICAgIGNsYXNzPSJpZF8xNiIKICAgICAgIGN5PSIyMS44ODY1MzYiCiAgICAgICBpZD0iY2lyY2xlNzUiCiAgICAgICBzdHlsZT0iZmlsbDojZmY4MDgwO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8+CiAgPC9nPgogIDxnCiAgICAgaWQ9Im5vZGUtbGFiZWxzIgogICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuOTM2MjY4NTksMCwwLDAuOTM2MjY4NTksLTY1LjU3OTg5MywyLjg5ODE4MikiPgogICAgPHRleHQKICAgICAgIGZvbnQtc2l6ZT0iMjQiCiAgICAgICB4PSItMTA2MC41MzIiCiAgICAgICB5PSItMTA2LjAwNTUzIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZToxNy42NDUwODQzOHB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuNzM1MjExODUiCiAgICAgICBjbGFzcz0iaWRfMCIKICAgICAgIGlkPSJ0ZXh0NzgiPnBlcnNpc3RlbnRJZDwvdGV4dD4KICAgIDx0ZXh0CiAgICAgICBmb250LXNpemU9IjI0IgogICAgICAgeD0iLTg1Ni4wMDE3NyIKICAgICAgIHk9Ii0xNjEuOTI1MTkiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjE3LjY0NTA4NDM4cHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC43MzUyMTE4NSIKICAgICAgIGNsYXNzPSJpZF8xIgogICAgICAgaWQ9InRleHQ4MCIKICAgICAgIGlua3NjYXBlOnRyYW5zZm9ybS1jZW50ZXIteD0iMjMuMjE0NjY3IgogICAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci15PSI2LjU4Nzk0OTEiPnRyYW5zaWVudElkPC90ZXh0PgogICAgPHRleHQKICAgICAgIGZvbnQtc2l6ZT0iMjQiCiAgICAgICB4PSItNzg0LjU1NTg1IgogICAgICAgeT0iLTE0LjkwNTIwMSIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6MTcuNjQ1MDg0MzhweDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7ZG9taW5hbnQtYmFzZWxpbmU6Y2VudHJhbDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojMDAwMDAwO3N0cm9rZS13aWR0aDowLjczNTIxMTg1IgogICAgICAgY2xhc3M9ImlkXzIiCiAgICAgICBpZD0idGV4dDgyIj50cmFuc2llbnRJZDwvdGV4dD4KICAgIDx0ZXh0CiAgICAgICBmb250LXNpemU9IjI0IgogICAgICAgeD0iLTg1Mi4wNTcwNyIKICAgICAgIHk9IjY1LjI5ODc3NSIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6MTcuNjQ1MDg0MzhweDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7ZG9taW5hbnQtYmFzZWxpbmU6Y2VudHJhbDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojMDAwMDAwO3N0cm9rZS13aWR0aDowLjczNTIxMTg1IgogICAgICAgY2xhc3M9ImlkXzMiCiAgICAgICBpZD0idGV4dDg0Ij50cmFuc2llbnRJZDwvdGV4dD4KICAgIDx0ZXh0CiAgICAgICBmb250LXNpemU9IjI0IgogICAgICAgeD0iLTk5NC44ODg0OSIKICAgICAgIHk9Ii0xOC44Nzk4NzMiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjE3LjY0NTA4NDM4cHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC43MzUyMTE4NSIKICAgICAgIGNsYXNzPSJpZF80IgogICAgICAgaWQ9InRleHQ4NiI+dHJhbnNpZW50SWQ8L3RleHQ+CiAgICA8dGV4dAogICAgICAgZm9udC1zaXplPSIxMiIKICAgICAgIHg9Ii0xMDUzLjk3OTciCiAgICAgICB5PSItMzEzLjA1ODgxIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiMwMDAwMDAiCiAgICAgICBjbGFzcz0iaWRfNSIKICAgICAgIGlkPSJ0ZXh0ODgiPndlYnNpdGU8L3RleHQ+CiAgICA8dGV4dAogICAgICAgZm9udC1zaXplPSIxMiIKICAgICAgIHg9Ii05NjYuNDg3NzMiCiAgICAgICB5PSItMzE4LjcxMTU1IgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiMwMDAwMDAiCiAgICAgICBjbGFzcz0iaWRfNiIKICAgICAgIGlkPSJ0ZXh0OTAiPndlYnNpdGU8L3RleHQ+CiAgICA8dGV4dAogICAgICAgZm9udC1zaXplPSIxMiIKICAgICAgIHg9Ii04MTUuMzQ2OTgiCiAgICAgICB5PSItMjg5LjMwNjg4IgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiMwMDAwMDAiCiAgICAgICBjbGFzcz0iaWRfNyIKICAgICAgIGlkPSJ0ZXh0OTIiPndlYnNpdGU8L3RleHQ+CiAgICA8dGV4dAogICAgICAgZm9udC1zaXplPSIxMiIKICAgICAgIHg9Ii02NDMuODAxMzkiCiAgICAgICB5PSItODAuOTM3ODEzIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiMwMDAwMDAiCiAgICAgICBjbGFzcz0iaWRfOCIKICAgICAgIGlkPSJ0ZXh0OTQiPndlYnNpdGU8L3RleHQ+CiAgICA8dGV4dAogICAgICAgZm9udC1zaXplPSIxMiIKICAgICAgIHg9Ii02MzQuMjQ5MzkiCiAgICAgICB5PSItMTguNDE0NDAyIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiMwMDAwMDAiCiAgICAgICBjbGFzcz0iaWRfOSIKICAgICAgIGlkPSJ0ZXh0OTYiPndlYnNpdGU8L3RleHQ+CiAgICA8dGV4dAogICAgICAgZm9udC1zaXplPSIxMiIKICAgICAgIHg9Ii02NjAuNzc0NDgiCiAgICAgICB5PSI1NS43NzkzMDUiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6IzAwMDAwMCIKICAgICAgIGNsYXNzPSJpZF8xMCIKICAgICAgIGlkPSJ0ZXh0OTgiPndlYnNpdGU8L3RleHQ+CiAgICA8dGV4dAogICAgICAgZm9udC1zaXplPSIxMiIKICAgICAgIHg9Ii04NTMuOTUyMTUiCiAgICAgICB5PSIyMTkuMjEzOTYiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6IzAwMDAwMCIKICAgICAgIGNsYXNzPSJpZF8xMSIKICAgICAgIGlkPSJ0ZXh0MTAwIj53ZWJzaXRlPC90ZXh0PgogICAgPHRleHQKICAgICAgIGZvbnQtc2l6ZT0iMTIiCiAgICAgICB4PSItMTAyMS4zMDI2IgogICAgICAgeT0iMTcyLjQ2NTY0IgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiMwMDAwMDAiCiAgICAgICBjbGFzcz0iaWRfMTIiCiAgICAgICBpZD0idGV4dDEwMiI+d2Vic2l0ZTwvdGV4dD4KICAgIDx0ZXh0CiAgICAgICBmb250LXNpemU9IjEyIgogICAgICAgeD0iLTEwNTguNzk0NyIKICAgICAgIHk9IjIyNy42OTEwNyIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7ZG9taW5hbnQtYmFzZWxpbmU6Y2VudHJhbDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojMDAwMDAwIgogICAgICAgY2xhc3M9ImlkXzEzIgogICAgICAgaWQ9InRleHQxMDQiPndlYnNpdGU8L3RleHQ+CiAgICA8dGV4dAogICAgICAgZm9udC1zaXplPSIxMiIKICAgICAgIHg9Ii0xMTczLjQ3OSIKICAgICAgIHk9Ii0xMzUuODgxNjUiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6IzAwMDAwMCIKICAgICAgIGNsYXNzPSJpZF8xNCIKICAgICAgIGlkPSJ0ZXh0MTA2Ij53ZWJzaXRlPC90ZXh0PgogICAgPHRleHQKICAgICAgIGZvbnQtc2l6ZT0iMTIiCiAgICAgICB4PSItMTE5NS4yMDA2IgogICAgICAgeT0iLTYyLjE5ODUwOSIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7ZG9taW5hbnQtYmFzZWxpbmU6Y2VudHJhbDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojMDAwMDAwIgogICAgICAgY2xhc3M9ImlkXzE1IgogICAgICAgaWQ9InRleHQxMDgiPndlYnNpdGU8L3RleHQ+CiAgICA8dGV4dAogICAgICAgZm9udC1zaXplPSIxMiIKICAgICAgIHg9Ii0xMTkzLjU1OTYiCiAgICAgICB5PSIxMy42MzY2NzYiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6IzAwMDAwMCIKICAgICAgIGNsYXNzPSJpZF8xNiIKICAgICAgIGlkPSJ0ZXh0MTEwIj53ZWJzaXRlPC90ZXh0PgogIDwvZz4KICA8dGV4dAogICAgIGlkPSJ0ZXh0MTEzIgogICAgIGNsYXNzPSJpZF8xIgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6OS4zNjI2ODYxNnB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiNhODU2YmM7c3Ryb2tlLXdpZHRoOjAuOTM2MjY4NTciCiAgICAgeT0iLTIxMi40NDAzNCIKICAgICB4PSItMTAyMi40MDY2IgogICAgIGZvbnQtc2l6ZT0iMTAiPnZpc2l0ZWQ8L3RleHQ+CiAgPHRleHQKICAgICBpZD0idGV4dDExNSIKICAgICBjbGFzcz0iaWRfMiIKICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjkuMzYyNjg2MTZweDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7ZG9taW5hbnQtYmFzZWxpbmU6Y2VudHJhbDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojYTg1NmJjO3N0cm9rZS13aWR0aDowLjkzNjI2ODU3IgogICAgIHk9Ii0yMzIuODY0MDYiCiAgICAgeD0iLTk3NS43NTg5MSIKICAgICBmb250LXNpemU9IjEwIj52aXNpdGVkPC90ZXh0PgogIDx0ZXh0CiAgICAgaWQ9InRleHQxMTciCiAgICAgY2xhc3M9ImlkXzMiCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo5LjM2MjY4NjE2cHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6I2E4NTZiYztzdHJva2Utd2lkdGg6MC45MzYyNjg1NyIKICAgICB5PSItMjMzLjQxODI3IgogICAgIHg9Ii04NzguMTUxMTgiCiAgICAgZm9udC1zaXplPSIxMCI+dmlzaXRlZDwvdGV4dD4KICA8dGV4dAogICAgIGlkPSJ0ZXh0MTE5IgogICAgIGNsYXNzPSJpZF80IgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6OS4zNjI2ODYxNnB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiNmZjY2MDA7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuOTM2MjY4NTciCiAgICAgeT0iLTEzMi44NzY4OCIKICAgICB4PSItOTY5LjMzMTQyIgogICAgIGZvbnQtc2l6ZT0iMTAiPmhhc19pZGVudGl0eTwvdGV4dD4KICA8dGV4dAogICAgIGlkPSJ0ZXh0MTIxIgogICAgIGNsYXNzPSJpZF81IgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6OS4zNjI2ODYxNnB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiNmZjY2MDA7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuOTM2MjY4NTciCiAgICAgeT0iLTEwNS4wMzk5OSIKICAgICB4PSItODc2LjU5MTkyIgogICAgIGZvbnQtc2l6ZT0iMTAiPmhhc19pZGVudGl0eTwvdGV4dD4KICA8dGV4dAogICAgIGlkPSJ0ZXh0MTIzIgogICAgIGNsYXNzPSJpZF82IgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6OS4zNjI2ODYxNnB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiNmZjY2MDA7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuOTM2MjY4NTciCiAgICAgeT0iLTE1LjM1NDIzOSIKICAgICB4PSItOTA0LjI2NDE2IgogICAgIGZvbnQtc2l6ZT0iMTAiPmhhc19pZGVudGl0eTwvdGV4dD4KICA8dGV4dAogICAgIGlkPSJ0ZXh0MTI1IgogICAgIGNsYXNzPSJpZF83IgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6OS4zNjI2ODYxNnB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiNmZjY2MDA7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuOTM2MjY4NTciCiAgICAgeT0iLTYzLjM2NTQ2MyIKICAgICB4PSItMTAyOC4yNTUxIgogICAgIGZvbnQtc2l6ZT0iMTAiPmhhc19pZGVudGl0eTwvdGV4dD4KICA8dGV4dAogICAgIGlkPSJ0ZXh0MTI3IgogICAgIGNsYXNzPSJpZF85IgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6OS4zNjI2ODYxNnB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiNhODU2YmM7c3Ryb2tlLXdpZHRoOjAuOTM2MjY4NTciCiAgICAgeT0iLTY1LjYwMDM0MiIKICAgICB4PSItNzI3LjE1OTg1IgogICAgIGZvbnQtc2l6ZT0iMTAiPnZpc2l0ZWQ8L3RleHQ+CiAgPHRleHQKICAgICBpZD0idGV4dDEyOSIKICAgICBjbGFzcz0iaWRfMTAiCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo5LjM2MjY4NjE2cHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6I2E4NTZiYztzdHJva2Utd2lkdGg6MC45MzYyNjg1NyIKICAgICB5PSItMzUuNjUxNTg4IgogICAgIHg9Ii03MjUuMzU5MDciCiAgICAgZm9udC1zaXplPSIxMCI+dmlzaXRlZDwvdGV4dD4KICA8dGV4dAogICAgIGlkPSJ0ZXh0MTMxIgogICAgIGNsYXNzPSJpZF8xMSIKICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjkuMzYyNjg2MTZweDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7ZG9taW5hbnQtYmFzZWxpbmU6Y2VudHJhbDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojYTg1NmJjO3N0cm9rZS13aWR0aDowLjkzNjI2ODU3IgogICAgIHk9IjExLjkwMDE5IgogICAgIHg9Ii03MjYuMDA5MzQiCiAgICAgZm9udC1zaXplPSIxMCI+dmlzaXRlZDwvdGV4dD4KICA8dGV4dAogICAgIGlkPSJ0ZXh0MTM1IgogICAgIGNsYXNzPSJpZF8xMyIKICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjkuMzYyNjg2MTZweDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7ZG9taW5hbnQtYmFzZWxpbmU6Y2VudHJhbDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojYTg1NmJjO3N0cm9rZS13aWR0aDowLjkzNjI2ODU3IgogICAgIHk9IjEyNS45MzA1OSIKICAgICB4PSItOTU2LjQxOTE5IgogICAgIGZvbnQtc2l6ZT0iMTAiPnZpc2l0ZWQ8L3RleHQ+CiAgPHRleHQKICAgICBpZD0idGV4dDEzNyIKICAgICBjbGFzcz0iaWRfMTQiCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo5LjM2MjY4NjE2cHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6I2E4NTZiYztzdHJva2Utd2lkdGg6MC45MzYyNjg1NyIKICAgICB5PSIxMzUuMTQwNzYiCiAgICAgeD0iLTgzNy4xNTY2MiIKICAgICBmb250LXNpemU9IjEwIj52aXNpdGVkPC90ZXh0PgogIDx0ZXh0CiAgICAgaWQ9InRleHQxMzkiCiAgICAgY2xhc3M9ImlkXzE1IgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6OS4zNjI2ODYxNnB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiNhODU2YmM7c3Ryb2tlLXdpZHRoOjAuOTM2MjY4NTciCiAgICAgeT0iMTY3Ljk4NzA1IgogICAgIHg9Ii05MzIuMjI1NjUiCiAgICAgZm9udC1zaXplPSIxMCI+dmlzaXRlZDwvdGV4dD4KICA8dGV4dAogICAgIGlkPSJ0ZXh0MTQxIgogICAgIGNsYXNzPSJpZF8xNiIKICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjkuMzYyNjg2MTZweDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7ZG9taW5hbnQtYmFzZWxpbmU6Y2VudHJhbDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojYTg1NmJjO3N0cm9rZS13aWR0aDowLjkzNjI2ODU3IgogICAgIHk9Ii02OS4xMjM4OTQiCiAgICAgeD0iLTExMDcuNDc5OSIKICAgICBmb250LXNpemU9IjEwIj52aXNpdGVkPC90ZXh0PgogIDx0ZXh0CiAgICAgaWQ9InRleHQxNDMiCiAgICAgY2xhc3M9ImlkXzE3IgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6OS4zNjI2ODYxNnB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiNhODU2YmM7c3Ryb2tlLXdpZHRoOjAuOTM2MjY4NTciCiAgICAgeT0iLTI4LjQxMzY1OCIKICAgICB4PSItMTEyMC42ODg3IgogICAgIGZvbnQtc2l6ZT0iMTAiPnZpc2l0ZWQ8L3RleHQ+CiAgPHRleHQKICAgICBpZD0idGV4dDE0NSIKICAgICBjbGFzcz0iaWRfMTkiCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo5LjM2MjY4NjE2cHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6I2E4NTZiYztzdHJva2Utd2lkdGg6MC45MzYyNjg1NyIKICAgICB5PSI2LjExNTk0MzkiCiAgICAgeD0iLTExMTMuNzQ5OSIKICAgICBmb250LXNpemU9IjEwIj52aXNpdGVkPC90ZXh0PgogIDx0ZXh0CiAgICAgaWQ9InRleHQxNDciCiAgICAgY2xhc3M9ImlkXzIwIgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6OS4zNjI2ODYxNnB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiNhODU2YmM7c3Ryb2tlLXdpZHRoOjAuOTM2MjY4NTciCiAgICAgeT0iLTE0Mi45ODY3NiIKICAgICB4PSItMTA4MC40NzMiCiAgICAgZm9udC1zaXplPSIxMCI+dmlzaXRlZDwvdGV4dD4KICA8Zmxvd1Jvb3QKICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgIGlkPSJmbG93Um9vdDg4NiIKICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc2l6ZTo0MHB4O2xpbmUtaGVpZ2h0OjEwMDA7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzowcHg7d29yZC1zcGFjaW5nOjBweDtmaWxsOiMwMDAwMDA7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC45MzYyNjg1OSwwLDAsMC45MzYyNjg1OSwtMTIxMS40NTg0LC0zMDguOTkzNTUpIj48Zmxvd1JlZ2lvbgogICAgICAgaWQ9ImZsb3dSZWdpb244ODgiPjxyZWN0CiAgICAgICAgIGlkPSJyZWN0ODkwIgogICAgICAgICB3aWR0aD0iOTEuNTc0OTk3IgogICAgICAgICBoZWlnaHQ9IjE1Ny43MTI0OSIKICAgICAgICAgeD0iNzExLjIzMjQ4IgogICAgICAgICB5PSI4Ni43Mzk5OTgiIC8+PC9mbG93UmVnaW9uPjxmbG93UGFyYQogICAgICAgaWQ9ImZsb3dQYXJhODkyIj4pLmJ5KFQuaWQsIE9yZGVyLmluY3IpPC9mbG93UGFyYT48L2Zsb3dSb290PiAgPGZsb3dSb290CiAgICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgICBpZD0iZmxvd1Jvb3Q4OTQiCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXNpemU6NDBweDtsaW5lLWhlaWdodDoxMDAwO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6MHB4O3dvcmQtc3BhY2luZzowcHg7ZmlsbDojMDAwMDAwO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIgogICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuOTM2MjY4NTksMCwwLDAuOTM2MjY4NTksLTEyMTEuNDU4NCwtMzA4Ljk5MzU1KSI+PGZsb3dSZWdpb24KICAgICAgIGlkPSJmbG93UmVnaW9uODk2Ij48cmVjdAogICAgICAgICBpZD0icmVjdDg5OCIKICAgICAgICAgd2lkdGg9IjEwNC44MDI1IgogICAgICAgICBoZWlnaHQ9IjE2My44MTc1IgogICAgICAgICB4PSI3MjkuNTQ3NDkiCiAgICAgICAgIHk9IjY3LjQwNzUwMSIgLz48L2Zsb3dSZWdpb24+PGZsb3dQYXJhCiAgICAgICBpZD0iZmxvd1BhcmE5MDAiPi0gdHJhbnNpZW50SWQ6ICAtIHVpZDpTdHJpbmctIHBlcnNpc3RlbnRJZCAgLSBwaWQ6U3RyaW5nLSB3ZWJzaXRlOiAgLSB1cmw6U3RyaW5nICAtIHRpdGxlOlN0cmluZy0gdmlzaXRlZDogIC0gdHM6RGF0ZSAgLSB2aXNpdGVkX3VybDpTdHJpbmctIGhhc19pZGVudGl0eS0gdHJhbnNpZW50SWQ6ICAtIHVpZDpTdHJpbmctIHBlcnNpc3RlbnRJZCAgLSBwaWQ6U3RyaW5nLSB3ZWJzaXRlOiAgLSB1cmw6U3RyaW5nICAtIHRpdGxlOlN0cmluZy0gdmlzaXRlZDogIC0gdHM6RGF0ZSAgLSB2aXNpdGVkX3VybDpTdHJpbmctIGhhc19pZGVudGl0eTwvZmxvd1BhcmE+PGZsb3dQYXJhCiAgICAgICBpZD0iZmxvd1BhcmE5MDIiIC8+PGZsb3dQYXJhCiAgICAgICBpZD0iZmxvd1BhcmE5MDQiIC8+PGZsb3dQYXJhCiAgICAgICBpZD0iZmxvd1BhcmE5MDYiIC8+PGZsb3dQYXJhCiAgICAgICBpZD0iZmxvd1BhcmE5MDgiIC8+PGZsb3dQYXJhCiAgICAgICBpZD0iZmxvd1BhcmE5MTAiIC8+PGZsb3dQYXJhCiAgICAgICBpZD0iZmxvd1BhcmE5MTIiIC8+PGZsb3dQYXJhCiAgICAgICBpZD0iZmxvd1BhcmE5MTQiIC8+PGZsb3dQYXJhCiAgICAgICBpZD0iZmxvd1BhcmE5MTYiIC8+PGZsb3dQYXJhCiAgICAgICBpZD0iZmxvd1BhcmE5MTgiIC8+PGZsb3dQYXJhCiAgICAgICBpZD0iZmxvd1BhcmE5MjAiIC8+PGZsb3dQYXJhCiAgICAgICBpZD0iZmxvd1BhcmE5MjIiIC8+PGZsb3dQYXJhCiAgICAgICBpZD0iZmxvd1BhcmE5MjQiIC8+PGZsb3dQYXJhCiAgICAgICBpZD0iZmxvd1BhcmE5MjYiIC8+PGZsb3dQYXJhCiAgICAgICBpZD0iZmxvd1BhcmE5MjgiIC8+PGZsb3dQYXJhCiAgICAgICBpZD0iZmxvd1BhcmE5MzAiIC8+PGZsb3dQYXJhCiAgICAgICBpZD0iZmxvd1BhcmE5MzIiIC8+PGZsb3dQYXJhCiAgICAgICBpZD0iZmxvd1BhcmE5MzQiIC8+PGZsb3dQYXJhCiAgICAgICBpZD0iZmxvd1BhcmE5MzYiIC8+PGZsb3dQYXJhCiAgICAgICBpZD0iZmxvd1BhcmE5MzgiIC8+PGZsb3dQYXJhCiAgICAgICBpZD0iZmxvd1BhcmE5NDAiIC8+PC9mbG93Um9vdD4gIDx0ZXh0CiAgICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc2l6ZToxMC40NDY5NjE0cHg7bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTpzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOjBweDt3b3JkLXNwYWNpbmc6MHB4O2ZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4xMzI3Nzc2NiIKICAgICB4PSItNzM0LjkyOTM4IgogICAgIHk9Ii0zMTMuNTkzNTciCiAgICAgaWQ9InRleHQ5NDQiPjx0c3BhbgogICAgICAgc29kaXBvZGk6cm9sZT0ibGluZSIKICAgICAgIGlkPSJ0c3Bhbjk0MiIKICAgICAgIHg9Ii03MzQuOTI5MzgiCiAgICAgICB5PSItMzEzLjU5MzU3IgogICAgICAgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zaXplOjEwLjQ0Njk2MTRweDtmaWxsOiM4MGIzZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMTMyNzc3NjYiPnRyYW5zaWVudElkPC90c3Bhbj48dHNwYW4KICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICB4PSItNzM0LjkyOTM4IgogICAgICAgeT0iLTMwMy4xNDY2MSIKICAgICAgIGlkPSJ0c3Bhbjk2NiIKICAgICAgIHN0eWxlPSJmb250LXdlaWdodDpib2xkO2ZvbnQtc2l6ZToxMC40NDY5NjE0cHg7ZmlsbDojMDAwMDAwO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjEzMjc3NzY2Ij4gIHVpZDogPHRzcGFuCiAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjpzYW5zLXNlcmlmO3N0cm9rZS13aWR0aDowLjEzMjc3NzY2IgogICBpZD0idHNwYW4xMDgyIj5TdHJpbmc8L3RzcGFuPjwvdHNwYW4+PHRzcGFuCiAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgeD0iLTczNC45MjkzOCIKICAgICAgIHk9Ii0yOTIuNjk5NjUiCiAgICAgICBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDtmb250LXNpemU6MTAuNDQ2OTYxNHB4O2ZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4xMzI3Nzc2NiIKICAgICAgIGlkPSJ0c3Bhbjk4NiIgLz48dHNwYW4KICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICB4PSItNzM0LjkyOTM4IgogICAgICAgeT0iLTI4Mi4yNTI2OSIKICAgICAgIGlkPSJ0c3Bhbjk2OCIKICAgICAgIHN0eWxlPSJmb250LXdlaWdodDpib2xkO2ZvbnQtc2l6ZToxMC40NDY5NjE0cHg7ZmlsbDojODdkZTg3O2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjEzMjc3NzY2Ij5wZXJzaXN0ZW50SWQ8L3RzcGFuPjx0c3BhbgogICAgICAgc29kaXBvZGk6cm9sZT0ibGluZSIKICAgICAgIHg9Ii03MzQuOTI5MzgiCiAgICAgICB5PSItMjcxLjgwNTczIgogICAgICAgaWQ9InRzcGFuOTcwIgogICAgICAgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zaXplOjEwLjQ0Njk2MTRweDtmaWxsOiMwMDAwMDA7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMTMyNzc3NjYiPiAgcGlkOiA8dHNwYW4KICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOnNhbnMtc2VyaWY7c3Ryb2tlLXdpZHRoOjAuMTMyNzc3NjYiCiAgIGlkPSJ0c3BhbjEwODQiPlN0cmluZzwvdHNwYW4+PC90c3Bhbj48dHNwYW4KICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICB4PSItNzM0LjkyOTM4IgogICAgICAgeT0iLTI2MS4zNTg3NiIKICAgICAgIHN0eWxlPSJmb250LXdlaWdodDpib2xkO2ZvbnQtc2l6ZToxMC40NDY5NjE0cHg7ZmlsbDojMDAwMDAwO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjEzMjc3NzY2IgogICAgICAgaWQ9InRzcGFuOTg4IiAvPjx0c3BhbgogICAgICAgc29kaXBvZGk6cm9sZT0ibGluZSIKICAgICAgIHg9Ii03MzQuOTI5MzgiCiAgICAgICB5PSItMjUwLjkxMTgiCiAgICAgICBpZD0idHNwYW45NzIiCiAgICAgICBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDtmb250LXNpemU6MTAuNDQ2OTYxNHB4O2ZpbGw6I2ZmODA4MDtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4xMzI3Nzc2NiI+d2Vic2l0ZTwvdHNwYW4+PHRzcGFuCiAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgeD0iLTczNC45MjkzOCIKICAgICAgIHk9Ii0yNDAuNDY0ODQiCiAgICAgICBpZD0idHNwYW45NzQiCiAgICAgICBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDtmb250LXNpemU6MTAuNDQ2OTYxNHB4O2ZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4xMzI3Nzc2NiI+ICB1cmw6IDx0c3BhbgogICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246c2Fucy1zZXJpZjtzdHJva2Utd2lkdGg6MC4xMzI3Nzc2NiIKICAgaWQ9InRzcGFuMTA4NiI+U3RyaW5nPC90c3Bhbj48L3RzcGFuPjx0c3BhbgogICAgICAgc29kaXBvZGk6cm9sZT0ibGluZSIKICAgICAgIHg9Ii03MzQuOTI5MzgiCiAgICAgICB5PSItMjMwLjAxNzg4IgogICAgICAgaWQ9InRzcGFuOTc2IgogICAgICAgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zaXplOjEwLjQ0Njk2MTRweDtmaWxsOiMwMDAwMDA7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMTMyNzc3NjYiPiAgdGl0bGU6IDx0c3BhbgogICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246c2Fucy1zZXJpZjtzdHJva2Utd2lkdGg6MC4xMzI3Nzc2NiIKICAgaWQ9InRzcGFuMTA4OCI+U3RyaW5nPC90c3Bhbj48L3RzcGFuPjx0c3BhbgogICAgICAgc29kaXBvZGk6cm9sZT0ibGluZSIKICAgICAgIHg9Ii03MzQuOTI5MzgiCiAgICAgICB5PSItMjE5LjU3MDkxIgogICAgICAgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zaXplOjEwLjQ0Njk2MTRweDtmaWxsOiMwMDAwMDA7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMTMyNzc3NjYiCiAgICAgICBpZD0idHNwYW45OTAiIC8+PHRzcGFuCiAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgeD0iLTczNC45MjkzOCIKICAgICAgIHk9Ii0yMDkuMTIzOTUiCiAgICAgICBpZD0idHNwYW45NzgiCiAgICAgICBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDtmb250LXNpemU6MTAuNDQ2OTYxNHB4O2ZpbGw6I2E4NTZiYztmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4xMzI3Nzc2NiI+dmlzaXRlZDwvdHNwYW4+PHRzcGFuCiAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgeD0iLTczNC45MjkzOCIKICAgICAgIHk9Ii0xOTguNjc2OTkiCiAgICAgICBpZD0idHNwYW45ODAiCiAgICAgICBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDtmb250LXNpemU6MTAuNDQ2OTYxNHB4O2ZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4xMzI3Nzc2NiI+ICB0czogPHRzcGFuCiAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjpzYW5zLXNlcmlmO3N0cm9rZS13aWR0aDowLjEzMjc3NzY2IgogICBpZD0idHNwYW4xMDkwIj5EYXRlPC90c3Bhbj48L3RzcGFuPjx0c3BhbgogICAgICAgc29kaXBvZGk6cm9sZT0ibGluZSIKICAgICAgIHg9Ii03MzQuOTI5MzgiCiAgICAgICB5PSItMTg4LjIzMDAzIgogICAgICAgaWQ9InRzcGFuOTgyIgogICAgICAgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zaXplOjEwLjQ0Njk2MTRweDtmaWxsOiMwMDAwMDA7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMTMyNzc3NjYiPiAgdmlzaXRlZF91cmw6IDx0c3BhbgogICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246c2Fucy1zZXJpZjtzdHJva2Utd2lkdGg6MC4xMzI3Nzc2NiIKICAgaWQ9InRzcGFuMTA5MiI+U3RyaW5nPC90c3Bhbj48L3RzcGFuPjx0c3BhbgogICAgICAgc29kaXBvZGk6cm9sZT0ibGluZSIKICAgICAgIHg9Ii03MzQuOTI5MzgiCiAgICAgICB5PSItMTc3Ljc4MzA3IgogICAgICAgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zaXplOjEwLjQ0Njk2MTRweDtmaWxsOiMwMDAwMDA7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMTMyNzc3NjYiCiAgICAgICBpZD0idHNwYW45OTIiIC8+PHRzcGFuCiAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgeD0iLTczNC45MjkzOCIKICAgICAgIHk9Ii0xNjcuMzM2MTEiCiAgICAgICBpZD0idHNwYW45ODQiCiAgICAgICBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDtmb250LXNpemU6MTAuNDQ2OTYxNHB4O2ZpbGw6I2ZmNjYwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4xMzI3Nzc2NiI+aGFzX2lkZW50aXR5PC90c3Bhbj48L3RleHQ+CiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDpub25lO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoxLjg0MDg1ODU4O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICBpZD0icmVjdDk5NCIKICAgICB3aWR0aD0iMTE3Ljg4Mzc0IgogICAgIGhlaWdodD0iMTc5LjM1Mzc5IgogICAgIHg9Ii03NDEuMzg1MzEiCiAgICAgeT0iLTMzMi4yMTcyNSIKICAgICByeD0iMTguMzExMzA2IgogICAgIHJ5PSIxOC45NTM2NSIgLz4KPC9zdmc+Cg==" ] }, "extended.svg": { "image/svg+xml": [ "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgY29udGVudFNjcmlwdFR5cGU9InRleHQvZWNtYXNjcmlwdCIKICAgd2lkdGg9IjYwMCIKICAgem9vbUFuZFBhbj0ibWFnbmlmeSIKICAgY29udGVudFN0eWxlVHlwZT0idGV4dC9jc3MiCiAgIHZpZXdCb3g9Ii01NjAuNDEwMDMgLTQwNCA2MDAgNjAwIgogICBoZWlnaHQ9IjYwMCIKICAgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnMjUwIgogICBzb2RpcG9kaTpkb2NuYW1lPSJleHRlbmRlZC5zdmciCiAgIGlua3NjYXBlOnZlcnNpb249IjAuOTIuMyAoMjQwNTU0NiwgMjAxOC0wMy0xMSkiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTI1NiI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgICA8ZGM6dGl0bGUgLz4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGRlZnMKICAgICBpZD0iZGVmczI1NCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE5MjAiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iMTAxNSIKICAgICBpZD0ibmFtZWR2aWV3MjUyIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTpsb2NrZ3VpZGVzPSJ0cnVlIgogICAgIGlua3NjYXBlOnpvb209IjEiCiAgICAgaW5rc2NhcGU6Y3g9IjI3Mi44MzQ4MyIKICAgICBpbmtzY2FwZTpjeT0iMzk5Ljk3NDkxIgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSI4NDAiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJzdmcyNTAiIC8+CiAgPHBhdGgKICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMWExYTFhO3N0cm9rZS13aWR0aDoxLjg3MztzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheToxLjg3MywgMS44NzMwMDAwMDAwMDAwMDAwMDtzdHJva2UtZGFzaG9mZnNldDowIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgaWQ9InBhdGgyIgogICAgIGNsYXNzPSJpZF8xIGlkXzUiCiAgICAgZD0iTSAtMjAzLjg1NDQ4LC00OS4zMTk5MDkgQyAtMTUxLjI3NTM4LDg0Ljc5ODkzOSAtMjU2LjE1Mjg1LDUwLjgwMzc4IC0yNjcuMzY5NjEsODAuMDYyMjciCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEuODczMDAwMDM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5OjEuODczLCAxLjg3MztzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDYiCiAgICAgY2xhc3M9ImlkXzEgaWRfNyIKICAgICBkPSJtIC0yMDMuODU0NDgsLTQ5LjMxOTkwOSBjIC0yMC40Mzc2OCwxMi42MTAwNDkgMi43MDU3NiwyNi45NzczNDQgLTEzLjc1MTExLDQxLjEzNzA1NjYiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEuODczMDAwMDM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5OjIyLjQ3NjAwMDMxLCAyMi40NzYwMDAzMTtzdHJva2UtZGFzaG9mZnNldDoxOC43Mjk5OTk1NDtzdHJva2Utb3BhY2l0eToxIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgaWQ9InBhdGg4IgogICAgIGNsYXNzPSJpZF8wIGlkXzEiCiAgICAgZD0ibSAtMzQzLjA2NTQ3LC04MS40Njg1MzIgYyA1OS43NzAwNiwtNS41MjYxODYgNjEuNjQyOTIsMzQuOTgyNzY1IDEzOS4yMTA5OSwzMi4xNDg2MjMiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEuODczMDAwMDM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5OjIyLjQ3NiwgMjIuNDc2O3N0cm9rZS1kYXNob2Zmc2V0OjE4LjcyOTk5OTU0O3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDEwIgogICAgIGNsYXNzPSJpZF8wIGlkXzIiCiAgICAgZD0ibSAtMzQzLjA2NTQ3LC04MS40Njg1MzIgYyAzMi4zNDcxLDI5LjY3MDE3OCAtNTMuMjQ5MjksOTYuNjY1MTU0IC00NS41OTQ0NCwxNTcuMDA1MTUiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEuODczMDAwMDM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5OjIyLjQ3NjAwMDMxLCAyMi40NzYwMDAzMTtzdHJva2UtZGFzaG9mZnNldDoxOC43Mjk5OTk1NDtzdHJva2Utb3BhY2l0eToxIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgaWQ9InBhdGgxMiIKICAgICBjbGFzcz0iaWRfMCBpZF8zIgogICAgIGQ9Ik0gLTM0My4wNjU0NywtODEuNDY4NTMyIEMgLTQzNy4zMTk2NiwtMTQzLjY2NjI1IC0yODAuNzg5MjMsLTE4Ni45MzM2NiAtNDUxLjQ1MzAzLC0yNjYuNjExMiIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MS44NzMwMDAwMztzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheToyMi40NzYwMDAzMSwyMi40NzYwMDAzMTtzdHJva2UtZGFzaG9mZnNldDoxOC43MzAwMDAyNiIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIGlkPSJwYXRoMTQiCiAgICAgY2xhc3M9ImlkXzAgaWRfNCIKICAgICBkPSJtIC0zNDMuMDY1NDcsLTgxLjQ2ODUzMiBjIC0zLjQxNjAyLC0zOS4xODA5ODggMzcuMDYxODcsLTEwOS41NDM5OTggNzYuMjQyODYsLTExMi45NjAwMTgiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEuODczMDAwMDM7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6MS44NzMwMDAwMywgMS44NzMwMDAwMzAwMDAwMDAwNDtzdHJva2UtZGFzaG9mZnNldDowIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgaWQ9InBhdGgxNiIKICAgICBjbGFzcz0iaWRfMiBpZF84IgogICAgIGQ9Ik0gLTM5MS4xNTE2NCw3Ny40NzQ2MjYgQyAtNDAzLjU4MjI5LDQuNzIyMDc0IC00NTguMzgxMzcsNDUuODU3MDMzIC00NzYuMjI5NzUsLTguNTM3NDY4IgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8+CiAgPHBhdGgKICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMWExYTFhO3N0cm9rZS13aWR0aDoxLjg3MztzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheToxLjg3MywgMS44NzMwMDAwMDAwMDAwMDAwMDtzdHJva2UtZGFzaG9mZnNldDowIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgaWQ9InBhdGgxOCIKICAgICBjbGFzcz0iaWRfMiBpZF85IgogICAgIGQ9Im0gLTM4OC42NTk5MSw3NS41MzY2MTggYyA1Ny41NTYzNCwtMTQuMDQxMjYgMjYuNDIxMTYsLTMyLjA3ODQ3OSAzNy41MDgxNiwtNDkuMDc1OTE4IgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8+CiAgPHBhdGgKICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMWExYTFhO3N0cm9rZS13aWR0aDoxLjg3MztzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheToxLjg3MywgMS44NzMwMDAwMDAwMDAwMDAwMDtzdHJva2UtZGFzaG9mZnNldDowIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgaWQ9InBhdGgyMCIKICAgICBjbGFzcz0iaWRfMiBpZF8xMCIKICAgICBkPSJtIC0zOTEuMTUxNjQsNzcuNDc0NjI2IGMgNy43ODgxMSwyMy42Mjk5MDQgLTE0LjMxMzQxLDcyLjY5NDkxNCAyMy43OTYxLDcwLjIzOTI2NCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzFhMWExYTtzdHJva2Utd2lkdGg6MS44NzMwMDAwMztzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6MS44NzMsIDEuODczO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIGlkPSJwYXRoMjQiCiAgICAgY2xhc3M9ImlkXzEyIGlkXzMiCiAgICAgZD0ibSAtMzk1Ljg1Mjg3LC0zMTMuMzA1ODcgYyAtNS43ODExLDI0LjI1ODk3IC0zMS4zNDEyLDUyLjQ3NTc3IC01NS42MDAxNiw0Ni42OTQ2NyIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzFhMWExYTtzdHJva2Utd2lkdGg6MS44NzMwMDAwMztzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6MS44NzMsIDEuODczO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIGlkPSJwYXRoMjYiCiAgICAgY2xhc3M9ImlkXzMgaWRfMTEiCiAgICAgZD0ibSAtNDUxLjQ1MzAzLC0yNjYuNjExMiBjIDYuMTY5NzksMzQuMzY4OCAxOC41OTM2LDYzLjYyMTEgLTE1LjY2MTI1LDgyLjI0NDY2IgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8+CiAgPHBhdGgKICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMWExYTFhO3N0cm9rZS13aWR0aDoxLjg3MzAwMDAzO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheToxLjg3MywgMS44NzM7c3Ryb2tlLWRhc2hvZmZzZXQ6MDtzdHJva2Utb3BhY2l0eToxIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgaWQ9InBhdGgyOCIKICAgICBjbGFzcz0iaWRfMyBpZF8xMyIKICAgICBkPSJtIC00NTEuNDUzMDMsLTI2Ni42MTEyIGMgLTEyLjU4NDA0LDEuMzExNDggLTUyLjkyNzMsLTE2LjA5NzM3IC01NC4yMzg4MSwtMjguNjgxNCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzFhMWExYTtzdHJva2Utd2lkdGg6MS44NzM7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6MS44NzMsIDEuODczMDAwMDAwMDAwMDAwMDA7c3Ryb2tlLWRhc2hvZmZzZXQ6MCIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIGlkPSJwYXRoMzAiCiAgICAgY2xhc3M9ImlkXzQgaWRfMTQiCiAgICAgZD0ibSAtMjY2LjgyMjYxLC0xOTQuNDI4NTUgYyA1Ny42MDgyMywyNS43NTgzNiAtMTQuMjE5MDMsNzcuODQwMTkgNTYuMDY4NDEsODUuNzY5NTciCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMxYTFhMWE7c3Ryb2tlLXdpZHRoOjEuODczMDAwMDM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5OjEuODczLCAxLjg3MztzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDMyIgogICAgIGNsYXNzPSJpZF80IGlkXzE1IgogICAgIGQ9Im0gLTI2Ni44MjI2MSwtMTk0LjQyODU1IGMgMTQuNDE3NjIsOC42OTk1OCA1NS4zMDY3MSwtMjAuNDAzMzcgODYuOTE1NzMsLTEuMTUzMzMiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMxYTFhMWE7c3Ryb2tlLXdpZHRoOjEuODczO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5OjEuODczLCAxLjg3MzAwMDAwMDAwMDAwMDAwO3N0cm9rZS1kYXNob2Zmc2V0OjAiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDM0IgogICAgIGNsYXNzPSJpZF80IGlkXzE2IgogICAgIGQ9Im0gLTI2Ni44MjI2MSwtMTk0LjQyODU1IGMgLTIzLjU0MjgsLTYxLjM4OTY3IDYzLjAwMjQyLC02My4zNjE4OSAtNi43MzAxMiwtMTMzLjQwNzY5IgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8+CiAgPHBhdGgKICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMWExYTFhO3N0cm9rZS13aWR0aDoxLjg3MztzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheToxLjg3MywgMS44NzMwMDAwMDAwMDAwMDAwMDtzdHJva2UtZGFzaG9mZnNldDowIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgaWQ9InBhdGgzNiIKICAgICBjbGFzcz0iaWRfMSBpZF8xNCIKICAgICBkPSJtIC0yMDMuODU0NDgsLTQ5LjMxOTkwOSBjIDQyLjIyOTkxLC00MC4xMTcwMTUgLTI3LjQ3NjM4LC0zMi4wMTg1NjYgLTYuODk5NzIsLTU5LjMzOTA3MSIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MS44NzMwMDAwMztzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheToxNC45ODQwMDAyMSwgMy43NDYwMDAwNTAwMDAwMDAxNCwgMS44NzMwMDAwMzAwMDAwMDAwNCwgMy43NDYwMDAwNTAwMDAwMDAxNDtzdHJva2UtZGFzaG9mZnNldDowIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgaWQ9InBhdGgzOCIKICAgICBjbGFzcz0iaWRfMiBpZF8zMyIKICAgICBkPSJtIC0zOTEuMTUxNjQsNzcuNDc0NjI2IGMgLTcuMzMwNjcsLTE2LjkxMzUzMSAtMTA5LjQ4NzkxLDUyLjU4MDI4NCAtOTIuNTc0MzgsNDUuMjQ5NjM0IgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8+CiAgPHBhdGgKICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoxLjg3MzAwMDAzO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheToxNC45ODQwMDAyMSwgMy43NDYwMDAwNSwgMS44NzMwMDAwMywgMy43NDYwMDAwNTtzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDQwIgogICAgIGNsYXNzPSJpZF8zIGlkXzMzIgogICAgIGQ9Im0gLTQ1MS40NTMwMywtMjY2LjYxMTIgYyAtOS42Mjc3OCwxNy43NzE2NyAtMTE5LjgxMTc3LDg3LjM2ODk5IC0zMi4yNzI5OSwzODkuMzM1NDYiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEuODczMDAwMDM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIGlkPSJwYXRoNDIiCiAgICAgY2xhc3M9ImlkXzAgaWRfMTciCiAgICAgZD0ibSAtMzQzLjA2NTQ3LC04MS40Njg1MzIgYyAtMC45OTcxNiwzOS4wOTE5NDYgLTU4LjczNDk5LC0zLjI2MjIxOSAtNzYuNDg4NjksMTAuNjc5OTU0IgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8+CiAgPHBhdGgKICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoxLjg3MzAwMDAzO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5OjAuNDY4MjUwMDEsMC40NjgyNTAwMTtzdHJva2UtZGFzaG9mZnNldDowIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgaWQ9InBhdGg0NCIKICAgICBjbGFzcz0iaWRfMTIgaWRfMjYiCiAgICAgZD0ibSAtMzk1Ljg1Mjg3LC0zMTMuMzA1ODcgYyAtMjYuNzI2MDksNi40NDIwOSAtNzYuNDc4MzYsLTIzLjk4MzkgLTgyLjkyMDQ3LC01MC43MDk5OSIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEuODczMDAwMDM7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6MC40NjgyNTAwMSwwLjQ2ODI1MDAxO3N0cm9rZS1kYXNob2Zmc2V0OjAiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDQ2IgogICAgIGNsYXNzPSJpZF8xMyBpZF8yNiIKICAgICBkPSJtIC01MDUuNjkxODQsLTI5NS4yOTI2IGMgLTguMzYwOTcsLTE5LjEyODM2IDcuNzkwMTUsLTYwLjM2MjI4IDI2LjkxODUsLTY4LjcyMzI2IiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MS44NzMwMDAwMztzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTowLjQ2ODI1MDAxLDAuNDY4MjUwMDE7c3Ryb2tlLWRhc2hvZmZzZXQ6MCIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIGlkPSJwYXRoNDgiCiAgICAgY2xhc3M9ImlkXzE2IGlkXzI4IgogICAgIGQ9Im0gLTI3My41NTI3MywtMzI3LjgzNjI0IGMgLTM3LjE4MjY5LC04LjI0MDQgLTM3Ljc0MTE0LDY4LjA0NDggLTk2Ljg4NTIzLDQzLjgyMDc0IgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8+CiAgPHBhdGgKICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoxLjg3MzAwMDAzO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTowLjQ2ODI1MDAxLCAwLjQ2ODI1MDAxO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIGlkPSJwYXRoNTAiCiAgICAgY2xhc3M9ImlkXzEwIGlkXzI5IgogICAgIGQ9Im0gLTM2Ny4zNTU1NCwxNDcuNzEzODkgYyA5OS40MDE4OSwtMTYuNDAxMTIgLTYuNTg3MTcsLTEyNy40NzAzNTQgMTAwLjI5Mzc3LC0xMzMuMjA3OTYiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEuODczMDAwMDM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5OjAuNDY4MjUwMDEsIDAuNDY4MjUwMDE7c3Ryb2tlLWRhc2hvZmZzZXQ6MDtzdHJva2Utb3BhY2l0eToxIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgaWQ9InBhdGg1MiIKICAgICBjbGFzcz0iaWRfMTEgaWRfMjciCiAgICAgZD0ibSAtNDY3LjExNDI4LC0xODQuMzY2NTQgYyAtMTAuNjk1ODIsNi45OTg5OSAtMzEuNzU0NywzMi42NDk0MiAtMzAuNzEwMTgsNjcuMzg2MzIiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEuODczMDAwMDM7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6MC40NjgyNTAwMSwwLjQ2ODI1MDAxO3N0cm9rZS1kYXNob2Zmc2V0OjAiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDU0IgogICAgIGNsYXNzPSJpZF84IGlkXzI3IgogICAgIGQ9Im0gLTQ3Ni4yMjk3NSwtOC41Mzc0NjggYyAxLjM1OTg3LC05LjkzODMxMiAyMC4wMTQ2LC02OC4xMTQ4MjIgLTIxLjU5NDcxLC0xMDguNDQyNzUyIgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8+CiAgPHBhdGgKICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoxLjg3MzAwMDAzO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5OjAuNDY4MjUwMDEsMC40NjgyNTAwMTtzdHJva2UtZGFzaG9mZnNldDowIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgaWQ9InBhdGg1NiIKICAgICBjbGFzcz0iaWRfMjkgaWRfOSIKICAgICBkPSJtIC0yNjcuMDYxNzcsMTQuNTA1OTMgYyAtMjYuOTgyMDQsLTM4LjAxOTI2NiAtNDUuNDg0NzUsMTQuNjI1NjU2IC04My43MzY0MywxMC4xODcwMDMiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEuODczMDAwMDM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5OjAuNDY4MjUwMDEsIDAuNDY4MjUwMDE7c3Ryb2tlLWRhc2hvZmZzZXQ6MDtzdHJva2Utb3BhY2l0eToxIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgaWQ9InBhdGg1OCIKICAgICBjbGFzcz0iaWRfNyBpZF8yOSIKICAgICBkPSJtIC0yMTkuNzI2OTEsLTguMTgyODUyNCBjIC0yNS4zNDg5NiwwLjA5MDQ5IC03LjM2MjA0LDE3LjAwNjY4NzEgLTQ3LjMzNDg2LDIyLjY4ODc4MjQiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEuODczMDAwMDM7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6MC40NjgyNTAwMSwwLjQ2ODI1MDAxO3N0cm9rZS1kYXNob2Zmc2V0OjAiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDYwIgogICAgIGNsYXNzPSJpZF81IGlkXzMwIgogICAgIGQ9Im0gLTI2Ny4zNjk2MSw4MC4wNjIyNyBjIDM3LjEyODA3LDQ0Ljc3NzYyIDQyLjIzMTc4LDguNTQ3NDk4IDc4LjAxNDk3LDUxLjI5NjA5IgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8+CiAgPHBhdGgKICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoxLjg3MzAwMDAzO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5OjAuNDY4MjUwMDEsMC40NjgyNTAwMTtzdHJva2UtZGFzaG9mZnNldDowIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgaWQ9InBhdGg2MiIKICAgICBjbGFzcz0iaWRfNiBpZF8zMCIKICAgICBkPSJtIC0xOTIuODkxODcsNjUuMTAzMDU0IGMgLTEwLjQxMzQsMzcuMjU5MTE2IDI1Ljk3MTM4LDQwLjExNzQ4NiAzLjUzNzIzLDY2LjI1NTMwNiIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MS44NzMwMDAwMztzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTowLjQ2ODI1MDAxLDAuNDY4MjUwMDE7c3Ryb2tlLWRhc2hvZmZzZXQ6MCIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIGlkPSJwYXRoNjQiCiAgICAgY2xhc3M9ImlkXzE1IGlkXzMxIgogICAgIGQ9Im0gLTE3OS45MDY4OCwtMTk1LjU4MTg4IGMgNS4xODkxMSwyMC43MzE3NiA3Ni42Mjc0NCwtMC4zMTQyNSA1OS4wNzc2NywzMy4zMzU4OCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MS44NzMwMDAwMztzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTowLjQ2ODI1MDAxLDAuNDY4MjUwMDE7c3Ryb2tlLWRhc2hvZmZzZXQ6MCIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIGlkPSJwYXRoNjYiCiAgICAgY2xhc3M9ImlkXzE0IGlkXzMxIgogICAgIGQ9Im0gLTIxMC43NTQyLC0xMDguNjU4OTggYyAwLjQyNzc5LC0yNS42ODIxNyA3OC4yOTQxMiwtMTEuMzkyNTIgODkuOTI0OTksLTUzLjU4NzAyIgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8+CiAgPHBhdGgKICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoxLjg3MzAwMDAzO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheToxNC45ODQwMDAyMSwgMy43NDYwMDAwNSwgMS44NzMwMDAwMywgMy43NDYwMDAwNTtzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDY4IgogICAgIGNsYXNzPSJpZF8xIGlkXzMzIgogICAgIGQ9Ik0gLTIwMy44NTQ0OCwtNDkuMzE5OTA5IEMgNjMuMDcyMTM0LDE5OC40NDYzNCAtNDI1Ljg4ODIsMjQ1Ljc3NTMyIC00ODMuNzI2MDIsMTIyLjcyNDI2IgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8+CiAgPHBhdGgKICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoxLjg3MzAwMDAzO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5OjE0Ljk4NDAwMDIxLCAzLjc0NjAwMDA1MDAwMDAwMDE0LCAxLjg3MzAwMDAzMDAwMDAwMDA0LCAzLjc0NjAwMDA1MDAwMDAwMDE0O3N0cm9rZS1kYXNob2Zmc2V0OjAiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDcwIgogICAgIGNsYXNzPSJpZF80IGlkXzMyIgogICAgIGQ9Im0gLTI2Ni44MjI2MSwtMTk0LjQyODU1IGMgNjkuMjUxMTQsLTE4LjE1MDQ2IDIxLjk4NTgzLC02OS42NjI1MyA3My4zNzAyOSwtODQuNTU3MDgiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4KICA8Y2lyY2xlCiAgICAgc3R5bGU9ImZpbGw6Izg3ZGU4NztmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MS44NzM7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIKICAgICBpZD0iY2lyY2xlNzMiCiAgICAgY3k9Ii04MS4yMTg1MjkiCiAgICAgY2xhc3M9ImlkXzAiCiAgICAgY3g9Ii0zNDIuODE1NDkiCiAgICAgcj0iNy4yMDg0NjciIC8+CiAgPGNpcmNsZQogICAgIHN0eWxlPSJmaWxsOiM4MGIzZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEuODczO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgaWQ9ImNpcmNsZTc3IgogICAgIGN5PSI3NS40Mjc5NDgiCiAgICAgY2xhc3M9ImlkXzIiCiAgICAgY3g9Ii0zODkuMjczMTMiCiAgICAgcj0iNy4yMDg0NjciIC8+CiAgPGNpcmNsZQogICAgIHN0eWxlPSJmaWxsOiM4MGIzZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEuODczMDAwMDM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICBpZD0iY2lyY2xlNzkiCiAgICAgY3k9Ii0yNjcuNDY0NzUiCiAgICAgY2xhc3M9ImlkXzMiCiAgICAgY3g9Ii00NTEuMTU0MDIiCiAgICAgcj0iNy4yMDg0NjciIC8+CiAgPGNpcmNsZQogICAgIHN0eWxlPSJmaWxsOiM4MGIzZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEuODczO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgaWQ9ImNpcmNsZTgxIgogICAgIGN5PSItMTk0Ljc4MjEyIgogICAgIGNsYXNzPSJpZF80IgogICAgIGN4PSItMjY2LjQ2OTA2IgogICAgIHI9IjcuMjA4NDY3IiAvPgogIDxjaXJjbGUKICAgICBzdHlsZT0iZmlsbDojZmY4MDgwO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoxLjg3MztzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJjaXJjbGU4MyIKICAgICBjeT0iNzkuODI4MDc5IgogICAgIGNsYXNzPSJpZF81IgogICAgIGN4PSItMjY3LjYwMzc5IgogICAgIHI9IjMuNjA0MjMzNSIgLz4KICA8Y2lyY2xlCiAgICAgc3R5bGU9ImZpbGw6I2ZmODA4MDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MS44NzM7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIKICAgICBpZD0iY2lyY2xlODUiCiAgICAgY3k9IjY1LjQzNDI0MiIKICAgICBjbGFzcz0iaWRfNiIKICAgICBjeD0iLTE5My4xMjYwNSIKICAgICByPSIzLjYwNDIzMzUiIC8+CiAgPGNpcmNsZQogICAgIHN0eWxlPSJmaWxsOiNmZjgwODA7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEuODczMDAwMDM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICBpZD0iY2lyY2xlODciCiAgICAgY3k9Ii03LjcyNTc0NzEiCiAgICAgY2xhc3M9ImlkXzciCiAgICAgY3g9Ii0yMTkuMTk2NTgiCiAgICAgcj0iMy42MDQyMzM1IiAvPgogIDxjaXJjbGUKICAgICBzdHlsZT0iZmlsbDojZmY4MDgwO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoxLjg3MztzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJjaXJjbGU4OSIKICAgICBjeT0iLTkuMTg3MDA2IgogICAgIGNsYXNzPSJpZF84IgogICAgIGN4PSItNDc1LjgzODIzIgogICAgIHI9IjMuNjA0MjMzNSIgLz4KICA8Y2lyY2xlCiAgICAgc3R5bGU9ImZpbGw6I2ZmODA4MDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MS44NzM7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIKICAgICBpZD0iY2lyY2xlOTEiCiAgICAgY3k9IjI2LjEwNzEzIgogICAgIGNsYXNzPSJpZF85IgogICAgIGN4PSItMzUxLjE1MTczIgogICAgIHI9IjMuNjA0MjMzNSIgLz4KICA8Y2lyY2xlCiAgICAgc3R5bGU9ImZpbGw6I2ZmODA4MDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MS44NzM7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIKICAgICBpZD0iY2lyY2xlOTMiCiAgICAgY3k9IjE0Ny4xNjAxNyIKICAgICBjbGFzcz0iaWRfMTAiCiAgICAgY3g9Ii0zNjcuOTA5MjQiCiAgICAgcj0iMy42MDQyMzM1IiAvPgogIDxjaXJjbGUKICAgICBzdHlsZT0iZmlsbDojZmY4MDgwO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoxLjg3MztzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJjaXJjbGU5NSIKICAgICBjeT0iLTE4NS4yMzE1MiIKICAgICBjbGFzcz0iaWRfMTEiCiAgICAgY3g9Ii00NjYuNDcyODEiCiAgICAgcj0iMy42MDQyMzM1IiAvPgogIDxjaXJjbGUKICAgICBzdHlsZT0iZmlsbDojZmY4MDgwO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoxLjg3MztzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJjaXJjbGU5NyIKICAgICBjeT0iLTMxMy4zMDU4OCIKICAgICBjbGFzcz0iaWRfMTIiCiAgICAgY3g9Ii0zOTUuODUyODQiCiAgICAgcj0iMy42MDQyMzM1IiAvPgogIDxjaXJjbGUKICAgICBzdHlsZT0iZmlsbDojZmY4MDgwO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoxLjg3MztzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJjaXJjbGU5OSIKICAgICBjeT0iLTI5NS4yOTI2IgogICAgIGNsYXNzPSJpZF8xMyIKICAgICBjeD0iLTUwNS42OTE4OSIKICAgICByPSIzLjYwNDIzMzUiIC8+CiAgPGNpcmNsZQogICAgIHN0eWxlPSJmaWxsOiNmZjgwODA7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEuODczO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgaWQ9ImNpcmNsZTEwMSIKICAgICBjeT0iLTEwOC4zMjc4IgogICAgIGNsYXNzPSJpZF8xNCIKICAgICBjeD0iLTIxMS40ODM2NiIKICAgICByPSIzLjYwNDIzMzUiIC8+CiAgPGNpcmNsZQogICAgIHN0eWxlPSJmaWxsOiNmZjgwODA7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEuODczO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgaWQ9ImNpcmNsZTEwMyIKICAgICBjeT0iLTE5NS41ODE4OCIKICAgICBjbGFzcz0iaWRfMTUiCiAgICAgY3g9Ii0xNzkuNzMwMSIKICAgICByPSIzLjYwNDIzMzUiIC8+CiAgPGNpcmNsZQogICAgIHN0eWxlPSJmaWxsOiNmZjgwODA7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEuODczO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgaWQ9ImNpcmNsZTEwNSIKICAgICBjeT0iLTMyNy44MzYyNCIKICAgICBjbGFzcz0iaWRfMTYiCiAgICAgY3g9Ii0yNzMuNTUyNzMiCiAgICAgcj0iMy42MDQyMzM1IiAvPgogIDxjaXJjbGUKICAgICBzdHlsZT0iZmlsbDojZGU4N2NkO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoxLjg3MzAwMDAzO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgaWQ9ImNpcmNsZTEwNyIKICAgICBjeT0iLTcxLjY4NTAyOCIKICAgICBjbGFzcz0iaWRfMTciCiAgICAgY3g9Ii00MjIuNzM2MTUiCiAgICAgcj0iNy4yMDg0NjciIC8+CiAgPGNpcmNsZQogICAgIHN0eWxlPSJmaWxsOiMwMGQ0YWE7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEuODczO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgaWQ9ImNpcmNsZTEwOSIKICAgICBjeT0iMTIyLjU0MjY1IgogICAgIGNsYXNzPSJpZF8zMyIKICAgICBjeD0iLTQ4Mi42NTMxMSIKICAgICByPSI3LjIwODQ2NyIgLz4KICA8Y2lyY2xlCiAgICAgc3R5bGU9ImZpbGw6IzAwZDRhYTtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MS44NzM7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIKICAgICBpZD0iY2lyY2xlMTExIgogICAgIGN5PSItMjc5LjY5Mjc1IgogICAgIGNsYXNzPSJpZF8zMiIKICAgICBjeD0iLTE5My40NTIzMiIKICAgICByPSI3LjIwODQ2NyIgLz4KICA8Y2lyY2xlCiAgICAgc3R5bGU9ImZpbGw6I2ZmZGQ1NTtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MS44NzM7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIKICAgICBpZD0iY2lyY2xlMTEzIgogICAgIGN5PSItMTYwLjgzMTc5IgogICAgIGNsYXNzPSJpZF8zMSIKICAgICBjeD0iLTEyMS41MzYzMiIKICAgICByPSI3LjIwODQ2NyIgLz4KICA8Y2lyY2xlCiAgICAgc3R5bGU9ImZpbGw6I2ZmZGQ1NTtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MS44NzM7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIKICAgICBpZD0iY2lyY2xlMTE1IgogICAgIGN5PSIxMzEuMzE2MDIiCiAgICAgY2xhc3M9ImlkXzMwIgogICAgIGN4PSItMTg5LjY1NjU5IgogICAgIHI9IjcuMjA4NDY3IiAvPgogIDxjaXJjbGUKICAgICBzdHlsZT0iZmlsbDojZmZkZDU1O2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoxLjg3MztzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJjaXJjbGUxMTciCiAgICAgY3k9IjE0LjI4MDg1MyIKICAgICBjbGFzcz0iaWRfMjkiCiAgICAgY3g9Ii0yNjcuNDgyODIiCiAgICAgcj0iNy4yMDg0NjciIC8+CiAgPGNpcmNsZQogICAgIHN0eWxlPSJmaWxsOiNmZmRkNTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEuODczO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgaWQ9ImNpcmNsZTExOSIKICAgICBjeT0iLTI4NC4wMTU1IgogICAgIGNsYXNzPSJpZF8yOCIKICAgICBjeD0iLTM3MC40Mzc5OSIKICAgICByPSI3LjIwODQ2NyIgLz4KICA8Y2lyY2xlCiAgICAgc3R5bGU9ImZpbGw6I2ZmZGQ1NTtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MS44NzM7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIKICAgICBpZD0iY2lyY2xlMTIxIgogICAgIGN5PSItMTE1LjI2NTk1IgogICAgIGNsYXNzPSJpZF8yNyIKICAgICBjeD0iLTQ5Ni4wODc5MiIKICAgICByPSI3LjIwODQ2NyIgLz4KICA8Y2lyY2xlCiAgICAgc3R5bGU9ImZpbGw6I2ZmZGQ1NTtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MS44NzM7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIKICAgICBpZD0iY2lyY2xlMTIzIgogICAgIGN5PSItMzY0LjAxNTg0IgogICAgIGNsYXNzPSJpZF8yNiIKICAgICBjeD0iLTQ3OC43NzMzNSIKICAgICByPSI3LjIwODQ2NyIgLz4KICA8dGV4dAogICAgIGlkPSJ0ZXh0MTI2IgogICAgIGNsYXNzPSJpZF8wIgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6MTMuODY4NDY2MzhweDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7ZG9taW5hbnQtYmFzZWxpbmU6Y2VudHJhbDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojMDAwMDAwO3N0cm9rZS13aWR0aDowLjU3Nzg1MjczIgogICAgIHk9Ii05NS43NjQ5NDYiCiAgICAgeD0iLTMwOS40ODM2NCIKICAgICBmb250LXNpemU9IjI0Ij5wZXJzaXN0ZW50SWQ8L3RleHQ+CiAgPHRleHQKICAgICBpZD0idGV4dDEyOCIKICAgICBjbGFzcz0iaWRfMSIKICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjEzLjg2ODQ2NjM4cHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC41Nzc4NTI3MyIKICAgICB5PSItNDkuMDYyODAxIgogICAgIHg9Ii0xNTEuNTYzNTgiCiAgICAgZm9udC1zaXplPSIyNCI+dHJhbnNpZW50SWQ8L3RleHQ+CiAgPHRleHQKICAgICBpZD0idGV4dDEzMCIKICAgICBjbGFzcz0iaWRfMiIKICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjEzLjg2ODQ2NjM4cHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC41Nzc4NTI3MyIKICAgICB5PSI2Ny45NzYxMTIiCiAgICAgeD0iLTQ0Mi41MzA2NCIKICAgICBmb250LXNpemU9IjI0Ij50cmFuc2llbnRJZDwvdGV4dD4KICA8dGV4dAogICAgIGlkPSJ0ZXh0MTMyIgogICAgIGNsYXNzPSJpZF8zIgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6MTMuODY4NDY2MzhweDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7ZG9taW5hbnQtYmFzZWxpbmU6Y2VudHJhbDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojMDAwMDAwO3N0cm9rZS13aWR0aDowLjU3Nzg1MjczIgogICAgIHk9Ii0yNTkuNTE2MTEiCiAgICAgeD0iLTUxMS4wMjAyIgogICAgIGZvbnQtc2l6ZT0iMjQiPnRyYW5zaWVudElkPC90ZXh0PgogIDx0ZXh0CiAgICAgaWQ9InRleHQxMzQiCiAgICAgY2xhc3M9ImlkXzQiCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZToxMy44Njg0NjYzOHB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuNTc3ODUyNzMiCiAgICAgeT0iLTIwMi4wMzYzMiIKICAgICB4PSItMzE4LjkxMDYxIgogICAgIGZvbnQtc2l6ZT0iMjQiPnRyYW5zaWVudElkPC90ZXh0PgogIDx0ZXh0CiAgICAgaWQ9InRleHQxMzYiCiAgICAgY2xhc3M9ImlkXzUiCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo4LjY1MDE2MDc5cHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC43MjA4NDY3MSIKICAgICB5PSI5MC4xMTg5NjUiCiAgICAgeD0iLTI4MS43MDE5MyIKICAgICBmb250LXNpemU9IjEyIj53ZWJzaXRlPC90ZXh0PgogIDx0ZXh0CiAgICAgaWQ9InRleHQxMzgiCiAgICAgY2xhc3M9ImlkXzYiCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo4LjY1MDE2MDc5cHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC43MjA4NDY3MSIKICAgICB5PSI2NC45NTgxNjgiCiAgICAgeD0iLTE2OS4xMjM2OSIKICAgICBmb250LXNpemU9IjEyIj53ZWJzaXRlPC90ZXh0PgogIDx0ZXh0CiAgICAgaWQ9InRleHQxNDAiCiAgICAgY2xhc3M9ImlkXzciCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo4LjY1MDE2MDc5cHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC43MjA4NDY3MSIKICAgICB5PSItMTcuNzEyNzM2IgogICAgIHg9Ii0yMzguMDcwMDUiCiAgICAgZm9udC1zaXplPSIxMiI+d2Vic2l0ZTwvdGV4dD4KICA8dGV4dAogICAgIGlkPSJ0ZXh0MTQyIgogICAgIGNsYXNzPSJpZF84IgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6OC42NTAxNjA3OXB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuNzIwODQ2NzEiCiAgICAgeT0iLTguNDg0NDM5OCIKICAgICB4PSItNDUwLjg4NDA5IgogICAgIGZvbnQtc2l6ZT0iMTIiPndlYnNpdGU8L3RleHQ+CiAgPHRleHQKICAgICBpZD0idGV4dDE0NCIKICAgICBjbGFzcz0iaWRfOSIKICAgICBzdHlsZT0iZm9udC1zaXplOjguNjUwMTYwNzlweDtmb250LWZhbWlseTpBcmlhbDtkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuNzIwODQ2NzEiCiAgICAgeT0iMzMuNDQ5MTA0IgogICAgIHg9Ii0zMzMuNTA4MTgiCiAgICAgZm9udC1zaXplPSIxMiI+CiAgICA8dHNwYW4KICAgICAgIHN0eWxlPSJmb250LXdlaWdodDpib2xkIgogICAgICAgaWQ9InRzcGFuMTg2MSI+d2Vic2l0ZTwvdHNwYW4+CiAgPC90ZXh0PgogIDx0ZXh0CiAgICAgaWQ9InRleHQxNDYiCiAgICAgY2xhc3M9ImlkXzEwIgogICAgIHN0eWxlPSJmb250LXNpemU6OC42NTAxNjA3OXB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7ZG9taW5hbnQtYmFzZWxpbmU6Y2VudHJhbDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojMDAwMDAwO3N0cm9rZS13aWR0aDowLjcyMDg0NjcxOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0eWxlOm5vcm1hbDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7IgogICAgIHk9IjE1Ny4xMTI2OSIKICAgICB4PSItMzY4LjEwMTc1IgogICAgIGZvbnQtc2l6ZT0iMTIiPndlYnNpdGU8L3RleHQ+CiAgPHRleHQKICAgICBpZD0idGV4dDE0OCIKICAgICBjbGFzcz0iaWRfMTEiCiAgICAgc3R5bGU9ImZvbnQtc2l6ZTo4LjY1MDE2MDc5cHg7Zm9udC1mYW1pbHk6QXJpYWw7ZG9taW5hbnQtYmFzZWxpbmU6Y2VudHJhbDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojMDAwMDAwO3N0cm9rZS13aWR0aDowLjcyMDg0NjcxIgogICAgIHk9Ii0xODQuODI3ODgiCiAgICAgeD0iLTQ0Mi4zMDQ5OSIKICAgICBmb250LXNpemU9IjEyIj53ZWJzaXRlPC90ZXh0PgogIDx0ZXh0CiAgICAgaWQ9InRleHQxNTAiCiAgICAgY2xhc3M9ImlkXzEyIgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6OC42NTAxNjA3OXB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuNzIwODQ2NzEiCiAgICAgeT0iLTMyMy4xOTg3OSIKICAgICB4PSItMzkzLjY1MzExIgogICAgIGZvbnQtc2l6ZT0iMTIiPndlYnNpdGU8L3RleHQ+CiAgPHRleHQKICAgICBpZD0idGV4dDE1MiIKICAgICBjbGFzcz0iaWRfMTMiCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo4LjY1MDE2MDc5cHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC43MjA4NDY3MSIKICAgICB5PSItMjkzLjk3NTQiCiAgICAgeD0iLTUyOS44NjIxOCIKICAgICBmb250LXNpemU9IjEyIj53ZWJzaXRlPC90ZXh0PgogIDx0ZXh0CiAgICAgaWQ9InRleHQxNTQiCiAgICAgY2xhc3M9ImlkXzE0IgogICAgIHN0eWxlPSJmb250LXNpemU6OC42NTAxNjA3OXB4O2ZvbnQtZmFtaWx5OkFyaWFsO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC43MjA4NDY3MSIKICAgICB5PSItMTA2LjA4NzI2IgogICAgIHg9Ii0xODkuNDkwOCIKICAgICBmb250LXNpemU9IjEyIj4KICAgIDx0c3BhbgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtZmFtaWx5OkFyaWFsOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J0FyaWFsIEJvbGQnIgogICAgICAgaWQ9InRzcGFuMTg1OSI+d2Vic2l0ZTwvdHNwYW4+CiAgPC90ZXh0PgogIDx0ZXh0CiAgICAgaWQ9InRleHQxNTYiCiAgICAgY2xhc3M9ImlkXzE1IgogICAgIHN0eWxlPSJmb250LXNpemU6OC42NTAxNjA3OXB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7ZG9taW5hbnQtYmFzZWxpbmU6Y2VudHJhbDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojMDAwMDAwO3N0cm9rZS13aWR0aDowLjcyMDg0NjcxOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0eWxlOm5vcm1hbDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7IgogICAgIHk9Ii0yMDYuNjk0NSIKICAgICB4PSItMTc2LjM3MTM0IgogICAgIGZvbnQtc2l6ZT0iMTIiPndlYnNpdGU8L3RleHQ+CiAgPHRleHQKICAgICBpZD0idGV4dDE1OCIKICAgICBjbGFzcz0iaWRfMTYiCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo4LjY1MDE2MDc5cHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC43MjA4NDY3MSIKICAgICB5PSItMzMyLjE0NTQyIgogICAgIHg9Ii0yNTEuMDA3NCIKICAgICBmb250LXNpemU9IjEyIj53ZWJzaXRlPC90ZXh0PgogIDx0ZXh0CiAgICAgaWQ9InRleHQxNjAiCiAgICAgY2xhc3M9ImlkXzE3IgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6MTMuODY4NDY2MzhweDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7ZG9taW5hbnQtYmFzZWxpbmU6Y2VudHJhbDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojMDAwMDAwO3N0cm9rZS13aWR0aDowLjU3Nzg1MjczIgogICAgIHk9Ii01NC40OTM2MSIKICAgICB4PSItNDA0Ljg0NDM5IgogICAgIGZvbnQtc2l6ZT0iMjQiPmdyb3VwSWRlbnRpdHk8L3RleHQ+CiAgPHRleHQKICAgICBpZD0idGV4dDE2MiIKICAgICBjbGFzcz0iaWRfMzMiCiAgICAgc3R5bGU9ImZvbnQtc2l6ZToxNC40NDI0MzkwOHB4O2ZvbnQtZmFtaWx5OkFyaWFsO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC42MDE3NjgyNiIKICAgICB5PSIxMzguMzcyMTMiCiAgICAgeD0iLTUxNi43MjgwMyIKICAgICBmb250LXNpemU9IjI0Ij4KICAgIDx0c3BhbgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtZmFtaWx5OkFyaWFsOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J0FyaWFsIEJvbGQnO3N0cm9rZS13aWR0aDowLjYwMTc2ODI2IgogICAgICAgaWQ9InRzcGFuMTg1NyI+SVBMb2NhdGlvbjwvdHNwYW4+CiAgPC90ZXh0PgogIDx0ZXh0CiAgICAgaWQ9InRleHQxNjQiCiAgICAgY2xhc3M9ImlkXzMyIgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6MTQuNDM3MzU2cHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC42MDE1NTY0MiIKICAgICB5PSItMjk2LjgwMzUiCiAgICAgeD0iLTE5My40MzQxNCIKICAgICBmb250LXNpemU9IjI0Ij5JUExvY2F0aW9uPC90ZXh0PgogIDx0ZXh0CiAgICAgaWQ9InRleHQxNjYiCiAgICAgY2xhc3M9ImlkXzMxIgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6MTMuODY4NDY2MzhweDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7ZG9taW5hbnQtYmFzZWxpbmU6Y2VudHJhbDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojMDAwMDAwO3N0cm9rZS13aWR0aDowLjU3Nzg1MjczIgogICAgIHk9Ii0xNjcuOTUxMDMiCiAgICAgeD0iLTE4My40Mzc5IgogICAgIGZvbnQtc2l6ZT0iMjQiPndlYnNpdGVHcm91cDwvdGV4dD4KICA8dGV4dAogICAgIGlkPSJ0ZXh0MTY4IgogICAgIGNsYXNzPSJpZF8zMCIKICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjEzLjg2ODQ2NjM4cHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC41Nzc4NTI3MyIKICAgICB5PSIxNDcuMjkwNTkiCiAgICAgeD0iLTIyNC4xNTQ4NiIKICAgICBmb250LXNpemU9IjI0Ij53ZWJzaXRlR3JvdXA8L3RleHQ+CiAgPHRleHQKICAgICBpZD0idGV4dDE3MCIKICAgICBjbGFzcz0iaWRfMjkiCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZToxMy44Njg0NjYzOHB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuNTc3ODUyNzMiCiAgICAgeT0iMzUuNjk0MDc3IgogICAgIHg9Ii0yNTMuNzUiCiAgICAgZm9udC1zaXplPSIyNCI+d2Vic2l0ZUdyb3VwPC90ZXh0PgogIDx0ZXh0CiAgICAgaWQ9InRleHQxNzIiCiAgICAgY2xhc3M9ImlkXzI4IgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6MTMuODY4NDY2MzhweDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7ZG9taW5hbnQtYmFzZWxpbmU6Y2VudHJhbDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojMDAwMDAwO3N0cm9rZS13aWR0aDowLjU3Nzg1MjczIgogICAgIHk9Ii0yNjUuMzEzNjYiCiAgICAgeD0iLTM0Ni4xMTIxNSIKICAgICBmb250LXNpemU9IjI0Ij53ZWJzaXRlR3JvdXA8L3RleHQ+CiAgPHRleHQKICAgICBpZD0idGV4dDE3NCIKICAgICBjbGFzcz0iaWRfMjciCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZToxMy44Njg0NjYzOHB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuNTc3ODUyNzMiCiAgICAgeT0iLTExNy45MTY1IgogICAgIHg9Ii00MzMuNDg3NTUiCiAgICAgZm9udC1zaXplPSIyNCI+d2Vic2l0ZUdyb3VwPC90ZXh0PgogIDx0ZXh0CiAgICAgaWQ9InRleHQxNzYiCiAgICAgY2xhc3M9ImlkXzI2IgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6MTQuNDM3MzU2cHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC42MDE1NTY0MiIKICAgICB5PSItMzc5Ljk4NzUyIgogICAgIHg9Ii00NzguNzg4NzMiCiAgICAgZm9udC1zaXplPSIyNCI+d2Vic2l0ZUdyb3VwPC90ZXh0PgogIDx0ZXh0CiAgICAgaWQ9InRleHQxODEiCiAgICAgY2xhc3M9ImlkXzIiCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo3LjIwODQ2NzAxcHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6I2E4NTZiYztmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC43MjA4NDY3MSIKICAgICB5PSItMzUuODM0ODU0IgogICAgIHg9Ii0yMjkuMzk5MjgiCiAgICAgZm9udC1zaXplPSIxMCI+dmlzaXRlZDwvdGV4dD4KICA8dGV4dAogICAgIGlkPSJ0ZXh0MTgzIgogICAgIGNsYXNzPSJpZF8zIgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6Ny4yMDg0NjcwMXB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiNhODU2YmM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuNzIwODQ2NzEiCiAgICAgeT0iMjEuMjU4NTc0IgogICAgIHg9Ii0yMDYuNjU3MTQiCiAgICAgZm9udC1zaXplPSIxMCI+dmlzaXRlZDwvdGV4dD4KICA8dGV4dAogICAgIGlkPSJ0ZXh0MTg1IgogICAgIGNsYXNzPSJpZF80IgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6Ny4yMDg0NjcwMXB4O2ZvbnQtZmFtaWx5OkFyaWFsOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J0FyaWFsIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6I2ZmNjYwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC43MjA4NDY3MSIKICAgICB5PSItNjkuNjM2NDUyIgogICAgIHg9Ii0yODcuNzY2NjMiCiAgICAgZm9udC1zaXplPSIxMCI+aGFzX2lkZW50aXR5PC90ZXh0PgogIDx0ZXh0CiAgICAgaWQ9InRleHQxODciCiAgICAgY2xhc3M9ImlkXzUiCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo3LjIwODQ2NzAxcHg7Zm9udC1mYW1pbHk6QXJpYWw7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonQXJpYWwgQm9sZCc7ZG9taW5hbnQtYmFzZWxpbmU6Y2VudHJhbDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojZmY2NjAwO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjcyMDg0NjcxIgogICAgIHk9Ii0yNC42NDc0MDIiCiAgICAgeD0iLTM0Ni42NDI2NCIKICAgICBmb250LXNpemU9IjEwIj5oYXNfaWRlbnRpdHk8L3RleHQ+CiAgPHRleHQKICAgICBpZD0idGV4dDE4OSIKICAgICBjbGFzcz0iaWRfNiIKICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjcuMjA4NDY3MDFweDtmb250LWZhbWlseTpBcmlhbDstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiNmZjY2MDA7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuNzIwODQ2NzEiCiAgICAgeT0iLTE3Mi40MTAwNiIKICAgICB4PSItMzY4LjU4MDE3IgogICAgIGZvbnQtc2l6ZT0iMTAiPmhhc19pZGVudGl0eTwvdGV4dD4KICA8dGV4dAogICAgIGlkPSJ0ZXh0MTkxIgogICAgIGNsYXNzPSJpZF83IgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6Ny4yMDg0NjcwMXB4O2ZvbnQtZmFtaWx5OkFyaWFsOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J0FyaWFsIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6I2ZmNjYwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC43MjA4NDY3MSIKICAgICB5PSItMTQwLjg5MTM2IgogICAgIHg9Ii0zMjMuNTAyNjkiCiAgICAgZm9udC1zaXplPSIxMCI+aGFzX2lkZW50aXR5PC90ZXh0PgogIDx0ZXh0CiAgICAgaWQ9InRleHQxOTMiCiAgICAgY2xhc3M9ImlkXzkiCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo3LjIwODQ2NzAxcHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6I2E4NTZiYztmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC43MjA4NDY3MSIKICAgICB5PSIyMC4zNzk2MiIKICAgICB4PSItNDIzLjI1ODEyIgogICAgIGZvbnQtc2l6ZT0iMTAiPnZpc2l0ZWQ8L3RleHQ+CiAgPHRleHQKICAgICBpZD0idGV4dDE5NSIKICAgICBjbGFzcz0iaWRfMTAiCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo3LjIwODQ2NzAxcHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6I2E4NTZiYztmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC43MjA4NDY3MSIKICAgICB5PSI3Mi4yMDE2MTQiCiAgICAgeD0iLTM1MS4zMDgwNyIKICAgICBmb250LXNpemU9IjEwIj52aXNpdGVkPC90ZXh0PgogIDx0ZXh0CiAgICAgaWQ9InRleHQxOTciCiAgICAgY2xhc3M9ImlkXzExIgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6Ny4yMDg0NjcwMXB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiNhODU2YmM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuNzIwODQ2NzEiCiAgICAgeT0iMTE5Ljk3NjY1IgogICAgIHg9Ii0zNzQuNTAxNTkiCiAgICAgZm9udC1zaXplPSIxMCI+dmlzaXRlZDwvdGV4dD4KICA8dGV4dAogICAgIGlkPSJ0ZXh0MTk5IgogICAgIGNsYXNzPSJpZF8xMiIKICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjcuMjA4NDY3MDFweDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7ZG9taW5hbnQtYmFzZWxpbmU6Y2VudHJhbDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojYTg1NmJjO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjcyMDg0NjcxIgogICAgIHk9Ii0yODcuNzY0NTkiCiAgICAgeD0iLTQyOC4zNjI4NSIKICAgICBmb250LXNpemU9IjEwIj52aXNpdGVkPC90ZXh0PgogIDx0ZXh0CiAgICAgaWQ9InRleHQyMDMiCiAgICAgY2xhc3M9ImlkXzE0IgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6Ny4yMDg0NjcwMXB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiNhODU2YmM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuNzIwODQ2NzEiCiAgICAgeT0iLTIxMy4zMTM3NCIKICAgICB4PSItNDI3LjAwNTI4IgogICAgIGZvbnQtc2l6ZT0iMTAiPnZpc2l0ZWQ8L3RleHQ+CiAgPHRleHQKICAgICBpZD0idGV4dDIwNSIKICAgICBjbGFzcz0iaWRfMTUiCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo3LjIwODQ2NzAxcHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6I2E4NTZiYztmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC43MjA4NDY3MSIKICAgICB5PSItMjgzLjUzNjk5IgogICAgIHg9Ii00NzMuNzI4NTUiCiAgICAgZm9udC1zaXplPSIxMCI+dmlzaXRlZDwvdGV4dD4KICA8dGV4dAogICAgIGlkPSJ0ZXh0MjA3IgogICAgIGNsYXNzPSJpZF8xNiIKICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjcuMjA4NDY3MDFweDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7ZG9taW5hbnQtYmFzZWxpbmU6Y2VudHJhbDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojYTg1NmJjO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjcyMDg0NjcxIgogICAgIHk9Ii0xNDEuMTczNzUiCiAgICAgeD0iLTI2MC4xNDM3NCIKICAgICBmb250LXNpemU9IjEwIj52aXNpdGVkPC90ZXh0PgogIDx0ZXh0CiAgICAgaWQ9InRleHQyMDkiCiAgICAgY2xhc3M9ImlkXzE3IgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6Ny4yMDg0NjcwMXB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiNhODU2YmM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuNzIwODQ2NzEiCiAgICAgeT0iLTE5My44MDQ2MSIKICAgICB4PSItMjE1LjYwNzMzIgogICAgIGZvbnQtc2l6ZT0iMTAiPnZpc2l0ZWQ8L3RleHQ+CiAgPHRleHQKICAgICBpZD0idGV4dDIxMSIKICAgICBjbGFzcz0iaWRfMTkiCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo3LjIwODQ2NzAxcHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6I2E4NTZiYztmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC43MjA4NDY3MSIKICAgICB5PSItMjc2LjgxODMiCiAgICAgeD0iLTI2Mi44NzcxNyIKICAgICBmb250LXNpemU9IjEwIj52aXNpdGVkPC90ZXh0PgogIDx0ZXh0CiAgICAgaWQ9InRleHQyMTMiCiAgICAgY2xhc3M9ImlkXzIwIgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6Ny4yMDg0NjcwMXB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiNhODU2YmM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuNzIwODQ2NzEiCiAgICAgeT0iLTcxLjE1MjIxNCIKICAgICB4PSItMjA3LjIwMjk0IgogICAgIGZvbnQtc2l6ZT0iMTAiPnZpc2l0ZWQ8L3RleHQ+CiAgPHRleHQKICAgICBpZD0idGV4dDIxNSIKICAgICBjbGFzcz0iaWRfNDEiCiAgICAgc3R5bGU9ImZvbnQtc2l6ZTo3LjIwODQ2NzAxcHg7Zm9udC1mYW1pbHk6QXJpYWw7ZG9taW5hbnQtYmFzZWxpbmU6Y2VudHJhbDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojZmYyYTJhO3N0cm9rZS13aWR0aDowLjcyMDg0NjcxOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J0FyaWFsIEJvbGQnO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZpbGwtb3BhY2l0eToxOyIKICAgICB5PSItNjQuNjU0ODc3IgogICAgIHg9Ii01MzMuMDY5MjEiCiAgICAgZm9udC1zaXplPSIxMCI+dXNlczwvdGV4dD4KICA8dGV4dAogICAgIGlkPSJ0ZXh0MjE3IgogICAgIGNsYXNzPSJpZF80MCIKICAgICBzdHlsZT0iZm9udC1zaXplOjcuMjA4NDY3MDFweDtmb250LWZhbWlseTpBcmlhbDtkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiNmZjJhMmE7c3Ryb2tlLXdpZHRoOjAuNzIwODQ2NzE7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonQXJpYWwgQm9sZCc7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0eWxlOm5vcm1hbDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7ZmlsbC1vcGFjaXR5OjE7IgogICAgIHk9IjEwNi40MDM1NiIKICAgICB4PSItNDM4LjU3Mjc4IgogICAgIGZvbnQtc2l6ZT0iMTAiPnVzZXM8L3RleHQ+CiAgPHRleHQKICAgICBpZD0idGV4dDIxOSIKICAgICBjbGFzcz0iaWRfMjQiCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo3LjIwODQ2NzAxcHg7Zm9udC1mYW1pbHk6QXJpYWw7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonQXJpYWwgQm9sZCc7ZG9taW5hbnQtYmFzZWxpbmU6Y2VudHJhbDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojZmYyYTdmO3N0cm9rZS13aWR0aDowLjcyMDg0NjcxOyIKICAgICB5PSItNzcuNDEzNDkiCiAgICAgeD0iLTM4MS4yMzk3NSIKICAgICBmb250LXNpemU9IjEwIj5tZW1iZXI8L3RleHQ+CiAgPHRleHQKICAgICBpZD0idGV4dDIyMSIKICAgICBjbGFzcz0iaWRfMjciCiAgICAgc3R5bGU9ImZvbnQtc2l6ZTo3LjIwODQ2NzAxcHg7Zm9udC1mYW1pbHk6QXJpYWw7ZG9taW5hbnQtYmFzZWxpbmU6Y2VudHJhbDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojMDBhYWQ0O3N0cm9rZS13aWR0aDowLjcyMDg0NjcxOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J0FyaWFsIEJvbGQnO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsOyIKICAgICB5PSItMzM3LjE4Mjk1IgogICAgIHg9Ii00MzguNTU1NjMiCiAgICAgZm9udC1zaXplPSIxMCI+bGlua3NfdG88L3RleHQ+CiAgPHRleHQKICAgICBpZD0idGV4dDIyMyIKICAgICBjbGFzcz0iaWRfMjgiCiAgICAgc3R5bGU9ImZvbnQtc2l6ZTo3LjIwODQ2NzAxcHg7Zm9udC1mYW1pbHk6QXJpYWw7ZG9taW5hbnQtYmFzZWxpbmU6Y2VudHJhbDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojMDBhYWQ0O3N0cm9rZS13aWR0aDowLjcyMDg0NjcxOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J0FyaWFsIEJvbGQnO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsOyIKICAgICB5PSItMzM1LjQ1OTc1IgogICAgIHg9Ii01MTguMDk3NDEiCiAgICAgZm9udC1zaXplPSIxMCI+bGlua3NfdG88L3RleHQ+CiAgPHRleHQKICAgICBpZD0idGV4dDIyNSIKICAgICBjbGFzcz0iaWRfMjkiCiAgICAgc3R5bGU9ImZvbnQtc2l6ZTo3LjIwODQ2NzAxcHg7Zm9udC1mYW1pbHk6QXJpYWw7ZG9taW5hbnQtYmFzZWxpbmU6Y2VudHJhbDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojMDBhYWQ0O3N0cm9rZS13aWR0aDowLjcyMDg0NjcxOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J0FyaWFsIEJvbGQnO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsOyIKICAgICB5PSItMzAzLjEwMjQ4IgogICAgIHg9Ii0zMjguMDY4MzkiCiAgICAgZm9udC1zaXplPSIxMCI+bGlua3NfdG88L3RleHQ+CiAgPHRleHQKICAgICBpZD0idGV4dDIyNyIKICAgICBjbGFzcz0iaWRfMzMiCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo3LjIwODQ2NzAxcHg7Zm9udC1mYW1pbHk6QXJpYWw7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonQXJpYWwgQm9sZCc7ZG9taW5hbnQtYmFzZWxpbmU6Y2VudHJhbDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojMDBhYWQ0O3N0cm9rZS13aWR0aDowLjcyMDg0NjcxIgogICAgIHk9IjExMS4yMTgzMyIKICAgICB4PSItMzA1LjY2NTg2IgogICAgIGZvbnQtc2l6ZT0iMTAiPmxpbmtzX3RvPC90ZXh0PgogIDx0ZXh0CiAgICAgaWQ9InRleHQyMjkiCiAgICAgY2xhc3M9ImlkXzMxIgogICAgIHN0eWxlPSJmb250LXNpemU6Ny4yMDg0NjcwMXB4O2ZvbnQtZmFtaWx5OkFyaWFsO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6IzAwYWFkNDtzdHJva2Utd2lkdGg6MC43MjA4NDY3MTstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBCb2xkJztmb250LXdlaWdodDpib2xkO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDsiCiAgICAgeT0iLTE1Ni4wNTI1MiIKICAgICB4PSItNDcxLjk2NzM4IgogICAgIGZvbnQtc2l6ZT0iMTAiPmxpbmtzX3RvPC90ZXh0PgogIDx0ZXh0CiAgICAgaWQ9InRleHQyMzEiCiAgICAgY2xhc3M9ImlkXzMyIgogICAgIHN0eWxlPSJmb250LXNpemU6Ny4yMDg0NjcwMXB4O2ZvbnQtZmFtaWx5OkFyaWFsO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6IzAwYWFkNDtzdHJva2Utd2lkdGg6MC43MjA4NDY3MTstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBCb2xkJztmb250LXdlaWdodDpib2xkO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDsiCiAgICAgeT0iLTY2LjE4MzExMyIKICAgICB4PSItNDg3LjM3NTc5IgogICAgIGZvbnQtc2l6ZT0iMTAiPmxpbmtzX3RvPC90ZXh0PgogIDx0ZXh0CiAgICAgaWQ9InRleHQyMzMiCiAgICAgY2xhc3M9ImlkXzM0IgogICAgIHN0eWxlPSJmb250LXNpemU6Ny4yMDg0NjcwMXB4O2ZvbnQtZmFtaWx5OkFyaWFsO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6IzAwYWFkNDtzdHJva2Utd2lkdGg6MC43MjA4NDY3MTstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBCb2xkJztmb250LXdlaWdodDpib2xkO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDsiCiAgICAgeT0iOS45Nzk5MjcxIgogICAgIHg9Ii0zMjguMzk4NDEiCiAgICAgZm9udC1zaXplPSIxMCI+bGlua3NfdG88L3RleHQ+CiAgPHRleHQKICAgICBpZD0idGV4dDIzNSIKICAgICBjbGFzcz0iaWRfMzUiCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo3LjIwODQ2NzAxcHg7Zm9udC1mYW1pbHk6QXJpYWw7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonQXJpYWwgQm9sZCc7ZG9taW5hbnQtYmFzZWxpbmU6Y2VudHJhbDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojMDBhYWQ0O3N0cm9rZS13aWR0aDowLjcyMDg0NjcxIgogICAgIHk9IjAuMTAzMjY5NTgiCiAgICAgeD0iLTI1NS40MDM1NSIKICAgICBmb250LXNpemU9IjEwIj5saW5rc190bzwvdGV4dD4KICA8dGV4dAogICAgIGlkPSJ0ZXh0MjM3IgogICAgIGNsYXNzPSJpZF8zNiIKICAgICBzdHlsZT0iZm9udC1zaXplOjcuMjA4NDY3MDFweDtmb250LWZhbWlseTpBcmlhbDtkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiMwMGFhZDQ7c3Ryb2tlLXdpZHRoOjAuNzIwODQ2NzE7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonQXJpYWwgQm9sZCc7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0eWxlOm5vcm1hbDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7IgogICAgIHk9Ijk1LjgyMzczIgogICAgIHg9Ii0yMjkuMTUwNDQiCiAgICAgZm9udC1zaXplPSIxMCI+bGlua3NfdG88L3RleHQ+CiAgPHRleHQKICAgICBpZD0idGV4dDIzOSIKICAgICBjbGFzcz0iaWRfMzciCiAgICAgc3R5bGU9ImZvbnQtc2l6ZTo3LjIwODQ2NzAxcHg7Zm9udC1mYW1pbHk6QXJpYWw7ZG9taW5hbnQtYmFzZWxpbmU6Y2VudHJhbDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojMDBhYWQ0O3N0cm9rZS13aWR0aDowLjcyMDg0NjcxOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J0FyaWFsIEJvbGQnO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsOyIKICAgICB5PSI4OS41MDI2NjMiCiAgICAgeD0iLTE3Ny41ODQyMyIKICAgICBmb250LXNpemU9IjEwIj5saW5rc190bzwvdGV4dD4KICA8dGV4dAogICAgIGlkPSJ0ZXh0MjQxIgogICAgIGNsYXNzPSJpZF8zOCIKICAgICBzdHlsZT0iZm9udC1zaXplOjcuMjA4NDY3MDFweDtmb250LWZhbWlseTpBcmlhbDtkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiMwMGFhZDQ7c3Ryb2tlLXdpZHRoOjAuNzIwODQ2NzE7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonQXJpYWwgQm9sZCc7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0eWxlOm5vcm1hbDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7IgogICAgIHk9Ii0xOTIuNDQyNDkiCiAgICAgeD0iLTE0Ni44NzkwOSIKICAgICBmb250LXNpemU9IjEwIj5saW5rc190bzwvdGV4dD4KICA8dGV4dAogICAgIGlkPSJ0ZXh0MjQzIgogICAgIGNsYXNzPSJpZF8zOSIKICAgICBzdHlsZT0iZm9udC1zaXplOjcuMjA4NDY3MDFweDtmb250LWZhbWlseTpBcmlhbDtkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiMwMGFhZDQ7c3Ryb2tlLXdpZHRoOjAuNzIwODQ2NzE7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonQXJpYWwgQm9sZCc7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0eWxlOm5vcm1hbDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7IgogICAgIHk9Ii0xMzUuOTI2MjIiCiAgICAgeD0iLTE4My40MDQzOSIKICAgICBmb250LXNpemU9IjEwIj5saW5rc190bzwvdGV4dD4KICA8dGV4dAogICAgIGlkPSJ0ZXh0MjQ1IgogICAgIGNsYXNzPSJpZF80MiIKICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjcuMjA4NDY3MDFweDtmb250LWZhbWlseTpBcmlhbDstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCBCb2xkJztkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiNmZjJhMmE7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuNzIwODQ2NzEiCiAgICAgeT0iMTgwLjQ4NTAzIgogICAgIHg9Ii0zMDguMjk1MjkiCiAgICAgZm9udC1zaXplPSIxMCI+dXNlczwvdGV4dD4KICA8dGV4dAogICAgIGlkPSJ0ZXh0MjQ3IgogICAgIGNsYXNzPSJpZF80MyIKICAgICBzdHlsZT0iZm9udC1zaXplOjcuMjA4NDY3MDFweDtmb250LWZhbWlseTpBcmlhbDtkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiNmZjJhMmE7c3Ryb2tlLXdpZHRoOjAuNzIwODQ2NzE7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonQXJpYWwgQm9sZCc7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0eWxlOm5vcm1hbDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7ZmlsbC1vcGFjaXR5OjE7IgogICAgIHk9Ii0yMzUuNDA5IgogICAgIHg9Ii0yMzUuNTAyNDYiCiAgICAgZm9udC1zaXplPSIxMCI+dXNlczwvdGV4dD4KICA8dGV4dAogICAgIHhtbDpzcGFjZT0icHJlc2VydmUiCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXNpemU6MjkuMzY4NTk3MDNweDtsaW5lLWhlaWdodDowLjI1O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6MHB4O3dvcmQtc3BhY2luZzowcHg7ZmlsbDojMDAwMDAwO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowLjczNDIxNDk2IgogICAgIHg9Ii05Ni4xNDU3MDYiCiAgICAgeT0iLTM4Mi4xMTA3NSIKICAgICBpZD0idGV4dDEwNjciPjx0c3BhbgogICAgICAgc29kaXBvZGk6cm9sZT0ibGluZSIKICAgICAgIGlkPSJ0c3BhbjEwNjUiCiAgICAgICB4PSItOTYuMTQ1NzA2IgogICAgICAgeT0iLTM4Mi4xMTA3NSIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6OS43ODk1MzI2NnB4O2xpbmUtaGVpZ2h0OjAuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2ZpbGw6IzgwYjNmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC43MzQyMTQ5NiI+dHJhbnNpZW50SWQ8L3RzcGFuPjx0c3BhbgogICAgICAgc29kaXBvZGk6cm9sZT0ibGluZSIKICAgICAgIHg9Ii05Ni4xNDU3MDYiCiAgICAgICB5PSItMzcyLjEzIgogICAgICAgaWQ9InRzcGFuMTA2OSIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6OS43ODk1MzI2NnB4O2xpbmUtaGVpZ2h0OjAuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO3N0cm9rZS13aWR0aDowLjczNDIxNDk2Ij4gIHVpZDogPHRzcGFuCiAgIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWwiCiAgIGlkPSJ0c3Bhbjk4MSI+U3RyaW5nPC90c3Bhbj48L3RzcGFuPjx0c3BhbgogICAgICAgc29kaXBvZGk6cm9sZT0ibGluZSIKICAgICAgIHg9Ii05Ni4xNDU3MDYiCiAgICAgICB5PSItMzYyLjE0OTI5IgogICAgICAgaWQ9InRzcGFuMTA3MSIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6OS43ODk1MzI2NnB4O2xpbmUtaGVpZ2h0OjAuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO3N0cm9rZS13aWR0aDowLjczNDIxNDk2Ij4gIHVzZXJfYWdlbnQ6IDx0c3BhbgogICBzdHlsZT0iZm9udC13ZWlnaHQ6bm9ybWFsIgogICBpZD0idHNwYW45ODMiPlN0cmluZzwvdHNwYW4+PC90c3Bhbj48dHNwYW4KICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICB4PSItOTYuMTQ1NzA2IgogICAgICAgeT0iLTM1Mi4xNjg1NSIKICAgICAgIGlkPSJ0c3BhbjEwNzMiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjkuNzg5NTMyNjZweDtsaW5lLWhlaWdodDowLjI1O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztzdHJva2Utd2lkdGg6MC43MzQyMTQ5NiI+ICBkZXZpY2U6IDx0c3BhbgogICBzdHlsZT0iZm9udC13ZWlnaHQ6bm9ybWFsIgogICBpZD0idHNwYW45ODUiPlN0cmluZzwvdHNwYW4+PC90c3Bhbj48dHNwYW4KICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICB4PSItOTYuMTQ1NzA2IgogICAgICAgeT0iLTM0Mi4xODc4MSIKICAgICAgIGlkPSJ0c3BhbjEwNzUiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjkuNzg5NTMyNjZweDtsaW5lLWhlaWdodDowLjI1O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztzdHJva2Utd2lkdGg6MC43MzQyMTQ5NiI+ICBvczogPHRzcGFuCiAgIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWwiCiAgIGlkPSJ0c3Bhbjk4NyI+U3RyaW5nPC90c3Bhbj48L3RzcGFuPjx0c3BhbgogICAgICAgc29kaXBvZGk6cm9sZT0ibGluZSIKICAgICAgIHg9Ii05Ni4xNDU3MDYiCiAgICAgICB5PSItMzMyLjIwNzA5IgogICAgICAgaWQ9InRzcGFuMTA3NyIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6OS43ODk1MzI2NnB4O2xpbmUtaGVpZ2h0OjAuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO3N0cm9rZS13aWR0aDowLjczNDIxNDk2Ij4gIGJyb3dzZXI6IDx0c3BhbgogICBzdHlsZT0iZm9udC13ZWlnaHQ6bm9ybWFsIgogICBpZD0idHNwYW45ODkiPlN0cmluZzwvdHNwYW4+PC90c3Bhbj48dHNwYW4KICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICB4PSItOTYuMTQ1NzA2IgogICAgICAgeT0iLTMyMi4yMjYzNSIKICAgICAgIGlkPSJ0c3BhbjEwNzkiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjkuNzg5NTMyNjZweDtsaW5lLWhlaWdodDowLjI1O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztzdHJva2Utd2lkdGg6MC43MzQyMTQ5NiI+ICBlbWFpbDogPHRzcGFuCiAgIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWwiCiAgIGlkPSJ0c3Bhbjk5MSI+U3RyaW5nPC90c3Bhbj48L3RzcGFuPjx0c3BhbgogICAgICAgc29kaXBvZGk6cm9sZT0ibGluZSIKICAgICAgIHg9Ii05Ni4xNDU3MDYiCiAgICAgICB5PSItMzEyLjI0NTYxIgogICAgICAgaWQ9InRzcGFuMTA4MSIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6OS43ODk1MzI2NnB4O2xpbmUtaGVpZ2h0OjAuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO3N0cm9rZS13aWR0aDowLjczNDIxNDk2Ij4gIHR5cGU6IDx0c3BhbgogICBzdHlsZT0iZm9udC13ZWlnaHQ6bm9ybWFsIgogICBpZD0idHNwYW45OTMiPlN0cmluZzwvdHNwYW4+PC90c3Bhbj48dHNwYW4KICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICB4PSItOTYuMTQ1NzA2IgogICAgICAgeT0iLTMwMi4yNjQ4NiIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6OS43ODk1MzI2NnB4O2xpbmUtaGVpZ2h0OjAuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO3N0cm9rZS13aWR0aDowLjczNDIxNDk2IgogICAgICAgaWQ9InRzcGFuMTU1MyIgLz48dHNwYW4KICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICB4PSItOTYuMTQ1NzA2IgogICAgICAgeT0iLTI5NC45MjI3MyIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6OS43ODk1MzI2NnB4O2xpbmUtaGVpZ2h0OjAuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2ZpbGw6Izg3ZGU4NztmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC43MzQyMTQ5NiIKICAgICAgIGlkPSJ0c3BhbjE4NjUiPnBlcnNpc3RlbnRJZDwvdHNwYW4+PHRzcGFuCiAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgeD0iLTk2LjE0NTcwNiIKICAgICAgIHk9Ii0yODQuOTQxOTkiCiAgICAgICBpZD0idHNwYW4xMDg1IgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo5Ljc4OTUzMjY2cHg7bGluZS1oZWlnaHQ6MC4yNTtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7c3Ryb2tlLXdpZHRoOjAuNzM0MjE0OTYiPiAgcGlkOiA8dHNwYW4KICAgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbCIKICAgaWQ9InRzcGFuOTk1Ij5TdHJpbmc8L3RzcGFuPjwvdHNwYW4+PHRzcGFuCiAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgeD0iLTk2LjE0NTcwNiIKICAgICAgIHk9Ii0yNzQuOTYxMjciCiAgICAgICBpZD0idHNwYW4xMDg3IgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo5Ljc4OTUzMjY2cHg7bGluZS1oZWlnaHQ6MC4yNTtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7c3Ryb2tlLXdpZHRoOjAuNzM0MjE0OTYiIC8+PHRzcGFuCiAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgeD0iLTk2LjE0NTcwNiIKICAgICAgIHk9Ii0yNjcuNjE5MTEiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjkuNzg5NTMyNjZweDtsaW5lLWhlaWdodDowLjI1O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztmaWxsOiNkZTg3Y2Q7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuNzM0MjE0OTYiCiAgICAgICBpZD0idHNwYW4xNTU1Ij5pZGVudGl0eUdyb3VwPC90c3Bhbj48dHNwYW4KICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICB4PSItOTYuMTQ1NzA2IgogICAgICAgeT0iLTI1Ny42MzgzNyIKICAgICAgIGlkPSJ0c3BhbjEwODkiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjkuNzg5NTMyNjZweDtsaW5lLWhlaWdodDowLjI1O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztzdHJva2Utd2lkdGg6MC43MzQyMTQ5NiI+ICBpZ2lkOiA8dHNwYW4KICAgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbCIKICAgaWQ9InRzcGFuOTk3Ij5TdHJpbmc8L3RzcGFuPjwvdHNwYW4+PHRzcGFuCiAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgeD0iLTk2LjE0NTcwNiIKICAgICAgIHk9Ii0yNDcuNjU3NjQiCiAgICAgICBpZD0idHNwYW4xMDkxIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo5Ljc4OTUzMjY2cHg7bGluZS1oZWlnaHQ6MC4yNTtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7c3Ryb2tlLXdpZHRoOjAuNzM0MjE0OTYiPiAgdHlwZTogPHRzcGFuCiAgIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWwiCiAgIGlkPSJ0c3Bhbjk5OSI+U3RyaW5nPC90c3Bhbj48L3RzcGFuPjx0c3BhbgogICAgICAgc29kaXBvZGk6cm9sZT0ibGluZSIKICAgICAgIHg9Ii05Ni4xNDU3MDYiCiAgICAgICB5PSItMjM3LjY3NjkxIgogICAgICAgaWQ9InRzcGFuMTA5MyIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6OS43ODk1MzI2NnB4O2xpbmUtaGVpZ2h0OjAuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO3N0cm9rZS13aWR0aDowLjczNDIxNDk2IiAvPjx0c3BhbgogICAgICAgc29kaXBvZGk6cm9sZT0ibGluZSIKICAgICAgIHg9Ii05Ni4xNDU3MDYiCiAgICAgICB5PSItMjMwLjMzNDc2IgogICAgICAgaWQ9InRzcGFuMTA5NSIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6OS43ODk1MzI2NnB4O2xpbmUtaGVpZ2h0OjAuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2ZpbGw6I2ZmODA4MDtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC43MzQyMTQ5NiI+d2Vic2l0ZTwvdHNwYW4+PHRzcGFuCiAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgeD0iLTk2LjE0NTcwNiIKICAgICAgIHk9Ii0yMjAuMzU0MDIiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjkuNzg5NTMyNjZweDtsaW5lLWhlaWdodDowLjI1O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztzdHJva2Utd2lkdGg6MC43MzQyMTQ5NiIKICAgICAgIGlkPSJ0c3BhbjE4OTgiPiAgdXJsOiA8dHNwYW4KICAgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbCIKICAgaWQ9InRzcGFuMTAwMSI+U3RyaW5nPC90c3Bhbj48L3RzcGFuPjx0c3BhbgogICAgICAgc29kaXBvZGk6cm9sZT0ibGluZSIKICAgICAgIHg9Ii05Ni4xNDU3MDYiCiAgICAgICB5PSItMjEwLjM3MzI5IgogICAgICAgaWQ9InRzcGFuMTA5NyIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6OS43ODk1MzI2NnB4O2xpbmUtaGVpZ2h0OjAuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO3N0cm9rZS13aWR0aDowLjczNDIxNDk2Ij4gIHRpdGxlOiA8dHNwYW4KICAgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbCIKICAgaWQ9InRzcGFuMTAwMyI+U3RyaW5nPC90c3Bhbj48L3RzcGFuPjx0c3BhbgogICAgICAgc29kaXBvZGk6cm9sZT0ibGluZSIKICAgICAgIHg9Ii05Ni4xNDU3MDYiCiAgICAgICB5PSItMjAwLjM5MjU1IgogICAgICAgaWQ9InRzcGFuMTA5OSIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6OS43ODk1MzI2NnB4O2xpbmUtaGVpZ2h0OjAuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO3N0cm9rZS13aWR0aDowLjczNDIxNDk2IiAvPjx0c3BhbgogICAgICAgc29kaXBvZGk6cm9sZT0ibGluZSIKICAgICAgIHg9Ii05Ni4xNDU3MDYiCiAgICAgICB5PSItMTkzLjA1MDQiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjkuNzg5NTMyNjZweDtsaW5lLWhlaWdodDowLjI1O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztmaWxsOiNmZmRkNTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuNzM0MjE0OTYiCiAgICAgICBpZD0idHNwYW4xNTU5Ij53ZWJzaXRlR3JvdXA8L3RzcGFuPjx0c3BhbgogICAgICAgc29kaXBvZGk6cm9sZT0ibGluZSIKICAgICAgIHg9Ii05Ni4xNDU3MDYiCiAgICAgICB5PSItMTgzLjA2OTY3IgogICAgICAgaWQ9InRzcGFuMTEwMSIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6OS43ODk1MzI2NnB4O2xpbmUtaGVpZ2h0OjAuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO3N0cm9rZS13aWR0aDowLjczNDIxNDk2Ij4gIHVybDogPHRzcGFuCiAgIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWwiCiAgIGlkPSJ0c3BhbjEwMDUiPlN0cmluZzwvdHNwYW4+PC90c3Bhbj48dHNwYW4KICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICB4PSItOTYuMTQ1NzA2IgogICAgICAgeT0iLTE3My4wODg5NCIKICAgICAgIGlkPSJ0c3BhbjExMDMiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjkuNzg5NTMyNjZweDtsaW5lLWhlaWdodDowLjI1O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztzdHJva2Utd2lkdGg6MC43MzQyMTQ5NiI+ICBjYXRlZ29yeTogPHRzcGFuCiAgIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWwiCiAgIGlkPSJ0c3BhbjEwMTMiPlN0cmluZzwvdHNwYW4+PC90c3Bhbj48dHNwYW4KICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICB4PSItOTYuMTQ1NzA2IgogICAgICAgeT0iLTE2My4xMDgyIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo5Ljc4OTUzMjY2cHg7bGluZS1oZWlnaHQ6MC4yNTtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7c3Ryb2tlLXdpZHRoOjAuNzM0MjE0OTYiCiAgICAgICBpZD0idHNwYW4xNTYxIj4gIGNhdGVnb3J5Q29kZTogPHRzcGFuCiAgIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWwiCiAgIGlkPSJ0c3BhbjEwMTEiPlN0cmluZzwvdHNwYW4+PC90c3Bhbj48dHNwYW4KICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICB4PSItOTYuMTQ1NzA2IgogICAgICAgeT0iLTE1My4xMjc0NyIKICAgICAgIGlkPSJ0c3BhbjExMDciCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjkuNzg5NTMyNjZweDtsaW5lLWhlaWdodDowLjI1O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztzdHJva2Utd2lkdGg6MC43MzQyMTQ5NiIgLz48dHNwYW4KICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICB4PSItOTYuMTQ1NzA2IgogICAgICAgeT0iLTE0NS43ODUzMiIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6OS43ODk1MzI2NnB4O2xpbmUtaGVpZ2h0OjAuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2ZpbGw6IzAwZDRhYTtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC43MzQyMTQ5NiIKICAgICAgIGlkPSJ0c3BhbjE1NjUiPklQTG9jPC90c3Bhbj48dHNwYW4KICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICB4PSItOTYuMTQ1NzA2IgogICAgICAgeT0iLTEzNS44MDQ1OCIKICAgICAgIGlkPSJ0c3BhbjExMDkiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjkuNzg5NTMyNjZweDtsaW5lLWhlaWdodDowLjI1O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztzdHJva2Utd2lkdGg6MC43MzQyMTQ5NiI+ICBzdGF0ZTogPHRzcGFuCiAgIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWwiCiAgIGlkPSJ0c3BhbjEwMTUiPlN0cmluZzwvdHNwYW4+PC90c3Bhbj48dHNwYW4KICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICB4PSItOTYuMTQ1NzA2IgogICAgICAgeT0iLTEyNS44MjM4NSIKICAgICAgIGlkPSJ0c3BhbjExMTEiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjkuNzg5NTMyNjZweDtsaW5lLWhlaWdodDowLjI1O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztzdHJva2Utd2lkdGg6MC43MzQyMTQ5NiI+ICBjaXR5OiA8dHNwYW4KICAgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbCIKICAgaWQ9InRzcGFuMTAxNyI+U3RyaW5nPC90c3Bhbj48L3RzcGFuPjx0c3BhbgogICAgICAgc29kaXBvZGk6cm9sZT0ibGluZSIKICAgICAgIHg9Ii05Ni4xNDU3MDYiCiAgICAgICB5PSItMTE1Ljg0MzEyIgogICAgICAgaWQ9InRzcGFuMTExMyIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6OS43ODk1MzI2NnB4O2xpbmUtaGVpZ2h0OjAuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO3N0cm9rZS13aWR0aDowLjczNDIxNDk2Ij4gIGlwX2FkZHJlc3M6IDx0c3BhbgogICBzdHlsZT0iZm9udC13ZWlnaHQ6bm9ybWFsIgogICBpZD0idHNwYW4xMDE5Ij5TdHJpbmc8L3RzcGFuPjwvdHNwYW4+PHRzcGFuCiAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgeD0iLTk2LjE0NTcwNiIKICAgICAgIHk9Ii0xMDUuODYyMzgiCiAgICAgICBpZD0idHNwYW4xMTE1IgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo5Ljc4OTUzMjY2cHg7bGluZS1oZWlnaHQ6MC4yNTtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7c3Ryb2tlLXdpZHRoOjAuNzM0MjE0OTYiIC8+PHRzcGFuCiAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgeD0iLTk2LjE0NTcwNiIKICAgICAgIHk9Ii05OC41MjAyMzMiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjkuNzg5NTMyNjZweDtsaW5lLWhlaWdodDowLjI1O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztmaWxsOiNhODU2YmM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuNzM0MjE0OTYiCiAgICAgICBpZD0idHNwYW4xNTY3Ij52aXNpdGVkPC90c3Bhbj48dHNwYW4KICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICB4PSItOTYuMTQ1NzA2IgogICAgICAgeT0iLTg4LjUzOTQ5NyIKICAgICAgIGlkPSJ0c3BhbjExMTciCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjkuNzg5NTMyNjZweDtsaW5lLWhlaWdodDowLjI1O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztzdHJva2Utd2lkdGg6MC43MzQyMTQ5NiI+ICB0czogPHRzcGFuCiAgIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWwiCiAgIGlkPSJ0c3BhbjEwMjEiPkRhdGU8L3RzcGFuPjwvdHNwYW4+PHRzcGFuCiAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgeD0iLTk2LjE0NTcwNiIKICAgICAgIHk9Ii03OC41NTg3NjkiCiAgICAgICBpZD0idHNwYW4xMTE5IgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo5Ljc4OTUzMjY2cHg7bGluZS1oZWlnaHQ6MC4yNTtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7c3Ryb2tlLXdpZHRoOjAuNzM0MjE0OTYiPiAgdmlzaXRlZF91cmw6IDx0c3BhbgogICBzdHlsZT0iZm9udC13ZWlnaHQ6bm9ybWFsIgogICBpZD0idHNwYW4xMDIzIj5TdHJpbmc8L3RzcGFuPjwvdHNwYW4+PHRzcGFuCiAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgeD0iLTk2LjE0NTcwNiIKICAgICAgIHk9Ii02OC41NzgwMzMiCiAgICAgICBpZD0idHNwYW4xMTIxIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo5Ljc4OTUzMjY2cHg7bGluZS1oZWlnaHQ6MC4yNTtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7c3Ryb2tlLXdpZHRoOjAuNzM0MjE0OTYiPiAgc3RhdGU6IDx0c3BhbgogICBzdHlsZT0iZm9udC13ZWlnaHQ6bm9ybWFsIgogICBpZD0idHNwYW4xMDI1Ij5TdHJpbmc8L3RzcGFuPjwvdHNwYW4+PHRzcGFuCiAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgeD0iLTk2LjE0NTcwNiIKICAgICAgIHk9Ii01OC41OTcyOTgiCiAgICAgICBpZD0idHNwYW4xMTIzIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo5Ljc4OTUzMjY2cHg7bGluZS1oZWlnaHQ6MC4yNTtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7c3Ryb2tlLXdpZHRoOjAuNzM0MjE0OTYiPiAgY2l0eTogPHRzcGFuCiAgIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWwiCiAgIGlkPSJ0c3BhbjEwMjciPlN0cmluZzwvdHNwYW4+PC90c3Bhbj48dHNwYW4KICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICB4PSItOTYuMTQ1NzA2IgogICAgICAgeT0iLTQ4LjYxNjU2MiIKICAgICAgIGlkPSJ0c3BhbjExMjUiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjkuNzg5NTMyNjZweDtsaW5lLWhlaWdodDowLjI1O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztzdHJva2Utd2lkdGg6MC43MzQyMTQ5NiI+ICBpcF9hZGRyZXNzOiA8dHNwYW4KICAgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbCIKICAgaWQ9InRzcGFuMTAyOSI+U3RyaW5nPC90c3Bhbj48L3RzcGFuPjx0c3BhbgogICAgICAgc29kaXBvZGk6cm9sZT0ibGluZSIKICAgICAgIHg9Ii05Ni4xNDU3MDYiCiAgICAgICB5PSItMzguNjM1ODMiCiAgICAgICBpZD0idHNwYW4xMTI3IgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo5Ljc4OTUzMjY2cHg7bGluZS1oZWlnaHQ6MC4yNTtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7c3Ryb2tlLXdpZHRoOjAuNzM0MjE0OTYiIC8+PHRzcGFuCiAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgeD0iLTk2LjE0NTcwNiIKICAgICAgIHk9Ii0zMS4yOTM2OCIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6OS43ODk1MzI2NnB4O2xpbmUtaGVpZ2h0OjAuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2ZpbGw6I2ZmNjYwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC43MzQyMTQ5NiIKICAgICAgIGlkPSJ0c3BhbjE1NjkiPmhhc19pZGVudGl0eTwvdHNwYW4+PHRzcGFuCiAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgeD0iLTk2LjE0NTcwNiIKICAgICAgIHk9Ii0yMS4zMTI5NDYiCiAgICAgICBpZD0idHNwYW4xMTI5IgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo5Ljc4OTUzMjY2cHg7bGluZS1oZWlnaHQ6MC4yNTtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7ZmlsbDojMDBhYWQ0O2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjczNDIxNDk2Ij5saW5rc190bzwvdHNwYW4+PHRzcGFuCiAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgeD0iLTk2LjE0NTcwNiIKICAgICAgIHk9Ii0xMS4zMzIyMTIiCiAgICAgICBpZD0idHNwYW4xMTMxIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo5Ljc4OTUzMjY2cHg7bGluZS1oZWlnaHQ6MC4yNTtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7ZmlsbDojZmYyYTJhO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjczNDIxNDk2Ij51c2VzPC90c3Bhbj48dHNwYW4KICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiCiAgICAgICB4PSItOTYuMTQ1NzA2IgogICAgICAgeT0iLTEuMzUxNDc4MSIKICAgICAgIGlkPSJ0c3BhbjExMzMiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjkuNzg5NTMyNjZweDtsaW5lLWhlaWdodDowLjI1O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJztmaWxsOiNmZjJhN2Y7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuNzM0MjE0OTYiPm1lbWJlcjwvdHNwYW4+PC90ZXh0PgogIDxmbG93Um9vdAogICAgIHhtbDpzcGFjZT0icHJlc2VydmUiCiAgICAgaWQ9ImZsb3dSb290MTU4NyIKICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc2l6ZTo0MHB4O2xpbmUtaGVpZ2h0OjEuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzowcHg7d29yZC1zcGFjaW5nOjBweDtmaWxsOiMwMDAwMDA7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTU2MC40MTAwMywtMzYyKSI+PGZsb3dSZWdpb24KICAgICAgIGlkPSJmbG93UmVnaW9uMTU4OSI+PHJlY3QKICAgICAgICAgaWQ9InJlY3QxNTkxIgogICAgICAgICB3aWR0aD0iNzYuNDg4ODc2IgogICAgICAgICBoZWlnaHQ9IjY0LjM2NzY5MSIKICAgICAgICAgeD0iODEzLjc5MTUiCiAgICAgICAgIHk9IjY2LjA0NjkzNiIgLz48L2Zsb3dSZWdpb24+PGZsb3dQYXJhCiAgICAgICBpZD0iZmxvd1BhcmExNTkzIiAvPjwvZmxvd1Jvb3Q+ICA8cGF0aAogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiCiAgICAgZD0ibSAtMjAzLjg1NDQ4LC00OS4zMTk5MDkgYyA0OS4wMTI5Miw4My4xNTMzMTUgMjAuMDM0ODQsODQuNzYyMzczIDEwLjk2MjYxLDExNC40MjI5NjMiCiAgICAgY2xhc3M9ImlkXzEgaWRfNSIKICAgICBpZD0icGF0aDE4NTUiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMWExYTFhO3N0cm9rZS13aWR0aDoxLjg3MzAwMDAzO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheToxLjg3MywgMS44NzM7c3Ryb2tlLWRhc2hvZmZzZXQ6MDtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxjaXJjbGUKICAgICBzdHlsZT0iZmlsbDojODBiM2ZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoxLjg3MztzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJjaXJjbGU3NSIKICAgICBjeT0iLTQ5LjMxOTkwOCIKICAgICBjbGFzcz0iaWRfMSIKICAgICBjeD0iLTIwNC4xMDQ0OCIKICAgICByPSI3LjIwODQ2NyIgLz4KICA8dGV4dAogICAgIGlkPSJ0ZXh0MTgzLTMiCiAgICAgY2xhc3M9ImlkXzMiCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo3LjIwODQ2NzAxcHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWw7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6I2E4NTZiYztmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC43MjA4NDY3MSIKICAgICB5PSI0MS44MTQ4MjMiCiAgICAgeD0iLTE2My42NTgzNyIKICAgICBmb250LXNpemU9IjEwIj52aXNpdGVkPC90ZXh0PgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6My4wMzkwNTg0NTtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgaWQ9InJlY3Q5OTQiCiAgICAgd2lkdGg9IjEzOS40NzIzNSIKICAgICBoZWlnaHQ9IjQxMy4xNTU2MSIKICAgICB4PSItMTAzLjM1OTQxIgogICAgIHk9Ii00MDAuMzIwNDciCiAgICAgcng9IjIwLjMyNjciCiAgICAgcnk9IjIwLjMyNjciIC8+Cjwvc3ZnPgo=" ] } }, "cell_type": "markdown", "metadata": {}, "source": [ "## Graph model\n", "Diagrams below show the dataset represented as a graph before and after manipulations.\n", "\n", "Before:\n", "![Untitled%20%281%29.svg](attachment:Untitled%20%281%29.svg)\n", "\n", "After:\n", "![extended.svg](attachment:extended.svg)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In short:\n", "* more transient node attributes (type, user agents and its derivatives, email addresses) \n", "* IP & Location nodes (IP address, state, city) \n", "* identity group nodes (with type attribute)\n", "* website groups (aka root domains with information about the content on the page, with IAB categories)\n", "* more context to visiting page events" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Graph Statistics\n", "\n", "The following commands will provide detail to the number of vertices and edges by label." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%%bash\n", "\n", "pip --disable-pip-version-check install colorlover tqdm intervaltree sortedcontainers scipy --no-deps" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from IPython import get_ipython\n", "import json\n", "ipython = get_ipython()\n", "result = ipython.magic(\"graph_notebook_config\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "scrolled": true }, "outputs": [], "source": [ "import os\n", "\n", "from nepytune.traversal import get_traversal\n", "\n", "g = get_traversal(f\"wss://{result.host}:8182/gremlin\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Note: The following is going to do a count of all vertices and edges in the graph. This can take 2-3 minutes to return results.**" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%%gremlin --store-to counts_of_vertices --silent\n", "\n", "g.V().groupCount().by(T.label).toList()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%%gremlin --store-to counts_of_edges --silent\n", "\n", "g.E().groupCount().by(T.label).toList()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Execute the following cell to visualize the counts of both vertices and edges:" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "scrolled": false }, "outputs": [], "source": [ "from nepytune.visualizations.bar_plots import make_bars\n", "\n", "chart1 = make_bars(counts_of_vertices[0], \n", " \"Number of Vertices per label\",\n", " y_title=\"Number of vertices\",\n", " x_title=\"Vertices per label\",\n", " lazy=True)\n", "chart1.show()\n", "\n", "chart2 = make_bars(counts_of_edges[0], \n", " \"Number of Edges per label\",\n", " y_title=\"Number of edges\",\n", " x_title=\"Edges per label\",\n", " lazy=True)\n", "chart2.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import pprint\n", "\n", "from nepytune.usecase import (\n", " user_summary, \n", " undecided_users, \n", " brand_interaction, \n", " users_from_household, \n", " purchase_path,\n", " similar_audience\n", ")\n", "\n", "pp = pprint.PrettyPrinter(indent=4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Use case queries\n", "Each of the use case queries follows the same presentation pattern:\n", "* define the query parameters\n", "* show the traversal code\n", "* draw part of referenced subgraph for the visual introspection of the query results\n", "* describe the plot\n", "\n", "The referenced subgraph is built using **networkx** package and rendered using **plotly** library. We use mostly networkx for computing positions, except for venn diagram visualisations where we compute the positions ourselves. You can find all the code with use-case query and subgraph generation in the `nepytune/usecase` package.\n", "\n", "The subgraph query is distinct from the use case query as it often extracts more information for the purposes of the visualisation, and as a consequence is often less efficient. \n", "\n", "Some of the use-case query visualisations are explained to guide the reader and help with their understanding. \n", "The purpose is just to present the complexity of the dataset and to introspect the query results. Each of the plot is interactive, so feel free to play with it. \n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Use case 1) \n", "### Advertisers want to find out information about user interests to provide an accurate targeting. The data should be based on the activity of the user across all devices." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "TRANSIENT_ID = \"8ff869623f18f72f7cd073120dd905ec\"" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%%gremlin --store-to sibling_attrs --silent\n", "\n", "g.V('${TRANSIENT_ID}')\n", " .choose(\n", " in(\"has_identity\"), // check if this transient id has persistent id\n", " in(\"has_identity\").\n", " project(\n", " \"identity_group_id\", \"persistent_id\", \"attributes\", \"ip_location\", \"iab_categories\"\n", " ).by(in(\"member\").values(\"igid\"))\n", " .by(values(\"pid\"))\n", " .by(\n", " out(\"has_identity\").valueMap().unfold()\n", " .group()\n", " .by(keys)\n", " .by(select(values).unfold().dedup().fold())\n", " )\n", " .by(\n", " out(\"has_identity\")\n", " .out(\"uses\").dedup().valueMap().fold()\n", " )\n", " .by(\n", " out(\"has_identity\")\n", " .out(\"visited\")\n", " .in(\"links_to\")\n", " .values(\"categoryCode\").dedup().fold()\n", " )\n", " , project(\n", " \"identity_group_id\", \"persistent_id\", \"attributes\", \"ip_location\", \"iab_categories\"\n", " ).by(constant(\"\"))\n", " .by(constant(\"\"))\n", " .by(\n", " valueMap().unfold()\n", " .group()\n", " .by(keys)\n", " .by(select(values).unfold().dedup().fold())\n", " )\n", " .by(\n", " out(\"uses\").dedup().valueMap().fold()\n", " )\n", " .by(\n", " out(\"visited\")\n", " .in(\"links_to\")\n", " .values(\"categoryCode\").dedup().fold()\n", " )\n", " )" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "pp.pprint(sibling_attrs)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "g = get_traversal(f\"wss://{result.host}:8182/gremlin\")\n", "user_summary.draw_refrenced_subgraph(g, TRANSIENT_ID)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Graph description\n", "\n", "There are 6 node types on the graph:\n", "* red one representing IP & Location node\n", "* green one representing identity group node of type household\n", "* violet one representing persistent identities (aka different users)\n", "* orange one representing transient identities (aka various user devices)\n", "* blue one representing website subpages\n", "* pink one representing website root domains\n", "\n", "The goal of this query is to find the summary of given persistent identity profile based on one of transient identities. Graph presented above shows part of the houshold (to which given transient identity belongs) activity on the web." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Use case 2) \n", "### Ecommerce publishers want to convince undecided users to purchase the product by offering them discount codes as soon as they have met certain criteria. Find all users who have visited product page at least X times in the last 30 days, but did not buy anything (have not visited thank you page)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are actually two questions we can formulate for created audiences: \n", "* who belongs to the audience? \n", "* does this user belong to the audience?\n", "\n", "Each question above has separate implementation presented. The membership test query can be answered more efficiently and if the performance is good enough for the use case, might be used in a real-time application. \n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import datetime\n", "\n", "TRANSIENT_ID = \"808d27e1fbe3016cf9523de320bfb1be\"\n", "WEBSITE_URL = \"b23e286d713f61fd/f9077d4b41c9e32e\"\n", "THANK_YOU_PAGE_URL = \"b23e286d713f61fd/f9077d4b41c9e32e/4b2b32d4f88fb014\"\n", "SINCE = datetime.datetime(2016, 6, 7)\n", "SINCE_ISO = SINCE.isoformat()\n", "MIN_VISITED_COUNT = 5" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following two queries check if a user is a member of an audience by looking at connections to a specific thank you page:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%%gremlin --store-to undecided_user_audience_check\n", "\n", "g.V('${TRANSIENT_ID}')\n", " .hasLabel(\"transientId\")\n", " .in(\"has_identity\")\n", " .out(\"has_identity\")\n", " .outE(\"visited\")\n", " .has(\"ts\", gt(datetime('${SINCE_ISO}')))\n", " .choose(\n", " has(\"visited_url\",'${WEBSITE_URL}'),\n", " groupCount(\"visits\").by(constant(\"page_visits\"))\n", " )\n", " .choose(\n", " has(\"visited_url\", '${THANK_YOU_PAGE_URL}'),\n", " groupCount(\"visits\").by(constant(\"thank_you_page_vists\"))\n", " )\n", " .cap(\"visits\")\n", " .coalesce(\n", " and(\n", " coalesce(select(\"thank_you_page_vists\"), constant(0)).is(0),\n", " select(\"page_visits\").is(gt(${MIN_VISITED_COUNT}))\n", " ).choose(\n", " count().is(1),\n", " constant(true)\n", " ),\n", " constant(false)\n", " )" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%%gremlin --store-to undecided_user_audience_check\n", "\n", "g.V('${TRANSIENT_ID}')\n", " .hasLabel(\"transientId\")\n", " .in(\"has_identity\")\n", " .out(\"has_identity\")\n", " .outE(\"visited\")\n", " .has(\"ts\", gt(datetime('${SINCE_ISO}')))\n", " .choose(\n", " has(\"visited_url\",'${WEBSITE_URL}'),\n", " groupCount(\"visits\").by(constant(\"page_visits\"))\n", " )\n", " .choose(\n", " has(\"visited_url\", '${THANK_YOU_PAGE_URL}-this-page-not-exist'),\n", " groupCount(\"visits\").by(constant(\"thank_you_page_vists\"))\n", " )\n", " .cap(\"visits\")\n", " .coalesce(\n", " and(\n", " coalesce(select(\"thank_you_page_vists\"), constant(0)).is(0),\n", " select(\"page_visits\").is(gt(${MIN_VISITED_COUNT}))\n", " ).choose(\n", " count().is(1),\n", " constant(true)\n", " ),\n", " constant(false)\n", " )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following query looks at all users in a given audience given landing on a product conversion / \"thank you\" page:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%%gremlin --store-to users\n", "\n", "g.V('${WEBSITE_URL}')\n", " .hasLabel(\"website\")\n", " .inE(\"visited\").has(\"ts\", gt(datetime('${SINCE_ISO}'))).outV()\n", " .in(\"has_identity\")\n", " .groupCount()\n", " .unfold().dedup()\n", " .where(\n", " select(values).is(gt(${MIN_VISITED_COUNT}))\n", " )\n", " .select(keys).as(\"pids\")\n", " .map(\n", " out(\"has_identity\")\n", " .outE(\"visited\")\n", " .has(\"visited_url\", '${THANK_YOU_PAGE_URL}')\n", " .has(\"ts\", gt(datetime('${SINCE_ISO}'))).outV()\n", " .in(\"has_identity\").dedup()\n", " .values(\"pid\").fold()\n", " ).as(\"pids_that_visited\")\n", " .select(\"pids\")\n", " .not(\n", " has(\"pid\", where(within(\"pids_that_visited\")))\n", " )\n", " .out(\"has_identity\")\n", " .values(\"uid\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Run the following cell to visualize the audience:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "g = get_traversal(f\"wss://{result.host}:8182/gremlin\")\n", "undecided_users.draw_referenced_subgraph(g, WEBSITE_URL, THANK_YOU_PAGE_URL, SINCE, MIN_VISITED_COUNT)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Graph description\n", "\n", "There are 4 node types on the graph:\n", "* red one representing persistent identities (aka different users)\n", "* violet one representing transient identities (aka various user devices) \n", "* green one representing website thank you page (page that is visited when user converts) \n", "* orange one representing website product page \n", "\n", "The goal of this query is to find all the user devices (violet nodes) that belongs to an audience (user (red node) belongs to an audience if he visited product page (orange node), but did not buy the product (green node) on any of its devices (violet node), and all this should happen in provided date interval - last X days).\n", "\n", "The opaque user nodes (red ones) and user device nodes (violet ones) form the desired audience. \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Use case 3) \n", "### Advertisers want to generate audiences for DSP platform targeting. Specific audience could be the users who are interested in specific car brands" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Given website url, get its root node (root domain)." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%%gremlin --store-to root_url\n", "\n", "g.V('${WEBSITE_URL}')\n", " .hasLabel(\"website\")\n", " .in(\"links_to\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Given website url, get all transitive (through persistent) identities\n", " that interacted with this brand on any of its pages." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%%gremlin --store-to brand_interaction_audience\n", "\n", "g.V('${WEBSITE_URL}')\n", " .hasLabel(\"website\")\n", " .in(\"links_to\")\n", " .out(\"links_to\") // get all websites from this root url\n", " .in(\"visited\")\n", " .in(\"has_identity\").dedup()\n", " .out(\"has_identity\")\n", " .values(\"uid\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "g = get_traversal(f\"wss://{result.host}:8182/gremlin\")\n", "WEBSITE_URL = \"b23e286d713f61fd\"\n", "print(f\"Number of subpages: {g.V(WEBSITE_URL).in_('links_to').out('links_to').count().next()}\")\n", "users = brand_interaction.brand_interaction_audience(g, WEBSITE_URL).toList()\n", "print(f\"Audience size: {len(users)}\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "scrolled": false }, "outputs": [], "source": [ "g = get_traversal(f\"wss://{result.host}:8182/gremlin\")\n", "brand_interaction.draw_referenced_subgraph(g, WEBSITE_URL)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Graph description\n", "\n", "There are 4 node types on the graph:\n", "* red one representing persistent identities (aka different users)\n", "* green one representing transient identities (aka various user devices) \n", "* violet one representing website subpages \n", "* orange one representing website root domain\n", "\n", "The goal of this query is to given one website subpage (violet) node, find all user devices (green nodes) that interacted with any of the subpages on that domain. \n", "\n", "In other words, we are interested in all user device or cookie identifiers (also the ones that did not explicitly interacted with the brand, but belongs to the same user), that showed up on any of the domain page. It might be usefull for the purposes of retargeting." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Use case 4) \n", "### User has visited a travel agency website recently. Advertisers want to display ads about travel promotions to all members of his household.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Given transient id, get all transient ids from its household." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%%gremlin --store-to all_transient_ids_in_household\n", "\n", "g.V('${TRANSIENT_ID}')\n", " .hasLabel(\"transientId\")\n", " .in(\"has_identity\")\n", " .in(\"member\")\n", " .has(\"type\", \"household\")\n", " .out(\"member\")\n", " .out(\"has_identity\")\n", ".values(\"uid\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "g = get_traversal(f\"wss://{result.host}:8182/gremlin\")\n", "users_from_household.draw_referenced_subgraph(g, TRANSIENT_ID)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Graph description\n", "\n", "There are 3 node types on the graph:\n", "* red one representing identity group node of type household\n", "* green one representing persistent identities (aka various users belonging to this household) \n", "* violet one representing transient identities (aka various user devices or different cookie IDs)\n", "\n", "The goal of this query is to given one transient identifier in the household (violet node), find other transient identifiers that belongs to the same household.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Use-Case 5)\n", "\n", "### Marketing analyst wants to understand path to purchase of a new product by a few early adopters ( say 5) through interactive queries. This product is high involvement and expensive, and therefore they want to understand the research undertaken by the customer.\n", "\n", "* Which device was used to initiate the first research. Was that prompted by an ad, email promotion?\n", "* How many devices were used overall and what was the time taken from initial research to final purchase\n", "* On which devices did the customer spend more time" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "SKIP_SINGLE_TRANSIENTS='true'\n", "LIMIT=5" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%%gremlin --store-to early_adopters_activities\n", "\n", " g.V('${THANK_YOU_PAGE_URL}')\n", " .hasLabel(\"website\").as(\"thank_you\")\n", " .in(\"links_to\").as(\"website_group\")\n", " .select(\"thank_you\")\n", " .inE(\"visited\")\n", " .order().by(\"ts\")\n", " .choose(\n", " constant(${SKIP_SINGLE_TRANSIENTS}).is(eq(true)),\n", " where(outV().in(\"has_identity\")),\n", " identity()\n", " )\n", " .choose(\n", " outV().in(\"has_identity\"),\n", " project(\n", " \"type\", \"id\", \"purchase_ts\"\n", " )\n", " .by(constant(\"persistent\"))\n", " .by(outV().in(\"has_identity\"))\n", " .by(values(\"ts\")),\n", " project(\n", " \"type\", \"id\", \"purchase_ts\"\n", " )\n", " .by(constant(\"transient\"))\n", " .by(outV())\n", " .by(values(\"ts\"))\n", " ).dedup(\"id\").limit(${LIMIT})\n", " .choose(\n", " select(\"type\").is(\"persistent\"),\n", " project(\n", " \"persistent_id\", \"transient_id\", \"purchase_ts\"\n", " ).by(select(\"id\").values(\"pid\"))\n", " .by(select(\"id\").out(\"has_identity\").fold())\n", " .by(select(\"purchase_ts\")),\n", " project(\"persistent_id\", \"transient_id\", \"purchase_ts\")\n", " .by(constant(\"\"))\n", " .by(select(\"id\").fold())\n", " .by(select(\"purchase_ts\"))\n", " ).project(\"persistent_id\", \"purchase_ts\", \"devices\", \"visits\")\n", " .by(select(\"persistent_id\"))\n", " .by(select(\"purchase_ts\"))\n", " .by(select(\"transient_id\").unfold().group().by(values(\"uid\")).by(values(\"type\")))\n", " .by(\n", " select(\"transient_id\").unfold().outE(\"visited\").order().by(\"ts\")\n", " .where(\n", " inV().in(\"links_to\").where(eq(\"website_group\"))\n", " )\n", " .project(\n", " \"transientId\", \"url\", \"ts\"\n", " ).by(\"uid\").by(\"visited_url\").by(\"ts\").fold())" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "scrolled": true }, "outputs": [], "source": [ "pp.pprint(early_adopters_activities)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following two cell are using Python to parse the content into a format for the subsequent visualizations. These cells may take a couple of minutes to execute:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "activities = list(purchase_path.transform_activities(early_adopters_activities))\n", "\n", "paths = list(\n", " purchase_path.compute_subgraph_pos(activities, THANK_YOU_PAGE_URL)\n", ")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "purchase_path.draw_referenced_subgraph(*paths[0])\n", "purchase_path.draw_referenced_subgraph(*paths[1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Graph description\n", "\n", "There are 6 node types on each of the graph:\n", "* purple ones representing user events\n", "* red ones representing persistent identities (aka various users) \n", "* deep red ones representing transient identities (aka various user devices or different cookie IDs)\n", "* blue ones representing user sessions\n", "* orange ones representing thank you page\n", "* green one representing visited webpage with dropped query strings\n", "\n", "The goal of this query is to display the single user path to purchase the product and visually represent information like: \n", "* what webpages were visited\n", "* how many devices were used\n", "* display the session counts\n", "\n", "In the graph above, there is one user that used single device to both do the research and make the purchase. User had 3 sessions and visited 6 subpages in total.\n", "\n", "It's important to emphasise that in this dataset **it is not possible** to determine what domains represents actual products. We selected the domain and thank you page that seemed reasonable in terms of number of events and visited webpages." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "purchase_path.draw_referenced_subgraph(*paths[2])\n", "purchase_path.draw_referenced_subgraph(*paths[3])\n", "purchase_path.draw_referenced_subgraph(*paths[4])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Other descriptive graph statistics\n", "\n", "Charts below display:\n", "* time to purchase the product per each user\n", "* all users session statistics where you can find out about:\n", " * the total time spent across all devices and sessions\n", " * duration of each session\n", "* most common visited subpages before purchase splitted per single user (persistentId)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "stats = purchase_path.generate_stats(activities)\n", "plots = purchase_path.custom_plots(stats)\n", "for plot in plots:\n", " plot.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Use-Case 6)\n", "\n", "### Identify look-alike customers for a product. \n", "\n", "* The goal here is to identify prospects, who show similar behavioral patterns as your existing customers. While we can easily do this algorithmically and automate this, the goal here is to provide visual query to improve human understanding to the marketing analysts. \n", "\n", "* What are the device ids from my customer graph, who are not yet buying my product (say Golf Club), but are show similar behavior patterns such lifestyle choices of buying golf or other sporting goods.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "scrolled": true }, "outputs": [], "source": [ "g = get_traversal(f\"wss://{result.host}:8182/gremlin\")\n", "pp.pprint(similar_audience.recommend_similar_audience(g, THANK_YOU_PAGE_URL).toList())" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "g = get_traversal(f\"wss://{result.host}:8182/gremlin\")\n", "similar_audience.draw_average_buyer_profile_pie_chart(g, THANK_YOU_PAGE_URL)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "scrolled": false }, "outputs": [], "source": [ "g = get_traversal(f\"wss://{result.host}:8182/gremlin\")\n", "similar_audience.draw_referenced_subgraph(g, THANK_YOU_PAGE_URL)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Graph description\n", "\n", "There are 4 node types:\n", "* purple ones representing IAB categories\n", "* blue ones representing persistent identities (aka various users) \n", "* red ones representing transient identities (aka various user devices or different cookie IDs)\n", "* orange ones representing average buyer\n", "\n", "The goal of this query is to display similar audience created from \"average buyer\".\n", "Average buyer profile is created as mean of most popular categories across people who bought the product. In other words, we try to measure what are the user interests based on their activity and then we compute averaged profile composed of 3 best categories which can be used for futher reference. \n", "\n", "User belongs to an audience if any of his interests is at least as big as in referenced averaged profile. \n", "\n", "The opaque nodes represents users or user devices who either are not interested in this type of content, or are not interested enough." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Visualisations " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## I want to know the most popular hours of users activity that belong to a given segment\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from nepytune.visualizations import histogram, segments\n", "\n", "WEBSITE_ID = \"a997482113271d8f/5758f309e11931ce\"\n", "\n", "g = get_traversal(f\"wss://{result.host}:8182/gremlin\")\n", "histogram.show(\n", " segments.get_all_devices_from_website_visitors(g, WEBSITE_ID).outE(\"visited\").values(\"ts\").toList(),\n", " website_name=WEBSITE_ID\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## I want to know what are the most popular devices used by specific audience segment\n", "\n", "Segment is built from users who are active between 16.00 and 18.00. " ] }, { "cell_type": "code", "execution_count": null, "metadata": { "scrolled": false }, "outputs": [], "source": [ "from nepytune.visualizations import pie_chart, sunburst_chart, commons\n", "\n", "g = get_traversal(f\"wss://{result.host}:8182/gremlin\")\n", "\n", "conditions = commons.get_timerange_condition(g, start_hour=16, end_hour=18)\n", "\n", "stats_activities = commons.get_user_device_statistics(g, conditions, limit=10000).next()\n", "\n", "pie_chart.show(stats_activities)\n", "sunburst_chart.show(stats_activities)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## I want to know the common part of specific segments" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from nepytune.visualizations import segments, commons, venn_diagram\n", "\n", "g = get_traversal(f\"wss://{result.host}:8182/gremlin\")\n", "users_interested_in_content = segments.query_users_intersted_in_content(\n", " g, ['IAB11-3'], limit=3000\n", ").toList()\n", "\n", "g = get_traversal(f\"wss://{result.host}:8182/gremlin\")\n", "users_active_between_16_18 = segments.query_users_active_in_given_date_intervals(\n", " g, commons.get_timerange_condition(g, start_hour=16, end_hour=18), limit=1000\n", ").toList()\n", "\n", "g = get_traversal(f\"wss://{result.host}:8182/gremlin\")\n", "users_active_in_last_30_days = segments.query_users_active_in_n_days(g, n=30, limit=1000).toList()\n", "\n", "venn_diagram.show_venn_diagram(\n", " venn_diagram.get_intersections(\n", " users_interested_in_content,\n", " users_active_between_16_18, \n", " users_active_in_last_30_days\n", " ), labels=[\n", " \"Users interested in specific content type\",\n", " \"Users active in the evenings\",\n", " \"Users who have visited website in past 30 days\"\n", " ]\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Users that visited website on more than one device" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from nepytune.visualizations import network_graph\n", "\n", "WEBSITE_ID = \"a997482113271d8f/5758f309e11931ce\"\n", "g = get_traversal(f\"wss://{result.host}:8182/gremlin\")\n", "network_graph.show(g, WEBSITE_ID)\n", " \n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.8" } }, "nbformat": 4, "nbformat_minor": 2 }