]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#2442] RADIUS UML
authorAndrei Pavel <andrei@isc.org>
Thu, 9 Nov 2023 10:09:07 +0000 (12:09 +0200)
committerAndrei Pavel <andrei@isc.org>
Wed, 15 Nov 2023 16:48:51 +0000 (18:48 +0200)
doc/sphinx/Makefile.am
doc/sphinx/arm/ext-radius.rst
doc/sphinx/uml/radius.png [new file with mode: 0644]
doc/sphinx/uml/radius.svg [new file with mode: 0644]
doc/sphinx/uml/radius.uml [new file with mode: 0644]
doc/sphinx/umls.rst

index 29be2255adefa9f1949ee58d426d35f460c0fcee..8beac81c2c08114bb8bddae768ccc0ecba4976bc 100644 (file)
@@ -102,6 +102,7 @@ umls += uml/currentHost4.uml
 umls += uml/lease-states.uml
 umls += uml/main-loop.uml
 umls += uml/packet4.uml
+umls += uml/radius.uml
 umls += uml/recognizing-same-client.uml
 umls += uml/request4-lease.uml
 umls += uml/request4.uml
@@ -119,6 +120,7 @@ pngs += uml/currentHost4.png
 pngs += uml/lease-states.png
 pngs += uml/main-loop.png
 pngs += uml/packet4.png
+pngs += uml/radius.png
 pngs += uml/recognizing-same-client.png
 pngs += uml/request4-lease.png
 pngs += uml/request4.png
@@ -136,6 +138,7 @@ svgs += uml/currentHost4.svg
 svgs += uml/lease-states.svg
 svgs += uml/main-loop.svg
 svgs += uml/packet4.svg
+svgs += uml/radius.svg
 svgs += uml/recognizing-same-client.svg
 svgs += uml/request4-lease.svg
 svgs += uml/request4.svg
index d3a131b22ebf4a4b74f748b8adafcab0f075c5bb..59c1d8a02097c96ed01161ec2631bc23e5ce74f3 100644 (file)
@@ -5,8 +5,8 @@ RADIUS
 
 .. _radius-overview:
 
-Overview
---------
+RADIUS Overview
+---------------
 
 This hook library allows Kea to interact with two types of RADIUS
 services: access and accounting. Although the most common DHCP and RADIUS
@@ -47,8 +47,8 @@ specified for a particular class.
 
 .. _hooks-radius-config:
 
-RADIUS Hook Configuration
-~~~~~~~~~~~~~~~~~~~~~~~~~
+RADIUS Hook Library Configuration
+---------------------------------
 
 The RADIUS hook is a library that must be loaded by either :iscman:`kea-dhcp4` or
 :iscman:`kea-dhcp6` servers. Unlike some other available hook libraries, this one
@@ -358,3 +358,15 @@ other than Discover and the first Request from each client.
    multi-subnet shared networks that have host reservations other
    than global. Loading the RADIUS hook library in a Kea DHCP server
    that has this configuration raises an error.
+
+RADIUS workflows for lease allocation
+-------------------------------------
+
+The following diagrams show a high level view of how RADIUS assists with the
+lease allocation process in :iscman:`kea-dhcp4` and :iscman:`kea-dhcp6`.
+
+.. figure:: ../uml/radius.*
+
+Somewhat tangential to lease allocation, and not shown in the diagrams above,
+is the ``command_processed`` callout, which sends Accounting-Request messagess
+when a lease command is received.
diff --git a/doc/sphinx/uml/radius.png b/doc/sphinx/uml/radius.png
new file mode 100644 (file)
index 0000000..bc7ca60
Binary files /dev/null and b/doc/sphinx/uml/radius.png differ
diff --git a/doc/sphinx/uml/radius.svg b/doc/sphinx/uml/radius.svg
new file mode 100644 (file)
index 0000000..8474fcd
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="us-ascii" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="2644px" preserveAspectRatio="none" style="width:771px;height:2644px;background:#FFFFFF;" version="1.1" viewBox="0 0 771 2644" width="771px" zoomAndPan="magnify">
+  <defs/>
+  <g>
+    <!--entity _-->
+    <g id="elem__">
+      <text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="4" x="17" y="31.9659">&#160;</text>
+      <image height="1273" width="730" x="17" xlink:href="data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEyNzMiIHdpZHRoPSI3MzAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciID48ZGVmcy8+PGc+PHJlY3QgZmlsbD0iI0ZGRkZGRiIgc3R5bGU9IndpZHRoOjczMHB4O2hlaWdodDoxMjczcHg7YmFja2dyb3VuZDojRkZGRkZGOyIgd2lkdGg9IjczMCIgaGVpZ2h0PSIxMjczIi8+IDx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjE0IiBmb250LXdlaWdodD0iYm9sZCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSI0MDgiIHg9IjE1OS41IiB5PSIzNC45NjU5Ij5SQURJVVMgd29ya2Zsb3cgZm9yIGxlYXNlIGFsbG9jYXRpb24gaW4gdGhlIERIQ1B2NCBzZXJ2ZXI8L3RleHQ+PHJlY3QgZmlsbD0iI0YxRjFGMSIgaGVpZ2h0PSIzNi4zNDQxIiByeD0iMTIuNSIgcnk9IjEyLjUiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MC41OyIgd2lkdGg9IjExMCIgeD0iMzAzIiB5PSI1MS4wNjc5Ii8+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTIiIGxlbmd0aEFkanVzdD0ic3BhY2luZyIgdGV4dExlbmd0aD0iOTAiIHg9IjMxMyIgeT0iNzMuODk2Ij5QYWNrZXQgUmVjZWl2ZWQ8L3RleHQ+PHJlY3QgZmlsbD0iI0YxRjFGMSIgaGVpZ2h0PSIzNi4zNDQxIiByeD0iMTIuNSIgcnk9IjEyLjUiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MC41OyIgd2lkdGg9IjExMyIgeD0iMzAxLjUiIHk9IjEwNy40MTIiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMiIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSI5MyIgeD0iMzExLjUiIHk9IjEzMC4yNDAxIj5TdWJuZXQgU2VsZWN0aW9uPC90ZXh0PjxlbGxpcHNlIGN4PSIzNTgiIGN5PSIxNzMuNzU2MSIgZmlsbD0iIzIyMjIyMiIgcng9IjEwIiByeT0iMTAiIHN0eWxlPSJzdHJva2U6IzIyMjIyMjtzdHJva2Utd2lkdGg6MS4wOyIvPjxyZWN0IGZpbGw9Im5vbmUiIGhlaWdodD0iOTY5Ljc2NjUiIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MS41OyIgd2lkdGg9IjcwOCIgeD0iMTEiIHk9IjE5My43NTYxIi8+PHBhdGggZD0iTTE3MiwxOTMuNzU2MSBMMTcyLDIwNS44MjQxIEwxNjIsMjE1LjgyNDEgTDExLDIxNS44MjQxICIgZmlsbD0ibm9uZSIgc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoxLjU7Ii8+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTQiIGZvbnQtd2VpZ2h0PSJib2xkIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjEwMiIgeD0iMTQiIHk9IjIwOS43MjIxIj5zdWJuZXQ0X3NlbGVjdDwvdGV4dD48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSI0NSIgeD0iMTIwIiB5PSIyMDkuNzIyMSI+Y2FsbG91dDwvdGV4dD48cmVjdCBmaWxsPSIjRjFGMUYxIiBoZWlnaHQ9IjM2LjM0NDEiIHJ4PSIxMi41IiByeT0iMTIuNSIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDowLjU7IiB3aWR0aD0iNDA1IiB4PSIxNTUuNSIgeT0iMjMyLjgyNDEiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMiIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSIzODUiIHg9IjE2NS41IiB5PSIyNTUuNjUyMiI+UmV0cmlldmUgcmVzZXJ2YXRpb24gZnJvbSBob3N0IGNhY2hlIGZvciB0aGUgY3VycmVudCBob3N0IGFuZCBzdWJuZXQuPC90ZXh0PjxyZWN0IGZpbGw9IiNGMUYxRjEiIGhlaWdodD0iMzYuMzQ0MSIgcng9IjEyLjUiIHJ5PSIxMi41IiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjAuNTsiIHdpZHRoPSIzMDkiIHg9IjIwMy41IiB5PSIzODguMTUwMSIvPjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjEyIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjI4OSIgeD0iMjEzLjUiIHk9IjQxMC45NzgyIj5SZXNlbGVjdCB0aGUgc3VibmV0IHRvIHRoZSBvbmUgZnJvbSB0aGUgcmVzZXJ2YXRpb24uPC90ZXh0Pjxwb2x5Z29uIGZpbGw9IiNGMUYxRjEiIHBvaW50cz0iMjY5LjUsMzM4LjY1OTEsNDQ2LjUsMzM4LjY1OTEsNDU4LjUsMzUwLjY1OTEsNDQ2LjUsMzYyLjY1OTEsMjY5LjUsMzYyLjY1OTEsMjU3LjUsMzUwLjY1OTEsMjY5LjUsMzM4LjY1OTEiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MC41OyIvPjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjExIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjE3IiB4PSIzNjIiIHk9IjM3NC40MTgiPnllczwvdGV4dD48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMSIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSIxNzciIHg9IjI2OS41IiB5PSIzNTQuOTI3MSI+UnNlcnZhdGlvbiBmb3IgYSBkaWZmZXJlbnQgc3VibmV0PzwvdGV4dD48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMSIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSIxNCIgeD0iNDU4LjUiIHk9IjM0Ny40MzYxIj5ubzwvdGV4dD48cG9seWdvbiBmaWxsPSIjRjFGMUYxIiBwb2ludHM9IjM1OCw0NDkuOTg1MSwzNzAsNDYxLjk4NTEsMzU4LDQ3My45ODUxLDM0Niw0NjEuOTg1MSwzNTgsNDQ5Ljk4NTEiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MC41OyIvPjxyZWN0IGZpbGw9IiNGMUYxRjEiIGhlaWdodD0iMzYuMzQ0MSIgcng9IjEyLjUiIHJ5PSIxMi41IiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjAuNTsiIHdpZHRoPSI0NTQiIHg9IjEzMSIgeT0iNDkzLjk4NTEiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMiIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSI0MzQiIHg9IjE0MSIgeT0iNTE2LjgxMzIiPlJldHJpZXZlIHJlc2VydmF0aW9uIGZyb20gaG9zdCBjYWNoZSBhZ2FpbiBpbiBjYXNlIHRoZSBzdWJuZXQgd2FzIHJlc2VsZWN0ZWQuPC90ZXh0Pjxwb2x5Z29uIGZpbGw9IiNGMUYxRjEiIHBvaW50cz0iMzA3LDI4OS4xNjgyLDQwOSwyODkuMTY4Miw0MjEsMzAxLjE2ODIsNDA5LDMxMy4xNjgyLDMwNywzMTMuMTY4MiwyOTUsMzAxLjE2ODIsMzA3LDI4OS4xNjgyIiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjAuNTsiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMSIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSIxNyIgeD0iMzYyIiB5PSIzMjQuOTI3MSI+eWVzPC90ZXh0Pjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjExIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjEwMiIgeD0iMzA3IiB5PSIzMDUuNDM2MSI+UmVzZXJ2YXRpb24gZm91bmQ/PC90ZXh0Pjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjExIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjE0IiB4PSI0MjEiIHk9IjI5Ny45NDUyIj5ubzwvdGV4dD48cG9seWdvbiBmaWxsPSIjRjFGMUYxIiBwb2ludHM9IjM1OCw1NTAuMzI5MiwzNzAsNTYyLjMyOTIsMzU4LDU3NC4zMjkyLDM0Niw1NjIuMzI5MiwzNTgsNTUwLjMyOTIiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MC41OyIvPjxyZWN0IGZpbGw9IiNGMUYxRjEiIGhlaWdodD0iMzYuMzQ0MSIgcng9IjEyLjUiIHJ5PSIxMi41IiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjAuNTsiIHdpZHRoPSIxNDIiIHg9IjI4NyIgeT0iNTk0LjMyOTIiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMiIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSIxMjIiIHg9IjI5NyIgeT0iNjE3LjE1NzMiPlNlbmQgQWNjZXNzLVJlcXVlc3QuPC90ZXh0PjxyZWN0IGZpbGw9IiNGMUYxRjEiIGhlaWdodD0iMzYuMzQ0MSIgcng9IjEyLjUiIHJ5PSIxMi41IiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjAuNTsiIHdpZHRoPSIzNjgiIHg9IjE3NCIgeT0iNzQ5LjY1NTIiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMiIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSIzNDgiIHg9IjE4NCIgeT0iNzcyLjQ4MzMiPlJlc2VsZWN0IHN1Ym5ldCB0byBtYXRjaCBhIHN1Ym5ldCB0aGUgY29udGFpbnMgdGhlIElQIGFkZHJlc3MuPC90ZXh0Pjxwb2x5Z29uIGZpbGw9IiNGMUYxRjEiIHBvaW50cz0iMjU5LDcwMC4xNjQzLDQ1Nyw3MDAuMTY0Myw0NjksNzEyLjE2NDMsNDU3LDcyNC4xNjQzLDI1OSw3MjQuMTY0MywyNDcsNzEyLjE2NDMsMjU5LDcwMC4xNjQzIiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjAuNTsiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMSIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSIxNyIgeD0iMzYyIiB5PSI3MzUuOTIzMiI+eWVzPC90ZXh0Pjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjExIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjE5OCIgeD0iMjU5IiB5PSI3MTYuNDMyMyI+RnJhbWVkLUlQLUFkZHJlc3MgYXR0cmlidXRlIHByZXNlbnQ/PC90ZXh0Pjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjExIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjE0IiB4PSI0NjkiIHk9IjcwOC45NDEzIj5ubzwvdGV4dD48cG9seWdvbiBmaWxsPSIjRjFGMUYxIiBwb2ludHM9IjM1OCw4MDUuOTk5NCwzNzAsODE3Ljk5OTQsMzU4LDgyOS45OTk0LDM0Niw4MTcuOTk5NCwzNTgsODA1Ljk5OTQiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MC41OyIvPjxyZWN0IGZpbGw9IiNGMUYxRjEiIGhlaWdodD0iMzYuMzQ0MSIgcng9IjEyLjUiIHJ5PSIxMi41IiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjAuNTsiIHdpZHRoPSIzNjUiIHg9IjE3NS41IiB5PSI4OTkuNDkwMyIvPjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjEyIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjM0NSIgeD0iMTg1LjUiIHk9IjkyMi4zMTg0Ij5SZXNlbGVjdCBzdWJuZXQgdG8gbWF0Y2ggYSBzdWJuZXQgZ3VhcmRlZCBieSB0aGUgY2xpZW50IGNsYXNzLjwvdGV4dD48cmVjdCBmaWxsPSIjRjFGMUYxIiBoZWlnaHQ9IjM2LjM0NDEiIHJ4PSIxMi41IiByeT0iMTIuNSIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDowLjU7IiB3aWR0aD0iNDIzIiB4PSIxNDYuNSIgeT0iOTcwLjgzNDQiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMiIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSI0MDMiIHg9IjE1Ni41IiB5PSI5OTMuNjYyNSI+QXNzaWduIHBhY2tldCB0byBjbGllbnQgY2xhc3MgcmVwcmVzZW50ZWQgYnkgdGhlIHZhbHVlIG9mIEZyYW1lZC1JUC1Qb29sLjwvdGV4dD48cG9seWdvbiBmaWxsPSIjRjFGMUYxIiBwb2ludHM9IjI2OCw4NDkuOTk5NCw0NDgsODQ5Ljk5OTQsNDYwLDg2MS45OTk0LDQ0OCw4NzMuOTk5NCwyNjgsODczLjk5OTQsMjU2LDg2MS45OTk0LDI2OCw4NDkuOTk5NCIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDowLjU7Ii8+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTEiIGxlbmd0aEFkanVzdD0ic3BhY2luZyIgdGV4dExlbmd0aD0iMTciIHg9IjM2MiIgeT0iODg1Ljc1ODMiPnllczwvdGV4dD48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMSIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSIxODAiIHg9IjI2OCIgeT0iODY2LjI2NzMiPkZyYW1lZC1JUC1Qb29sIGF0dHJpYnV0ZSBwcmVzZW50PzwvdGV4dD48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMSIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSIxNCIgeD0iNDYwIiB5PSI4NTguNzc2NCI+bm88L3RleHQ+PHBvbHlnb24gZmlsbD0iI0YxRjFGMSIgcG9pbnRzPSIzNTgsMTAyNy4xNzg1LDM3MCwxMDM5LjE3ODUsMzU4LDEwNTEuMTc4NSwzNDYsMTAzOS4xNzg1LDM1OCwxMDI3LjE3ODUiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MC41OyIvPjxyZWN0IGZpbGw9IiNGMUYxRjEiIGhlaWdodD0iMzYuMzQ0MSIgcng9IjEyLjUiIHJ5PSIxMi41IiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjAuNTsiIHdpZHRoPSI2NzAiIHg9IjIzIiB5PSIxMDcxLjE3ODUiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMiIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSI2NTAiIHg9IjMzIiB5PSIxMDk0LjAwNjYiPlBvcHVsYXRlIHRoZSBob3N0IGNhY2hlIHdpdGggdGhlIHJlc2VsZWN0ZWQgc3VibmV0IElEIGFuZCB0aGUgcG90ZW50aWFsIElQIGFkZHJlc3MgcmV0dXJuZWQgZnJvbSB0aGUgUkFESVVTIHNlcnZlci48L3RleHQ+PHBvbHlnb24gZmlsbD0iI0YxRjFGMSIgcG9pbnRzPSIzMzMsNjUwLjY3MzQsMzgzLDY1MC42NzM0LDM5NSw2NjIuNjczNCwzODMsNjc0LjY3MzQsMzMzLDY3NC42NzM0LDMyMSw2NjIuNjczNCwzMzMsNjUwLjY3MzQiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MC41OyIvPjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjExIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjcxIiB4PSIzNjIiIHk9IjY4Ni40MzIzIj5BY2Nlc3MtQWNjZXB0PC90ZXh0Pjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjExIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjUwIiB4PSIzMzMiIHk9IjY2Ni45NDEzIj5SZXNwb25zZTwvdGV4dD48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMSIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSI2OCIgeD0iMzk1IiB5PSI2NTkuNDUwNCI+QWNjZXNzLVJlamVjdDwvdGV4dD48cG9seWdvbiBmaWxsPSIjRjFGMUYxIiBwb2ludHM9IjM1OCwxMTI3LjUyMjYsMzcwLDExMzkuNTIyNiwzNTgsMTE1MS41MjI2LDM0NiwxMTM5LjUyMjYsMzU4LDExMjcuNTIyNiIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDowLjU7Ii8+PHJlY3QgZmlsbD0ibm9uZSIgaGVpZ2h0PSI4Ny40MTIiIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MS41OyIgd2lkdGg9IjQ4MCIgeD0iMTE4IiB5PSIxMTc1LjEyNDYiLz48cGF0aCBkPSJNNTg4LDExNzUuMTI0NiBMNTg4LDExODcuMTkyNSBMNTc4LDExOTcuMTkyNSBMMTE4LDExOTcuMTkyNSAiIGZpbGw9Im5vbmUiIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MS41OyIvPjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjE0IiBmb250LXdlaWdodD0iYm9sZCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSI5MiIgeD0iMTIxIiB5PSIxMTkxLjA5MDYiPmxlYXNlNF9yZW5ldzwvdGV4dD48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSI0IiB4PSIyMTMiIHk9IjExOTEuMDkwNiI+LDwvdGV4dD48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgZm9udC13ZWlnaHQ9ImJvbGQiIGxlbmd0aEFkanVzdD0ic3BhY2luZyIgdGV4dExlbmd0aD0iOTgiIHg9IjIyMSIgeT0iMTE5MS4wOTA2Ij5sZWFzZTRfcmVsZWFzZTwvdGV4dD48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSI0IiB4PSIzMTkiIHk9IjExOTEuMDkwNiI+LDwvdGV4dD48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgZm9udC13ZWlnaHQ9ImJvbGQiIGxlbmd0aEFkanVzdD0ic3BhY2luZyIgdGV4dExlbmd0aD0iOTgiIHg9IjMyNyIgeT0iMTE5MS4wOTA2Ij5sZWFzZTRfZGVjbGluZTwvdGV4dD48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSI0IiB4PSI0MjUiIHk9IjExOTEuMDkwNiI+LDwvdGV4dD48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgZm9udC13ZWlnaHQ9ImJvbGQiIGxlbmd0aEFkanVzdD0ic3BhY2luZyIgdGV4dExlbmd0aD0iOTIiIHg9IjQzMyIgeT0iMTE5MS4wOTA2Ij5sZWFzZTRfZXhwaXJlPC90ZXh0Pjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjE0IiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjUyIiB4PSI1MjkiIHk9IjExOTEuMDkwNiI+Y2FsbG91dHM8L3RleHQ+PHJlY3QgZmlsbD0iI0YxRjFGMSIgaGVpZ2h0PSIzNi4zNDQxIiByeD0iMTIuNSIgcnk9IjEyLjUiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MC41OyIgd2lkdGg9IjI1NSIgeD0iMjMwLjUiIHk9IjEyMTQuMTkyNSIvPjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjEyIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjIzNSIgeD0iMjQwLjUiIHk9IjEyMzcuMDIwNiI+U2VuZCBBY2NvdW50aW5nLVJlcXVlc3QgYXN5bmNocm9ub3VzbHkuPC90ZXh0PjxsaW5lIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIgeDE9IjM1OCIgeDI9IjM1OCIgeTE9Ijg3LjQxMiIgeTI9IjEwNy40MTIiLz48cG9seWdvbiBmaWxsPSIjMTgxODE4IiBwb2ludHM9IjM1NCw5Ny40MTIsMzU4LDEwNy40MTIsMzYyLDk3LjQxMiwzNTgsMTAxLjQxMiIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7IiB4MT0iMzU4IiB4Mj0iMzU4IiB5MT0iMTQzLjc1NjEiIHkyPSIxNjMuNzU2MSIvPjxwb2x5Z29uIGZpbGw9IiMxODE4MTgiIHBvaW50cz0iMzU0LDE1My43NTYxLDM1OCwxNjMuNzU2MSwzNjIsMTUzLjc1NjEsMzU4LDE1Ny43NTYxIiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiIHgxPSIzNTgiIHgyPSIzNTgiIHkxPSIzNjIuNjU5MSIgeTI9IjM4OC4xNTAxIi8+PHBvbHlnb24gZmlsbD0iIzE4MTgxOCIgcG9pbnRzPSIzNTQsMzc4LjE1MDEsMzU4LDM4OC4xNTAxLDM2MiwzNzguMTUwMSwzNTgsMzgyLjE1MDEiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIgeDE9IjQ1OC41IiB4Mj0iNTIyLjUiIHkxPSIzNTAuNjU5MSIgeTI9IjM1MC42NTkxIi8+PHBvbHlnb24gZmlsbD0iIzE4MTgxOCIgcG9pbnRzPSI1MTguNSwzOTYuMzIyMSw1MjIuNSw0MDYuMzIyMSw1MjYuNSwzOTYuMzIyMSw1MjIuNSw0MDAuMzIyMSIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7IiB4MT0iNTIyLjUiIHgyPSI1MjIuNSIgeTE9IjM1MC42NTkxIiB5Mj0iNDYxLjk4NTEiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiIHgxPSI1MjIuNSIgeDI9IjM3MCIgeTE9IjQ2MS45ODUxIiB5Mj0iNDYxLjk4NTEiLz48cG9seWdvbiBmaWxsPSIjMTgxODE4IiBwb2ludHM9IjM4MCw0NTcuOTg1MSwzNzAsNDYxLjk4NTEsMzgwLDQ2NS45ODUxLDM3Niw0NjEuOTg1MSIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7IiB4MT0iMzU4IiB4Mj0iMzU4IiB5MT0iNDI0LjQ5NDIiIHkyPSI0NDkuOTg1MSIvPjxwb2x5Z29uIGZpbGw9IiMxODE4MTgiIHBvaW50cz0iMzU0LDQzOS45ODUxLDM1OCw0NDkuOTg1MSwzNjIsNDM5Ljk4NTEsMzU4LDQ0My45ODUxIiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiIHgxPSIzNTgiIHgyPSIzNTgiIHkxPSI0NzMuOTg1MSIgeTI9IjQ5My45ODUxIi8+PHBvbHlnb24gZmlsbD0iIzE4MTgxOCIgcG9pbnRzPSIzNTQsNDgzLjk4NTEsMzU4LDQ5My45ODUxLDM2Miw0ODMuOTg1MSwzNTgsNDg3Ljk4NTEiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIgeDE9IjM1OCIgeDI9IjM1OCIgeTE9IjMxMy4xNjgyIiB5Mj0iMzM4LjY1OTEiLz48cG9seWdvbiBmaWxsPSIjMTgxODE4IiBwb2ludHM9IjM1NCwzMjguNjU5MSwzNTgsMzM4LjY1OTEsMzYyLDMyOC42NTkxLDM1OCwzMzIuNjU5MSIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7IiB4MT0iNDIxIiB4Mj0iNTk1IiB5MT0iMzAxLjE2ODIiIHkyPSIzMDEuMTY4MiIvPjxwb2x5Z29uIGZpbGw9IiMxODE4MTgiIHBvaW50cz0iNTkxLDQzMS45OTQyLDU5NSw0NDEuOTk0Miw1OTksNDMxLjk5NDIsNTk1LDQzNS45OTQyIiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiIHgxPSI1OTUiIHgyPSI1OTUiIHkxPSIzMDEuMTY4MiIgeTI9IjU2Mi4zMjkyIi8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7IiB4MT0iNTk1IiB4Mj0iMzcwIiB5MT0iNTYyLjMyOTIiIHkyPSI1NjIuMzI5MiIvPjxwb2x5Z29uIGZpbGw9IiMxODE4MTgiIHBvaW50cz0iMzgwLDU1OC4zMjkyLDM3MCw1NjIuMzI5MiwzODAsNTY2LjMyOTIsMzc2LDU2Mi4zMjkyIiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiIHgxPSIzNTgiIHgyPSIzNTgiIHkxPSI1MzAuMzI5MiIgeTI9IjU1MC4zMjkyIi8+PHBvbHlnb24gZmlsbD0iIzE4MTgxOCIgcG9pbnRzPSIzNTQsNTQwLjMyOTIsMzU4LDU1MC4zMjkyLDM2Miw1NDAuMzI5MiwzNTgsNTQ0LjMyOTIiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIgeDE9IjM1OCIgeDI9IjM1OCIgeTE9IjI2OS4xNjgyIiB5Mj0iMjg5LjE2ODIiLz48cG9seWdvbiBmaWxsPSIjMTgxODE4IiBwb2ludHM9IjM1NCwyNzkuMTY4MiwzNTgsMjg5LjE2ODIsMzYyLDI3OS4xNjgyLDM1OCwyODMuMTY4MiIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7IiB4MT0iMzU4IiB4Mj0iMzU4IiB5MT0iNTc0LjMyOTIiIHkyPSI1OTQuMzI5MiIvPjxwb2x5Z29uIGZpbGw9IiMxODE4MTgiIHBvaW50cz0iMzU0LDU4NC4zMjkyLDM1OCw1OTQuMzI5MiwzNjIsNTg0LjMyOTIsMzU4LDU4OC4zMjkyIiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiIHgxPSIzNTgiIHgyPSIzNTgiIHkxPSI3MjQuMTY0MyIgeTI9Ijc0OS42NTUyIi8+PHBvbHlnb24gZmlsbD0iIzE4MTgxOCIgcG9pbnRzPSIzNTQsNzM5LjY1NTIsMzU4LDc0OS42NTUyLDM2Miw3MzkuNjU1MiwzNTgsNzQzLjY1NTIiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIgeDE9IjQ2OSIgeDI9IjU1MiIgeTE9IjcxMi4xNjQzIiB5Mj0iNzEyLjE2NDMiLz48cG9seWdvbiBmaWxsPSIjMTgxODE4IiBwb2ludHM9IjU0OCw3NTcuODI3Myw1NTIsNzY3LjgyNzMsNTU2LDc1Ny44MjczLDU1Miw3NjEuODI3MyIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7IiB4MT0iNTUyIiB4Mj0iNTUyIiB5MT0iNzEyLjE2NDMiIHkyPSI4MTcuOTk5NCIvPjxsaW5lIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIgeDE9IjU1MiIgeDI9IjM3MCIgeTE9IjgxNy45OTk0IiB5Mj0iODE3Ljk5OTQiLz48cG9seWdvbiBmaWxsPSIjMTgxODE4IiBwb2ludHM9IjM4MCw4MTMuOTk5NCwzNzAsODE3Ljk5OTQsMzgwLDgyMS45OTk0LDM3Niw4MTcuOTk5NCIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7IiB4MT0iMzU4IiB4Mj0iMzU4IiB5MT0iNzg1Ljk5OTQiIHkyPSI4MDUuOTk5NCIvPjxwb2x5Z29uIGZpbGw9IiMxODE4MTgiIHBvaW50cz0iMzU0LDc5NS45OTk0LDM1OCw4MDUuOTk5NCwzNjIsNzk1Ljk5OTQsMzU4LDc5OS45OTk0IiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiIHgxPSIzNTgiIHgyPSIzNTgiIHkxPSI5MzUuODM0NCIgeTI9Ijk3MC44MzQ0Ii8+PHBvbHlnb24gZmlsbD0iIzE4MTgxOCIgcG9pbnRzPSIzNTQsOTYwLjgzNDQsMzU4LDk3MC44MzQ0LDM2Miw5NjAuODM0NCwzNTgsOTY0LjgzNDQiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIgeDE9IjM1OCIgeDI9IjM1OCIgeTE9Ijg3My45OTk0IiB5Mj0iODk5LjQ5MDMiLz48cG9seWdvbiBmaWxsPSIjMTgxODE4IiBwb2ludHM9IjM1NCw4ODkuNDkwMywzNTgsODk5LjQ5MDMsMzYyLDg4OS40OTAzLDM1OCw4OTMuNDkwMyIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7IiB4MT0iNDYwIiB4Mj0iNTc5LjUiIHkxPSI4NjEuOTk5NCIgeTI9Ijg2MS45OTk0Ii8+PHBvbHlnb24gZmlsbD0iIzE4MTgxOCIgcG9pbnRzPSI1NzUuNSw5NDMuMzM0NCw1NzkuNSw5NTMuMzM0NCw1ODMuNSw5NDMuMzM0NCw1NzkuNSw5NDcuMzM0NCIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7IiB4MT0iNTc5LjUiIHgyPSI1NzkuNSIgeTE9Ijg2MS45OTk0IiB5Mj0iMTAzOS4xNzg1Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7IiB4MT0iNTc5LjUiIHgyPSIzNzAiIHkxPSIxMDM5LjE3ODUiIHkyPSIxMDM5LjE3ODUiLz48cG9seWdvbiBmaWxsPSIjMTgxODE4IiBwb2ludHM9IjM4MCwxMDM1LjE3ODUsMzcwLDEwMzkuMTc4NSwzODAsMTA0My4xNzg1LDM3NiwxMDM5LjE3ODUiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIgeDE9IjM1OCIgeDI9IjM1OCIgeTE9IjEwMDcuMTc4NSIgeTI9IjEwMjcuMTc4NSIvPjxwb2x5Z29uIGZpbGw9IiMxODE4MTgiIHBvaW50cz0iMzU0LDEwMTcuMTc4NSwzNTgsMTAyNy4xNzg1LDM2MiwxMDE3LjE3ODUsMzU4LDEwMjEuMTc4NSIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7IiB4MT0iMzU4IiB4Mj0iMzU4IiB5MT0iODI5Ljk5OTQiIHkyPSI4NDkuOTk5NCIvPjxwb2x5Z29uIGZpbGw9IiMxODE4MTgiIHBvaW50cz0iMzU0LDgzOS45OTk0LDM1OCw4NDkuOTk5NCwzNjIsODM5Ljk5OTQsMzU4LDg0My45OTk0IiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiIHgxPSIzNTgiIHgyPSIzNTgiIHkxPSIxMDUxLjE3ODUiIHkyPSIxMDcxLjE3ODUiLz48cG9seWdvbiBmaWxsPSIjMTgxODE4IiBwb2ludHM9IjM1NCwxMDYxLjE3ODUsMzU4LDEwNzEuMTc4NSwzNjIsMTA2MS4xNzg1LDM1OCwxMDY1LjE3ODUiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIgeDE9IjM1OCIgeDI9IjM1OCIgeTE9IjY3NC42NzM0IiB5Mj0iNzAwLjE2NDMiLz48cG9seWdvbiBmaWxsPSIjMTgxODE4IiBwb2ludHM9IjM1NCw2OTAuMTY0MywzNTgsNzAwLjE2NDMsMzYyLDY5MC4xNjQzLDM1OCw2OTQuMTY0MyIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7IiB4MT0iMzk1IiB4Mj0iNzAzIiB5MT0iNjYyLjY3MzQiIHkyPSI2NjIuNjczNCIvPjxwb2x5Z29uIGZpbGw9IiMxODE4MTgiIHBvaW50cz0iNjk5LDg5My44NDM1LDcwMyw5MDMuODQzNSw3MDcsODkzLjg0MzUsNzAzLDg5Ny44NDM1IiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiIHgxPSI3MDMiIHgyPSI3MDMiIHkxPSI2NjIuNjczNCIgeTI9IjExMzkuNTIyNiIvPjxsaW5lIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIgeDE9IjcwMyIgeDI9IjM3MCIgeTE9IjExMzkuNTIyNiIgeTI9IjExMzkuNTIyNiIvPjxwb2x5Z29uIGZpbGw9IiMxODE4MTgiIHBvaW50cz0iMzgwLDExMzUuNTIyNiwzNzAsMTEzOS41MjI2LDM4MCwxMTQzLjUyMjYsMzc2LDExMzkuNTIyNiIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7IiB4MT0iMzU4IiB4Mj0iMzU4IiB5MT0iMTEwNy41MjI2IiB5Mj0iMTEyNy41MjI2Ii8+PHBvbHlnb24gZmlsbD0iIzE4MTgxOCIgcG9pbnRzPSIzNTQsMTExNy41MjI2LDM1OCwxMTI3LjUyMjYsMzYyLDExMTcuNTIyNiwzNTgsMTEyMS41MjI2IiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiIHgxPSIzNTgiIHgyPSIzNTgiIHkxPSI2MzAuNjczNCIgeTI9IjY1MC42NzM0Ii8+PHBvbHlnb24gZmlsbD0iIzE4MTgxOCIgcG9pbnRzPSIzNTQsNjQwLjY3MzQsMzU4LDY1MC42NzM0LDM2Miw2NDAuNjczNCwzNTgsNjQ0LjY3MzQiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIgeDE9IjM1OCIgeDI9IjM1OCIgeTE9IjE4My43NTYxIiB5Mj0iMjMyLjgyNDEiLz48cG9seWdvbiBmaWxsPSIjMTgxODE4IiBwb2ludHM9IjM1NCwyMjIuODI0MSwzNTgsMjMyLjgyNDEsMzYyLDIyMi44MjQxLDM1OCwyMjYuODI0MSIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7IiB4MT0iMzU4IiB4Mj0iMzU4IiB5MT0iMTE1MS41MjI2IiB5Mj0iMTIxNC4xOTI1Ii8+PHBvbHlnb24gZmlsbD0iIzE4MTgxOCIgcG9pbnRzPSIzNTQsMTIwNC4xOTI1LDM1OCwxMjE0LjE5MjUsMzYyLDEyMDQuMTkyNSwzNTgsMTIwOC4xOTI1IiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiLz48IS0tU1JDPVtoTEoxWlhlbjNCdGxMcllTczU3ZllURmtlSzk1TFJjREczc2xHazlYcVd0OUQ3NldnRGZfaHZDQ0MwQ3p4NGV6SlVBbmR2X2o1bUMwYTJRM2k1dWlMcHlzUzdKLWpKN2syOHRwTzUwNDE2NkNhdUFxaXcwaks4a21fRndyRmltWGUzLVdWczA4VUFnNVY0TTJES2hLMXJKRm5SZzlNeWxNM0hnSzJRMk8wbWJGLVRKbkdNVmFJTE01eDNuXzJUY3hnYTJjcDk0Y3kyU3hDenVRb01peTg3WENvR2tmbmhpemoydUcxcVhjYnZXZGJaOXdadlJBQnM0TGIwSVZkdGlxdFMxcUZTSG5xUWVsWm9kTW1sSTR1UjV0eDVzN2RYdTRBRHFxYzNDS3U3LTdQalFiZkNvZy0wQXZWN0NNMl96cTZISHI4R2MwWGNTbWpVdUFZUFBKRm1wV3R6NEtpSEN3cHEtY2FHdzg3NE44V09hV2dhbFVzd3AzZDR5UmxpNTJJV25YamlQVjRTRFRMcGpkMHZ1UnFoa2NKcVZaaGR4cE9lemdqZ2ZkMndNT0htMTFOQ3VzNGFBTlVEYnR6Rk5RcXhxV3NWOWlwZk9hMHNVOVFtX3ZpZ2YxYjNtVndGMk9QLXNTLVF5YVRyNXVYR2dzZnlCTndBR2ZRU0k4OTRDakdqMHhvdXljRnBLNjZoaG80N2lnTHdZM0M5NHJyaTJPX0tWNExSaWs2YTU1Q1dDejdKTXI1ejRNeFBwaE1JdHBRcWlfRXFUQ0kwaXBRM243S0ZJTV9JXzJ4dFRGc0lTdDRocDh4MlNka0xWWnNfcVVvTGpoX2k4bDR1ekx6R2E2YmRtT3NISG80LXRPWGh5eHhWNndXQ0JhTGxZeUFLWlJ0TGR5OENCOW9qT3h3czhtZnh3Mmp4eTBdLS0+PC9nPjwvc3ZnPg==" y="36.0679"/>
+      <text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="4" x="17" y="1324.0339">&#160;</text>
+      <image height="1273" width="730" x="17" xlink:href="data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEyNzMiIHdpZHRoPSI3MzAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciID48ZGVmcy8+PGc+PHJlY3QgZmlsbD0iI0ZGRkZGRiIgc3R5bGU9IndpZHRoOjczMHB4O2hlaWdodDoxMjczcHg7YmFja2dyb3VuZDojRkZGRkZGOyIgd2lkdGg9IjczMCIgaGVpZ2h0PSIxMjczIi8+IDx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjE0IiBmb250LXdlaWdodD0iYm9sZCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSI0MDgiIHg9IjE1OS41IiB5PSIzNC45NjU5Ij5SQURJVVMgd29ya2Zsb3cgZm9yIGxlYXNlIGFsbG9jYXRpb24gaW4gdGhlIERIQ1B2NiBzZXJ2ZXI8L3RleHQ+PHJlY3QgZmlsbD0iI0YxRjFGMSIgaGVpZ2h0PSIzNi4zNDQxIiByeD0iMTIuNSIgcnk9IjEyLjUiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MC41OyIgd2lkdGg9IjExMCIgeD0iMzAzIiB5PSI1MS4wNjc5Ii8+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTIiIGxlbmd0aEFkanVzdD0ic3BhY2luZyIgdGV4dExlbmd0aD0iOTAiIHg9IjMxMyIgeT0iNzMuODk2Ij5QYWNrZXQgUmVjZWl2ZWQ8L3RleHQ+PHJlY3QgZmlsbD0iI0YxRjFGMSIgaGVpZ2h0PSIzNi4zNDQxIiByeD0iMTIuNSIgcnk9IjEyLjUiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MC41OyIgd2lkdGg9IjExMyIgeD0iMzAxLjUiIHk9IjEwNy40MTIiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMiIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSI5MyIgeD0iMzExLjUiIHk9IjEzMC4yNDAxIj5TdWJuZXQgU2VsZWN0aW9uPC90ZXh0PjxlbGxpcHNlIGN4PSIzNTgiIGN5PSIxNzMuNzU2MSIgZmlsbD0iIzIyMjIyMiIgcng9IjEwIiByeT0iMTAiIHN0eWxlPSJzdHJva2U6IzIyMjIyMjtzdHJva2Utd2lkdGg6MS4wOyIvPjxyZWN0IGZpbGw9Im5vbmUiIGhlaWdodD0iOTY5Ljc2NjUiIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MS41OyIgd2lkdGg9IjcwOCIgeD0iMTEiIHk9IjE5My43NTYxIi8+PHBhdGggZD0iTTE3MiwxOTMuNzU2MSBMMTcyLDIwNS44MjQxIEwxNjIsMjE1LjgyNDEgTDExLDIxNS44MjQxICIgZmlsbD0ibm9uZSIgc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoxLjU7Ii8+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTQiIGZvbnQtd2VpZ2h0PSJib2xkIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjEwMiIgeD0iMTQiIHk9IjIwOS43MjIxIj5zdWJuZXQ2X3NlbGVjdDwvdGV4dD48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSI0NSIgeD0iMTIwIiB5PSIyMDkuNzIyMSI+Y2FsbG91dDwvdGV4dD48cmVjdCBmaWxsPSIjRjFGMUYxIiBoZWlnaHQ9IjM2LjM0NDEiIHJ4PSIxMi41IiByeT0iMTIuNSIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDowLjU7IiB3aWR0aD0iNDA1IiB4PSIxNTUuNSIgeT0iMjMyLjgyNDEiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMiIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSIzODUiIHg9IjE2NS41IiB5PSIyNTUuNjUyMiI+UmV0cmlldmUgcmVzZXJ2YXRpb24gZnJvbSBob3N0IGNhY2hlIGZvciB0aGUgY3VycmVudCBob3N0IGFuZCBzdWJuZXQuPC90ZXh0PjxyZWN0IGZpbGw9IiNGMUYxRjEiIGhlaWdodD0iMzYuMzQ0MSIgcng9IjEyLjUiIHJ5PSIxMi41IiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjAuNTsiIHdpZHRoPSIzMDkiIHg9IjIwMy41IiB5PSIzODguMTUwMSIvPjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjEyIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjI4OSIgeD0iMjEzLjUiIHk9IjQxMC45NzgyIj5SZXNlbGVjdCB0aGUgc3VibmV0IHRvIHRoZSBvbmUgZnJvbSB0aGUgcmVzZXJ2YXRpb24uPC90ZXh0Pjxwb2x5Z29uIGZpbGw9IiNGMUYxRjEiIHBvaW50cz0iMjY5LjUsMzM4LjY1OTEsNDQ2LjUsMzM4LjY1OTEsNDU4LjUsMzUwLjY1OTEsNDQ2LjUsMzYyLjY1OTEsMjY5LjUsMzYyLjY1OTEsMjU3LjUsMzUwLjY1OTEsMjY5LjUsMzM4LjY1OTEiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MC41OyIvPjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjExIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjE3IiB4PSIzNjIiIHk9IjM3NC40MTgiPnllczwvdGV4dD48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMSIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSIxNzciIHg9IjI2OS41IiB5PSIzNTQuOTI3MSI+UnNlcnZhdGlvbiBmb3IgYSBkaWZmZXJlbnQgc3VibmV0PzwvdGV4dD48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMSIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSIxNCIgeD0iNDU4LjUiIHk9IjM0Ny40MzYxIj5ubzwvdGV4dD48cG9seWdvbiBmaWxsPSIjRjFGMUYxIiBwb2ludHM9IjM1OCw0NDkuOTg1MSwzNzAsNDYxLjk4NTEsMzU4LDQ3My45ODUxLDM0Niw0NjEuOTg1MSwzNTgsNDQ5Ljk4NTEiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MC41OyIvPjxyZWN0IGZpbGw9IiNGMUYxRjEiIGhlaWdodD0iMzYuMzQ0MSIgcng9IjEyLjUiIHJ5PSIxMi41IiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjAuNTsiIHdpZHRoPSI0NTQiIHg9IjEzMSIgeT0iNDkzLjk4NTEiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMiIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSI0MzQiIHg9IjE0MSIgeT0iNTE2LjgxMzIiPlJldHJpZXZlIHJlc2VydmF0aW9uIGZyb20gaG9zdCBjYWNoZSBhZ2FpbiBpbiBjYXNlIHRoZSBzdWJuZXQgd2FzIHJlc2VsZWN0ZWQuPC90ZXh0Pjxwb2x5Z29uIGZpbGw9IiNGMUYxRjEiIHBvaW50cz0iMzA3LDI4OS4xNjgyLDQwOSwyODkuMTY4Miw0MjEsMzAxLjE2ODIsNDA5LDMxMy4xNjgyLDMwNywzMTMuMTY4MiwyOTUsMzAxLjE2ODIsMzA3LDI4OS4xNjgyIiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjAuNTsiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMSIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSIxNyIgeD0iMzYyIiB5PSIzMjQuOTI3MSI+eWVzPC90ZXh0Pjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjExIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjEwMiIgeD0iMzA3IiB5PSIzMDUuNDM2MSI+UmVzZXJ2YXRpb24gZm91bmQ/PC90ZXh0Pjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjExIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjE0IiB4PSI0MjEiIHk9IjI5Ny45NDUyIj5ubzwvdGV4dD48cG9seWdvbiBmaWxsPSIjRjFGMUYxIiBwb2ludHM9IjM1OCw1NTAuMzI5MiwzNzAsNTYyLjMyOTIsMzU4LDU3NC4zMjkyLDM0Niw1NjIuMzI5MiwzNTgsNTUwLjMyOTIiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MC41OyIvPjxyZWN0IGZpbGw9IiNGMUYxRjEiIGhlaWdodD0iMzYuMzQ0MSIgcng9IjEyLjUiIHJ5PSIxMi41IiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjAuNTsiIHdpZHRoPSIxNDIiIHg9IjI4NyIgeT0iNTk0LjMyOTIiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMiIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSIxMjIiIHg9IjI5NyIgeT0iNjE3LjE1NzMiPlNlbmQgQWNjZXNzLVJlcXVlc3QuPC90ZXh0PjxyZWN0IGZpbGw9IiNGMUYxRjEiIGhlaWdodD0iMzYuMzQ0MSIgcng9IjEyLjUiIHJ5PSIxMi41IiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjAuNTsiIHdpZHRoPSIzNjgiIHg9IjE3NCIgeT0iNzQ5LjY1NTIiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMiIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSIzNDgiIHg9IjE4NCIgeT0iNzcyLjQ4MzMiPlJlc2VsZWN0IHN1Ym5ldCB0byBtYXRjaCBhIHN1Ym5ldCB0aGUgY29udGFpbnMgdGhlIElQIGFkZHJlc3MuPC90ZXh0Pjxwb2x5Z29uIGZpbGw9IiNGMUYxRjEiIHBvaW50cz0iMjUzLDcwMC4xNjQzLDQ2Myw3MDAuMTY0Myw0NzUsNzEyLjE2NDMsNDYzLDcyNC4xNjQzLDI1Myw3MjQuMTY0MywyNDEsNzEyLjE2NDMsMjUzLDcwMC4xNjQzIiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjAuNTsiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMSIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSIxNyIgeD0iMzYyIiB5PSI3MzUuOTIzMiI+eWVzPC90ZXh0Pjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjExIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjIxMCIgeD0iMjUzIiB5PSI3MTYuNDMyMyI+RnJhbWVkLUlQdjYtQWRkcmVzcyBhdHRyaWJ1dGUgcHJlc2VudD88L3RleHQ+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTEiIGxlbmd0aEFkanVzdD0ic3BhY2luZyIgdGV4dExlbmd0aD0iMTQiIHg9IjQ3NSIgeT0iNzA4Ljk0MTMiPm5vPC90ZXh0Pjxwb2x5Z29uIGZpbGw9IiNGMUYxRjEiIHBvaW50cz0iMzU4LDgwNS45OTk0LDM3MCw4MTcuOTk5NCwzNTgsODI5Ljk5OTQsMzQ2LDgxNy45OTk0LDM1OCw4MDUuOTk5NCIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDowLjU7Ii8+PHJlY3QgZmlsbD0iI0YxRjFGMSIgaGVpZ2h0PSIzNi4zNDQxIiByeD0iMTIuNSIgcnk9IjEyLjUiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MC41OyIgd2lkdGg9IjM2NSIgeD0iMTc1LjUiIHk9Ijg5OS40OTAzIi8+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTIiIGxlbmd0aEFkanVzdD0ic3BhY2luZyIgdGV4dExlbmd0aD0iMzQ1IiB4PSIxODUuNSIgeT0iOTIyLjMxODQiPlJlc2VsZWN0IHN1Ym5ldCB0byBtYXRjaCBhIHN1Ym5ldCBndWFyZGVkIGJ5IHRoZSBjbGllbnQgY2xhc3MuPC90ZXh0PjxyZWN0IGZpbGw9IiNGMUYxRjEiIGhlaWdodD0iMzYuMzQ0MSIgcng9IjEyLjUiIHJ5PSIxMi41IiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjAuNTsiIHdpZHRoPSI0MjMiIHg9IjE0Ni41IiB5PSI5NzAuODM0NCIvPjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjEyIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjQwMyIgeD0iMTU2LjUiIHk9Ijk5My42NjI1Ij5Bc3NpZ24gcGFja2V0IHRvIGNsaWVudCBjbGFzcyByZXByZXNlbnRlZCBieSB0aGUgdmFsdWUgb2YgRnJhbWVkLUlQLVBvb2wuPC90ZXh0Pjxwb2x5Z29uIGZpbGw9IiNGMUYxRjEiIHBvaW50cz0iMjY4LDg0OS45OTk0LDQ0OCw4NDkuOTk5NCw0NjAsODYxLjk5OTQsNDQ4LDg3My45OTk0LDI2OCw4NzMuOTk5NCwyNTYsODYxLjk5OTQsMjY4LDg0OS45OTk0IiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjAuNTsiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMSIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSIxNyIgeD0iMzYyIiB5PSI4ODUuNzU4MyI+eWVzPC90ZXh0Pjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjExIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjE4MCIgeD0iMjY4IiB5PSI4NjYuMjY3MyI+RnJhbWVkLUlQLVBvb2wgYXR0cmlidXRlIHByZXNlbnQ/PC90ZXh0Pjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjExIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjE0IiB4PSI0NjAiIHk9Ijg1OC43NzY0Ij5ubzwvdGV4dD48cG9seWdvbiBmaWxsPSIjRjFGMUYxIiBwb2ludHM9IjM1OCwxMDI3LjE3ODUsMzcwLDEwMzkuMTc4NSwzNTgsMTA1MS4xNzg1LDM0NiwxMDM5LjE3ODUsMzU4LDEwMjcuMTc4NSIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDowLjU7Ii8+PHJlY3QgZmlsbD0iI0YxRjFGMSIgaGVpZ2h0PSIzNi4zNDQxIiByeD0iMTIuNSIgcnk9IjEyLjUiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MC41OyIgd2lkdGg9IjY3MCIgeD0iMjMiIHk9IjEwNzEuMTc4NSIvPjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjEyIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjY1MCIgeD0iMzMiIHk9IjEwOTQuMDA2NiI+UG9wdWxhdGUgdGhlIGhvc3QgY2FjaGUgd2l0aCB0aGUgcmVzZWxlY3RlZCBzdWJuZXQgSUQgYW5kIHRoZSBwb3RlbnRpYWwgSVAgYWRkcmVzcyByZXR1cm5lZCBmcm9tIHRoZSBSQURJVVMgc2VydmVyLjwvdGV4dD48cG9seWdvbiBmaWxsPSIjRjFGMUYxIiBwb2ludHM9IjMzMyw2NTAuNjczNCwzODMsNjUwLjY3MzQsMzk1LDY2Mi42NzM0LDM4Myw2NzQuNjczNCwzMzMsNjc0LjY3MzQsMzIxLDY2Mi42NzM0LDMzMyw2NTAuNjczNCIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDowLjU7Ii8+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTEiIGxlbmd0aEFkanVzdD0ic3BhY2luZyIgdGV4dExlbmd0aD0iNzEiIHg9IjM2MiIgeT0iNjg2LjQzMjMiPkFjY2Vzcy1BY2NlcHQ8L3RleHQ+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTEiIGxlbmd0aEFkanVzdD0ic3BhY2luZyIgdGV4dExlbmd0aD0iNTAiIHg9IjMzMyIgeT0iNjY2Ljk0MTMiPlJlc3BvbnNlPC90ZXh0Pjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjExIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjY4IiB4PSIzOTUiIHk9IjY1OS40NTA0Ij5BY2Nlc3MtUmVqZWN0PC90ZXh0Pjxwb2x5Z29uIGZpbGw9IiNGMUYxRjEiIHBvaW50cz0iMzU4LDExMjcuNTIyNiwzNzAsMTEzOS41MjI2LDM1OCwxMTUxLjUyMjYsMzQ2LDExMzkuNTIyNiwzNTgsMTEyNy41MjI2IiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjAuNTsiLz48cmVjdCBmaWxsPSJub25lIiBoZWlnaHQ9Ijg3LjQxMiIgc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoxLjU7IiB3aWR0aD0iNTgyIiB4PSI2NyIgeT0iMTE3NS4xMjQ2Ii8+PHBhdGggZD0iTTYzOSwxMTc1LjEyNDYgTDYzOSwxMTg3LjE5MjUgTDYyOSwxMTk3LjE5MjUgTDY3LDExOTcuMTkyNSAiIGZpbGw9Im5vbmUiIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MS41OyIvPjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjE0IiBmb250LXdlaWdodD0iYm9sZCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSI5MiIgeD0iNzAiIHk9IjExOTEuMDkwNiI+bGVhc2U2X3JlbmV3PC90ZXh0Pjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjE0IiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjQiIHg9IjE2MiIgeT0iMTE5MS4wOTA2Ij4sPC90ZXh0Pjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjE0IiBmb250LXdlaWdodD0iYm9sZCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSI5NCIgeD0iMTcwIiB5PSIxMTkxLjA5MDYiPmxlYXNlNl9yZWJpbmQ8L3RleHQ+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTQiIGxlbmd0aEFkanVzdD0ic3BhY2luZyIgdGV4dExlbmd0aD0iNCIgeD0iMjY0IiB5PSIxMTkxLjA5MDYiPiw8L3RleHQ+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTQiIGZvbnQtd2VpZ2h0PSJib2xkIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9Ijk4IiB4PSIyNzIiIHk9IjExOTEuMDkwNiI+bGVhc2U2X3JlbGVhc2U8L3RleHQ+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTQiIGxlbmd0aEFkanVzdD0ic3BhY2luZyIgdGV4dExlbmd0aD0iNCIgeD0iMzcwIiB5PSIxMTkxLjA5MDYiPiw8L3RleHQ+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTQiIGZvbnQtd2VpZ2h0PSJib2xkIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9Ijk4IiB4PSIzNzgiIHk9IjExOTEuMDkwNiI+bGVhc2U2X2RlY2xpbmU8L3RleHQ+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTQiIGxlbmd0aEFkanVzdD0ic3BhY2luZyIgdGV4dExlbmd0aD0iNCIgeD0iNDc2IiB5PSIxMTkxLjA5MDYiPiw8L3RleHQ+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTQiIGZvbnQtd2VpZ2h0PSJib2xkIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjkyIiB4PSI0ODQiIHk9IjExOTEuMDkwNiI+bGVhc2U2X2V4cGlyZTwvdGV4dD48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSI1MiIgeD0iNTgwIiB5PSIxMTkxLjA5MDYiPmNhbGxvdXRzPC90ZXh0PjxyZWN0IGZpbGw9IiNGMUYxRjEiIGhlaWdodD0iMzYuMzQ0MSIgcng9IjEyLjUiIHJ5PSIxMi41IiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjAuNTsiIHdpZHRoPSIyNTUiIHg9IjIzMC41IiB5PSIxMjE0LjE5MjUiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMiIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSIyMzUiIHg9IjI0MC41IiB5PSIxMjM3LjAyMDYiPlNlbmQgQWNjb3VudGluZy1SZXF1ZXN0IGFzeW5jaHJvbm91c2x5LjwvdGV4dD48bGluZSBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiIHgxPSIzNTgiIHgyPSIzNTgiIHkxPSI4Ny40MTIiIHkyPSIxMDcuNDEyIi8+PHBvbHlnb24gZmlsbD0iIzE4MTgxOCIgcG9pbnRzPSIzNTQsOTcuNDEyLDM1OCwxMDcuNDEyLDM2Miw5Ny40MTIsMzU4LDEwMS40MTIiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIgeDE9IjM1OCIgeDI9IjM1OCIgeTE9IjE0My43NTYxIiB5Mj0iMTYzLjc1NjEiLz48cG9seWdvbiBmaWxsPSIjMTgxODE4IiBwb2ludHM9IjM1NCwxNTMuNzU2MSwzNTgsMTYzLjc1NjEsMzYyLDE1My43NTYxLDM1OCwxNTcuNzU2MSIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7IiB4MT0iMzU4IiB4Mj0iMzU4IiB5MT0iMzYyLjY1OTEiIHkyPSIzODguMTUwMSIvPjxwb2x5Z29uIGZpbGw9IiMxODE4MTgiIHBvaW50cz0iMzU0LDM3OC4xNTAxLDM1OCwzODguMTUwMSwzNjIsMzc4LjE1MDEsMzU4LDM4Mi4xNTAxIiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiIHgxPSI0NTguNSIgeDI9IjUyMi41IiB5MT0iMzUwLjY1OTEiIHkyPSIzNTAuNjU5MSIvPjxwb2x5Z29uIGZpbGw9IiMxODE4MTgiIHBvaW50cz0iNTE4LjUsMzk2LjMyMjEsNTIyLjUsNDA2LjMyMjEsNTI2LjUsMzk2LjMyMjEsNTIyLjUsNDAwLjMyMjEiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIgeDE9IjUyMi41IiB4Mj0iNTIyLjUiIHkxPSIzNTAuNjU5MSIgeTI9IjQ2MS45ODUxIi8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7IiB4MT0iNTIyLjUiIHgyPSIzNzAiIHkxPSI0NjEuOTg1MSIgeTI9IjQ2MS45ODUxIi8+PHBvbHlnb24gZmlsbD0iIzE4MTgxOCIgcG9pbnRzPSIzODAsNDU3Ljk4NTEsMzcwLDQ2MS45ODUxLDM4MCw0NjUuOTg1MSwzNzYsNDYxLjk4NTEiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIgeDE9IjM1OCIgeDI9IjM1OCIgeTE9IjQyNC40OTQyIiB5Mj0iNDQ5Ljk4NTEiLz48cG9seWdvbiBmaWxsPSIjMTgxODE4IiBwb2ludHM9IjM1NCw0MzkuOTg1MSwzNTgsNDQ5Ljk4NTEsMzYyLDQzOS45ODUxLDM1OCw0NDMuOTg1MSIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7IiB4MT0iMzU4IiB4Mj0iMzU4IiB5MT0iNDczLjk4NTEiIHkyPSI0OTMuOTg1MSIvPjxwb2x5Z29uIGZpbGw9IiMxODE4MTgiIHBvaW50cz0iMzU0LDQ4My45ODUxLDM1OCw0OTMuOTg1MSwzNjIsNDgzLjk4NTEsMzU4LDQ4Ny45ODUxIiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiIHgxPSIzNTgiIHgyPSIzNTgiIHkxPSIzMTMuMTY4MiIgeTI9IjMzOC42NTkxIi8+PHBvbHlnb24gZmlsbD0iIzE4MTgxOCIgcG9pbnRzPSIzNTQsMzI4LjY1OTEsMzU4LDMzOC42NTkxLDM2MiwzMjguNjU5MSwzNTgsMzMyLjY1OTEiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIgeDE9IjQyMSIgeDI9IjU5NSIgeTE9IjMwMS4xNjgyIiB5Mj0iMzAxLjE2ODIiLz48cG9seWdvbiBmaWxsPSIjMTgxODE4IiBwb2ludHM9IjU5MSw0MzEuOTk0Miw1OTUsNDQxLjk5NDIsNTk5LDQzMS45OTQyLDU5NSw0MzUuOTk0MiIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7IiB4MT0iNTk1IiB4Mj0iNTk1IiB5MT0iMzAxLjE2ODIiIHkyPSI1NjIuMzI5MiIvPjxsaW5lIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIgeDE9IjU5NSIgeDI9IjM3MCIgeTE9IjU2Mi4zMjkyIiB5Mj0iNTYyLjMyOTIiLz48cG9seWdvbiBmaWxsPSIjMTgxODE4IiBwb2ludHM9IjM4MCw1NTguMzI5MiwzNzAsNTYyLjMyOTIsMzgwLDU2Ni4zMjkyLDM3Niw1NjIuMzI5MiIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7IiB4MT0iMzU4IiB4Mj0iMzU4IiB5MT0iNTMwLjMyOTIiIHkyPSI1NTAuMzI5MiIvPjxwb2x5Z29uIGZpbGw9IiMxODE4MTgiIHBvaW50cz0iMzU0LDU0MC4zMjkyLDM1OCw1NTAuMzI5MiwzNjIsNTQwLjMyOTIsMzU4LDU0NC4zMjkyIiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiIHgxPSIzNTgiIHgyPSIzNTgiIHkxPSIyNjkuMTY4MiIgeTI9IjI4OS4xNjgyIi8+PHBvbHlnb24gZmlsbD0iIzE4MTgxOCIgcG9pbnRzPSIzNTQsMjc5LjE2ODIsMzU4LDI4OS4xNjgyLDM2MiwyNzkuMTY4MiwzNTgsMjgzLjE2ODIiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIgeDE9IjM1OCIgeDI9IjM1OCIgeTE9IjU3NC4zMjkyIiB5Mj0iNTk0LjMyOTIiLz48cG9seWdvbiBmaWxsPSIjMTgxODE4IiBwb2ludHM9IjM1NCw1ODQuMzI5MiwzNTgsNTk0LjMyOTIsMzYyLDU4NC4zMjkyLDM1OCw1ODguMzI5MiIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7IiB4MT0iMzU4IiB4Mj0iMzU4IiB5MT0iNzI0LjE2NDMiIHkyPSI3NDkuNjU1MiIvPjxwb2x5Z29uIGZpbGw9IiMxODE4MTgiIHBvaW50cz0iMzU0LDczOS42NTUyLDM1OCw3NDkuNjU1MiwzNjIsNzM5LjY1NTIsMzU4LDc0My42NTUyIiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiIHgxPSI0NzUiIHgyPSI1NTIiIHkxPSI3MTIuMTY0MyIgeTI9IjcxMi4xNjQzIi8+PHBvbHlnb24gZmlsbD0iIzE4MTgxOCIgcG9pbnRzPSI1NDgsNzU3LjgyNzMsNTUyLDc2Ny44MjczLDU1Niw3NTcuODI3Myw1NTIsNzYxLjgyNzMiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIgeDE9IjU1MiIgeDI9IjU1MiIgeTE9IjcxMi4xNjQzIiB5Mj0iODE3Ljk5OTQiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiIHgxPSI1NTIiIHgyPSIzNzAiIHkxPSI4MTcuOTk5NCIgeTI9IjgxNy45OTk0Ii8+PHBvbHlnb24gZmlsbD0iIzE4MTgxOCIgcG9pbnRzPSIzODAsODEzLjk5OTQsMzcwLDgxNy45OTk0LDM4MCw4MjEuOTk5NCwzNzYsODE3Ljk5OTQiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIgeDE9IjM1OCIgeDI9IjM1OCIgeTE9Ijc4NS45OTk0IiB5Mj0iODA1Ljk5OTQiLz48cG9seWdvbiBmaWxsPSIjMTgxODE4IiBwb2ludHM9IjM1NCw3OTUuOTk5NCwzNTgsODA1Ljk5OTQsMzYyLDc5NS45OTk0LDM1OCw3OTkuOTk5NCIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7IiB4MT0iMzU4IiB4Mj0iMzU4IiB5MT0iOTM1LjgzNDQiIHkyPSI5NzAuODM0NCIvPjxwb2x5Z29uIGZpbGw9IiMxODE4MTgiIHBvaW50cz0iMzU0LDk2MC44MzQ0LDM1OCw5NzAuODM0NCwzNjIsOTYwLjgzNDQsMzU4LDk2NC44MzQ0IiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiIHgxPSIzNTgiIHgyPSIzNTgiIHkxPSI4NzMuOTk5NCIgeTI9Ijg5OS40OTAzIi8+PHBvbHlnb24gZmlsbD0iIzE4MTgxOCIgcG9pbnRzPSIzNTQsODg5LjQ5MDMsMzU4LDg5OS40OTAzLDM2Miw4ODkuNDkwMywzNTgsODkzLjQ5MDMiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIgeDE9IjQ2MCIgeDI9IjU3OS41IiB5MT0iODYxLjk5OTQiIHkyPSI4NjEuOTk5NCIvPjxwb2x5Z29uIGZpbGw9IiMxODE4MTgiIHBvaW50cz0iNTc1LjUsOTQzLjMzNDQsNTc5LjUsOTUzLjMzNDQsNTgzLjUsOTQzLjMzNDQsNTc5LjUsOTQ3LjMzNDQiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIgeDE9IjU3OS41IiB4Mj0iNTc5LjUiIHkxPSI4NjEuOTk5NCIgeTI9IjEwMzkuMTc4NSIvPjxsaW5lIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIgeDE9IjU3OS41IiB4Mj0iMzcwIiB5MT0iMTAzOS4xNzg1IiB5Mj0iMTAzOS4xNzg1Ii8+PHBvbHlnb24gZmlsbD0iIzE4MTgxOCIgcG9pbnRzPSIzODAsMTAzNS4xNzg1LDM3MCwxMDM5LjE3ODUsMzgwLDEwNDMuMTc4NSwzNzYsMTAzOS4xNzg1IiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiIHgxPSIzNTgiIHgyPSIzNTgiIHkxPSIxMDA3LjE3ODUiIHkyPSIxMDI3LjE3ODUiLz48cG9seWdvbiBmaWxsPSIjMTgxODE4IiBwb2ludHM9IjM1NCwxMDE3LjE3ODUsMzU4LDEwMjcuMTc4NSwzNjIsMTAxNy4xNzg1LDM1OCwxMDIxLjE3ODUiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIgeDE9IjM1OCIgeDI9IjM1OCIgeTE9IjgyOS45OTk0IiB5Mj0iODQ5Ljk5OTQiLz48cG9seWdvbiBmaWxsPSIjMTgxODE4IiBwb2ludHM9IjM1NCw4MzkuOTk5NCwzNTgsODQ5Ljk5OTQsMzYyLDgzOS45OTk0LDM1OCw4NDMuOTk5NCIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7IiB4MT0iMzU4IiB4Mj0iMzU4IiB5MT0iMTA1MS4xNzg1IiB5Mj0iMTA3MS4xNzg1Ii8+PHBvbHlnb24gZmlsbD0iIzE4MTgxOCIgcG9pbnRzPSIzNTQsMTA2MS4xNzg1LDM1OCwxMDcxLjE3ODUsMzYyLDEwNjEuMTc4NSwzNTgsMTA2NS4xNzg1IiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiIHgxPSIzNTgiIHgyPSIzNTgiIHkxPSI2NzQuNjczNCIgeTI9IjcwMC4xNjQzIi8+PHBvbHlnb24gZmlsbD0iIzE4MTgxOCIgcG9pbnRzPSIzNTQsNjkwLjE2NDMsMzU4LDcwMC4xNjQzLDM2Miw2OTAuMTY0MywzNTgsNjk0LjE2NDMiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIgeDE9IjM5NSIgeDI9IjcwMyIgeTE9IjY2Mi42NzM0IiB5Mj0iNjYyLjY3MzQiLz48cG9seWdvbiBmaWxsPSIjMTgxODE4IiBwb2ludHM9IjY5OSw4OTMuODQzNSw3MDMsOTAzLjg0MzUsNzA3LDg5My44NDM1LDcwMyw4OTcuODQzNSIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7IiB4MT0iNzAzIiB4Mj0iNzAzIiB5MT0iNjYyLjY3MzQiIHkyPSIxMTM5LjUyMjYiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiIHgxPSI3MDMiIHgyPSIzNzAiIHkxPSIxMTM5LjUyMjYiIHkyPSIxMTM5LjUyMjYiLz48cG9seWdvbiBmaWxsPSIjMTgxODE4IiBwb2ludHM9IjM4MCwxMTM1LjUyMjYsMzcwLDExMzkuNTIyNiwzODAsMTE0My41MjI2LDM3NiwxMTM5LjUyMjYiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIgeDE9IjM1OCIgeDI9IjM1OCIgeTE9IjExMDcuNTIyNiIgeTI9IjExMjcuNTIyNiIvPjxwb2x5Z29uIGZpbGw9IiMxODE4MTgiIHBvaW50cz0iMzU0LDExMTcuNTIyNiwzNTgsMTEyNy41MjI2LDM2MiwxMTE3LjUyMjYsMzU4LDExMjEuNTIyNiIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7IiB4MT0iMzU4IiB4Mj0iMzU4IiB5MT0iNjMwLjY3MzQiIHkyPSI2NTAuNjczNCIvPjxwb2x5Z29uIGZpbGw9IiMxODE4MTgiIHBvaW50cz0iMzU0LDY0MC42NzM0LDM1OCw2NTAuNjczNCwzNjIsNjQwLjY3MzQsMzU4LDY0NC42NzM0IiBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjEuMDsiIHgxPSIzNTgiIHgyPSIzNTgiIHkxPSIxODMuNzU2MSIgeTI9IjIzMi44MjQxIi8+PHBvbHlnb24gZmlsbD0iIzE4MTgxOCIgcG9pbnRzPSIzNTQsMjIyLjgyNDEsMzU4LDIzMi44MjQxLDM2MiwyMjIuODI0MSwzNTgsMjI2LjgyNDEiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MS4wOyIgeDE9IjM1OCIgeDI9IjM1OCIgeTE9IjExNTEuNTIyNiIgeTI9IjEyMTQuMTkyNSIvPjxwb2x5Z29uIGZpbGw9IiMxODE4MTgiIHBvaW50cz0iMzU0LDEyMDQuMTkyNSwzNTgsMTIxNC4xOTI1LDM2MiwxMjA0LjE5MjUsMzU4LDEyMDguMTkyNSIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7Ii8+PCEtLVNSQz1baExKMVpYZW4zQnRsTHJZU3M1N2ZhU0ZrZUs5NUxSY1hHSnNsR2tBMVQ0Q29KSG1lZ2xSVndvSjNDMEN6eDRlekpVOW5kZl9qUG1DMGEyUTNLMi1NZ255UkUzZF9zWFh0V2lQdkMyVzJXWjM2SUs3UU1UME1ROC1tX0Z2clZQbjNHN3o0X3kwR3lCR015WEs5UWZJZVp3WVVZdEtKanZRajZwR2U0cTBuMW5BVXlnZGJXeXg4YXdlQXNOZC00aDl0TE81Q2FJRER1NHpzUGhtUW9NaXk4ZFhDbUdrZm5oaTN4NXFXVlkyUE5NQVVNQ2hlRkxlZ2x1SExLMDl5Vmt4R1QwRkpVZVpaZWJMVjdqRFIyekNwWGlWRWlOQ1RVZGVHZTdKSk84dkdXRl96REJDa0FNTE1uSFY4dlBrcE1GWWRvbzJmZFlHMDZreDFyQmVoOTVlRV9KMjBWcVRIbjR4ZXQzLVBNWmVXU1g4WEZxbTRLVkxuUndDRU9wdmotME9CQUo2NE1Pc184ZVF4Z2hSRTFobUtmN0REZHZSNkxWdGNuRzdMUkNMd2NZc0tPWU8xMTc1MnNxVzhSTTljdHI3UFFyS0ZXa0lVa3RFbjkyNHVJdm56bzlWTDZhSTl5dTRRWnZaRXJpd1BfcWZvNXVMTmc2MXhCZG9ESmdnSUhlbjhDakdZMUJzcEYzUHZzMVhld0NmanhBWFNlT3gySDVQUDBzRnM3djdOc2hOSDIyZ1k2SVpnZjZkVm94UWV2dkJGUWZkZEJWcmk3SjRYQlNvV3lGbzJlaFZpdHFrX3NwdmJlem84aTFWUUptdm9oeVV0LXFzSXp6UnlYTVNKSnJOcjJHUU1oUlJnbmZHRjh2ajJoZ2lUc18xdGdwclVqckFPdDR1M2htX0lUZFVQMjEzWFJFTlVFLWpZQ0VTa2dSVV9dLS0+PC9nPjwvc3ZnPg==" y="1328.1358"/>
+      <text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="4" x="17" y="2616.1018">&#160;</text>
+    </g>
+    <!--SRC=[xLInZXen4EtvYX4LXq8gjCLT4Q6WA7GhKAeeGiQU1UUClR6zIz29Vy_ONc0NhhXJI1KQi6V7RzwCdvzYArImXE-z7i3B2_q0UEaLmdmodNrRmCxOvqAP7HJ6WaBc49XIXZClZGQfmMyGfby_v_KO7DeQRSHup1b_HWzpv2Xh54yfkgXMcg8BLCW3G0expwoFgv8MCYBtXqCNayTB5xE7G-2XSkNxa7WItXozbLWZM0p54wd2cYriZFDqW1Exm3omv9Mrg7twnBI0LE3ZKuCc2nZCspYcqkBJGpYhOR17zz0aDgdjJ0iCX2mAZ1KIyEj78-lKKcILSi6Rk3CQ4_-mQJLr8Wc0YkvWeCqP4ZMLxhNWtp0KjcOotXyFLzeYicCk7Wm4KPpgNbPjrtnSq0ucdADpepd-gj1TJRKqsk5n84rg-2jzTwfVBDkY6CtoqKG8uk60UMfdLNc4Cl3IRvZhUQPRvlc6xkOO2J8msbFlBcvcER1KvnqJxlBCZL4t9Rckc1KeOBLFV9KCckAATKWIrCGvkTRqQE9J8w1sAbrYG-KCLJDLaSOAwB9_ZxXoKrQA-IIPbfvsqczEeatQEVOpcyRN5ZwMnXCXoLHhy7J2LrPJ_aduZVSaFxcGu4bcFwd8jHeFrpuINMkyf9U9k-7m0xGYST692QGXwcuCVvVIujc0NFzI-EGKNkhrKVp0t5xpZJNQL4xjcmu2jSFXxuqs-pT6czsDzhyqsZgxM-tTQczejTcLrOR8Icfn4Rfqt-mLzyrkxRu_Udy0]-->
+  </g>
+</svg>
diff --git a/doc/sphinx/uml/radius.uml b/doc/sphinx/uml/radius.uml
new file mode 100644 (file)
index 0000000..e8b4334
--- /dev/null
@@ -0,0 +1,77 @@
+@startuml
+
+label _ [
+
+  {{
+    title RADIUS workflow for lease allocation in the DHCPv4 server
+    :Packet Received;
+    :Subnet Selection;
+    start
+    partition "**subnet4_select** callout" {
+      :Retrieve reservation from host cache for the current host and subnet.;
+      if (Reservation found?) then (yes)
+        if (Rservation for a different subnet?) then (yes)
+          :Reselect the subnet to the one from the reservation.;
+        else (no)
+        endif
+        :Retrieve reservation from host cache again in case the subnet was reselected.;
+      else (no)
+      endif
+      :Send Access-Request.;
+      if (Response) then (Access-Accept)
+        if (Framed-IP-Address attribute present?) then (yes)
+          :Reselect subnet to match a subnet the contains the IP address.;
+        else (no)
+        endif
+        if (Framed-IP-Pool attribute present?) then (yes)
+          :Reselect subnet to match a subnet guarded by the client class.;
+          :Assign packet to client class represented by the value of Framed-IP-Pool.;
+        else (no)
+        endif
+        :Populate the host cache with the reselected subnet ID and the potential IP address returned from the RADIUS server.;
+      else (Access-Reject)
+      endif
+    }
+    partition "**lease4_renew**, **lease4_release**, **lease4_decline**, **lease4_expire** callouts"
+      :Send Accounting-Request asynchronously.;
+    }
+  }}
+
+  {{
+    title RADIUS workflow for lease allocation in the DHCPv6 server
+    :Packet Received;
+    :Subnet Selection;
+    start
+    partition "**subnet6_select** callout" {
+      :Retrieve reservation from host cache for the current host and subnet.;
+      if (Reservation found?) then (yes)
+        if (Rservation for a different subnet?) then (yes)
+          :Reselect the subnet to the one from the reservation.;
+        else (no)
+        endif
+        :Retrieve reservation from host cache again in case the subnet was reselected.;
+      else (no)
+      endif
+      :Send Access-Request.;
+      if (Response) then (Access-Accept)
+        if (Framed-IPv6-Address attribute present?) then (yes)
+          :Reselect subnet to match a subnet the contains the IP address.;
+        else (no)
+        endif
+        if (Framed-IP-Pool attribute present?) then (yes)
+          :Reselect subnet to match a subnet guarded by the client class.;
+          :Assign packet to client class represented by the value of Framed-IP-Pool.;
+        else (no)
+        endif
+        :Populate the host cache with the reselected subnet ID and the potential IP address returned from the RADIUS server.;
+      else (Access-Reject)
+      endif
+    }
+    partition "**lease6_renew**, **lease6_rebind**, **lease6_release**, **lease6_decline**, **lease6_expire** callouts"
+      :Send Accounting-Request asynchronously.;
+    }
+  }}
+
+]
+
+@enduml
index a5c2b607a0f90b384f3adc87a0ef729a037b7681..e5c7a9494be66eb586eb68cc851bf83224b8bb99 100644 (file)
@@ -110,7 +110,7 @@ This diagram illustrates the different lease states, including the ``free`` one,
 Checking for Host Reservations
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-The allocation engine checks for host reservations after selecting a subnet; this diagram shows the details of that operation. Subnet selection is based on network topology. Host reservations are primarily for assigning options, and options are evaluated after subnet selection. However, if client classes are added in the host reservation, those are also evaluated against the selected subnet in a further check (added in Kea 1.7.10). Kea includes several options to skip checking for host reservations, which can make this process much more efficient if reservations are not being used.
+The allocation engine checks for host reservations after selecting a subnet. The following diagram shows the details of that operation. Subnet selection is based on network topology. Host reservations are primarily for assigning options, and options are evaluated after subnet selection. However, if client classes are added in the host reservation, those are also evaluated against the selected subnet in a further check. Kea includes several options to skip checking for host reservations, which can make this process much more efficient if reservations are not being used.
 
 .. note::
 
@@ -152,3 +152,8 @@ How Kea Recognizes the Same Client In Different DHCP Messages
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 .. figure:: uml/recognizing-same-client.*
+
+RADIUS workflows for lease allocation
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. figure:: uml/radius.*