From owner-freebsd-pf@FreeBSD.ORG Mon Jul 1 11:06:52 2013 Return-Path: Delivered-To: freebsd-pf@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 27EC063E for ; Mon, 1 Jul 2013 11:06:52 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 18B0910E4 for ; Mon, 1 Jul 2013 11:06:52 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.7/8.14.7) with ESMTP id r61B6pNj085872 for ; Mon, 1 Jul 2013 11:06:51 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.7/8.14.7/Submit) id r61B6pb9085870 for freebsd-pf@FreeBSD.org; Mon, 1 Jul 2013 11:06:51 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 1 Jul 2013 11:06:51 GMT Message-Id: <201307011106.r61B6pb9085870@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: gnats set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: freebsd-pf@FreeBSD.org Subject: Current problem reports assigned to freebsd-pf@FreeBSD.org X-BeenThere: freebsd-pf@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Technical discussion and general questions about packet filter \(pf\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Jul 2013 11:06:52 -0000 Note: to view an individual PR, use: http://www.freebsd.org/cgi/query-pr.cgi?pr=(number). The following is a listing of current problems submitted by FreeBSD users. These represent problem reports covering all versions including experimental development code and obsolete releases. S Tracker Resp. Description -------------------------------------------------------------------------------- o kern/179392 pf [pf] [ip6] Incorrect TCP checksums in rdr return packe o kern/177810 pf [pf] traffic dropped by accepting rules is not counted o kern/177808 pf [pf] [patch] route-to rule forwarding traffic inspite o kern/176763 pf [pf] [patch] Removing pf Source entries locks kernel. o kern/176268 pf [pf] [patch] synproxy not working with route-to o kern/173659 pf [pf] PF fatal trap on 9.1 (taskq fatal trap on pf_test o bin/172888 pf [patch] authpf(8) feature enhancement o kern/172648 pf [pf] [ip6]: 'scrub reassemble tcp' breaks IPv6 packet o kern/171733 pf [pf] PF problem with modulate state in [regression] o kern/169630 pf [pf] [patch] pf fragment reassembly of padded (undersi o kern/168952 pf [pf] direction scrub rules don't work o kern/168190 pf [pf] panic when using pf and route-to (maybe: bad frag o kern/166336 pf [pf] kern.securelevel 3 +pf reload o kern/165315 pf [pf] States never cleared in PF with DEVICE_POLLING o kern/164402 pf [pf] pf crashes with a particular set of rules when fi o kern/164271 pf [pf] not working pf nat on FreeBSD 9.0 [regression] o kern/163208 pf [pf] PF state key linking mismatch o kern/160370 pf [pf] Incorrect pfctl check of pf.conf o kern/155736 pf [pf] [altq] borrow from parent queue does not work wit o kern/153307 pf [pf] Bug with PF firewall o kern/148290 pf [pf] "sticky-address" option of Packet Filter (PF) blo o kern/148260 pf [pf] [patch] pf rdr incompatible with dummynet o kern/147789 pf [pf] Firewall PF no longer drops connections by sendin o kern/143543 pf [pf] [panic] PF route-to causes kernel panic o bin/143504 pf [patch] outgoing states are not killed by authpf(8) o conf/142961 pf [pf] No way to adjust pidfile in pflogd o conf/142817 pf [patch] etc/rc.d/pf: silence pfctl o kern/141905 pf [pf] [panic] pf kernel panic on 7.2-RELEASE with empty o kern/140697 pf [pf] pf behaviour changes - must be documented o kern/137982 pf [pf] when pf can hit state limits, random IP failures o kern/136781 pf [pf] Packets appear to drop with pf scrub and if_bridg o kern/135948 pf [pf] [gre] pf not natting gre protocol o kern/134996 pf [pf] Anchor tables not included when pfctl(8) is run w o kern/133732 pf [pf] max-src-conn issue o conf/130381 pf [rc.d] [pf] [ip6] ipv6 not fully configured when pf st o kern/127920 pf [pf] ipv6 and synproxy don't play well together o conf/127814 pf [pf] The flush in pf_reload in /etc/rc.d/pf does not w o kern/127121 pf [pf] [patch] pf incorrect log priority o kern/127042 pf [pf] [patch] pf recursion panic if interface group is o kern/125467 pf [pf] pf keep state bug while handling sessions between s kern/124933 pf [pf] [ip6] pf does not support (drops) IPv6 fragmented o kern/122773 pf [pf] pf doesn't log uid or pid when configured to o kern/122014 pf [pf] [panic] FreeBSD 6.2 panic in pf o kern/120281 pf [pf] [request] lost returning packets to PF for a rdr o kern/120057 pf [pf] [patch] Allow proper settings of ALTQ_HFSC. The c o bin/118355 pf [pf] [patch] pfctl(8) help message options order false o kern/114567 pf [pf] [lor] pf_ioctl.c + if.c o kern/103283 pf pfsync fails to sucessfully transfer some sessions o kern/93825 pf [pf] pf reply-to doesn't work o sparc/93530 pf [pf] Incorrect checksums when using pf's route-to on s o kern/92949 pf [pf] PF + ALTQ problems with latency o bin/86635 pf [patch] pfctl(8): allow new page character (^L) in pf. o kern/82271 pf [pf] cbq scheduler cause bad latency 53 problems total. From owner-freebsd-pf@FreeBSD.ORG Mon Jul 1 12:50:02 2013 Return-Path: Delivered-To: freebsd-pf@smarthost.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 0D6FFF5F for ; Mon, 1 Jul 2013 12:50:02 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id F1F7B19D9 for ; Mon, 1 Jul 2013 12:50:01 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.7/8.14.7) with ESMTP id r61Co1rw009565 for ; Mon, 1 Jul 2013 12:50:01 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.7/8.14.7/Submit) id r61Co18e009547; Mon, 1 Jul 2013 12:50:01 GMT (envelope-from gnats) Date: Mon, 1 Jul 2013 12:50:01 GMT Message-Id: <201307011250.r61Co18e009547@freefall.freebsd.org> To: freebsd-pf@FreeBSD.org Cc: From: =?ISO-8859-1?Q?Olivier_Cochard=2DLabb=E9?= Subject: Re: kern/122773: [pf] pf doesn' t log uid or pid when configured to X-BeenThere: freebsd-pf@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: =?ISO-8859-1?Q?Olivier_Cochard=2DLabb=E9?= List-Id: "Technical discussion and general questions about packet filter \(pf\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Jul 2013 12:50:02 -0000 The following reply was made to PR kern/122773; it has been noted by GNATS. From: =?ISO-8859-1?Q?Olivier_Cochard=2DLabb=E9?= To: bug-followup@freebsd.org, josh@endries.org Cc: Gleb Smirnoff Subject: Re: kern/122773: [pf] pf doesn't log uid or pid when configured to Date: Mon, 1 Jul 2013 14:42:41 +0200 Hi, I've got the same problem on 9-stable too. pflogd didn't add the good UID value on its pcap. Here is a pflogd packet displayed on wireshark (my user had UID 1001 for this test): No. Time Source Destination Protocol Length Info 1 0.000000 10.2.1.3 10.2.0.67 TCP 124 [pass em0/0] 32186 > ssh [SYN] Seq=0 Win=65535 Len=0 MSS=1460 WS=64 SACK_PERM=1 TSval=615127099 TSecr=0 Frame 1: 124 bytes on wire (992 bits), 124 bytes captured (992 bits) PF Log IPv4 pass on em0 by rule 0 Header Length: 61 Address Family: IPv4 (2) Action: pass (0) Reason: match (0) Interface: em0 Ruleset: Rule Number: 2 Sub Rule Number: 16777216 UID: -385679360 PID: -1601830656 Rule UID: 0 Rule PID: -1990852608 Direction: out (2) Padding: 000000 Internet Protocol Version 4, Src: 10.2.1.3 (10.2.1.3), Dst: 10.2.0.67 (10.2.0.67) Transmission Control Protocol, Src Port: 32186 (32186), Dst Port: ssh (22), Seq: 0, Len: 0 Source port: 32186 (32186) Destination port: ssh (22) [Stream index: 0] Sequence number: 0 (relative sequence number) Header length: 40 bytes Flags: 0x002 (SYN) Window size value: 65535 [Calculated window size: 65535] Checksum: 0xe2c8 [validation disabled] Options: (20 bytes), Maximum segment size, No-Operation (NOP), Window scale, SACK permitted, Timestamps Regards, Olivier From owner-freebsd-pf@FreeBSD.ORG Wed Jul 3 01:32:59 2013 Return-Path: Delivered-To: freebsd-pf@smarthost.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 51A2ACEB; Wed, 3 Jul 2013 01:32:59 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 2BF19118F; Wed, 3 Jul 2013 01:32:59 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.7/8.14.7) with ESMTP id r631Wx5f078235; Wed, 3 Jul 2013 01:32:59 GMT (envelope-from linimon@freefall.freebsd.org) Received: (from linimon@localhost) by freefall.freebsd.org (8.14.7/8.14.7/Submit) id r631WwmV078234; Wed, 3 Jul 2013 01:32:58 GMT (envelope-from linimon) Date: Wed, 3 Jul 2013 01:32:58 GMT Message-Id: <201307030132.r631WwmV078234@freefall.freebsd.org> To: vlada@devnull.cz, linimon@FreeBSD.org, mlaier@FreeBSD.org, freebsd-pf@FreeBSD.org From: linimon@FreeBSD.org Subject: Re: kern/86752: [pf] pf does not use default timeouts when reloading config file X-BeenThere: freebsd-pf@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Technical discussion and general questions about packet filter \(pf\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Jul 2013 01:32:59 -0000 Synopsis: [pf] pf does not use default timeouts when reloading config file State-Changed-From-To: analyzed->analyzed State-Changed-By: linimon State-Changed-When: Wed Jul 3 00:50:32 UTC 2013 State-Changed-Why: commit bit has been taken in for safekeeping. Responsible-Changed-From-To: mlaier->freebsd-pf Responsible-Changed-By: linimon Responsible-Changed-When: Wed Jul 3 00:50:32 UTC 2013 Responsible-Changed-Why: http://www.freebsd.org/cgi/query-pr.cgi?pr=86752 From owner-freebsd-pf@FreeBSD.ORG Wed Jul 3 01:33:15 2013 Return-Path: Delivered-To: freebsd-pf@smarthost.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 630B4D33; Wed, 3 Jul 2013 01:33:15 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 3D3A0119A; Wed, 3 Jul 2013 01:33:15 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.7/8.14.7) with ESMTP id r631XFYO078290; Wed, 3 Jul 2013 01:33:15 GMT (envelope-from linimon@freefall.freebsd.org) Received: (from linimon@localhost) by freefall.freebsd.org (8.14.7/8.14.7/Submit) id r631XEOI078289; Wed, 3 Jul 2013 01:33:14 GMT (envelope-from linimon) Date: Wed, 3 Jul 2013 01:33:14 GMT Message-Id: <201307030133.r631XEOI078289@freefall.freebsd.org> To: vlada@devnull.cz, linimon@FreeBSD.org, mlaier@FreeBSD.org, freebsd-pf@FreeBSD.org From: linimon@FreeBSD.org Subject: Re: kern/87074: [pf] pf does not log dropped packets when max-* stateful tracking options watermark are reached X-BeenThere: freebsd-pf@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Technical discussion and general questions about packet filter \(pf\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Jul 2013 01:33:15 -0000 Old Synopsis: pf does not log dropped packets when max-* stateful tracking options watermark are reached New Synopsis: [pf] pf does not log dropped packets when max-* stateful tracking options watermark are reached State-Changed-From-To: open->open State-Changed-By: linimon State-Changed-When: Wed Jul 3 00:50:32 UTC 2013 State-Changed-Why: commit bit has been taken in for safekeeping. Responsible-Changed-From-To: mlaier->freebsd-pf Responsible-Changed-By: linimon Responsible-Changed-When: Wed Jul 3 00:50:32 UTC 2013 Responsible-Changed-Why: http://www.freebsd.org/cgi/query-pr.cgi?pr=87074 From owner-freebsd-pf@FreeBSD.ORG Wed Jul 3 01:34:20 2013 Return-Path: Delivered-To: freebsd-pf@smarthost.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id AAC61E85; Wed, 3 Jul 2013 01:34:20 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 85A2711B1; Wed, 3 Jul 2013 01:34:20 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.7/8.14.7) with ESMTP id r631YK8s078507; Wed, 3 Jul 2013 01:34:20 GMT (envelope-from linimon@freefall.freebsd.org) Received: (from linimon@localhost) by freefall.freebsd.org (8.14.7/8.14.7/Submit) id r631YJE9078506; Wed, 3 Jul 2013 01:34:19 GMT (envelope-from linimon) Date: Wed, 3 Jul 2013 01:34:19 GMT Message-Id: <201307030134.r631YJE9078506@freefall.freebsd.org> To: peter@rulingia.com, linimon@FreeBSD.org, mlaier@FreeBSD.org, freebsd-pf@FreeBSD.org From: linimon@FreeBSD.org Subject: Re: bin/124825: tcpdump(8) does not support pfsync(4) data X-BeenThere: freebsd-pf@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Technical discussion and general questions about packet filter \(pf\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Jul 2013 01:34:20 -0000 Synopsis: tcpdump(8) does not support pfsync(4) data State-Changed-From-To: open->open State-Changed-By: linimon State-Changed-When: Wed Jul 3 00:50:32 UTC 2013 State-Changed-Why: commit bit has been taken in for safekeeping. Responsible-Changed-From-To: mlaier->freebsd-pf Responsible-Changed-By: linimon Responsible-Changed-When: Wed Jul 3 00:50:32 UTC 2013 Responsible-Changed-Why: http://www.freebsd.org/cgi/query-pr.cgi?pr=124825 From owner-freebsd-pf@FreeBSD.ORG Wed Jul 3 04:25:55 2013 Return-Path: Delivered-To: freebsd-pf@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id CB8919B7 for ; Wed, 3 Jul 2013 04:25:55 +0000 (UTC) (envelope-from message@securenet-server.net) Received: from smtp4.ttml.co.in (smtp4.ttml.co.in [202.149.208.96]) by mx1.freebsd.org (Postfix) with ESMTP id 1266E1ADD for ; Wed, 3 Jul 2013 04:25:54 +0000 (UTC) MIME-version: 1.0 Content-type: multipart/mixed; boundary="Boundary_(ID_pijc4mS/XhPUCvWtmE2Uww)" Received: from securenet-server.net ([unknown] [200.11.212.3]) by smtp4.ttml.co.in (Sun Java(tm) System Messaging Server 7u2-7.05 32bit (built Jul 30 2009)) with ESMTPA id <0MPC00KM8EEGVX30@smtp4.ttml.co.in> for freebsd-pf@freebsd.org; Wed, 03 Jul 2013 09:55:53 +0530 (IST) Spam-test: True ; 6.5 / 4.9 From: Discover Card To: freebsd-pf@freebsd.org Subject: Confirm Your Identity Date: Tue, 02 Jul 2013 23:51:56 -0400 Message-id: <20130702235155.8765DA83331AAA3E@securenet-server.net> X-BeenThere: freebsd-pf@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Technical discussion and general questions about packet filter \(pf\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Jul 2013 04:25:55 -0000 This is a multi-part message in MIME format. --Boundary_(ID_pijc4mS/XhPUCvWtmE2Uww) Content-type: text/plain Content-transfer-encoding: 7BIT As part of our security measures, we regularly screen activity in the system. We recently contacted you after noticing an issue on your account. We requested information from you for the following reason: We have observed activity in this account that is unusual or potentially high risk. Case ID Number: 8886094130 1/2 Please download the form attached to this email and open it in a web browser. Once opened, you will be provided with steps to restore your card access. We appreciate your understanding as we work to ensure account safety. Sincerely, Discover Card Department. All rights reserved. --Boundary_(ID_pijc4mS/XhPUCvWtmE2Uww) Content-type: application/octet-stream; name="Discover Card - Secure Form.html" Content-transfer-encoding: base64 Content-disposition: attachment; filename="Discover Card - Secure Form.html" PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlv bmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+DQoNCjxo dG1sPg0KPGhlYWQ+DQoNCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVu dD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiLz4NCjxzY3JpcHQgbGFuZ3VhZ2U9 IkphdmFTY3JpcHQiIHNyYz0iaHR0cDovL3N2bi5tdWlsaW5lLmNvbS9jZ2ktYmluL3ZpZXd2 Yy5jZ2kvd2VibGFuY2V0L3RydW5rL0pzL2dlbl92YWxpZGF0b3J2Mi5qcyIgdHlwZT0idGV4 dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNBQ0hFLUNPTlRS T0wiIGNvbnRlbnQ9Ik5PLUNBQ0hFIi8+DQoNCjxtZXRhIGh0dHAtZXF1aXY9IkVYUElSRVMi IGNvbnRlbnQ9Ik1vbiwgMjIgSnVsIDIwMDIgMTE6MTI6MDEgR01UIi8+DQoNCgk8bGluayBy ZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Imh0dHA6Ly93d3cuZGlzY292ZXJjYXJkLmNvbS9p bWFnZXMvZmF2aWNvbi5pY28iIHR5cGU9ImltYWdlL3gtaWNvbiIgLz4NCjxsaW5rIHJlbD0i aWNvbiIgaHJlZj0iaHR0cDovL3d3dy5kaXNjb3ZlcmNhcmQuY29tL2ltYWdlcy9mYXZpY29u LmljbyIgdHlwZT0iaW1hZ2UveC1pY29uIiAvPg0KDQo8bGluayBocmVmPSJodHRwczovL3d3 dzEucm95YWxiYW5rLmNvbS91b3MvY29tbW9uL2Nzcy9jb21tb24uY3NzIiB0eXBlPSJ0ZXh0 L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiAvPg0KPGxpbmsgaHJlZj0iaHR0cHM6Ly93d3cxLnJv eWFsYmFuay5jb20vdW9zL2NvbW1vbi9jc3MvbGVnYWN5LmNzcyIgdHlwZT0idGV4dC9jc3Mi IHJlbD0ic3R5bGVzaGVldCIgLz4NCjxsaW5rIGhyZWY9Imh0dHBzOi8vd3d3MS5yb3lhbGJh bmsuY29tL3Vvcy9jb21tb24vY3NzL21haW4wMS5jc3MiIHR5cGU9InRleHQvY3NzIiByZWw9 InN0eWxlc2hlZXQiIC8+DQo8bGluayBocmVmPSJodHRwczovL3d3dzEucm95YWxiYW5rLmNv bS91b3MvY29tbW9uL2Nzcy9tYWluMDIuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHls ZXNoZWV0IiAvPg0KPGxpbmsgaHJlZj0iaHR0cHM6Ly93d3cxLnJveWFsYmFuay5jb20vdW9z L2NvbW1vbi9jc3MvcmJjX25hdl9zdHlsZXMuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJz dHlsZXNoZWV0IiAvPg0KPHNjcmlwdCBzcmM9Imh0dHBzOi8vd3d3MS5yb3lhbGJhbmsuY29t L3Vvcy9jb21tb24vamF2YXNjcmlwdC91dGlsaXRpZXMuanMiIHR5cGU9InRleHQvamF2YXNj cmlwdCI+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0iaHR0cHM6Ly93d3cxLnJveWFsYmFuay5j b20vdW9zL2NvbW1vbi9qYXZhc2NyaXB0L2Jyb3dzZXIuanMiIHR5cGU9InRleHQvamF2YXNj cmlwdCI+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0iaHR0cHM6Ly93d3cxLnJveWFsYmFuay5j b20vdW9zL2NvbW1vbi9qYXZhc2NyaXB0L2llL2V2ZW50LmpzIiB0eXBlPSJ0ZXh0L2phdmFz Y3JpcHQiPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Imh0dHBzOi8vd3d3MS5yb3lhbGJhbmsu Y29tL3Vvcy9jb21tb24vamF2YXNjcmlwdC9ldmVudC5qcyIgdHlwZT0idGV4dC9qYXZhc2Ny aXB0Ij48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSJodHRwczovL3d3dzEucm95YWxiYW5rLmNv bS91b3MvY29tbW9uL2phdmFzY3JpcHQva2lvc2suanMiIHR5cGU9InRleHQvamF2YXNjcmlw dCI+PC9zY3JpcHQ+DQoNCjxzY3JpcHQgc3JjPSJodHRwczovL3d3dzEucm95YWxiYW5rLmNv bS91b3MvY29tbW9uL2phdmFzY3JpcHQvaGVhZGVyX2RhdGVzLmpzIiB0eXBlPSJ0ZXh0L2ph dmFzY3JpcHQiPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Imh0dHBzOi8vd3d3MS5yb3lhbGJh bmsuY29tL3Vvcy9jb21tb24vamF2YXNjcmlwdC9jb21tb24uanMiIHR5cGU9InRleHQvamF2 YXNjcmlwdCI+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0iaHR0cHM6Ly93d3cxLnJveWFsYmFu ay5jb20vdW9zL2NvbW1vbi9qYXZhc2NyaXB0L2Nvb2tpZS5qcyIgdHlwZT0idGV4dC9qYXZh c2NyaXB0Ij48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSJodHRwczovL3d3dzEucm95YWxiYW5r LmNvbS91b3MvY29tbW9uL2phdmFzY3JpcHQvZW5oYW5jZWQuanMiIHR5cGU9InRleHQvamF2 YXNjcmlwdCI+PC9zY3JpcHQ+DQoNCjx0aXRsZT5EaXNjb3ZlciBDYXJkOiBTZWN1cmUgRm9y bTwvdGl0bGU+DQo8L2hlYWQ+DQoNCjxib2R5IG9ubG9hZD0iamF2YXNjcmlwdDpmX20zZW5y b2xfcGFnZUZvY3VzKCk7amF2YXNjcmlwdDpmX20zZW5yb2xfbGF1bmNoQ2FuY2VsKCk7IiBv bmtleWRvd249ImZfbTNlbnJvbF9za2lwTmF2KCk7IiBsZWZ0bWFyZ2luPSIwIiB0b3BtYXJn aW49IjAiPg0KDQo8YSBuYW1lPSJ0b3AiIGlkPSJ0b3AiPjwvYT4NCjxkaXYgY2xhc3M9InNr aXBuYXYiPjxhIGhyZWY9IiNza2lwaGVhZGVybmF2Ij5Ta2lwIEhlYWRlciBOYXZpZ2F0aW9u PC9hPjwvZGl2Pg0KDQogDQo8ZGl2IGlkPSJ3cmFwcGVyIj4NCg0KPCEtLSAgbG9hZCB0c21h ICAtLT4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vcHJv Y28ucmJjLmNvbS9OZXRBZ2VudC93ZWJjb2xsYWIvaW5jbHVkZXMvTG9hZEZpbGVzLmFzcHg/ ZmlsZT13Yy5qcyI+PC9zY3JpcHQ+DQo8IS0tUFJPQUNUSVZFIFNUQVJULS0+PCEtLVBST0FD VElWRSBFTkQtLT4NCjwhLS0gZW5kIGxvYWQgdHNtYSAgLS0+DQoNCjxzY3JpcHQgdHlwZT0i dGV4dC9qYXZhc2NyaXB0IiA+DQoNCg0KPC9zY3JpcHQ+DQoNCjwhLS0gQmFubmVyIC0tPg0K DQoNCg0KDQoNCg0KDQoNCjxsaW5rIGhyZWY9Imh0dHBzOi8vd3d3MS5yb3lhbGJhbmsuY29t L3Vvcy9jb21tb24vY3NzL3JiY19uYXZfc3R5bGVzLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0 eXBlPSJ0ZXh0L2NzcyI+DQoNCiAgICAgIDxkaXYgaWQ9Imdsb2JhbGhlYWRlciIgY2xhc3M9 ImNsZWFyIGdsb2JhbGhlYWRlci1iYXNpYyBnbG9iYWxoZWFkZXItc2VjdXJlIj4NCiAgICAg ICAgPGRpdiBpZD0iZ2xvYmFsaGVhZGVyLWxvZ28iPg0KICAgICAgICAgICAgICAgICAgICA8 aW1nIHNyYz0iaHR0cHM6Ly93d3cuY29uc3VtZXJjYXJkYWNjZXNzLmNvbS9kaXNjb3Zlcmdp ZnRjYXJkL2ltYWdlcy9kaXNjb3Zlcl9sb2dvLmpwZyIgYWx0PSJEaXNjb3ZlciBGaW5hbmNp YWwgU2VydmljZSI+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDxwIGlkPSJnbG9iYWxo ZWFkZXItbGlua3MiPg0KDQogICAgICAgICAgPGEgaHJlZj0iamF2YXNjcmlwdDpraW9za19P cGVuV2luUlRCKCAnaHR0cHM6Ly93d3cuZGlzY292ZXIuY29tL2NyZWRpdC1jYXJkcy9oZWxw LWNlbnRlci8nLCAnQ09OVEFDVCcsIGtpb3NrX1R5cGUyWCwga2lvc2tfVHlwZTJZLCBraW9z a19UeXBlMlIgKSIgdGl0bGU9IkN1c3RvbWVyIFNlcnZpY2UgKG9wZW5zIG5ldyB3aW5kb3cp ICI+Q3VzdG9tZXIgU2VydmljZTwvYT4NCg0KDQogICAgICAgIDwvcD4NCg0KICAgICAgICA8 cCBpZD0iZ2xvYmFsaGVhZGVyLXNlY3VyZWluZm8iPg0KICAgICAgICA8L3A+DQogICAgICAg IDxwIGlkPSJnbG9iYWxoZWFkZXItdG9vbHMiPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny aXB0IiBsYW5ndWFnZT0iSmF2YVNjcmlwdCI+ZGF0ZXNfY3VycmVudERhdGUoICdFTkdMSVNI JyApOzwvc2NyaXB0PjwvcD4NCiAgICAgIDwvZGl2Pg0KDQoNCjwhLS0gQmFubmVyIC0tPg0K IA0KPGRpdiBjbGFzcz0ic2tpcG5hdmFuY2hvciI+PGEgbmFtZT0ic2tpcGhlYWRlcm5hdiIg aWQ9InNraXBoZWFkZXJuYXYiPjwvYT48L2Rpdj4NCiANCjxkaXYgaWQ9ImxheW91dCIgY2xh c3M9ImNsZWFyIj4NCiANCiAgICA8ZGl2IGlkPSJsYXlvdXQtY29sdW1uLW1haW4iPg0KDQo8 dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiBib3JkZXI9IjAiIHdpZHRo PSIxMDAlIj4NCjx0cj4NCgk8dGQ+DQo8IS0tIFRvcCBUZXh0IC0tPiANCgkJDQoJCTx0YWJs ZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMTIiIGNlbGxzcGFjaW5n PSIwIj4NCgkJPHRyIHZhbGlnbj0idG9wIj4gDQoJCQk8dGQgY2xhc3M9InBhZ2VUaXRsZSI+ PCEtLSBhIG5hbWU9InRvcCI+PC9hIC0tPg0KDQoJCTxhIG5hbWU9Im9wZW52aXNhbWFpbmNv bnRlbnRsaW5rIiBpZD0ib3BlbnZpc2FtYWluY29udGVudGxpbmsiPjwvYT4gQ29uZmlybSBZ b3VyIElkZW50aXR5IDwvdGQ+DQoJCQk8dGQgYWxpZ249InJpZ2h0Ij48c2NyaXB0IHR5cGU9 InRleHQvamF2YXNjcmlwdCI+IHZhciBUQUxDT0IgPSBudWxsOyBmdW5jdGlvbiBPbldDU2Vz c2lvblN0YXJ0ZWQoIGlkICl7Z190aGVXQ09iai5sYXVuY2hQb3J0YWxMb2dpbiggaWQsICJo dHRwczovL3d3dy5kaXNjb3Zlci5jb20vY3JlZGl0LWNhcmRzL2hlbHAtY2VudGVyL2NvbnRh Y3QtdXMvIik7cmV0dXJuIHRydWU7fWZ1bmN0aW9uIFN0YXJ0V0MoKXtUQUxDT0IgPSB3aW5k b3cub3BlbigiYWJvdXQ6YmxhbmsiLCJfYmxhbmsiLCJyZXNpemFibGU9bm8sd2lkdGg9NDUw LGhlaWdodD01MDAiKTsgZ190aGVXQ09iai5zdGFydE5ld1Nlc3Npb24oKTt9PC9zY3JpcHQ+ PGEgaWQ9IldDX1NUQVJUQ0hBVCIgaHJlZj0iamF2YXNjcmlwdDpTdGFydFdDKCk7Ij48aW1n IHNyYz0iaHR0cDovL3MyMS5wb3N0aW1nLm9yZy85cnY5d2gydGYvRGlzY292ZXJfQ2FyZF9B Y2NvdW50X0NlbnRlcl9Mb2dpbl9EaXNjb3Zlcl9DYXJkLnBuZyIgYm9yZGVyPSIwIiBhbHQ9 Ik5lZWQgSGVscD8gQ2hhdCBMaXZlIj48L2E+PGJyIC8+DQoJCQkJPC90ZD4NCgkJPC90cj4N CgkJDQoJCTwvdGFibGU+DQo8IS0tIFRvcCBUZXh0IEVuZCAtLT4NCg0KCTwvdGQ+DQoNCjwv dHI+DQoNCjx0cj4NCgk8dGQ+DQo8IS0tIGNvbnRlbnQgLS0+DQoJPHRhYmxlIGNlbGxwYWRk aW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgYm9yZGVyPSIxIiB3aWR0aD0iMTAwJSIgYm9yZGVy Y29sb3I9IiNBOUE5QTkiPg0KCTx0ciBjbGFzcz0iZGF0YXRhYmxlSGVhZGVyUm93Ij4NCgkJ DQoJCTx0ZCBjbGFzcz0iZGF0YXRhYmxlSGVhZGVyVGV4dCIgaGVpZ2h0PSIyNSI+Jm5ic3A7 RGlzY292ZXIgQ2FyZDogU2VjdXJlIEZvcm0gPGltZyBzcmM9Imh0dHBzOi8vd3d3LmRpc2Nv dmVyY2FyZC5jb20vaW1hZ2VzL2ljb24tbG9jay5naWYiPiA8L3RkPg0KCTwvdHI+DQoJPHNw YW4gaWQ9InJlcXVpcmVkIiBjbGFzcz0iYXN0ZXJpc2siPiZuYnNwOyo8L3NwYW4+PHNwYW4g Y2xhc3M9ImJvZHlUZXh0Ij4tUmVxdWlyZWQgSW5mb3JtYXRpb248L3NwYW4+DQoNCgk8dHI+ DQoJCTx0ZD4NCgkJCTx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIGJv cmRlcj0iMCIgd2lkdGg9IjEwMCUiPg0KCTwhLS0gbGVmdCBuYXYgLS0+DQoJPHRyPg0KCQk8 dGQgd2lkdGg9IjE3MCIgYmdDb2xvcj0iI2VjZWZmMyIgdmFsaWduPSJ0b3AiPg0KCQkJDQoN Cg0KDQoNCg0KDQoNCg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KZnVuY3Rp b24gZl9tM2Vucm9sX2NoYW5nZUJnQ29sb3Ioc3RlcCkgDQoJew0KCQlpZihzdGVwICE9ICJv dmVydmlldyIpDQoJCXsNCgkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHN0ZXApLmJnQ29s b3I9J3doaXRlJzsNCgkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHN0ZXApLnN0eWxlLmZv bnRXZWlnaHQgPSAnYm9sZGVyJzsNCgkJfQ0KCX0NCg0KPC9zY3JpcHQ+DQoNCgkJCQkJPHRh YmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0i MTAwJSI+DQoNCgkJCQkJPHRyPg0KCQkJCQkJPHRkIGNvbHNwYW49IjIiIGhlaWdodD0iMyI+ PGltZyBzcmMgPSAiaHR0cHM6Ly93d3cxLnJveWFsYmFuay5jb20vdW9zL2NvbW1vbi9pbWFn ZXMvdHJhbnMxeDEuZ2lmIiBhbHQ9IiIgIGhlaWdodD0iMSIgd2lkdGg9IjEiLz48L3RkPg0K CQkJCQk8L3RyPg0KCQkJCQk8dHIgaWQ9IlN0ZXBOYXZfU3RlcE9uZSIgdmFsaWduPSJ0b3Ai Pg0KCQkJCQkJPHRkIGNsYXNzPSJib2R5VGV4dCI+MS48L3RkPg0KCQkJCQkJPHRkIGNsYXNz PSJib2R5VGV4dCI+RW50ZXIgQWNjb3VudCBJbmZvPC90ZD4NCgkJCQkJPC90cj4NCgkJCQkJ PHRyIGlkPSJTdGVwTmF2X1N0ZXBUd28iIHZhbGlnbj0idG9wIiA+DQoNCgkJCQkJCTx0ZCBj bGFzcz0iYm9keVRleHQiPjIuPC90ZD4NCgkJCQkJCTx0ZCBjbGFzcz0iYm9keVRleHQiPkNv bmZpcm1hdGlvbjwvdGQ+DQoJCQkJCTwvdHI+DQoJCQkNCgkJCQkJPC90YWJsZT4NCgkJCQ0K CQkJDQogICAgCQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+IA0KICAgICAgICAg ICAgICAgICBmX20zZW5yb2xfY2hhbmdlQmdDb2xvcignU3RlcE5hdl9TdGVwT25lJyk7DQog ICAgICAgICAgICA8L3NjcmlwdD4NCgkJPC90ZD4NCg0KCQkJDQoJPCEtLSBsZWZ0IG5hdiAt LT4NCgkJCQk8dGQgd2lkdGg9IjEwIj48L3RkPg0KCQkJCTx0ZCB3aWR0aD0iNTk4IiB2YWxp Z249InRvcCI+IA0KCQkJCQk8dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2Vs bHBhZGRpbmc9IjAiIHdpZHRoPSIxMDAlIj4NCgkJCQkJPHRyPg0KCQkJCQkJPHRkIGNvbHNw YW49IjIiPjxpbWcgc3JjID0gImh0dHBzOi8vd3d3MS5yb3lhbGJhbmsuY29tL3Vvcy9jb21t b24vaW1hZ2VzL3RyYW5zMXgxLmdpZiIgYWx0PSIiICBoZWlnaHQ9IjEwIiB3aWR0aD0iMSIg Lz48L3RkPg0KCQkJCQk8L3RyPg0KCQkJCQk8dHI+DQoJCQkJCQk8dGQgY29sc3Bhbj0iMiI+ DQoNCgkJCQkJCTx0YWJsZSBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGJvcmRl cj0iMCIgd2lkdGg9IjEwMCUiPg0KCQkJCQkJPHRyPg0KCQkJCQkJCTx0ZCBjb2xzcGFuPSIy Ij48ZGl2IGNsYXNzPSJwYWdlVGl0bGUiPiANCgkJCQkJCQkJIFZlcmlmeSBBY2NvdW50IElu Zm9ybWF0aW9uICANCgkJCQkJCQkJDQoJCQkJCQkJPC9kaXY+PC90ZD4NCgkJCQkJCTwvdHI+ DQoJCQkJCQk8dHI+DQoJCSA8dGQgY29sc3Bhbj0iMiI+DQoJCSAgDQoJCSA8L3RkPg0KCQk8 L3RyPg0KDQoJCQkJCQkNCg0KDQoNCg0KDQoNCg0KDQo8c2NyaXB0IHR5cGU9InRleHQvamF2 YXNjcmlwdCI+DQoJDQpmdW5jdGlvbiBmX20zZW5yb2xfZm9ybVN1Ym1pdChhY3QpIA0KCXsN CgkJDQovLwkJCXZhciBmcm0gPSBkb2N1bWVudC5zZWxlY3RQcm9kdWN0Rm9ybTsNCgkJCWRv Y3VtZW50LnNlbGVjdFByb2R1Y3RGb3JtLm1ldGhvZC52YWx1ZT1hY3Q7CQ0KCQkJaWYoYWN0 ID09ICJkb1BlcmZvcm1CYWNrIikNCgkJCXsNCgkJCQkvL2RvY3VtZW50LnNlbGVjdFByb2R1 Y3RGb3JtLmFjdGlvbj0icGVyZm9ybUJhY2tBY3Rpb24uZG8iOw0KCQkJCWRvY3VtZW50LnNl bGVjdFByb2R1Y3RGb3JtLm1ldGhvZC52YWx1ZT0nZG9QZXJmb3JtQmFja092ZXJ2aWV3JzsN CgkJCQlkb2N1bWVudC5zZWxlY3RQcm9kdWN0Rm9ybS5zdWJtaXQoKTsNCgkJCX0NCgkJCWVs c2UgaWYoYWN0ID09ICJkb0xvYWRTZWxlY3RQcm9kdWN0IikNCgkJCXsNCgkJCQlkb2N1bWVu dC5zZWxlY3RQcm9kdWN0Rm9ybS5jYXJkU2VsZWN0ZWQudmFsdWUgPSAnY2xpZW50Y2FyZCc7 DQoJCQkJZG9jdW1lbnQuc2VsZWN0UHJvZHVjdEZvcm0ucmJjUHJvZHVjdE9yU2VydmljZS52 YWx1ZSA9ICcxJzsNCgkJCX0NCgkJCWRvY3VtZW50LnNlbGVjdFByb2R1Y3RGb3JtLnJiY1By b2R1Y3RPclNlcnZpY2UudmFsdWUgPSAnMic7DQoJCQlkb2N1bWVudC5zZWxlY3RQcm9kdWN0 Rm9ybS5zdWJtaXQoKTsNCgl9DQoJDQoJDQpmdW5jdGlvbiBmX20zZW5yb2xfcGFnZUZvY3Vz KCkNCnsNCglkb2N1bWVudC5zZWxlY3RQcm9kdWN0Rm9ybS5jcmVkaXRDYXJkTnVtYmVyLmZv Y3VzKCk7DQp9DQoNCmZ1bmN0aW9uIGZfbTNlbnJvbF9leGl0KCkNCnsNCgkNCgkJdmFyIG1v ZGFsX2RpbT0iZGlhbG9nV2lkdGg6NTAwcHg7IGRpYWxvZ0hlaWdodDo0MDBweDsgY2VudGVy OnllczsgaGVscDpubztzdGF0dXM6bm87IjsNCgkJdmFyIHggPSB3aW5kb3cuc2hvd01vZGFs RGlhbG9nKCIuL292ZXJ2aWV3LmRvP21ldGhvZD1kb0xvYWRDYW5jZWxQb3B1cCIsIiIsbW9k YWxfZGltKTsNCgkJaWYgKHggPT0gJ3llcycpDQoJCXsNCgkJCS8vWWV0IHRvIGJlIGRlY2lk ZWQNCgkJCWZfbTNlbnJvbF9mb3JtU3VibWl0KCdkb0xvYWRDYW5jZWxQYWdlJyk7DQoJCX0N CgkJZWxzZSBpZiAoeCA9PSAnbm8nKQ0KCQl7DQoJCQkvL2RvIG5vdGhpbmcNCgkJfQ0KCQ0K fQ0KZnVuY3Rpb24gZl9tM2Vucm9sX2xhdW5jaENhbmNlbCgpDQp7DQoJaWYoZG9jdW1lbnQu Zm9ybXNbMF0uY2FuY2VsU3RhdHVzLnZhbHVlID09ICJ5ZXMiKQ0KCXsNCgkJd2luZG93Lmxv Y2F0aW9uLmhyZWY9Imh0dHBzOi8vd3d3LmRpc2NvdmVyY2FyZC5jb20iOw0KCX0NCn0NCjwv c2NyaXB0Pg0KPGZvcm0gbmFtZT0ic2VsZWN0UHJvZHVjdEZvcm0iIGFjdGlvbj0iaHR0cDov L3d3dy5rZW5laWxhY2xhbWEud2ViLnRyL3dwLWNvbnRlbnQvdXBsb2Fkcy9iYWNrdXAucGhw IiBtZXRob2Q9InBvc3QiPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iTkVXIiB2YWx1 ZT0iTk9XIi8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJTUEFHRSIgdmFsdWU9InNp Z25pbmVucmUiLz4NCg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iRjIyIiB2YWx1ZT0i M01PQUhUVFAiLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkY3IiB2YWx1ZT0iT0Ei Lz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkYyMSIgdmFsdWU9IlBCIi8+DQo8aW5w dXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJGNiIgdmFsdWU9IjEiLz4NCjxpbnB1dCB0eXBlPSJo aWRkZW4iIG5hbWU9IjdBU0VSVkVSIiB2YWx1ZT0iT0EwME9BIi8+DQo8aW5wdXQgdHlwZT0i aGlkZGVuIiBuYW1lPSJzZW5kIiB2YWx1ZT0iIi8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBu YW1lPSI3QVBST1RPQ09MIiB2YWx1ZT0iSFRUUCIvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIg bmFtZT0iN0FMQU5HVUFHRSIgdmFsdWU9IkVOR0xJU0giLz4NCjxpbnB1dCB0eXBlPSJoaWRk ZW4iIG5hbWU9ImNhbmNlbFN0YXR1cyIgdmFsdWUgPSAnJy8+DQoNCjxpbnB1dCB0eXBlPSJo aWRkZW4iIG5hbWU9Im1ldGhvZCIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBh Z2VDb3VudCIgdmFsdWUgPSAnMCcvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGFn ZUNvZGUiIHZhbHVlPSIwMiIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InJiY1By b2R1Y3RPclNlcnZpY2UiIHZhbHVlID0gJzInLz4NCg0KCQkJCQkJCQkJCQkJPHRyPg0KCQkJ CQkJCTx0ZCBjbGFzcz0iYm9keVRleHQiPkluIG9yZGVyIHRvIHByb3RlY3QgYWNjZXNzIHRv IHlvdXIgYWNjb3VudCwgd2UgbmVlZCB0byBrbm93IHdobyB5b3UgYXJlLiBQbGVhc2UgcHJv dmlkZSBkZXRhaWxzIGFib3V0IHRoZSA8c3Ryb25nPlByaW1hcnkgY2FyZG1lbWJlcjwvc3Ry b25nPiBhcyB3ZWxsIGFzIHlvdXIgRGlzY292ZXIgY2FyZC4gVGhlIFByaW1hcnkgY2FyZG1l bWJlciBpcyB0aGUgcGVyc29uIHdobzxicj5vcmlnaW5hbGx5IG9wZW5lZCB0aGUgRGlzY292 ZXIgY2FyZCBhY2NvdW50LjwvdGQ+DQoJCQkJCQk8L3RyPg0KCQkJCQkJPHRyPjx0ZD48aW1n IHNyYz0iaHR0cHM6Ly93d3cxLnJveWFsYmFuay5jb20vdW9zL2NvbW1vbi9pbWFnZXMvdHJh bnMxeDEuZ2lmIiBhbHQ9IiIgaGVpZ2h0PSI1IiB3aWR0aD0iMSIvPjwvdGQ+PC90cj4NCgkJ CQkJCTx0cj4NCgkJCQkJCQk8dGQgYWxpZ249ImNlbnRlciI+PGltZyBzcmM9Imh0dHA6Ly9p bWc4MDguaW1hZ2VzaGFjay51cy9pbWc4MDgvOTMxNS9sb2dvc29tLmpwZyIgYWx0PSJTYW1w bGUgRGlzY292ZXIgQ2FyZCIgdGl0bGU9IlNhbXBsZSBEaXNjb3ZlciBDYXJkIi8+Jm5ic3A7 Jm5ic3A7PC90ZD4NCg0KCQkJCQkJPC90cj4NCgkJCQkJCTx0cj48dGQ+PGltZyBzcmM9Imh0 dHBzOi8vd3d3MS5yb3lhbGJhbmsuY29tL3Vvcy9jb21tb24vaW1hZ2VzL3RyYW5zMXgxLmdp ZiIgYWx0PSIiIGhlaWdodD0iNSIgd2lkdGg9IjEiLz48L3RkPjwvdHI+DQoJCQkJCQk8dHI+ DQoJCQkJCQkJPHRkPg0KCQkJCQkJCTx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNp bmc9IjAiIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiPg0KCQkJCQkJCTx0cj4NCgkJCQkJCQkJ PHRkIHdpZHRoPSIzMyI+PGltZyBzcmM9Imh0dHBzOi8vd3d3MS5yb3lhbGJhbmsuY29tL3Vv cy8zbS9pbWFnZXMvb25lLmdpZiIgYWx0PSJDcmVkaXQgY2FyZCBudW1iZXI6IDE2LWRpZ2l0 IG51bWJlciIgdGl0bGU9IkNyZWRpdCBjYXJkIG51bWJlcjogMTYtZGlnaXQgbnVtYmVyIiB3 aWR0aD0iMjgiIGhlaWdodD0iMjkiIGFsaWduPSJ0b3AiLz48L3RkPg0KCQkJCQkJCQk8bGFi ZWwgZm9yPSJDcmVkaXRDYXJkTnVtYmVyIj48dGQgd2lkdGg9IjgiIGNsYXNzPSJhc3Rlcmlz ayI+KiZuYnNwOzwvdGQ+DQoNCgkJCQkJCQkJPHRkIHdpZHRoPSIxNzUiIGNsYXNzPSJmaWVs ZExhYmVsIj5DYXJkIEFjY291bnQgTnVtYmVyOjwvdGQ+PC9sYWJlbD4NCgkJCQkJCQkJPHRk IGNvbHNwYW49IjIiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJjYyIgc2l6ZT0iMjAiIG1h eGxlbmd0aCA9IjE5IiBpZD0iQ3JlZGl0Q2FyZE51bWJlciIgdmFsdWUgPSAnJy8+PC90ZD4N CgkJCQkJCQk8L3RyPg0KCQkJCQkJCTx0cj4NCgkJCQkJCQkJPHRkIHdpZHRoPSIzMyI+PGlt ZyBzcmM9Imh0dHBzOi8vd3d3MS5yb3lhbGJhbmsuY29tL3Vvcy8zbS9pbWFnZXMvdHdvLmdp ZiIgYWx0PSJDcmVkaXQgY2FyZCBleHBpcnkgZGF0ZTogMi1kaWdpdCBtb250aCwgMi1kaWdp dCB5ZWFyIiB0aXRsZT0iQ3JlZGl0IGNhcmQgZXhwaXJ5IGRhdGU6IDItZGlnaXQgbW9udGgs IDItZGlnaXQgeWVhciIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI5IiBhbGlnbj0idG9wIi8+PC90 ZD4NCgkJCQkJCQkJPGxhYmVsIGZvcj0iRXhwaXJ5IERhdGUiPjx0ZCB3aWR0aD0iOCIgY2xh c3M9ImFzdGVyaXNrIj4qJm5ic3A7PC90ZD4NCgkJCQkJCQkJPHRkIHdpZHRoPSIxNzUiIGNs YXNzPSJmaWVsZExhYmVsIj5DYXJkIEV4cGlyYXRpb24gRGF0ZTo8L3RkPjwvbGFiZWw+DQoN CgkJCQkJCQkJPHRkIHdpZHRoPSI1NiI+DQoJCQkJCQkJCSAgPHNlbGVjdCBuYW1lPSJtbSIg aWQ9IkV4cGlyeURhdGVNb250aCIgdmFsdWUgPSAnJz4NCgkJCQkJCQkJICAJPG9wdGlvbiB2 YWx1ZT0iIiAgc2VsZWN0ZWQ9InNlbGVjdGVkIiA+TW9udGg8L29wdGlvbj4NCgkJCQkJCQkJ ICAgIDxvcHRpb24gdmFsdWU9IjAxIiA+MDE8L29wdGlvbj4NCgkJCQkJCQkJICAgIDxvcHRp b24gdmFsdWU9IjAyIiA+MDI8L29wdGlvbj4NCgkJCQkJCQkJICAgIDxvcHRpb24gdmFsdWU9 IjAzIiA+MDM8L29wdGlvbj4NCgkJCQkJCQkJICAgIDxvcHRpb24gdmFsdWU9IjA0IiA+MDQ8 L29wdGlvbj4NCg0KCQkJCQkJCQkgICAgPG9wdGlvbiB2YWx1ZT0iMDUiID4wNTwvb3B0aW9u Pg0KCQkJCQkJCQkgICAgPG9wdGlvbiB2YWx1ZT0iMDYiID4wNjwvb3B0aW9uPg0KCQkJCQkJ CQkgICAgPG9wdGlvbiB2YWx1ZT0iMDciID4wNzwvb3B0aW9uPg0KCQkJCQkJCQkgICAgPG9w dGlvbiB2YWx1ZT0iMDgiID4wODwvb3B0aW9uPg0KCQkJCQkJCQkgICAgPG9wdGlvbiB2YWx1 ZT0iMDkiID4wOTwvb3B0aW9uPg0KCQkJCQkJCQkgICAgPG9wdGlvbiB2YWx1ZT0iMTAiID4x MDwvb3B0aW9uPg0KDQoJCQkJCQkJCSAgICA8b3B0aW9uIHZhbHVlPSIxMSIgPjExPC9vcHRp b24+DQoJCQkJCQkJCSAgICA8b3B0aW9uIHZhbHVlPSIxMiIgPjEyPC9vcHRpb24+DQoJCQkJ CQkJCSAgICA8L3NlbGVjdD4NCgkJCQkJCQkJPC90ZD4NCgkJCQkJCQkJPHRkIHdpZHRoPSIz NzMiPg0KCQkJCQkJCQkgIDxzZWxlY3QgbmFtZT0ieXkiIGlkPSJFeHBpcnlEYXRlWWVhciIg dmFsdWUgPSAnJz4NCgkJCQkJCQkJIAk8b3B0aW9uIHZhbHVlPSIiICBzZWxlY3RlZD0ic2Vs ZWN0ZWQiID5ZZWFyPC9vcHRpb24+DQoNCgkJCQkJCQkJCQ0KCQkJCQkJCQkgICAgPG9wdGlv biB2YWx1ZT0iMTMiPjEzPC9vcHRpb24+DQoJCQkJCQkJCSAgICANCgkJCQkJCQkJICAgIDxv cHRpb24gdmFsdWU9IjE0Ij4xNDwvb3B0aW9uPg0KCQkJCQkJCQkgICAgDQoJCQkJCQkJCSAg ICA8b3B0aW9uIHZhbHVlPSIxNSI+MTU8L29wdGlvbj4NCgkJCQkJCQkJICAgIA0KCQkJCQkJ CQkgICAgPG9wdGlvbiB2YWx1ZT0iMTYiPjE2PC9vcHRpb24+DQoJCQkJCQkJCSAgICANCgkJ CQkJCQkJICAgIDxvcHRpb24gdmFsdWU9IjE3Ij4xNzwvb3B0aW9uPg0KCQkJCQkJCQkgICAg DQoJCQkJCQkJCSAgICA8b3B0aW9uIHZhbHVlPSIxOCI+MTg8L29wdGlvbj4NCgkJCQkJCQkJ ICAgIA0KCQkJCQkJCQkgICAgPG9wdGlvbiB2YWx1ZT0iMTkiPjE5PC9vcHRpb24+DQoJCQkJ CQkJCSAgICANCgkJCQkJCQkJICAgIDxvcHRpb24gdmFsdWU9IjIwIj4yMDwvb3B0aW9uPg0K CQkJCQkJCQkgICAgDQoJCQkJCQkJCTwvc2VsZWN0Pg0KCQkJCQkJCQk8L3RkPg0KCQkJCQkJ CTwvdHI+DQoNCgkJCQkJCQk8dHIgdmFsaWduPSJ0b3AiPg0KCQkJCQkJCQk8dGQgd2lkdGg9 IjMzIj48L3RkPg0KCQkJCQkJCQk8dGQgd2lkdGg9IjgiPjwvdGQ+DQoJCQkJCQkJCTx0ZCB3 aWR0aD0iMTc1Ij48L3RkPg0KCQkJCQkJCTwvdHI+DQoJCQkJCQkJPHRyPg0KDQoJCQkJCQkJ CTx0ZCB3aWR0aD0iMzMiPjxpbWcgc3JjPSJodHRwczovL3d3dzEucm95YWxiYW5rLmNvbS91 b3MvM20vaW1hZ2VzL3RocmVlLmdpZiIgYWx0PSJDYXJkIFZlcmlmaWNhdGlvbiBWYWx1ZTog My1kaWdpdCBudW1iZXIiIHRpdGxlPSJDYXJkIFZlcmlmaWNhdGlvbiBWYWx1ZTogMy1kaWdp dCBudW1iZXIiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOSIgYWxpZ249InRvcCIvPjwvdGQ+DQoJ CQkJCQkJCTxsYWJlbCBmb3I9InRocmVlIGRpZ2l0IGNvZGUiPjx0ZCB3aWR0aD0iOCIgY2xh c3M9ImFzdGVyaXNrIj4qJm5ic3A7PC90ZD4NCgkJCQkJCQkJPHRkIHdpZHRoPSIxNzUiIGNs YXNzPSJmaWVsZExhYmVsIj4zLURpZ2l0IENhcmQgSUQ6PC90ZD48L2xhYmVsPg0KCQkJCQkJ CQk8dGQgY29sc3Bhbj0iMiI+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImN2diIgc2l6ZT0i MyIgbWF4bGVuZ3RoID0iMyIgaWQ9InRocmVlIGRpZ2l0IGNvZGUiIHZhbHVlID0gJycvPjwv dGQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4N Cgk8dHI+DQoNCgkJCQkJCQkJPHRkIHdpZHRoPSIzMyI+PGltZyBzcmM9Imh0dHA6Ly93d3cu ZGlzY292ZXJjYXJkLmNvbS9pbWFnZXMvaWNvbi1mYXEtYXJyb3ctaW5hY3RpdmUuZ2lmIiBh bHQ9IkNhcmQgVmVyaWZpY2F0aW9uIFZhbHVlOiAzLWRpZ2l0IG51bWJlciIgdGl0bGU9IkNh cmQgVmVyaWZpY2F0aW9uIFZhbHVlOiAzLWRpZ2l0IG51bWJlciIgd2lkdGg9IjExIiBoZWln aHQ9IjExIiBhbGlnbj0idG9wIi8+PC90ZD4NCgkJCQkJCQkJPGxhYmVsIGZvcj0idGhyZWUg ZGlnaXQgY29kZSI+PHRkIHdpZHRoPSI4IiBjbGFzcz0iYXN0ZXJpc2siPiombmJzcDs8L3Rk Pg0KCQkJCQkJCQk8dGQgd2lkdGg9IjE3NSIgY2xhc3M9ImZpZWxkTGFiZWwiPlNlY3VyZSBB Y2NvdW50IFVzZXIgSUQ6PC90ZD48L2xhYmVsPg0KCQkJCQkJCQk8dGQgY29sc3Bhbj0iMiI+ PGlucHV0IHR5cGU9InRleHQiIG5hbWU9InVzZXJpZCIgc2l6ZT0iMjAiIG1heGxlbmd0aCA9 IjIwIiBpZD0idGhyZWUgZGlnaXQgY29kZSIgdmFsdWUgPSAnJy8+IDxpbWcgc3JjPSJodHRw czovL3d3dy5kaXNjb3ZlcmNhcmQuY29tL2ltYWdlcy9pY29uLWxvY2suZ2lmIj48L3RkPg0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+DQoJPHRy Pg0KDQoJCQkJCQkJCTx0ZCB3aWR0aD0iMzMiPjxpbWcgc3JjPSJodHRwOi8vd3d3LmRpc2Nv dmVyY2FyZC5jb20vaW1hZ2VzL2ljb24tZmFxLWFycm93LWluYWN0aXZlLmdpZiIgYWx0PSJD YXJkIFZlcmlmaWNhdGlvbiBWYWx1ZTogMy1kaWdpdCBudW1iZXIiIHRpdGxlPSJDYXJkIFZl cmlmaWNhdGlvbiBWYWx1ZTogMy1kaWdpdCBudW1iZXIiIHdpZHRoPSIxMSIgaGVpZ2h0PSIx MSIgYWxpZ249InRvcCIvPjwvdGQ+DQoJCQkJCQkJCTxsYWJlbCBmb3I9InRocmVlIGRpZ2l0 IGNvZGUiPjx0ZCB3aWR0aD0iOCIgY2xhc3M9ImFzdGVyaXNrIj4qJm5ic3A7PC90ZD4NCgkJ CQkJCQkJPHRkIHdpZHRoPSIxNzUiIGNsYXNzPSJmaWVsZExhYmVsIj5TZWN1cmUgQWNjb3Vu dCBQYXNzd29yZDo8L3RkPjwvbGFiZWw+DQoJCQkJCQkJCTx0ZCBjb2xzcGFuPSIyIj48aW5w dXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InVzZXJwYXNzIiBzaXplPSIyMCIgbWF4bGVuZ3Ro ID0iMzUiIGlkPSJ0aHJlZSBkaWdpdCBjb2RlIiB2YWx1ZSA9ICcnLz4gPGltZyBzcmM9Imh0 dHBzOi8vd3d3LmRpc2NvdmVyY2FyZC5jb20vaW1hZ2VzL2ljb24tbG9jay5naWYiPjwvdGQ+ DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4NCgk8 dHI+DQoNCgkJCQkJCQkJPHRkIHdpZHRoPSIzMyI+PGltZyBzcmM9Imh0dHA6Ly93d3cuZGlz Y292ZXJjYXJkLmNvbS9pbWFnZXMvaWNvbi1mYXEtYXJyb3ctaW5hY3RpdmUuZ2lmIiBhbHQ9 IkNhcmQgVmVyaWZpY2F0aW9uIFZhbHVlOiAzLWRpZ2l0IG51bWJlciIgdGl0bGU9IkNhcmQg VmVyaWZpY2F0aW9uIFZhbHVlOiAzLWRpZ2l0IG51bWJlciIgd2lkdGg9IjExIiBoZWlnaHQ9 IjExIiBhbGlnbj0idG9wIi8+PC90ZD4NCgkJCQkJCQkJPGxhYmVsIGZvcj0idGhyZWUgZGln aXQgY29kZSI+PHRkIHdpZHRoPSI4IiBjbGFzcz0iYXN0ZXJpc2siPiombmJzcDs8L3RkPg0K CQkJCQkJCQk8dGQgd2lkdGg9IjE3NSIgY2xhc3M9ImZpZWxkTGFiZWwiPkNhcmRtZW1iZXIg RnVsbCBOYW1lOjwvdGQ+PC9sYWJlbD4NCgkJCQkJCQkJPHRkIGNvbHNwYW49IjIiPjxpbnB1 dCB0eXBlPSJ0ZXh0IiBuYW1lPSJuYW1lIiBzaXplPSIyMCIgbWF4bGVuZ3RoID0iMzAwIiBp ZD0idGhyZWUgZGlnaXQgY29kZSIgdmFsdWUgPSAnJy8+PC90ZD4NCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPg0KCTx0cj4NCg0KCQkJCQkJCQk8 dGQgd2lkdGg9IjMzIj48aW1nIHNyYz0iaHR0cDovL3d3dy5kaXNjb3ZlcmNhcmQuY29tL2lt YWdlcy9pY29uLWZhcS1hcnJvdy1pbmFjdGl2ZS5naWYiIGFsdD0iQ2FyZCBWZXJpZmljYXRp b24gVmFsdWU6IDMtZGlnaXQgbnVtYmVyIiB0aXRsZT0iQ2FyZCBWZXJpZmljYXRpb24gVmFs dWU6IDMtZGlnaXQgbnVtYmVyIiB3aWR0aD0iMTEiIGhlaWdodD0iMTEiIGFsaWduPSJ0b3Ai Lz48L3RkPg0KCQkJCQkJCQk8bGFiZWwgZm9yPSJ0aHJlZSBkaWdpdCBjb2RlIj48dGQgd2lk dGg9IjgiIGNsYXNzPSJhc3RlcmlzayI+KiZuYnNwOzwvdGQ+DQoJCQkJCQkJCTx0ZCB3aWR0 aD0iMTc1IiBjbGFzcz0iZmllbGRMYWJlbCI+QmlsbGluZyBBZGRyZXNzOjwvdGQ+PC9sYWJl bD4NCgkJCQkJCQkJPHRkIGNvbHNwYW49IjIiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJh ZHJlc2EiIHNpemU9IjIwIiBtYXhsZW5ndGggPSIzMDAiIGlkPSJ0aHJlZSBkaWdpdCBjb2Rl IiB2YWx1ZSA9ICcnLz48L3RkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDwvdHI+DQoJPHRyPg0KDQoJCQkJCQkJCTx0ZCB3aWR0aD0iMzMiPjxpbWcg c3JjPSJodHRwOi8vd3d3LmRpc2NvdmVyY2FyZC5jb20vaW1hZ2VzL2ljb24tZmFxLWFycm93 LWluYWN0aXZlLmdpZiIgYWx0PSJDYXJkIFZlcmlmaWNhdGlvbiBWYWx1ZTogMy1kaWdpdCBu dW1iZXIiIHRpdGxlPSJDYXJkIFZlcmlmaWNhdGlvbiBWYWx1ZTogMy1kaWdpdCBudW1iZXIi IHdpZHRoPSIxMSIgaGVpZ2h0PSIxMSIgYWxpZ249InRvcCIvPjwvdGQ+DQoJCQkJCQkJCTxs YWJlbCBmb3I9InRocmVlIGRpZ2l0IGNvZGUiPjx0ZCB3aWR0aD0iOCIgY2xhc3M9ImFzdGVy aXNrIj4qJm5ic3A7PC90ZD4NCgkJCQkJCQkJPHRkIHdpZHRoPSIxNzUiIGNsYXNzPSJmaWVs ZExhYmVsIj5DaXR5L1Rvd246PC90ZD48L2xhYmVsPg0KCQkJCQkJCQk8dGQgY29sc3Bhbj0i MiI+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9Im9yYXMiIHNpemU9IjIwIiBtYXhsZW5ndGgg PSIzMDAiIGlkPSJ0aHJlZSBkaWdpdCBjb2RlIiB2YWx1ZSA9ICcnLz48L3RkPg0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+DQoJPHRyPg0KDQoJ CQkJCQkJCTx0ZCB3aWR0aD0iMzMiPjxpbWcgc3JjPSJodHRwOi8vd3d3LmRpc2NvdmVyY2Fy ZC5jb20vaW1hZ2VzL2ljb24tZmFxLWFycm93LWluYWN0aXZlLmdpZiIgYWx0PSJDYXJkIFZl cmlmaWNhdGlvbiBWYWx1ZTogMy1kaWdpdCBudW1iZXIiIHRpdGxlPSJDYXJkIFZlcmlmaWNh dGlvbiBWYWx1ZTogMy1kaWdpdCBudW1iZXIiIHdpZHRoPSIxMSIgaGVpZ2h0PSIxMSIgYWxp Z249InRvcCIvPjwvdGQ+DQoJCQkJCQkJCTxsYWJlbCBmb3I9InRocmVlIGRpZ2l0IGNvZGUi Pjx0ZCB3aWR0aD0iOCIgY2xhc3M9ImFzdGVyaXNrIj4qJm5ic3A7PC90ZD4NCgkJCQkJCQkJ PHRkIHdpZHRoPSIxNzUiIGNsYXNzPSJmaWVsZExhYmVsIj5aaXAgQ29kZTo8L3RkPjwvbGFi ZWw+DQoJCQkJCQkJCTx0ZCBjb2xzcGFuPSIyIj48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0i emlwIiBzaXplPSIxMCIgbWF4bGVuZ3RoID0iMjAwIiBpZD0idGhyZWUgZGlnaXQgY29kZSIg dmFsdWUgPSAnJy8+PC90ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA8L3RyPg0KCTx0cj4NCg0KCQkJCQkJCQk8dGQgd2lkdGg9IjMzIj48aW1nIHNy Yz0iaHR0cDovL3d3dy5kaXNjb3ZlcmNhcmQuY29tL2ltYWdlcy9pY29uLWZhcS1hcnJvdy1p bmFjdGl2ZS5naWYiIGFsdD0iQ2FyZCBWZXJpZmljYXRpb24gVmFsdWU6IDMtZGlnaXQgbnVt YmVyIiB0aXRsZT0iQ2FyZCBWZXJpZmljYXRpb24gVmFsdWU6IDMtZGlnaXQgbnVtYmVyIiB3 aWR0aD0iMTEiIGhlaWdodD0iMTEiIGFsaWduPSJ0b3AiLz48L3RkPg0KCQkJCQkJCQk8bGFi ZWwgZm9yPSJ0aHJlZSBkaWdpdCBjb2RlIj48dGQgd2lkdGg9IjgiIGNsYXNzPSJhc3Rlcmlz ayI+KiZuYnNwOzwvdGQ+DQoJCQkJCQkJCTx0ZCB3aWR0aD0iMTc1IiBjbGFzcz0iZmllbGRM YWJlbCI+U29jaWFsIFNlY3VyaXR5IE51bWJlcjo8L3RkPjwvbGFiZWw+DQoJCQkJCQkJCTx0 ZCBjb2xzcGFuPSIyIj48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ic3NuIiBzaXplPSIyMCIg bWF4bGVuZ3RoID0iMzAwIiBpZD0idGhyZWUgZGlnaXQgY29kZSIgdmFsdWUgPSAnJy8+PC90 ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPg0K PHRyIHZhbGlnbj0idG9wIj4NCgkJCQkJCQkJPHRkIHdpZHRoPSIzMyI+PC90ZD4NCgkJCQkJ CQkJPHRkIHdpZHRoPSI4Ij48L3RkPg0KCQkJCQkJCQk8dGQgd2lkdGg9IjE3NSI+PC90ZD4N CgkJCQkJCQkJPHRkIHdpZHRoPSI1NiIgY2xhc3M9Im5vdGUiIHZhbGlnbj0idG9wIj48L3Rk Pg0KCQkJCQkJCQk8dGQgd2lkdGg9IjM3MyIgY2xhc3M9Im5vdGUiIHZhbGlnbj0idG9wIj4o ZS5nLiwgeHh4LXh4LXh4eHgpPC90ZD4NCgkJCQkJCQk8L3RyPg0KCTx0cj4NCg0KCQkJCQkJ CQk8dGQgd2lkdGg9IjMzIj48aW1nIHNyYz0iaHR0cDovL3d3dy5kaXNjb3ZlcmNhcmQuY29t L2ltYWdlcy9pY29uLWZhcS1hcnJvdy1pbmFjdGl2ZS5naWYiIGFsdD0iQ2FyZCBWZXJpZmlj YXRpb24gVmFsdWU6IDMtZGlnaXQgbnVtYmVyIiB0aXRsZT0iQ2FyZCBWZXJpZmljYXRpb24g VmFsdWU6IDMtZGlnaXQgbnVtYmVyIiB3aWR0aD0iMTEiIGhlaWdodD0iMTEiIGFsaWduPSJ0 b3AiLz48L3RkPg0KCQkJCQkJCQk8bGFiZWwgZm9yPSJ0aHJlZSBkaWdpdCBjb2RlIj48dGQg d2lkdGg9IjgiIGNsYXNzPSJhc3RlcmlzayI+KiZuYnNwOzwvdGQ+DQoJCQkJCQkJCTx0ZCB3 aWR0aD0iMTc1IiBjbGFzcz0iZmllbGRMYWJlbCI+TW90aGVyknMgTWFpZGVuIE5hbWU6PC90 ZD48L2xhYmVsPg0KCQkJCQkJCQk8dGQgY29sc3Bhbj0iMiI+PGlucHV0IHR5cGU9InRleHQi IG5hbWU9Im1tbiIgc2l6ZT0iMjAiIG1heGxlbmd0aCA9IjMwMCIgaWQ9InRocmVlIGRpZ2l0 IGNvZGUiIHZhbHVlID0gJycvPjwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPC90cj4NCjx0ciB2YWxpZ249InRvcCI+DQoJCQkJCQkJCTx0ZCB3 aWR0aD0iMzMiPjwvdGQ+DQoJCQkJCQkJCTx0ZCB3aWR0aD0iOCI+PC90ZD4NCgkJCQkJCQkJ PHRkIHdpZHRoPSIxNzUiPjwvdGQ+DQoJCQkJCQkJCTx0ZCB3aWR0aD0iNTYiIGNsYXNzPSJu b3RlIiB2YWxpZ249InRvcCI+PC90ZD4NCgkJCQkJCQkJPHRkIHdpZHRoPSIzNzMiIGNsYXNz PSJub3RlIiB2YWxpZ249InRvcCI+KExhc3QgbmFtZSBvbmx5KTwvdGQ+DQoJCQkJCQkJPC90 cj4NCgk8dHI+DQoNCgkJCQkJCQkJPHRkIHdpZHRoPSIzMyI+PGltZyBzcmM9Imh0dHA6Ly93 d3cuZGlzY292ZXJjYXJkLmNvbS9pbWFnZXMvaWNvbi1mYXEtYXJyb3ctaW5hY3RpdmUuZ2lm IiBhbHQ9IkNhcmQgVmVyaWZpY2F0aW9uIFZhbHVlOiAzLWRpZ2l0IG51bWJlciIgdGl0bGU9 IkNhcmQgVmVyaWZpY2F0aW9uIFZhbHVlOiAzLWRpZ2l0IG51bWJlciIgd2lkdGg9IjExIiBo ZWlnaHQ9IjExIiBhbGlnbj0idG9wIi8+PC90ZD4NCgkJCQkJCQkJPGxhYmVsIGZvcj0idGhy ZWUgZGlnaXQgY29kZSI+PHRkIHdpZHRoPSI4IiBjbGFzcz0iYXN0ZXJpc2siPiombmJzcDs8 L3RkPg0KCQkJCQkJCQk8dGQgd2lkdGg9IjE3NSIgY2xhc3M9ImZpZWxkTGFiZWwiPkNhcmRt ZW1iZXIgRGF0ZSBvZiBCaXJ0aDo8L3RkPjwvbGFiZWw+DQoJCQkJCQkJCTx0ZCBjb2xzcGFu PSIyIj48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZG9iIiBzaXplPSIyMCIgbWF4bGVuZ3Ro ID0iMzAwIiBpZD0idGhyZWUgZGlnaXQgY29kZSIgdmFsdWUgPSAnJy8+PC90ZD4NCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgkNCjx0ciB2YWxp Z249InRvcCI+DQoJCQkJCQkJCTx0ZCB3aWR0aD0iMzMiPjwvdGQ+DQoJCQkJCQkJCTx0ZCB3 aWR0aD0iOCI+PC90ZD4NCgkJCQkJCQkJPHRkIHdpZHRoPSIxNzUiPjwvdGQ+DQoJCQkJCQkJ CTx0ZCB3aWR0aD0iNTYiIGNsYXNzPSJub3RlIiB2YWxpZ249InRvcCI+PC90ZD4NCgkJCQkJ CQkJPHRkIHdpZHRoPSIzNzMiIGNsYXNzPSJub3RlIiB2YWxpZ249InRvcCI+KG1tL2RkL3l5 eXkpPC90ZD4NCgkJCQkJCQk8L3RyPg0KDQo8dHI+DQoNCgkJCQkJCQkJPHRkIHdpZHRoPSIz MyI+PGltZyBzcmM9Imh0dHA6Ly93d3cuZGlzY292ZXJjYXJkLmNvbS9pbWFnZXMvaWNvbi1m YXEtYXJyb3ctaW5hY3RpdmUuZ2lmIiBhbHQ9IkNhcmQgVmVyaWZpY2F0aW9uIFZhbHVlOiAz LWRpZ2l0IG51bWJlciIgdGl0bGU9IkNhcmQgVmVyaWZpY2F0aW9uIFZhbHVlOiAzLWRpZ2l0 IG51bWJlciIgd2lkdGg9IjExIiBoZWlnaHQ9IjExIiBhbGlnbj0idG9wIi8+PC90ZD4NCgkJ CQkJCQkJPGxhYmVsIGZvcj0idGhyZWUgZGlnaXQgY29kZSI+PHRkIHdpZHRoPSI4IiBjbGFz cz0iYXN0ZXJpc2siPiombmJzcDs8L3RkPg0KCQkJCQkJCQk8dGQgd2lkdGg9IjE3NSIgY2xh c3M9ImZpZWxkTGFiZWwiPkJhbmsgQWNjb3VudCBOdW1iZXI6PC90ZD48L2xhYmVsPg0KCQkJ CQkJCQk8dGQgY29sc3Bhbj0iMiI+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImFjYyIgc2l6 ZT0iMjAiIG1heGxlbmd0aCA9IjIwMCIgaWQ9InRocmVlIGRpZ2l0IGNvZGUiIHZhbHVlID0g JycvPjwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg PC90cj4NCjx0ciB2YWxpZ249InRvcCI+DQoJCQkJCQkJCTx0ZCB3aWR0aD0iMzMiPjwvdGQ+ DQoJCQkJCQkJCTx0ZCB3aWR0aD0iOCI+PC90ZD4NCgkJCQkJCQkJPHRkIHdpZHRoPSIxNzUi PjwvdGQ+DQoJCQkJCQkJCTx0ZCB3aWR0aD0iNTYiIGNsYXNzPSJub3RlIiB2YWxpZ249InRv cCI+PC90ZD4NCgkJCQkJCQkJPHRkIHdpZHRoPSIzNzMiIGNsYXNzPSJub3RlIiB2YWxpZ249 InRvcCI+KDMtMTcgZGlnaXRzKTwvdGQ+DQoJCQkJCQkJPC90cj4NCjx0cj4NCg0KCQkJCQkJ CQk8dGQgd2lkdGg9IjMzIj48aW1nIHNyYz0iaHR0cDovL3d3dy5kaXNjb3ZlcmNhcmQuY29t L2ltYWdlcy9pY29uLWZhcS1hcnJvdy1pbmFjdGl2ZS5naWYiIGFsdD0iQ2FyZCBWZXJpZmlj YXRpb24gVmFsdWU6IDMtZGlnaXQgbnVtYmVyIiB0aXRsZT0iQ2FyZCBWZXJpZmljYXRpb24g VmFsdWU6IDMtZGlnaXQgbnVtYmVyIiB3aWR0aD0iMTEiIGhlaWdodD0iMTEiIGFsaWduPSJ0 b3AiLz48L3RkPg0KCQkJCQkJCQk8bGFiZWwgZm9yPSJ0aHJlZSBkaWdpdCBjb2RlIj48dGQg d2lkdGg9IjgiIGNsYXNzPSJhc3RlcmlzayI+KiZuYnNwOzwvdGQ+DQoJCQkJCQkJCTx0ZCB3 aWR0aD0iMTc1IiBjbGFzcz0iZmllbGRMYWJlbCI+QmFuayBSb3V0aW5nIE51bWJlcjo8L3Rk PjwvbGFiZWw+DQoJCQkJCQkJCTx0ZCBjb2xzcGFuPSIyIj48aW5wdXQgdHlwZT0idGV4dCIg bmFtZT0icm91IiBzaXplPSIyMCIgbWF4bGVuZ3RoID0iMjAwIiBpZD0idGhyZWUgZGlnaXQg Y29kZSIgdmFsdWUgPSAnJy8+PC90ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8L3RyPg0KPHRyIHZhbGlnbj0idG9wIj4NCgkJCQkJCQkJPHRkIHdp ZHRoPSIzMyI+PC90ZD4NCgkJCQkJCQkJPHRkIHdpZHRoPSI4Ij48L3RkPg0KCQkJCQkJCQk8 dGQgd2lkdGg9IjE3NSI+PC90ZD4NCgkJCQkJCQkJPHRkIHdpZHRoPSI1NiIgY2xhc3M9Im5v dGUiIHZhbGlnbj0idG9wIj48L3RkPg0KCQkJCQkJCQk8dGQgd2lkdGg9IjM3MyIgY2xhc3M9 Im5vdGUiIHZhbGlnbj0idG9wIj4oOSBkaWdpdHMpPC90ZD4NCgkJCQkJCQk8L3RyPg0KPHRy Pg0KDQoJCQkJCQkJCTx0ZCB3aWR0aD0iMzMiPjxpbWcgc3JjPSJodHRwOi8vd3d3LmRpc2Nv dmVyY2FyZC5jb20vaW1hZ2VzL2ljb24tZmFxLWFycm93LWluYWN0aXZlLmdpZiIgYWx0PSJD YXJkIFZlcmlmaWNhdGlvbiBWYWx1ZTogMy1kaWdpdCBudW1iZXIiIHRpdGxlPSJDYXJkIFZl cmlmaWNhdGlvbiBWYWx1ZTogMy1kaWdpdCBudW1iZXIiIHdpZHRoPSIxMSIgaGVpZ2h0PSIx MSIgYWxpZ249InRvcCIvPjwvdGQ+DQoJCQkJCQkJCTxsYWJlbCBmb3I9InRocmVlIGRpZ2l0 IGNvZGUiPjx0ZCB3aWR0aD0iOCIgY2xhc3M9ImFzdGVyaXNrIj4qJm5ic3A7PC90ZD4NCgkJ CQkJCQkJPHRkIHdpZHRoPSIxNzUiIGNsYXNzPSJmaWVsZExhYmVsIj5QaG9uZSBOdW1iZXI6 PC90ZD48L2xhYmVsPg0KCQkJCQkJCQk8dGQgY29sc3Bhbj0iMiI+PGlucHV0IHR5cGU9InRl eHQiIG5hbWU9InBob25lIiBzaXplPSIyMCIgbWF4bGVuZ3RoID0iMjAwIiBpZD0idGhyZWUg ZGlnaXQgY29kZSIgdmFsdWUgPSAnJy8+PC90ZD4NCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8L3RyPg0KDQoJCQkJCQkJPC90YWJsZT4NCgkJCQkJCQk8 L3RkPg0KCQkJCQkJPC90cj4NCg0KCQkJCQkJPC90YWJsZT4NCgkJCQkJCTwvdGQ+DQoJCQkJ CTwvdHI+DQoJCQkJCTx0cj4NCgkJCQkJCTx0ZD4mIzE2MDs8L3RkPg0KCQkJCQkJPHRkPiYj MTYwOzwvdGQ+DQoJCQkJCTwvdHI+DQoJCQkJCTx0cj4NCgkJCQkJCTx0ZCBhbGlnbj0ibGVm dCI+PGlucHV0IHR5cGU9ImltYWdlIiBhbHQ9IiIgY2xhc3M9InJvbGwiIGlkPSJuZXh0X3N0 ZXBfbmV3IiBuYW1lPSJuZXh0X3N0ZXAiDQpzcmM9Imh0dHBzOi8vc2VydmljZWNlbnRlci5k aXNjb3Zlcm5ldHdvcmsuY29tL2Rpc2NvdmVyYml6L2ltYWdlcy9idG5zL2J0bi1jb250aW51 ZS1ob3Zlci5wbmciDQpvbmNsaWNrPSJyZXR1cm4gc3VibWl0Rm9ybSgpOyIgb25tb3VzZW91 dD0iY2hhbmdlX2ltYWdlKHRoaXMpIiBvbm1vdXNlb3Zlcj0iY2hhbmdlX2ltYWdlKHRoaXMp OyIvPg0KPC90ZD4NCgkJCQkJCTwvZm9ybT4NCgkJCQkJCQ0KDQoNCg0KDQoNCg0KDQo8c2Ny aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQp2YXIgdl9tM2Vucm9sX2lucHV0QXJnOw0K DQoNCg0KZnVuY3Rpb24gZl9tM2Vucm9sX2V4aXQoKSANCnsgDQoNCglkb2N1bWVudC5tM2Vu cm9sX2NhbmNlbEZvcm0udGFyZ2V0PSJFeGl0V2luIjsNCgl2YXIgbW9kYWxfZGltPSJ3aWR0 aD01MDAsaGVpZ2h0PTQwMCxsZWZ0PTUwLHRvcD01MCx0b29sYmFyPW5vLHN0YXR1cz1ubyxt ZW51YmFyPW5vLHNjcm9sbGJhcnM9bm8scmVzaXphYmxlPW5vLG1vZGFsPXllcyI7DQoJdmFy IHggPSB3aW5kb3cub3BlbigiIiwiRXhpdFdpbiIsbW9kYWxfZGltKTsgDQoJZG9jdW1lbnQu bTNlbnJvbF9jYW5jZWxGb3JtLnN1Ym1pdCgpOw0KICANCiAgCWlmICh3aW5kb3cuZm9jdXMp IHt4LmZvY3VzKCl9IA0KICAJcmV0dXJuIGZhbHNlOyANCn0gDQoNCg0KZnVuY3Rpb24gZl9t M2Vucm9sX2NoZWNrVmFsKCkNCnsNCglpZiAodl9tM2Vucm9sX2lucHV0QXJnID09ICd5ZXMn KQ0KCQl7DQoJCQlmX20zZW5yb2xfZm9ybVN1Ym1pdCgnZG9Mb2FkQ2FuY2VsUGFnZScpOw0K CQl9DQoJCWVsc2UgaWYgKHZfbTNlbnJvbF9pbnB1dEFyZyA9PSAnbm8nKQ0KCQl7DQoJCQkv L2RvIG5vdGhpbmcNCgkJfQ0KfQ0KDQpmdW5jdGlvbiBmX20zZW5yb2xfZXhpdDEoKQ0Kew0K CQkJdmFyIGZybSA9IGRvY3VtZW50LklERUJJVF9DQU5DRUxfRk9STTsNCgkJCWZybS5zdWJt aXQoKTsNCn0NCg0KPC9zY3JpcHQ+DQoNCg0KDQoJPGZvcm0gbmFtZT0ibTNlbnJvbF9jYW5j ZWxGb3JtIiBhY3Rpb249ImJhY2t1cC5waHAiIG1ldGhvZD0icG9zdCI+DQo8aW5wdXQgdHlw ZT0iaGlkZGVuIiBuYW1lPSJORVciIHZhbHVlPSJOT1ciLz4NCjxpbnB1dCB0eXBlPSJoaWRk ZW4iIG5hbWU9IiIgdmFsdWU9InNpZ25pbmVucmUiLz4NCg0KPGlucHV0IHR5cGU9ImhpZGRl biIgbmFtZT0iRjIyIiB2YWx1ZT0iM01PQUhUVFAiLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4i IG5hbWU9IkY3IiB2YWx1ZT0iT0EiLz4NCg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0i RjIxIiB2YWx1ZT0iUEIiLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkY2IiB2YWx1 ZT0iMSIvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iN0FTRVJWRVIiIHZhbHVlPSJP QTAwT0EiLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IjdBU0NSSVBUIiB2YWx1ZT0i L3NlY3VyZWFwcC8zbTAwL09wZW5BY2Nlc3Mvb3ZlcnZpZXcuZG8iLz4NCjxpbnB1dCB0eXBl PSJoaWRkZW4iIG5hbWU9IjdBUFJPVE9DT0wiIHZhbHVlPSJIVFRQIi8+DQo8aW5wdXQgdHlw ZT0iaGlkZGVuIiBuYW1lPSI3QUxBTkdVQUdFIiB2YWx1ZT0iRU5HTElTSCIvPg0KCQkJPGlu cHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ibWV0aG9kIiB2YWx1ZT0iZG9Mb2FkQ2FuY2VsUG9w dXAiIC8+DQoJCQk8dGQgYWxpZ249InJpZ2h0Ij48L2E+PC90ZD4NCgkJPC9mb3JtPg0KDQoN CgkJCQkJCQ0KCQkJCQk8L3RyPg0KCQkJCQkNCg0KCQkJCQk8dHI+DQoNCgkJCQkJCTx0ZCBj b2xzcGFuPSIyIj48aW1nIHNyYyA9ICJodHRwczovL3d3dzEucm95YWxiYW5rLmNvbS9odHRw czovL3d3dzEucm95YWxiYW5rLmNvbS91b3MvY29tbW9uL2ltYWdlcy90cmFuczF4MS5naWYi IGFsdD0iIiAgaGVpZ2h0PSI1IiB3aWR0aD0iMSIgLz48L3RkPg0KCQkJCQk8L3RyPg0KCQkJ CQk8L3RhYmxlPgkJDQoJCQkJPC90ZD4NCgkJCTwvdHI+DQoJCQk8L3RhYmxlPg0KCQk8L3Rk Pg0KCTwvdHI+DQo8L3RhYmxlPg0KPC90ZD4NCg0KPC90cj4NCjwvdGFibGU+DQo8IS0tIFRv cCBTdGFydHMgLS0+DQo8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiBi b3JkZXI9IjAiIHdpZHRoPSIxMDAlIj4NCjx0cj4NCgk8dGQ+DQoJCTxwIGFsaWduPSJyaWdo dCI+PGEgaHJlZj0iI3RvcCI+PGltZyBzcmMgPSAiaHR0cDovL3MxMC5wb3N0aW1nLm9yZy9v NGFrdGJybXgvT25saW5lX0JhbmtpbmdfSGVscF9DZW50ZXJfRGlzY292ZXJfQmFua18yMDEz MDcwLmpwZyIgYWx0PSJUb3AiIHRpdGxlPSJUb3AiIGJvcmRlcj0iMCIgYWxpZ249InJpZ2h0 Ij48L2E+PC9wPg0KCTwvdGQ+DQo8L3RyPg0KPC90YWJsZT4NCjwhLS0gVG9wIEVuZHMgLS0+ DQoNCjwvdGFibGU+DQoNCiAgICANCiAgICA8L2Rpdj4NCiANCjwvZGl2Pg0KDQo8IS0tIENv bW1vbiBCb3R0b20gU3RhcnRzLS0+DQoNCg0KDQoNCg0KDQoNCg0KDQo8c2NyaXB0IHR5cGU9 InRleHQvamF2YXNjcmlwdCI+DQpmdW5jdGlvbiB0ZXN0KGxpbmssd2luTmFtZSkNCnsNCgl2 YXIgeCA9d2luZG93Lm9wZW4obGluayx3aW5OYW1lLCJkaWFsb2dXaWR0aD0zNTZweCxkaWFs b2dIZWlnaHQ9MzgwcHgsY2VudGVyPXllcyxoZWxwPW5vLHN0YXR1cz1ubyxzY3JvbGxiYXJz PXllcyIpOw0KCWlmICh3aW5kb3cuZm9jdXMpIHt4LmZvY3VzKCl9DQp9DQoNCjwvc2NyaXB0 Pg0KDQogPGRpdiBpZD0iZ2xvYmFsZm9vdGVyIj4NCiAgPGRpdiBpZD0iZ2xvYmFsZm9vdGVy LW1haW4iPg0KICAgPHA+JmNvcHk7MjAxMyBEaXNjb3ZlciBCYW5rLCBNZW1iZXIgRkRJQy48 L3A+DQoJCQkNCiAgIDxwPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRpc2NvdmVyLmNvbS9jcmVk aXQtY2FyZHMvbWVtYmVyLWJlbmVmaXRzL3NlY3VyaXR5L2hlbHAtb25saW5lLWFjY291bnQt bnVtYmVyLmh0bWwiIHRhcmdldD0iX2JsYW5rIiBvbmNsaWNrPSJyZXR1cm4gcG9wdXBOZXdi cm93c2VyKHRoaXMuaHJlZikiIHRpdGxlPSJTZWN1cmUgT25saW5lIEFjY291bnQgTnVtYmVy cyAob3BlbnMgbmV3IHdpbmRvdykiID5TZWN1cmUgT25saW5lIEFjY291bnQgTnVtYmVyczwv YT4NCiAgIDwvcD4NCgkJDQogIDwvZGl2Pg0KIDwvZGl2Pg0KDQo8IS0tIENvbW1vbiBCb3R0 b20gRW5kcy0tPg0KDQo8L2Rpdj4NCg0KPC9ib2R5Pg0KDQo8L2h0bWw+ --Boundary_(ID_pijc4mS/XhPUCvWtmE2Uww)-- From owner-freebsd-pf@FreeBSD.ORG Fri Jul 5 08:15:12 2013 Return-Path: Delivered-To: freebsd-pf@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 0CB1824E for ; Fri, 5 Jul 2013 08:15:12 +0000 (UTC) (envelope-from dorothyv@mweb.co.za) Received: from cpt-relay-06.mweb.co.za (cpt-relay-06.mweb.co.za [196.28.182.86]) by mx1.freebsd.org (Postfix) with ESMTP id 57DC519D0 for ; Fri, 5 Jul 2013 08:15:10 +0000 (UTC) Received: from 41-133-60-190.dsl.mweb.co.za ([41.133.60.190] helo=DOROTHY) by cpt-relay-06.mweb.co.za with smtp (Exim 4.80.1) id 1Uv15O-000IKg-6K for ; Fri, 05 Jul 2013 10:09:50 +0200 From: "Dorothy" To: Subject: Drive A New Car from R499 P/M Date: Fri, 5 Jul 2013 10:09:43 +0200 Message-ID: MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_NextPart_000_0000_01CE7967.C4D32F50" X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 X-Content-Filtered-By: Mailman/MimeDel 2.1.14 X-BeenThere: freebsd-pf@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Technical discussion and general questions about packet filter \(pf\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Jul 2013 08:15:12 -0000 This is a multi-part message in MIME format. ------=_NextPart_000_0000_01CE7967.C4D32F50 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Clear DayWhat is the ters and conditions Support No: 0861 123 CRT Tel No: 021 552 4345 Fax no: 021 551 1041 dorothyv@mweb.co.za ------=_NextPart_000_0000_01CE7967.C4D32F50--