From tkato432@yahoo.com  Mon Aug  5 18:02:39 2013
Return-Path: <tkato432@yahoo.com>
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by hub.freebsd.org (Postfix) with ESMTP id 3D99432C
	for <FreeBSD-gnats-submit@FreeBSD.org>; Mon,  5 Aug 2013 18:02:39 +0000 (UTC)
	(envelope-from tkato432@yahoo.com)
Received: from omta02.auone-net.jp (mail-or2-f145.auone-net.jp [111.87.219.145])
	by mx1.freebsd.org (Postfix) with ESMTP id 97A9B2C6F
	for <FreeBSD-gnats-submit@FreeBSD.org>; Mon,  5 Aug 2013 18:02:38 +0000 (UTC)
Received: from localhost.localdomain (ZT034070.ppp.dion.ne.jp [59.128.34.70])
	by omta02.auone-net.jp (au one net mail) with ESMTP id 3DAA2156000A
	for <FreeBSD-gnats-submit@FreeBSD.org>; Tue,  6 Aug 2013 03:02:19 +0900 (JST)
Message-Id: <20130806025503.2fbef238d5a6b9ec6f44a585@yahoo.com>
Date: Tue, 6 Aug 2013 02:55:03 +0900
From: KATO Tsuguru <tkato432@yahoo.com>
To: FreeBSD-gnats-submit@FreeBSD.org
Subject: x11-toolkits/blt: Fix build with Tcl/Tk 8.6

>Number:         181060
>Category:       ports
>Synopsis:       x11-toolkits/blt: Fix build with Tcl/Tk 8.6
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon Aug 05 18:10:02 UTC 2013
>Closed-Date:    Sat Dec 14 14:28:04 UTC 2013
>Last-Modified:  Sat Dec 14 14:28:04 UTC 2013
>Originator:     KATO Tsuguru
>Release:        FreeBSD 8.4-RELEASE-p2 i386
>Organization:
>Environment:
>Description:
- Fix build with Tcl/Tk 8.6
- Add LICENSE

New file:
files/patch-Makefile.in
files/patch-configure
files/patch-src__Makefile.in
files/patch-src__blt.h
files/patch-src__bltBgexec.c
files/patch-src__bltCanvEps.c
files/patch-src__bltColor.c
files/patch-src__bltConfig.c
files/patch-src__bltContainer.c
files/patch-src__bltGrAxis.c
files/patch-src__bltGrBar.c
files/patch-src__bltGrMisc.c
files/patch-src__bltHash.h.in
files/patch-src__bltHierbox.c
files/patch-src__bltHtext.c
files/patch-src__bltImage.c
files/patch-src__bltInit.c
files/patch-src__bltInt.h
files/patch-src__bltNsUtil.h
files/patch-src__bltObjConfig.c
files/patch-src__bltPs.c
files/patch-src__bltScrollbar.c
files/patch-src__bltTable.c
files/patch-src__bltTed.c
files/patch-src__bltText.c
files/patch-src__bltTkInt.h
files/patch-src__bltTree.c
files/patch-src__bltTreeCmd.c
files/patch-src__bltTreeView.c
files/patch-src__bltTreeView.h
files/patch-src__bltTreeViewStyle.c
files/patch-src__bltUnixImage.c
files/patch-src__bltUnixPipe.c
files/patch-src__bltUtil.c
files/patch-src__bltVecMath.c
files/patch-src__bltWindow.c
files/patch-src__tkButton.c
files/patch-src__tkFrame.c

Remove file:
files/patch-aa
files/patch-ab
files/patch-ac
files/patch-newertcl
files/patch-parabuild
files/patch-use-tkInt
files/patch-warnings

>How-To-Repeat:
>Fix:

begin-base64 644 x11-toolkits_blt.diff.gz
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
yWg26YHZz020MYymz/70/wHUZLIdgD8DAA==
====
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-ports-bugs->miwi 
Responsible-Changed-By: edwin 
Responsible-Changed-When: Mon Aug 5 18:10:41 UTC 2013 
Responsible-Changed-Why:  
miwi@ wants this submitter's PRs (via the GNATS Auto Assign Tool) 

http://www.freebsd.org/cgi/query-pr.cgi?pr=181060 

From: KATO Tsuguru <tkato432@yahoo.com>
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/181060: x11-toolkits/blt: Fix build with Tcl/Tk 8.6
Date: Mon, 19 Aug 2013 02:51:28 +0900

 This is a multi-part message in MIME format.
 
 --Multipart=_Mon__19_Aug_2013_02_51_28_+0900_rRxpM_fxp6LQa8a9
 Content-Type: text/plain; charset=US-ASCII
 Content-Transfer-Encoding: 7bit
 
 Remake of the patch against current tree.
 
 --Multipart=_Mon__19_Aug_2013_02_51_28_+0900_rRxpM_fxp6LQa8a9
 Content-Type: application/octet-stream;
  name="x11-toolkits_blt.diff.gz.uue"
 Content-Disposition: attachment;
  filename="x11-toolkits_blt.diff.gz.uue"
 Content-Transfer-Encoding: base64
 
 YmVnaW4tYmFzZTY0IDY0NCB4MTEtdG9vbGtpdHNfYmx0LmRpZmYuZ3oKSDRzSUNOMy9FRklDQTNn
 eE1TMTBiMjlzYTJsMGMxOWliSFF1WkdsbVpnRHNmWHQvR3NlUzZOLzRVL1RSeVVsQUE3TFEyMWJr
 ZTVDRQpaTlo2TGVEWTJaejhkQWNZU1JNQnc1a1pMR2tUMzg5KzY5R3ZlWUFBa2V6WjNmaG5HNWpw
 cnU2dXJxNnVycTVIejcrNUVaVnhlQ0ZlCmo2UHc5U2dJNCtqMVk3VmFpWU9nZisvRGowNC9mbjN1
 M25zM2Z0OFRFOSs4cWxRcU00RW9iS3hYTnl2cmU1WHF0dGpZZUx1NSszYTkKdXJhdS9naG4vYzM2
 K2l2SGNjUU1FTjZJOWZXMzlEY0Q0ZTkvRjVYTjhsWlZPSnZsemFyNCs5OWZpVmZpNnJMWnZxaWQx
 dzhLQUk5LwovbEJ2dGhxWEZ3ZUZqYld0LzN4VndVZk4rZzhOZnJiN3lraysySHNsam1ydCt1bGxz
 MUZ2SFJUc0xvcjQvbFhsdk5acTE1dlhyVVliClg3ZE9Ybi96cTJyejYrdkRzemIrKzl2R09qK1ZU
 WDhWLzNoVktSUnU0dEhiMTYvaC83VnUxRitMZ3VIVFdqZFkrMlgwZWpUdXZMNy8KcGZzNmp1Tksz
 KzlFcjE5Vlhqa0xOZlJLSERkYUVnSHdQdjBTUmw5ckg3MVhRTC81MVdya3VuWDVzWGxVUDdsc250
 YmZIcjMrVyt2ago0WEdqK1RlNzJYOWdtLy9JYmZqMS9HTjBmcisrd01ScjJOZGNHVnZRbGVYN2s4
 WVpOZzJVZ3FSUkdibHg5NjZ5b1NvakpxOWI3V2JqCjZrQlVSbFdrcnZOYTQ2SU4vK29BamhiQjMw
 OUN6enRzSGE4RjRlMnJ5dEhsK1huOW9uMVFxSW4ydmZBZVkyOFkrY0ZRRkIvOCtFNUUKZDI3bzlR
 UU92Z1FUWERsckhGNGYxNi9xRjhmUWgxOUczdTFiN21FTGV2djE5VzNvanU3OGJ2UWEzN3h5Tk9q
 bkFNTWNmMnpWcjgrTwpqeTR2VGhxbkI0VW5MK0pIdFkvdHkvYmw1Um0wQmtXUnFGODVaNDJqK2tV
 TGlhVjFqRlUvTlQrMG1rY0hCVUFXZktXT1NPeThxcHhlCmZMeG1vQitiZFFuMzZPU3NkdHB5RGdx
 VlQyNi9MeXFmaGtGbFBQU0hmdXk3ZmY4L3ZaNWRwUEhOciswUDE0MkxvN09QeDNVZXBEZjAKUXI4
 cmNsNEJsRWZzMyt3NGtpTnZmNER1NzIwNXJ5cU5peDlxWjQxamVITDlBODdZM2c2WCtBeGtSU3Y3
 bFpNelhvdE1zc3RuRkVSeAp4UjlHTVl6MkxkRDdONytld2VxdVJEZUlmYURGalMyZytiVk5BVFdi
 OVpQRzU2K3Y0ZmxyNjExT25iNGZlOVBxNmZkSU5Ib0NybXROCnhHcWw0ajE2M2V0UkNIeno4VUJY
 aDhYb0VES096cTRQUHpiT2ptSDAyNDU4OWlINzZPZ3NVUUF4cUg3bGtVMnlGekMxRTNzaEN2aHkK
 NkhiNlhnVm5DVjZlWFI3VnpnNXJyYnArajFSY2lidDllSWtkaGtuSG1VaSt2VDhnRWpIdmtQMXZi
 WmUzZ2Yxdmw2dWJ4UCt0NHJnYQpFbzBSUnRNdCtzTnVQNUxOV3RTWGFscVhTcEFvb3llNTBBQm56
 eThKNTBWTDRwV1RKRUpuQVNKMFhrQ0V3QWJYRUNIam5pZSs3MFM5Ck5XU0VhNFA3ZDY5Nk13a2F1
 TDlIcjVuWHF2MGVBSXBaQ3o0cmhreW9WNmkrMlYydnJGZmhyMWgvTTBHbXlKVktKZ0djVlVoWkw4
 T3YKYXJsS01vcUQzYmVnd003aDMySzdqdjMwbFNQSmUxYzQ5RC9XRkhMT0t6enZvbERzOWtRVWR2
 ZkZOOFh6Mm9kNlNSVW9xWmN3ZDZFYgpQdVVWcUZDQmdUdk1lK244OWEvVFhqUHduamNJb3Z6WDN4
 UWJGNjEyN2V6cytyaldycFdnREhTejU0ZWwxODE2N2ZpOExxd0NqV1lKClhuZERmeFJqaWVuVnI1
 cVhoMmYxODlZMEFQT1RvZXVLWjk3UFJYU3VLMGxqcDdJQnRMYjVkbnZyN2VhYitXa040TXhDczBn
 cDFmSTIKTUVJa05DQ1VDbmEyR3d4di9OdHg2QkdCRlU1Q1gxeDJZeUcyUkhYejdTYjA2WTNZV0Yv
 ZmVGWEJidWpDaGZiWUV5ZGVCd3FKNmc3MAordTNXSHBiYmZWV2haamJXTjVBazVTZTJKZjZLLzRT
 b3JnR1VBUkFNVXQzUUUwWEpQYnMzZmZjV0JSNHN0QUdGM080ZENDdGYzTkRIClRVRVV2NEZoWDNl
 L3dPWVIzRjdyMGhVb3Zia21JaThXY1NCV0twYzdLOEsvRWVQSUg5NksyMjVYMXJ0enYzalg4Qk5x
 T09rYUc4L1YKd0I1dHJZa2d2dlBDQnoveXlrRFNOKzY0cndDc3lORjUzYnRBZk9OMnI0ZGlCVHJm
 dlVlSXFpZ01lZ1J6RmdycStjcksydG9hbGUydQppT3E3YjNjVTNxb1NiMVdOTjY4UHZZdTlLQlly
 ajkvOG1rWEMxeFh4bHdONHR5TDJCZlFRK0o0UWduZU9nOXp5U1poY1JJMFdnQUVzCjJLRU10SXFH
 QnNnRjlGay9Od2hVNU5sTlZpN2gxNDNQNDlrRXVpenZ3TTZMbjNJOFFsampnYTMxbW9ucU9ycWp0
 cFBqRU9JbUNBVXMKVjJBYmVIQ2dSK0wvOWlOUjZZVzgwUHBCMSsyL0JrRDQ3NmZkeXB1ZjEzNWFo
 LzlYeGNhNzF6M3Z5K3ZodU4vL3YxalptVlFadDYvbgpLblBMeVJiem5pZWZTVFJzdk5rbU5HeTgy
 Y2xIdy8yL0NoYnVsNHlFYjM1OXZPYmR4ZmNpT3ZzUlFqWjMzeUNkYjI3dVZSVkNrR1pBCmNvYUZI
 M25pbTlnTmIyR0Yra3lBcTVWb1BBeWlyZFhmVml1cmxhRVhnenp4MjRVWHcybWtzdnFiUEZ2QnQ4
 dVJOK1J2V0s3N2RQdmcKRC9uN0FOYml3MnFKaGo4ZEdqNjdBWWp3Y0NhQU5Fd3BqbDdUaVhvRnNN
 S2k0bm50M3k2YjErcGdJSjgxTHF4bkt3ckFCN3YrUGNsMAptZG9mSmxUZTMyZTBibFdyVlpJRXF0
 WE44cDZpTTR2U3ZzR1A2K0FlYVF3V2VZTEVoR2k5eHk3SWRieFN1Um41M1pYVVN6Z05yUFI3Ckt6
 UXA5dE5yVmVtUURwbkVzU3VQSzRyYW5pa0g4bVV3ZEFlZStNYzNmMC9YYVgwOEFSSHpZSVZFVHRV
 ZG9oVTFjckhJVHQ1NVprdnQKekxlVGQ1YTBrM2ZtMk1rM3RwSTdPY2crQ0xBTnRMdlc1ZDI4TlI2
 S2xqY1NHeUI1N3I3ZDJucGIzYkIyODBTRndua3dwSjBmZC9UTgp0N0NwYjIxajJVMG1MV0JjVmVC
 Zy9FR0VoWnNlYkc2NGh6ZnJkRkM4UHY5NDFtNWNuVFhxemNJbWxhajhGVWl2MkdyOFIvM3k1UHFI
 ClN6aGpYNG1EQTdGSEc3ZXFYTHM0dmp5SEE4eHgvWFBSTHhVSzc5M283bkxvZlFyQ1huSGdSdmV3
 M1FZUHcrak92NG5Md3JlckhqYmEKcmF0Njg5Tmw4N2hRMk5uQ043Z2RZY05XNzBEOGE3YXZ6eTVQ
 c1IrRndyWjR2U29hZk13U2Q5Q1dpSWtNSXpoekNUOFNteUI4ckw2Mgo2cC9YUHNQYWJMV3ZmNmlk
 ZmF5M0NqRFZDT0lvR0g3eFFwSUJMQ2dQc0tERU1PamhubGlBUDBpa3F5REY5RUZlNnZ1d0JvR3JS
 YUxqCjM5NkNLQkRmdVVQNHo0OFNoVUUyZXVJYWtld0pUQmZLTFJOeDZTeU9TMmNpTGgyRlN4Z3Ny
 clpWMGI3ellDUHE5NE1IRkd3R2JqY00KWU5UM1hpUmNBVWY2dmc4OEVVNFJ3TFJqRDRkSGFPR2hn
 N2pITUVBUTZZMjdXR1VJNVhyZUk1WU9BSURCSWFCbjNMMEg1by80V2hQVQpyTi96WEppY1JWWjY5
 NWtsMTUxdnBYZVh0Tks3YzZ4ME9CRW1WbnI2V0ZqNEJKSXlTdU1ic0hiMzNtN0EzMDFjdTl1OHp1
 MnphTExrCjVzYmI2aHRaTW51UXJDUVBrcFZwQjhuS2N3Zkp5clNEWkdYNlFiSXkvU0JaZWRsQnN2
 TEhIeVQxT1VyTVZtd3VFaldIdEtWb01neTQKT2ZVWWNOSlVlb3prSVpPMUdHWndUdjZSMFlGRGxU
 UExrZEdaNjhqb3pIMWtkT1krTWpyUEh4bDVkQzg2TWpyNVIwWm4vaU9qODl5UgowWm5ueU9na2o0
 eE84c2pvOEpIUlNSd1pIUlRwblB3am96UDdrZEhKSHBhY2x4eVduSmNjR1owSnB5VW41N1JrUFpO
 b3lCd1puWm1QCmpIOHdGdTZYaklUTWtkSEpQekl5elFqNG16NHlPa3M5TWpyTFBqSTZMejB5T2k4
 NU1qcnE0T1RrSHhtZFdZNk16clFqbzVON1pIUm0KUERJNkN4d1puV2xIUmtjZEdjM0lGemt5RHIw
 SEVQZUJlR2NxTmRlT3JTb3RSN1RVME9ZUU1QZDJjcytTRjlISDJPK3YzUlh3MEZoWgozNjFVOThU
 Nnh0dk5iWkFjTFZDVjlTMEFaWjhwcllwVjZnT2NHcXRWMUJOdnJDY3FibU5GSXNSZElzTmRwYmY0
 cXplRU9lSlRwRHo4ClpKYUgrRjdzaWQ5K0U1azFBaTlBb2hYMXorMTY4MEswWWNjNGtnSUVmaitC
 ZzRmNmZWMjdhRFhvZHZLNldNU1hEVGk4aENPeDZ0Tm4KR2FYREx0Q2RXRVZxSzFQOUMvZ1dqZHl1
 QncranF6Z3M0eG1HTitsU2FaOU9UcnJ2K2hSNTBicHUxV3ZOby9mWEY1Y1hjQXd0cnBkNAo0RHRi
 NWVxMmNIYTJ5eUJYMGRDdGJsdE40YzlUTHo3dEJ4MjNiNTQvTXdEcWtENkpaekg0VHAwZ2MvR0w1
 MHQ4V1ZCdnB5TTUxZHNqCldLMnhOM05YeTNoR3NIRjkxUGU5WVh6c3hxN282cStwS1RqMitsN3NY
 WVZCRnljRGZ1RlhHalJRVFVYMjdVdmc4OHh6NlNrOVNrOHQKenlleURkaHNnUjArM3oxWmZNWk9p
 cWtJUkVKZEhIMHBnRENBMkh1TU04U2FQN2daSzhOZjJYMThnWlhxajhqd1p1aHNGazFxT2VWMApD
 amdiVkJ0eSs2RUhrdmdKZEVLdXRvTEZLaGJyemFSK0pCR2EwL1p5Q0N4RkJUOUFrNW5weDRmUERz
 UHFMVE9YdlYwMGZIaXpVZDVtCjFsTElxM1YwQ1NkYldSY09UeGQ2c0dhaWlZTVFtbEgxbGM5R1NG
 ZmxUQ3Qxb0VvSmhtZzJtaU4zK0tVK2l0YTZjcWNobThEMTZ0dU4KamJmVjlhazdqVjFUYnpVYm0y
 ODNkNUticDdYVmJHNXNrVGtJZlRCYWNMUVBmaSsrNDRIZmVmN3RuYVIyZjNEN3lieUJYKy9wSmFN
 bAppdDNZNzlJYjZNUlJFSVM5YUFacXU3L0dicnNSU0s3NFFaUUdEeHV4TnhDcndvY1B2YTJBVU50
 VkU3c0tQNzR3NFUwdmpvMWVkbjZCCmw3eUlnczR2WDM3Nk9hL0w3YUFHWERyVjVYVDNSTFl4UkZv
 dkdLTXd0aHA2M1ZpUk1vdnFWWmJVOWQyT2JKT1dDZXk4bzNIc1FkdUgKbmVEeHVaYWhHTGNNaU5m
 THhSckNrZElpUU1IZkdmRVo1cmZJSEdRV2xqMFcyaThYSDBnVWgrTnVMT1lrcEZscXpVQlBOTGZN
 L3JJagptSkdnanYxbzFIZWZ4R3FQdjJpS2VsUGRJVDVHSDN5dFJXekVJQS9HcjlGWDFPeFF0cVpI
 eEtPaHdjUFFaNjZBdzlVM2ZabloyQzhVCjZFWUJ2NGN3L0pDTzNsNFl3ditoaC9zUG5QdWtKcDhn
 cExEQjllVWp2RTBJK2owQlFqejFndXNSRGpZMm1KY2JaazUzQnF1b09oY2QKejBPRnVqWWVFNTBu
 QU4vdmU2SFZzcHBRYUJHYnZCZ1BPdERiNEFZZmpnY2d3VVNvTFVEMGNDV3FaVkVNOTdTbUMvYzgx
 SUoyVUdlRgpQTUFkM3ZZOXJxazM5eXpWekE1RS9DcjdyWm1BTjhJOUUwNmlSZjJvSk9kS1VjcnVS
 cmtLaHh2OGZHTnVRS0VQS0hONVVZVG5WMnU4CmdHODRPL1Z4M1BnQ2dXRTNnSSt2NmFxdldaaVV4
 MktMbkVFY0o1YWZvUjlFMWsvcnNOaS9MWEtYSys4ZVN5VlV1dUdtZVBtaEJLY1cKMG9qUENLcWFB
 UFdVQUZWQ05EbHpkRTRlSkZweENEZ3YwcVNzLzF4NnBxOU9ZVEhJMVNUa25LNkxBaXlhY1Rpa2gv
 Vm04N0s1THpILwoxVUs2emVlbkwxZFJFUnVNTnVIZ3QvV1NoWjU1d2VBWURCaFJzTEJDWGRjTXI1
 Z0JBdWlTL0t3WTN6LzRRODNNcXV1YmI0aEc0Y3NlCmZwbkkwR2J1TEkrM0xKUlZsRE5QVlJ5anFU
 cVZ5WDJNZ0xPOGdMdmhNY0lGTGdWclhYWWlXVk51OVhKRlU4MzZWWXRYSmF4VVhKanEKSW1FR3Jn
 WnprMkpxODNLMStBNytKeWFSYW5ncWY1c2JtaDRHVFlJY0J4NHlxUERJamVnVE1hdnFnVVI2NjhX
 R1RUSmRiVytXdDVDcwp0aE84Ny9RSWQ1UFRvMzJySVNucnNweXJUNEdFRTJJNGlNK2YxWE9TZStW
 cFQybVdpejV3NGZWOTRZdnZHZm5DZHh5a3ZBTFY5MytHCjF6bnN3UDlablhmd0Q2MExMS2hvcG8w
 UDVGTFN5Nlg2WmhNM3ZpcGVDRXplL2JYNFBldnVQM09GV1hiL0pTOE1zK3RYNFR4RW85OVkKMTZl
 VnFVVGZ4VEg1UXhCc0loR05SNk8rRHoxRE15b3RMankvdjRjZ2d5VkJ2UldQMWJKNHFwWm5JZjJw
 MVhVM0hvR3BQc0Uvdk5WSwprUEZHZFJOdlB1QVRMNEpZMHBGSGpVZW93cDA4RG9iZlFiTmZ2UEFo
 Qkl3SmxKbnNvUWREbm9wSW5UY3JoYm4zN3NlY0hSc0hQOWV1Ci9aVGRxd3N2M2FnZmM3Ym5HVHMy
 Y1l0K3l0bVlFV2JlNWx6NEtxZHF0MG9uYWZqY3M0a1R1MEd5TmZMejl0UElLMzdyc2J5R1AwcUsK
 RVJrN0hEUzk2WTZqT0JqSWpvcGdGS1BqVWhpTVlSa3BReGlxRmdOYnZLUzNheU0zakZpdFp2TVFl
 SCtsWGlnV05xRVNJb3dmNnhvZwpVVTRFSmRLZ0FJbHhidnZxQlZiNml2NDRhTVF5Q2dNZzRrRVo3
 WDVpRkRjalQ4UVBJUENQaC9ld1dEM2U1S0tnLzRVTWtYRC9nRlpZCmxxZWI1RmVWa1JlTStsNVpk
 TWF4R0ZMWk1lRUppZ2MzTng2NmQ3bkRwd2NvNjYxaHM0VzdtQnp0T3VQYmFLM25kWHdYTFVadVgz
 ZHYKL1Fyc1NmaWNlZFVhUFBrLzhPdGdlMk9ydXZYbXIxdGJzdGZRUis1Zkw5QmR2UEVmNVdiR1Bl
 blJZcVMzSVc0bzFBZjNDVlkyQXJIVQpQTzlSaWFpVlBMdEFRR0o5KyszMlR2Sm1JcXZrTWZWWXhZ
 UG1MWnR2dHpiZXJrOVM4V3h1N1pHT2h6L3Rjd0NLK1FRdUlkOXIrZmt1CkprSDF4ZytCcmNHS0FN
 WnlndDl4blFuMXR1L3FsMmZ3TlNXRHEwSkF1TUFNeGJmZkxneFdya05rOWpDOWtSZnZxNSsrMXJY
 czd2SkEKZHcyMy9Kb1NvSTlEOStIS3ZmVzRIYlJGNk1mdWoxcjdtKzB6YmVTVGEvRmRtemZzSFFh
 MzQ2aitCUWhWeXJpOHVVdHl4OXNvT0pqMgpnd2Vpenc3dWNMaE5ockRNbTE3dnZSdExBbzJZUXY4
 VERtTHVHdEF3TEkrMWJqQjRIZDBGRDlmd2dvalQ3eDFzcjI5dDd1MjlxbnhDCkk3dllyQ2dVOE5y
 M2xiMjFiV3dJcU5QcmxlazlOLzRRaFBjVkYxZ0pHcUVCZjRISHdOWUdzSG5Jemh5ZXRkT1UycllK
 ZGErQ1JwSGIKYjdlMjA5ZFhhVUp0WitsMEhhL0xOaWJRNmRZYm5EejZYOVBvVGVqZThpa1h5WlRK
 Qmg3QnRPeGIxdUMyQUtiTERVOUNGQ0JSRmlzcgpPQ0NXSVJYUkJkRDcyZy8xNjQvdEUzbmhvMzRT
 aVNLSGw0cmE2NHVQNTRmMUprQldUNHF3aXNyckpUb0Q0Y0VHU09NSTVJYW9LRFUxClFCM3dDTzlt
 eXdKbHBodVFaM1FQS3UvbzdrRHRLUHBwRjJZRVNqM0NBVXMvd3gzZS92MEVKRFgvWFMzd2VMY3o5
 a0VtbUszWVhMZTEKdXRaeXJtc051Tm52YXpmM3N0ZTFTWTh6eVYrM2tiOXVWdFAwbHlEYmxLc2FF
 KzZXcUc2OVhkK0RRZVVUYm5XUHJZNzJ0Si9LTjBXMAp6QW1HL1NlMDNyaDJTMjhGUENPQjR1THN4
 K3ZMdzM5cjJZWjFnQWJjL05lNmJIOTNkRlFTbGE3QUw5ZXRUNDMyMGZzNkZLOGNxL3J3CkZWWXBH
 ancwYTgwZkQvNng4azNSK2wzNnh3cTZGbFFLaGR3R25Oem5vaElJK1FPa29rdm8rRnJBbldtZVEw
 OFJ0ZkM5MXNUdjJaRW8KTUFHQ2Y3Wll1b0hhQmZTY0d4R00wSTBOOGxIbEQyVmczZTE3N3ZBdGQ0
 UTZWVXcxRGs4WTJWbjBrNi9IeEhycGZqMERTQ0FHb1U1MApWMW9WOU8zQnArK3JJemlOcm9vMSt0
 QW1vdVJvYml3MWFSZ2w2OGFIQytTUTdIYWxDcFMzaTdFZ3FsTklOcmUrVGJuVjlmUzlrYUhjCjdY
 V2lYUHJJbzl3b0FOSk5UK1RDVkdyc1JIOC9HbFdtTWpoNVNiT1pFZ0lBdXJRSkprV2hra3htaG1H
 VFRCWVVFUXJYMXkvSkp1ZXEKZmtSWVZDZUhIVDQ0YUlXK0luV1JJbG1tUzVpVG5HbXlLRkVvOHBR
 NFR0Q2xJUFFtSDAxZUNyejBZR09MdVUvY3RRVjJJWmpOQ2xQcQo3QTdNK1hYbTJwL3lRU3huczVv
 Syszbkw0T3A2ZVJNVlZPaTdnbjc0WWhLbGdHeno5MG52L2k1MHhaenl1Y1dPeFVGQnZULyt1elNj
 CkJhbnJEWFNHUHNqdURmN094QXFjNWJBQ1p3SXJjT1pnQlk3RkNwd2xzQUpuZWF6QWVZWVZFTDVW
 ZEFJeHVJZlJSdHJoQUpDdnY2UFoKdjV5eVhmSlA0QTl0cW9oLzRBU0tKc1dTaVRoTFlDSk9sb2s0
 OHpBUkdsNkdpVmc5VXhPOHV0Wng3KzNmLy9oLzFxK1Z2NjZzaXNWNAp6L1gxUEZ3blVYcGVmcE9v
 dkJ5M2d3elVPYjBQTmphMTkwRkt5TFY4RUZKdkpKWHRWWWt4ME1jRXhqQzdkT3NzUzdyOVhkakY4
 OUt0Ck01ZDA2NlNrMjdrV3VmNXg1N2s5TDR4NE9qWTJ0bkRSOHdkTkJ6VHh1VmsvUVh6anArUk0z
 eFNQNnllTml6cDlsZUZRNkh1cnFkbU4KNGc4THl0UE9zdVJwWjBaNTJwa3VUenNMY3daNHVIWW5a
 aXczUHplZ2FrdmtBd3h2M2pncVd3a09RREJTYTUrSFIyUzJ2WTJMbnY1WAphejUrR25rOTcwYmVr
 QnoyNCt1UGZvK3N4eDFsWnlnZjB1ZXBGK1BYaE9VTFY0MUkyNDRYd0k0emEwWEwrTkdxTG15RFE2
 eUxqZ3laCnlncjQyTzlScmJ6ZW9uSGhZdDNOcnptaHYram5OTTN5V0k4SWxab1NHWFNEZEJJR0E3
 eGhldFlVNmdWTDRQQVd3MUd0ZGNWY3BSZGEKRHFyeWNoZUZoanJuMHRqTkxBMEZLYnRBOUxEVk10
 bWxaV0lKWU85ckY4ZG5kWEVuTFd4dzJyOEs2OGRmMmVHcm90WVRUclY1N2FqSApJNzkzSFNmcmtW
 MXZrb2d5S2twYlIxbEZIYVZRam5GYjdCZW45dzFyU1V1anQxK1Z0d3YwYUVoWHFQdlNUOFZZMHU1
 TDc1SzBqVFFQCnMrWGZEdDErUTdJRmRTV3Rub3BJZm9sKytsa2NjTDkyMk1sMlp5dUJ3OGdmM3JN
 S0Y1MWFEb1JxSWZHT3ZBVVB4RW50ckZYUHZMenAKd2F0S1ZRM0FQTWRnblhqVlJSYkZmYTkwOGZI
 c1RBMHFYV285QTdiekZOTXR4b0Y1eElOc29WVnlwamg1MFI4STJJcXZEeitlbkZDYwp4di9JZHRZ
 YmRvTWUzbllmQ1BWVk9pVHRybThpZXZpRHQzdkY1NHJwVHBVVTNLKy9IektlNFY3cS9rVFhKWXVo
 dnh3SUJGd2lBaXVFCjNpMmNBN3hRR1ZMUU9QZDRKZTJacFNTWENkdG9zMkVSZHZHOU8rejF2YkJv
 amExa3I0NUs0Zm5SRlhLSFZzaEJsMXBybnpDR3dPSEgKVTdtVzFuZFozY3Vmc3J0eWRkS2xxRC93
 Z25HTWpaTU5pL2hXZkxxNEJNWndXaEwvUjZ5THQ2SnhBY0pabzIxSUFZaG9IRUdGVDY0Zgpud1Jo
 eTBmRFArRDRYamVHZmNqdjk5WVVReWtyOExTWGtma0FqQ25UVVFKN05RNzlteWU2ZjcwcHJueXFO
 ZHBYamVPMzRnRWFVVTM2CmtmaGI3eC9EbGJKOGtNQW1qWFp6blZ3TjVhZnRFMWMwMHpCd3czdnh6
 aEFOWHQ2ZHc3TVMzcWFRNUdiUUsxSFNhbHg4dUw2NGJEZE8KZml4SjJoZ1BrVVY0UGNsWWVtN3Mw
 aUNSVlByZThEYStvL2t6UDlYa1llVUU0U1VhNGJWWFA1YXR5TnQyUURONVVGYzZUeFh5cEI2UApl
 bWd0VVNaVFVYRVJ4SUM3eStGSGVzcm1MRzczVHFsTGRzbXFXMzR5Q2VTdmpZTURzVnRTelRJeHh3
 RG55dTlGeFdwWmZOdmhxNTBSCnpDNHNZcllKTXJ2RWhGcEUxUEJEckpaeTZ6dlAxME5qaUZFY1hz
 ZWxTVDJZNnJxd2l6ZkZkaWtndmMwTmZsajQrZ0l4Ukxzd2lQbUsKTHlTSUdIK0pwVW9pQ1RlTSth
 SWQ3cVpsRVEwcks0eVlzVXN2NlUwS1N5TS9pU2h0ZS9UR3dMMzFqdTdjNGEzWEl6dU5oRFE1d2I4
 TQoxOW9qZnp5VmFaa3Q1QnppTE0wNXhKblBPY1JaMkRuRVdaWnppSlBySEtMQnkzZlV3bFdBamIy
 b0NiTDdTcmV4SEY4VFo1bStKczdDCnZpYk9NbnhObktYNW1qZ0wrWm80TC9VMWNaYm1hK0xrKzVx
 a0d1QVhDN2JBYmlzVWNkaVJueXhJckZhVzhvZEF2VTVNS3N6TG5ENHcKenJ3K01NNkxmV0NjQlgx
 Z25DazI0azF5Mk1qVTJ4ZUNOWW1rYjV2WlY4Wlp4RmZHV2RoWHhsbUdyNHlqajdLeitjcG9iSDd5
 aDczZwpnUzJ4NWNua0RRaDQxUTEwb2RHeGlLVzVwcnB3V2NTWnh0SEdkazVGWW11WnpqVE84cHhw
 bk4vYm1jYjUzWnhwbkR4bkduMUVYbzR6CmpiTWNaeG9uNVV6anpPMU1rejlZNldHelJ5UU1YM2J4
 eXgvQmVSZDExbkVXZDlaeEZ2ZEpjQloyMW5FV2ROWnhGbkhXY1piZ3JPTXMKMVZuSGVaR3p6dHg4
 V2pyMmJKQkh4UHAya2lOcjVVRS9vRUJrNTI1MHI5YTc4ZnB4Sm5uOU9CTzhmaHpiNndjVkxjOTUv
 VGl6ZVAyUQp5bUlXcngramJNa2lVUzhQQWxLV2M5TWFlZDFJcmhDSnN1cWJEYndBUXEraEhYVVQ5
 RHR6Z0RrOWtKeDVQWkQrME5YKzdGS25SdzkzClFlUWwvRzdjMEVQeTczaVd6QVVpWms5QW53WkJ6
 Ny94dmQ0czdHQ1NHNU9UZFdOeUZuRmpjbDdteHVSTWNtTmFiSUZqN0w0OWNubmEKU1FYaEt0TDJl
 WEFnTnVRbStUSlBLTHE3WElJbmxMTU1UeWpuZC9DRWNuNEhUeWhua2ljVTZmM2dQeTNxd1NRL3Fq
 bmRsVzVzdThxTgp6WkRHcy81UnprTCtVYzRpL2xITzh2eWpuRVg4b3h6eEl0VnAwQS9DbVJXblhI
 Z3h0U25YWGJMU1ZBS2QxN1JwWnlPak1tVklPUXBUCk9XYStXOXN0Yjc4UnpxNG1TRlJucS9oa1I1
 ZG5sMDJNYnIyOXcyd0MvbHJxRVBnRnErWEtCUkU5OWxwQWtGRnhTTUJoS1EyYlhvOEQKb1ExUFF6
 aGN5KytIR01JYUZXbnE2SUczckZ4blA4UHU4U2tzc1g5Q2xWaHRFWldFa0lQVlYxVlR4S09MZUNk
 a1FVSDNOd3lhR2d4UgptcHNNUTNjeUY4b3R2cDBKamhwZ0xwZ094cjNPUVBrMUR4SURrbmpVU053
 M0oyVVFLcjB3VmdnWDcwUzF0Qy9rTzY2TVY4WllHeis1CnVyd29vaklQZDNqdFZ5ektzcXNpOWFV
 a3ZqOVFVME1jcjFMZ0Y0NmpRSHhOTkZlcFpFQlQ2NnRDZjA0RWpBVnk0T0pqQTlZTVFnMzYKdGJD
 Nmo0VkxGb0kwWFNnODdPc1hlcklOYXN4TE5ZUDRqcjdqcTY5NXhIK0lManJVbGFZN0dCVkh2QkNZ
 ME9YNEpOUXIveEd2aFV5SgovUno2dDBoQlh3OG5hQUxnM3BaRlp6K1BYcUk3REdvV29wY2JFV3Va
 aUMyM2FKS2t5dFlvWmVtSmkvcGJXZlZiWGZkYk9hZXFJVG9SCmhId2lDT0ZFd0lnWDB1TU1waHJY
 NHdFV0FmRzA5Yjdadmo2dmZTN1JSQktSVkpDTXNSd0J1bVZBdHdoSVRwTzQxYUN3UFY2WUIxZzAK
 QTFDU2l3YXArOWRoc0IwRXkyTVhIUTIxUUl2MEFFdGxJREt0YVlBRk01K1ZkMDBhR05ya1pWNmR5
 azVTWjdPdkQ3bEJOVi8yUzE0VApCYlVvQ2wrdEZhS3BVbXJobG5tUWtXYVc2K3R3VGlLRGVMMDlX
 RkxQY0R5b2ZYSDlQbS9ZdEQ4azF3Y0YxZXpEY1NEaVBhZElMSjNXCng4QWQ2WjFpUERoWHY5UjZv
 VitONFUyQU56bGNSMUhZWjNwbkFQejBjMkl0V2NEc0JTVkY1TlFLeWxoaDJHWFJVQnM2U2pwUXUr
 VlYKdnRXSFRUc0RScFZRblpQZGxzVUdkTVE5UHNSNzVNOThvQmcrOFRhSEJnaGR4RlJvN1N5Nkhj
 R21JeFlvcUhzR096UWNieUw0RDBxbwovVEtoVExXNkFTQUdObDd5VHU4SjNMRy9xQVhCckdCY0hJ
 eWprdlcrOGc2WGRrVy82dXJuM3FQYmpkZlV5cmlkVkoyWDhtUUFadlYwCkpvR2dwVHNaZ2xwaENB
 Tm5Wekdpc0NRY1h1OGQrb2E4NUphWE9CNUdxT2ozT0gwVzQrSEp4RmQ2aGRyemxhS0F4TUpseXpI
 ZFo0ODYKa3FXcVpKRTF0dVdBSGg4SHlHcCtnME1lOHhYOGhpeWtsSzNJNTM0eXdBbmN1QlQ5RXdT
 R0FibGtwM2MwcGJBY2dLanZNUWtVWFZncApha0hTN2RjcVBGbnQyTXZLV3FkK2xSYjJxcitScEhw
 NmpnTXNXb1ZYUzhMVnkzWWp2NEJlcFRnSFZFZ042QjBEbFQvMXhrSk1TZHQzCmZhV1k4dG5LMzAr
 cGJLekR2dXFsVFMvV3N4Z2psTUpQbWpPSk1jSjgyKzBRSnNKYi9vUmxaYkU2NHBoNXJLK2NXclNh
 RjhvTDBpTUoKdSsrMStNR3ExZHArVXM3Z3BsTjhNYm40NVVPck85UFlhQzdqbGNlRG4yMkMwSlZq
 ekx1Z09RM2lTa1Rqd1hUR3E1OU9ZUCthK2FuQQo0V3kraEFaSjRwOWpkeGpUelIzVktKT1lQWTRw
 elF5Z01FQWQxSjBuTldGRmY4MHpNUEE1TG1SMzJQWFkrZCtWekJTRGNud1hDYmVQCjZxb252aVIw
 K3hpYkhzNGpwVFVENHBQM1hiOHZ4aGk4NDg1SGZUWHcxb0ZMeDNFSzN4RlNiQTkxcE9tNHFKZ2J3
 eWxBM0FVUEJrckgKN2ZXZnNPQVRZQm41Q1BZZGZ2b2hkQXVQUWNQdUU4TFRvSVNQeGl5bUg2OVRI
 QUJXbFVVazZGMHY4VHBsQzBqdy82NW0vb3FlOVRaZwp1QXpuN0RuZ2VTd2tHc1NSZXoxSkw2UUt0
 dWV6a0xOSG9BeDEyMUVTVlc0cEpmT3BjcWQ2WThoaitGYkJReVZocGN2Tnhsc0xDOGd6CiswbUJU
 ZTdkclNSQmxBWEhBT2s4V2ZOY0hBUVJwUWJwZXhqM2c0SlhES0dJSVJlaUVWVE9TcUorQ0VLdWdm
 dEZLVXNWLzhUWktFNmMKbndTblFwdmQ0TWJteUNXeThTaitPL1pkN2hOUzk1UFlOZXdUMkhUcVN0
 RlJtbFpUcE1PSGdoRWJjVVp4RDhaY0ZpdC82NjJKdjYxdgpQYXAvSUtVbmZoNkl2d0gvLzF1dlJM
 YWRmbGx0MVRtRVZ4YTVkSlo5akVTVkE0ZzI2UlFjZXBZQlEwOG5RS0dwdEFzalFaVFN1eEp3ClVz
 VHFtajdNRzVackgvRTEvbE9NZmptVGdaMXdEdEo5cDFlbU85bERQVzdJVm5mZmlYWFpOc0o3ZlpD
 emU2VDJZcm1OV0NzcUxjYlUKSkl1V3UvS1FUZjRrWlNmMmFGcEM2SjJWMEVkWjVmY1gySVFSaGdh
 Y2U2cWZhOWZMM3VwaDlaSC82UFYvY0kxRW03dmc3SkVzT00wNApYd1pOUmdEK1RGaTIrS0FDb3NP
 L1pMY2U0SXRFODRWdms2dkJuTS9Oc01SQmVzblFPNWFtV2JiN05idCs5TzRNMVovdElYVWx2NWZp
 CjI5U3lWM3l0b0dnNHAwMmxRWmd3Q0dZZlpoU1dsTXIxWG9SU2hKYUwxc0pzT0Uzb0dKSllNUUNp
 bjFMYlBtN3BTVkxNbkhJVWxPRVYKbGlQMVhjNENzOFYzcWRZd2l3MStvTU1IWDVDWXg5THVZNnJs
 MG5aMXZZd3FqTTNxbG5ManM1cExybDZseFdBQkU0UkwycFV4emNCZwpGTCtsWndYRlc1UXNoMGJ5
 bG1pbnpKeHdnS0k0SHVGMkxPWGswcG80QkI0c2duSE1vQUl1eTN2L0RiekM1RzhvMU4ySUIwOE1Q
 U0RpCkFjdXQ3bEFCb1YyZGR2UUV4ME4zd2FFUGtvTmtlZFMrNG1tRU91SXQxQ3Q2TjVrdGxXMTla
 T0sxVW1MaU5HYk9IRFQrZmF0RlRETloKSDhiaGsxaTlTekZIUDdyd0hxQWRKZ2o3VGVqZEhHRUVx
 RFFnbW00OVczMmI1MkVSdkJMVHhZcmZtbkpsak9OMWZYbFJ2OFlrbHRjZgo2aisyYkFIRmtHUVNS
 MlMvTFpFSWRKQjh5ZWJjOHEzZWdLVkcydHA5Rlo0eTBBLzlPRXBWenpCdWlScVd3aFdrSlA5ZSt5
 S1h0SHBkCmVmZkZUVWk0YTdYKzZNNUZxSThuSjZSd2F0d09rYUpjZkY3cEFsME52YjdNSzhwVVZi
 aXpla3pMVGM5akVxL1NMN1JrZFFXWUpzMnMKMFp6d1Q4T24xZlJDQTFYTmRDVHFwS296emRxdEtu
 aGRXNUwrb05ncllqbEY3TERaUDFSeEJRMy93eXF0ZEJVWWdiSDFMNmxxR1VrTAo2N0lOV2k1OWxW
 THN5MW82a29ucFhLb0VpSkw0VVJrNE1FajJKZGo1Ty8weVk5NUdGbSt0TGtxVGZLT2t6TjdVMVp4
 SWFGL0ZWZWgvClVld1NBZXJMYmxzQUlqS1Vwak5UekVsZWRCMkw1aml6MzhkeTZRVXZaTG55c205
 a0pkUTVyMlEzOTdJM3Nnd3A3MHBXRHB2MTdoelQKWkNNWjA0UVgzSVBmdTIxNlhXbW5NKzc0WGN4
 VFRNSW9iaDlzV3BzMHBwRmhJdG1jNXBKK29MNDRpcCtnS214WWRwM2N1MGpNRW96cgp6MzVZTXU0
 eHhGbUFxZkhSazNMRWVUMWpaWmNQU3Z0ZHpRSkhEMlVWVCtyU2NvWitsNG9TSWNLUjR5eloxbTBk
 bUZ3Mk0rTThrcHlFCnBGcE51UEJOUnBHeVhINGdRN01NY3NtbkV0WWpuNE5YYitSWGRmdDdFY1Jr
 Z3JYMkw0L2FCQnpFR2Fsamt6ZmJFekNkbEtlS1ZQbGIKNmd0NmVhNVVWOFJic2JLK0lxV3h6VGZr
 TThvZnM4d0E3VzB5RDNlR1VnMVowUDd6UEYzWXJGcHVKTHpScG0wSU9WeEJtYmNjMnhGTQpOVlJT
 VmpMelFrdlBUQktrbEVCSnhVbXhRUGM0RStOZTlWOEZYN0F4Nk9FdGlxVkpNR2JHell0Mkl3bzVP
 NGVCa0s2dzZKNms2aTk5Clc5S0E1L2F2ek5tWkZMRGN6VW1qZ1AzVU4yZ1Y4OGUwL2VsVFB0K2NS
 TC9rSytMMWtlRllXOXBrNXFuVnRpbW1tY2NkZGRsYzlpZzcKcGtjcVZyc2c4c29GWWowdHFlSEpD
 dkxBQ2FNZXlzTHFTVWxNM3Buc2sycXRGNHhpMUhVdFR0T25ZZTNSbjlsVldKVmVpSnBWNWVXUwpz
 b1k2YnpieDlUUWRLMGhyZ1I4bWlWZ1Btd051N0pBM1AzOU1vMkJ5UllXWngxdWNsSkMxTnBPVWxT
 WG9sNGdEYysvN3NvTTRkckhxCnd2K1NUUGxCbXB6YmZ2Y2VIcS9HK0htbEY0QjZQSTJtU1hGS0Ja
 V3g2OVlHQjFYbFQ0MWthVjB4d0kxeDRLSnByTjZhbEpFRyttYW4KakRHd1IrZFloYjVRTlNmN0dv
 KzZ1b2dkdWtRMTZ2NFNoSzNZRzVGZEIzOU5ET0FjQzVUaEU5OGF3Ykc2TFFORGJwdklrQm0wN2s4
 ZApZQ1U5UU56NnFIVW4vMDFPOTNPUVlJUEZmdEJyK3BMQmtYek5PSkpGN0VZU002amtPbjRnaTVF
 RXQ4TlplZVduUm9XS0J0WHR1MUVrClkySVpaWGg0U3dvNW9lKzQ4WUhpM0dRT1hxbHFMNVBFVzZa
 b3E0aGFxWXJqM29idTZFNUYzNEI2MFUvOCtmT2ErMGhXYlJteitYVnAKd0UxS2x6N0h5bEFxRDRS
 TGFyOHplRjVVelpUMmhTejNGMjJLdzVteTM2eHpwdXczNittb0lDT3ljVTRGZlpudWgwZWozRUNW
 cXRLdQpTTXpobmVGN3QzdS9KbHA5dndkVGlYb09ML1R3d2xyZUIwdWt3VitKeFN3d2c4N0Z3S0ov
 ZzdCVEppZ3ZUMEJPRksrSkM4L3JBVS9DCnNIYWswSUt6eitWb0xWbFBjVXpEaXFSTVNFakg5VlNj
 UHFHbGwrMlVoMjQ0KzBaSmhSZmNKNm51c3JkSkJqcXZIbUludTBzU29LeWsKcDRiTVdvZ3FyM1Q2
 M0V1dTlLeHlOL0dxeFVacDNYRVlCZVlsRW1ISERmT1Z3VjJwOW5VU3o2MEhSTG02bU9GWXJSZ29H
 Qyt2Vzk1dApsSGhEZTdkK0JBZjFmMzd3bnNTOTk3U3ZCdmhHRHZETm5nNHNwUTJPdE9wUzRCMlJV
 VnFLN0wxTmR5WUZwWk1zeUN0eFltbG9sVytaCnFBWTByZnBDWEprSFRVcE9lUFJWUmNXc3ZpRVgx
 NDBOMkhLVmkyc0JqVkhTckJKdmxTbDVoR0tEbHRxWFZxS2w5Y1d5VXVuN0xjOG8Kc0VNcWI1Z2hJ
 OFVDY3VFOTJqQmt2Wko5WlRjYnp0SmxuMFViVm9BNWxxS0xtdlZWdXdvOFNBd3JXZG1nL1ozQit0
 M0dGTDE0TVlsWQoxZ3lYOVd3cC9zdTlTbXJKZnpmYTRVbm5EdEcxbjF3MzFpdGtwL0NLdThVL3VV
 UldZYjRoQTNKUXpSZXk0SE0vNnM3T2c3bjBna3lZCkt5K2JDMHVvODNybzVCeFdHRkllSDViRFpo
 Y2RDbHE0cTJNV3lubi8vT01rUGRNanpkWVR1OWxNVk9sUHVqVzFYQ2NaWUY2MFEvM0cKNkpTNDFk
 VW51Ui84bWpoVWRZUEJ3RlY4ZDRlRUp2NUlPTUd4eWF6clUzWjMzNXkvOWRNcDZsNVRLbklIbzc1
 bjd6RjRRLzhnTDFnbQo2d3NtbE13N1U2bUFkZFRTMnMwdG0wWWVxQWNkL1VEeFJ4TXJqaEJub2dG
 aW1wMVY4L0M3ZjZ4L1IyeHk4UldHeTNidGJyYjQzbmJ4CmhkYVlycjNjUldiQXZsaTFwVUZsbDVr
 Wk9xdTE5a2lycFdVQmtISnIzYTQzaXVueUdkZ2toUXFOU0xhOWc2cUNYa1J2dGV1M3Z1czcKYTEr
 MzJzM0d4U25kT0JjS01QS0svVEp4SVYzQUFJTC82UUdOVmFyb0FqNnRZRUl2UU1XRjhmOUFZOWdI
 Tit5Sm5nZW5zSkROVDRPYgo1Q1g2bWxCeWV1ZEpSTUhBRTBlQUVEU1doV2tJbzVmUW5lK0ZuZUJ4
 VnRhdWl5OUdkNnIya3VsT2c1MVhGWlZ4djlTZ2N1aE9EMTI2CjJleXlITXFmVm5BZGNlb052UkN0
 VFZ3eEp2c09NUXpnb0JaNW9lLzJaWGhhU3cvVkMxaGNrZThQeEIwMHc4WTNJSSsxNkttOEdaOTIK
 ejE4MDFhQTFLYzVvTVlhQm83djhDNEFZeHFyQnNmUmxoQ00rR2l0bndyOGtuMCs0MDQveENvNkZJ
 TUxzNWc0SGl1ZFBPeFpnRzBxaQpueE02dTExQUJ3K2ZHbWpQcEhxdE5sTzFnY29wZytNT3Y1OS9u
 L3pWMmdYOHFPZmYrbkh4NDlIN1dsTnVDZWk5cmx6THlhR1A4S0lICndzRlc1YWNVN0c4NGtxVzhV
 Y0g5eE1nQTMzTDlFcDRkRWhGMXBoemhsR3llT0F3TWUzTlNocEhiRjRXVEpvNmtiRzRmUFpSNHJx
 NGYKZVZaTDRwbnpnVG93YmExdjRJN2hxQzhtZkhWMnVsbGFJdmpZWnlQbFZGVG9XcUFxR29DY3o0
 MzFkYTNTeW5tOWFiUlppZWtXWnZVagpYUXE5KzNBZ0RaVGVib0ZScjlGdHhSZVBEY2tIVWtHTjhX
 a3NEekxOQjlLbkN6b0I1VTZDNnJCZE0zUGNtRlpkRkNSNk1LSXpURFo5CncrMVN6UUNCMTRiY1RL
 MHJmK3RoN0YwejIycUN0cGt6OHFlOWZzbnVUUzNlOUtyVmpNQVNnVisrZ2cwQnJCcnc5dEpPVWNj
 THRsTE8KYlNybUtiellOaXFUcUM1M0V6V1pXZWM2SUdWRk53YVVzNEhLSVRzeXJ5dHJwRGVUR21r
 UWlEamw2QzJsem5YN0R5NnNJY3hKS2R4WQozSXo3ZlE1K3BMeHN4QmZmZTBEY3dXTjRCd0wveUVB
 eUdXTHRvSFV2enhEci9FNFpZcDFraGxoSFo0aVYzd2hrbVZ3V2xXSi9jM2VICjBiaXJBODRvWnNr
 eFRXeFY5Y1JFc003RTlMSE9sUFN4enJUMHNUWkxiSHA0cjhhWHVUQUZpeTh4c3NTY2RZbkp3Z3N0
 TVZsM3VVdE0KQVoxWFNzMllwRWxBMlNXbWhpejVjSFd2dklHYVJmeFN0VzdBdm1aOHY1TldRenIr
 S0IySXo0TGdmanhpSzBwMHhSaDNLTVNGOW5kMApFaGFNenF3MWdZN0hjY25XQTFEdld3Z3NBbmhB
 S2xvTmZBUTF4U3JWVHlpTHRlRm05b0lWZ1ArMHVmbXorcmMvNmZKMkZRb3FtRW1qCjZLeVJWVTZn
 aG15aEJ4V1VUU1Q5UlBRUUxNa2s0MXVpN3RyNkZJS2ZSSFJ5VkNoSzE2N0VVYklzTmplQnk4bi90
 T21QakRIU0h5djMKQjZHdCtyVnRjVEVScnI3RUdRTzBUYlBzSldvZ2VjcHNJK2VrcXlHWGxEYk9v
 c0NEaDlJL0JQM3h3Rk9RWUl1dnZIdUl0WVMveGFrNwpON1pNaUFKcC9HeUZWUkR2M29rOTRuMFlq
 ZCtBU2hndnkxR0tISmNqT2JGZkV3azltRWlwRTl0VlNsQ3hzWjFNRHBCRGF4T29VMy9QCnA4bUp0
 RFlUc2ViRWFxMXBOeG5Yc210UXdYTFp0OVIwYWswTmMyT1h4ZVZ0aksyK2JnWnFyTjlibzc3UE5z
 eVVDNlJvZ09oRkM2US8KN2xyZWdpSW5tczMzQjlsaUNYcWV4QnF5elEwTkNHcHE3cHBKeWpDSlIz
 U0Y3RHNDb0I5cmIxRE15SWFiSHUyOFkyTmhwK3ZaRFZtWAp4WmNmTlBXOVlNUGpGSEJ6bEYxc3U2
 T3FTOTd0R09hOG05MTJack1qT0RsN25jeWFSMWY2NjV0bzZjRWZXdDJPSmFTMmZaNkExN0NnCjNG
 NVBnTndZb2t2NVlBQ2lacFEwL3pGUlE5TlhuZXFwMEU3MGxyV2JQUGZYb2lqb29sSmFYd1dnMXJE
 OXZsbXZrYzZ3ektka0Jkc0cKd1llNnVlRVlUYlpLTGtJbGdVcVB6bzliSmR1K1FtOUoyRWh0TkVJ
 a1NsTnB1bjZncERZWDdzQ0xrRlhBd1NreTRRKzNxdHRzV0xGdApibVpYeGRHZDE3MG5yM3dXMk9F
 YzdNTlJEWldjQUl0ZjNMbGZQUGJVN3djdTZqbmgxQ3lyWTUwSWN5a0ZReS9pMHRCNThVQ2hMa2tC
 CkNxVnZYVXc1dU1aVlhpdFBGc29ZY24vYjlQNDU5a05QWTJrRm5zUEIxVXBDVlJiMXo3V2pkaWxo
 K3VITUNPT3ExajU2ZjMxVy82RisKbGd2bnVhQ0Q2RnJ1TVc1V2dLNnZKWUlBT3Yya1ZYWG1mZkd3
 UFR6MTBOTyszN2x5NDdzVlJLRkUvZzRwbS9pRGtUOWhxcWFsNFhwMwprSmVHSzRIT3F4REVlY3NZ
 ZUtWOWo1ajRNRHN5SjBLWUc1WE1aQXRmaGNrN3cvNkRwRUhrano4SjhZOGx4TzF0MXMvSlQwYi9j
 MnpsCmZ6UkpQa01FOC9aMUlvVForb3BRNkVRTy80Mzdlb2ZjbnpxV2w0Z3dNMmNvcGFJTENqQkx6
 MVBLSUY5OGswbGc4cVFYbmJCMGw4OGgKL0VHckJVUVBELzJjZGJwU1pPS1hOeWVvNFVwa01HR2xV
 TCt2VTNUS21sWU96czgvenBRWXhqWW5JTmQwVzQ5YWxyWUM4dk5KSm9ISgpLbHh6QzFyOUl1T3Vq
 V1B0ZUJNR21DVU9iend6dzlLSm0zU2xWY3dSQ3RTb2YvK3o5Q0tqbG92b1krejNaNlZOVlhvaDhs
 U1ZsMHVoCkd1cUxyejBWcEN5ZDZtRkxHWVBFN0IxOWpsVFgzc2dzTG1ybjlkWlY3YWpPbWJEeDBl
 blo1V0dORTAwbjA0Qlc4TW9jV0ZvMlA5djMKWWcvMXBQU2ljWkY0c1cyU3pDSVZIN0Zvemc1OUdP
 UkgvbjZPM0VuWm9MTi9jdnpvdEpTVVNkdVVTR0dxSXUyMnJsdjFXaE5ZN3NYbApSYjFRS0ZJMmpP
 emJvNC9OWnYyaVhTaFd2LzhlaTVBdkE1ekZLWG1vMHFDTDVPQ3NEa2xwLzdRZmROeStlZjdNTU5Y
 U3EwelBlemxoCkZtRFgyTU9YQmZWMitsU2tlc3VuOVptN2F2RWJucEVKK2R3U0xiRi9ONHNRd3do
 KzRkZVNpaE5nWjFjMldUaW45Q2hOQUtYU3BIU3gKazdwblJhS2ZvWlBUcHh2SmVYSDBwUUJpUWdE
 Z3Z4bVN6aC9jakpWTlJtbDhnWlhxajNRTjgzeG5zMmhTaXk2blV5TU01QkVPeTFMLwpDbElMWnVp
 UWE3SmdNWlRGZWpPcEgwbUU1clM5SEFKTFVjRVBiaWd5MDQ4UG54MkcxZHVjZzUrY3hJczh6a1ky
 VkhTSDlLYWFrajhRCmlvbmpzV29uOVlaTytmaVVYeVc2cDlwUGQvSG84cUxWbGgzOTRvWVhHck5X
 WGp0a1YxTnlkeUxQWWovcVp6Sjg3cWtVQ1d4bzlSTHgKOWJMenkzekJFS3dLQzhrS1Z2M2xpZ3My
 NEhtOUVUSm1zQmF3ck5CZ28wRGx4WGhEQ2ZUVUY2bnlkeU8ybUFQYU9HbWNYaDgyMmlkbgp0ZE8z
 UWgxRmZwVzJ6em9tUUtWUXlEaUlzcVgxT0tHQ1U0bDFDOW9tWCs2aWh3REhjNGN5S2IwK1FnV2RY
 OWpLRzl0SnBLSXc5dnU1CkIyY09WbExBTmpNdWdOSEk2M0xNSjhyNHdNb1h4eXBzTEdieVNnTHdW
 ZW5uRGFYRXR3ZmkvNm1oOFpDNHI2YURkdW5mRGhRZTJLM3YKelI2NXd2R25ramVJMlU2WUE0U3E3
 Zjd6Y1U1dmN0QXVnM2JMVVZxOUtvbHZaMFBSMVByUFljMmVLK1NEM29PY2RKeHdVb0RpL0s3TAp6
 R012Vk5CZnplekNlN1dvKys3VjBsMTNyeFp3MjkxNmsyWUJWN21KZmErMHUrN2VHenJYOG9mU0F1
 RzBwSk85azJJNjlFQ1V1aUhECnR3L1h6ZnBabzM1eTNibzhheHpycklDZElPeDVvVFJQdUwyTHBi
 VzIwbStnY1lWVnBPZUc5OGtTVXBHU0Q0ZXVPNThEWlJkUzloclEKOXlsZDEwb1hEVU9HU3pXL1pi
 aFQ4MEJGU2wxL1hGL1hCRzE2S2dGWUR5UUU2MGtLQkNXRFhLZWdGUHpCczJIY29iZ05EbE1FWjNu
 NgpUSmtYMmlnWHF4WjJwTm04WHJmUEZiU1hxVzZKODhwd0I0cHhjRThQSysrTU1ZazJKTFJHeVdF
 ekFPMmY3bnlRc3ZIWDVZMkVvU0dyCmlTb3NQZ09jQVpZU08vRUhveTlGUE9KYjg0QjZuQ1FiOGEz
 K2JjeGtqVHRhR2xndWtkSUdtQUtiUjZjMEZ6TkJWQXgzQnFDVzJjSlgKSlZzUlpyYm8zb0UvR0RO
 eE1GSUVrSzVlNkFReDhHcjFPdDJUREY0c1VNbWFFeWh3anZLcEFhazczVU8zZTM4YkJ1TmhEM05h
 UnpFUQpsRCtLTlZHV2JiaUpTK1NtU3VRNm9SNW0raEtPVE5vbktySkhNdXM0Wi9TVEdOMWpqTzV0
 cEN6aldsNGNjMHBEVDR3OEdRaFJ1T1RjCjRIR2ZNUlJoUjQrQTNYcmRteHZvV3BTMGl4djFnMWc4
 WUhSaUhRaHhnSmFyTWgrVkg0bVZRVEFNdW5jZ0tYa3JXUXU2R1ZHVlJybysKZVM1WTM3WkhuUlhw
 NVdTK3hFUjlORzdiUEg0T0N2Y2pGMXFaaWRxYVN0NE9YcVNhaEE0RS9YNW5kcmRucThKQ01vWlZm
 N21paGczNAp4YnAwQzFoVzhMQlJ3UGRRbTN3SnVMazFjY2U3Q1YxV1A0T2NxZkpQakRpNjVHdWRr
 QUpBMHN4cWViRlNVSmJRZkh6QUpCcDRrNElXCjBiY3JaUTFWcGtxWFpSTnA2cEpYTDNrVlJTb2RR
 cEhpRW54Mzh4MTduMFZ4T093T1JrV2RsVzlGVlFZNGZXOTRDLzNsYTMzTHNKVEoKZHhSRVFORnlV
 UHRXS2tJRjRTV1V5KzVLTTFLdExMd1F4Y3E2eTZWV0JmVEZRUU1sb0N5VnFpRkxIeUltVWZtcFdU
 MTZyYUhCWFVIYQpwdWpVZ2VUT0ZnQTd1aDFISWhxNVErTkZSSVo3NUdmRWRvTm5mc1RoR2NqVUht
 TTlsUGJaRDhsMkFFOVZRQWR3S28vUGxlTTM5MFk3CkkyQTVvR1AwSnFCU1JPU21qSEU3eUNuSThy
 THhNQWlEaHpVYXh2ZmswV3pKeTUzUWMrL1ZnbU5jYmUwd3J1alRYT3FUcmxtNGxDd2UKaHdtaSs3
 aDc3OFVsYlJtSDdma2UzZlBUclQzYVVzcmExRGhlR3VBL2pCWWkvQmdQcGh4SGc4QmhCamdDR05t
 Myt0RGFSUkozVXVtdApzRzBjWTdMRFpaek5BY0lnTmgrWUtDZ1FJQ0t3NzR5RWJtRG9TQ25jU3JH
 VXJJaWhVdzQ5RkNSazJ4cUFtVHhKTGZLTk11WmMzMkU3ClN2N01FUEYvWi9yc29oWHJjSFlTbFNG
 QTEzZTMvN3VTcURYaXBWQnBDdDUvRWFHK1lEL3plalB2WmxoMHNiME1heTU1SnlPUTgwcGMKYnpK
 Ulp3aE96alpHWTJVWGxIVzZEbmJ3Y3kvaDdVV1hJekljTWxSSVhoUGtYcUx4VkNlcWV5RHBCTm5x
 OGpuVjc1bnZPUUM0ZlhhYQpuTEVIbFp3ZTVBQkk5eUVJclQ1WVRxdDRJenJvMFMwZ2pBTytXazIw
 NzYvSmI0YmVVaHY2cHpXU1JDbUFrU2hqUlI3ZHhFUDRGc3pGCjFycXlxN2RpazFhV2wyMndJbVMw
 ZmVySjJPMzNuNW9lZVduWmJ3di9Qdll3U0xtcjhzRWl2d3U1blBMTmd0TVVXWjVJb3p4MGVSWisK
 cis4eGdCSGFlcXhaN2JIZ0hNbTQvaGZCMExQZnRqQWdsc2ZIWFZta1lXVjF1Z1VPaWUwelNXQ01Y
 OUdrdy9nUU92RGdpUjVsNE80RgpJdkw2YUpmeVJmWkNWNG5lQ3VybEF6QnRUL1djSE04Nm5oellF
 SUMyTVoxVUwvQWlBTWNRSW8rOVBlL0dZUXhIOTVENmhCRzdoZ0hNCnJ3ZENJUWptblhHTW9yNGZV
 MTFPSFlTWnFSaEVOeGpEUmdIdFlBVDRXK2k4R2ZjU1ovVjFKaDlrZW9iWkdUajBSbFpDWUhyVzlF
 WmkKbFo4cm8ycURlcmNUd09nQWo3QktVaGwwcGZwM1pEUitpVUFiZjlIdmxPMXlzMzdjckgyNnZx
 cGZIRGN1VGtzNkc1eGQ2cmVEVkRIUwpuZEZOYmZBSkVOc0FFaXZhdkFIUDdTTVZsVjU1azhoME5T
 cTF4UEpXVFdLaEo5YU1LQkQxWUNBNnI0ZitIWlNaN0V0d3o4RWZrUHJhCjk1ajVqUGk5RjVKZzlj
 VU4vV0FjU1FBZUFxWjg4WlE4RFhDT1NxUGJFSmpaRGVWSGsvN0pMMXBYbjVUcVNLNENXbHM5dWdY
 djBiMnUKRnc3ZHZ2RlRpYkNFcEdTOGpLRmNhckJXQ0E2UVBOWDNIdUZ3U3ZVeGxGaGlxVnE5K1gz
 SVBERWxSZHZ1aFBCcFVYdnV4ckdmVC9HTQpIY3U3K3pPMUlWWVYwSWxMQmQrblZrcDZtYUZJYTU2
 VlJDTGNUY1ZhWHFveFdGOVBJdy8xQW53L0MvTnlBUXpvUnFVSW1ycldjM0kwClp1SFdhUVlsdUdT
 UlI1N2ROUjBkYmQyS0xQWnN5eVlaNTdUbTVaYWNHRlNTdFppc3JQTHVaaXB2TVIya1hSeFpkaDla
 QjNybFRXWWYKckNRaU14UTlMSElWNGpMbGhFd3hpZUdJSlZBNkpRVW1uMnBMWmlCMlF3cXlyYTN5
 SGtodVc3dGJTbHBZVHNPNTNham9reENMVWdtbQp0OXoyOHBMdFdFMFhnVVhSTktoamlscllLR1d1
 OHN0OWU4bkJhcFVsN1F3OGFhdFpqT2tMWEM4Um9pQVpWU0ovcjdRVC91Q3hCdzg0CllsV0dMclVX
 c2w3emxsdG9WU2Y5VTJCTGFUL1ExT3JWcXdGM0FJYkhJemFQTWtYcHZTNllmczFLVEF1T2psV1dL
 S1pRQ0FWdGJOcEYKQnU1b1pKTGg1U1FPMVNmcHlPLzBjVk9UbXc5SVZ0M2dpeGZLNktma2FLQTRi
 NE5EQTFnSk96SDFodHZGRGZXWE1hYUs2a0RWbkpxSgpWSXc2Qmk2VnlPSk1zaGVkZVM0ZEtvUFBU
 QlF3UTFWRlVaY0pxTkhUMDVQMzBxVGpVeXdNU0k5UndVV0tTY3dyU3JUaTlNdWp0ZklICjB4dURC
 R2o1Q0hEbUhZdGJNVWZMTVg1SnBOekIyMXN2UHNJNHdrVzVIRllPYWN3cnVrSGRhMkpGNzkwaE1O
 SlFsYWFOQS9hamN3eU0KL1p0b0tibUJXVGsrSmJPODVEYWRFZHJTdkQ0eEtUbFJneSs4QjRvWlhN
 cXNRcTJma0xVeVRTWFdhKzBteHFISWFWQVJpTXRDVnk2bQpsbmR5S3RJdUY4c1ZQQ2VLb1ltajdS
 L0dqNlhBWlRkZTdPRzVXVVdwc0kvVlVwYVpVUUpTeGFmejB3bDgzYzdxTlRYQWRKSXZtdW5tCmxh
 S3FLalZtUHRrOU1pajVUcDFoTEI2cHk1Nm1DTkVrNmpLbER6SmMxcEpjTkNTMlVaMDZCRTJ4Smps
 WExqc3dSSnRKbFA3N2t5NHkKOFlSYUp5SHFMTGRCRGlTL1R0YzAxVTBUL0xKZ0dMOCtjTmFhemRy
 RmFkMDZjWXIwaWRQVWNrTUtHODljVEQzT2hESklYakF5NTBkMwpPN1NlMWV4R1c4bG95K3BXeXJs
 TDdnQ3JwY25WcFJ2aTVWbXQzVGlyNjQ2b1FucVFaN1VmTHorMjdUSG1pZThTK0VTL2VFTHJ6aTdG
 CmJxemFON1IybXk2cFlQQnV2aGFHUDIzOXZNYVJmekFrc2o4U0ZTdXc4OFFhZHlvZWhWMUZKd1Nk
 aGx5andqYm9MY3lGM3pTRUhBd1QKUU81MElsQjE1bXFodXJ0TjVsdlZuZlhkUDBsd0dTVDRraXVC
 MmNOOHRSZVA4dFgrSFlKOHRSZUw4ZlVtZXl1UUgrS3JiVVg0MnRyagpKRmlLWE5VOVlLaHl3YUgy
 VjBhN2RtOWxYUE84dEpxNjNQQWt4T0FLSEhsR3dsSFpOZEdONlgzdGgvcjF4L2FKOUdwU1A4bGVJ
 c2V2CitIdmJyWGdiM1lwcHRkeVRUUkJzbUdGVTFDbDhrYUE0N1BndHJKV2JZQmpySHVBbStoaVhM
 Wk9TVzNuek5jWlNqOEl4ejZRSm1QNU4KaDMvYmNYMkhVMVBzbU13VXpIUHVEOG5DeUxLbnBCUXYr
 bkZKeEJHYlNkRUR6VWcrcy9rYnA2YUd3eUovMmJDNUlMK2FaQ0FvdysxcwpUTE0wZkI2S2lkdXpN
 ZDI2VUp0NXl1R2d5T2lKYjBXclhXdlhyK3ZuVis5cnJVWkxtWFNxMGVFVnFvay91THZOb2JlM3ph
 NnlFUDZlCndkM0w4Yllzbk0yS0w1c2dOTXBld0FmdjUzRHRsb1VYNDRUM3Y0Tjd0d0k2THkvTVJv
 U1hrSEs0NGIzbDViMnhXOTZvYm1GK1VIVkwKQ2p4cTJQTnV4RFhGWXZuUXVHaGZ2N2Y4UjFPUG9V
 bFVjbUlGbWRiZTBrTmhEcDhiZCtEM24xaWRmQktnbndZOVdLTjRpb01naW9VLwpRS1M3NURQdTlY
 dVdVcHB5MDFQaURmOC9QU3VIRnFVa3hIeFl4UERXaVRYM1pKeDFmRmNXUVVqK0x3VzBWQmg2dHk2
 Sk1oemlXQXc4CmQ0aEtHcFBlTU5Xa0RKWEdaazZmV0ZRak54SVJlUmlGb3g4OHFDYS9HNmJxUm4w
 WWlLemE2cnZEMld1T0Flc2hCamprZ1Y0RXc4cC8KZW1GQTVmVTdHbktxSW1xWVVLTnluMWZUdkxT
 cmZvWFp3Y21veGZDcU00NHBwbGhsOGx4U05QdW82K21ob2FPUzZMaVJSNTFDbzQ5ZwpwR1lrMWIy
 ZXB5cm0xV09yNVFsVkIrNGpXd09xQklBZ1prTkprTGM5NllrSlFpcUZxY3VyZlFQejI1UDkxVGp4
 YitqdWtvSjRjb2tLCmkrOUVTNFpvMWtVUTMzbmhneDk1S1p5ZGU0Q3pya0pZRm1kY3FwVkVvSzB0
 UEVFcWo4UTQ4dGg0WmdCblhNb0ppTUdkdXYxeEJMVGEKZjhKYnRWdU0ySTJoZm9PZWw5VDdzZmYw
 aHhsaWtpUVNva2ZCT096Q1FVUW1SaWZNOEtJQXRFcUJIL29sRFg3OGlMQUNKM3EzZTJkUQpZOHBC
 eDBJQU9nb3dFaFhHcHhKZFNtRWZtTUxBQlNnK0hPSUVKNTg5TTRFdzRRVm1hb0xIcFRWVHZDSGI1
 Y3NZK0lJcDJOU0ZzMFN0CktXMml6Y0hMWVNENkFad2I4TnF4N3pOcTZiNk9iN3RsbFJFSFZFR1Nj
 YTNBKzIvbDFWN0hBODVnU3Q5N0l5Qjh5MmE5NDNWZEhEalMKaGtjeGxJUE9MMnpGcnVwUTJpdEt3
 UUFZOFdPNmQvZVNYY1hrdmoxVGc4emQwNU5EL1FmZzZyZUZmd0FDeStaT3JLY1pnU25OS3dZYgpI
 dXI1eFdCQ3NyZHN6YVVUZEJuWWhPWlVkc0dLQ2hkajZNaHV4QkFRSUNhVXBPUEp1ZElRMkNPNm9v
 NWhWc0R3TGhBWHhYcEh1ZUcxCnZJUldTMXJRVzNrL2JIZk5XcXEwa0FpSGRNK0xtUGR0WHBCcUQ3
 MlJlMVo3VmxaR1F3OThGMEJvTWcybHFKM3NRaEFZOTFRRmNMS1EKZVU4dk1CSVRzandrSWR5WlNQ
 L0dqTWlUWlN4YWNKR1NZMTBCemZOMEcyc0xMdjZrQjVXaERmNk51TU9BalhxOXd5Y3RvY1Rra1ZO
 egpYcHQ3YTlXMTlTUWhBZ3J6K0RZOFJxTUJtN093Vlh0cDBsWjRGVVQ3ZGc3TW0vVDJnY0tOajRr
 cExITFFlMlhIaFJNYlVRZnR1WEJXClF0clE3NjAxeTNpR1BVSy9aSVJQN05oN0tTSmcwanNXRUpE
 K3A3ZWMwOFhvMlpZbjd4OCsyem1vUFlMd2FZWGZSR3BFVG9GeGVNaXIKRlRZVUF3T09qekZlN1Zm
 UVdkVy95ZDFqNUE4VzJueTFrNTVJVHg1TURzSVJ4a0M0NnZoOVAzNkNqUmttK3ZQcEVTbUdveHcr
 alpIbQptOTRBTDdab3diYnZWV0hoVytWOVRIeUR5UURKRnNvczVKVE1BcUlrelVDdGl3b1d4b0Jy
 M2dZZHVhc3FkeUtiemJFNHhGSFM2UEtuClYwYVBwV0JFbGg1eWVac0tJSEQ0Nko5bmdSL2hSU1lo
 TnJuZmplUzJocnVkNld1eEpEY0NDY25VR0xBOEFaeHVpSGVBUFF6Mk9HQTYKUUdxUGVmTkkwQTlO
 TG5aOUxQdktRekFMYXkyTk5DbTBpSnVCSlltcmxxMG1DVlVLTXhibll4UXR5bi95SktQVklldFA5
 bzFVcjVrcQpHdHR4WVl1aWtiaVNNMGhSNzVBN0FtcEJ5S0IrUjB5RWljblQ1ZERBR1FSU09Gcml2
 aGNMWlQ1WDRuQjZlclIzVERkeGNPdmhSbytSCnorbHlGMTJ4NU02QWVYNzBobXh0SEhQelRDVlc3
 aWZ2SjlxSjNRNVpNczIxTkxVNmQ3c2tIOGlMZmp3L0lXdERreVRZZ1YxcGNZVWwKdGNWVDZFblJS
 NmZ5SVRPaDBUV2wvQ1Z4NlBSb1RWK0taWVRhcG5jTDlkVGtxZC9QSHh2d2xVcGtQS1JUVy92RDFm
 WFJXZVBxK3FyeAorYngyUmNLZ2V0U3NuMktzREUyOTR5RjJsdTZNcnZ6SGdUdkNVeHQ4c05tYzdB
 VEZxdzZHeGhDSWdqRHZTK1NPam1DVWVGRXIrNnBqClE2VzZzWjczVHZhbktxdjZOempLVDQyTHpZ
 M0VYS0c0QTNOeExOVnhPRjBKNUd1R1pwQS9GSitGTGwvMGZDUTBCdWVxYVVVblNzSEQKVnR6akpz
 Q2NZampYRkkzR0haSjFHL1daWWtlUzVLdkFTaXJBUEZObVl1MVJmanJHdUFvdytFSTE5UmlHZUh6
 NXFiQ1I4L2lvc0RuaAozTVBkYmlWL3prZ2g4dmY3VHhmSHNKcndDdDVjenljVG82dDVoYWNMdGNB
 alRqVkM2aWNrcjY3OHNwODR3WTdJSTAwMWUrakhzc1FjCnpSNGZpYnRlMTRKeWZKU0NZR2c5RDRB
 MVlHa0prbmpEZlJJZDNUWDlCaHArVUsxOVRkSnBodWNvT2o1cWtjTE9OenRNNUVwakZGYmwKRWZ2
 b2VWLzhMaDRDS1l3UHc0Z0MzcDM4V0cxb0labWdBeFFRT2J3d1FZZ1RjUGYrcW5aV2I3ZnJzTVdD
 UEI4bnN1OTE3dEVkV0RJVQpZcEtjRkIxM1E3Zlg0dzI1ZlcrWTg5N2FKakJiY1FqOUJDWi9NNVlC
 VlorQ3NiU3JUaHdrVXFjTTVvdG1nT2JBaHU5ZzdaRW1DdFVKClNvZWw1Sld2Q1V4S1JNc0FSa2dM
 OUJZa0JUVVZ4MGZLYmsrc2F2Vys1ZzlhejUrY1dKNmxWWjRUdWdGUHQ5Q0VFeEdJeTNZckdaaFUK
 dXRkOUZyWUZIbGNwSCtEcGE4TDlJRUdqcFhUTnhrV3JYYnM0cXF2cStuY0NCdHBpcEt0S3VLaFFp
 R000RldaYnpsaStNVGY1TkRTdwp6TDVNVEZ4VG9yMEVwUExkRU1HWTVUem01YXlaNFJQdTllWXhu
 UGVEY1l5aS9KcUJZTGcwcVptNndlZ0pWNHd2RHpEeC9TWjZyMHhaCkNlb0dJS1ZGeWp2SHlXY0JI
 dVA4TGtrK1VpdXZQUUN3LzVaRStJTWZvYmk4K29VK0dZcDhocWNWbDNMWklCb2prakY0dzBWT2tK
 SkIKVlRzWmZkK0lUbjVKM1VBSFY4c0l2clBXRlo0bytvdDRPZVZCbmpTQ0xMZW0xdlJqTkZSR1BT
 RWhSRHBPSnlROFY2VXNTUFY5a21iRAppSXhLeDVGU21TaE12RUE3OS90cGIrWTV2cXVMR0JXOGdu
 cGlBaUxJMkE1MGVUNk04TXpYOGVJSEpFRFRpMlNFRHlRaCsycklQbEtyCnhzejlrNWxIUGpuREN4
 Zyt6QjJ3OStJQXpTSlJkMGJIRlB0d0p0VStldWpRQ0NsWlVOVVBHTGx6a1pwTkJZeW1qYXlmQW1w
 cldoQlAKWHJ5VzZac1Y1c1RxbkQ3YjAydmRSU1Iwb2dUVGx0VnJtcDZrb3NycXNhbVM3ZnFFSHBz
 cTJIV0RWeWtxYzJYSkptSi9CREtva0lFTApjVXZIN1M1WFBhRWFwVEVCVFgvVWlneDVYa3FkeGI0
 L0VEdGJUQmtSQ3EyOFBhcTFpWWNqcVlXd3R0cVIxZDNUSTlHNVBUMlNQSU5hCkt3TEZEcjJ1RjBW
 dStFVCtxSnhyaTdCc243MklXYVRJTXdrYWFTZ0pYRUdUMURWeXcxaXBMUTFndGFMUjUwUk9Cb2sv
 aEJzNTJQa28KQ3ZwQzFKTGZHVVZJcWpmNW5QYkZ2Wm1vRnBWWjllZzRybFd3M0N6cjdJdERUdlZx
 WTUrNU5BNkJiUGdTQzlBa0RzemQwL1Q1WDB3NgovMmYyNFFrYUFHWkpVZy9BbGFackFaSktBTjVN
 bzhTVm9hSmRUcE9Zcncrd0lDY1ZBemJXckx1alEzV0Y3L3pWSDNiNzQ1NG52by81Ckt2WmQ2aUdJ
 QjVsbnBFM0hwMEtITEViTVdiZXhMOHRoaHZrR1p6WWZvcktMWFpwVDFTWGZtVFBNT2EvTWQ3STM1
 Z1FuNThLY2g4dEIKa0hiSzFSM2g4SWN5SUZKSDVHYjk4R1BqN1BqNi9PTlp1M0YxMXFnMzhheXNv
 eDIzR3Y5UnZ6eTUvdUd5Y1h4OVJmRkFTOWI1dWxtRApJL2Y1Tlp5dzY1K0xmcWxRd01WNU9mUStB
 ZDBVVVVsVGhnUEx3ekM2ODI4dzdxMWRGWTYwcmF0NkU1TTdGd283VytyS2hnTmE2OTZCCm9OMXNY
 NTlkbm1JL0NvVnRZWUo0MkRjZjZraXp1YkdXekVSOVh2dDhmZFpvdGE5L3FKMTlyTGNLZ0hCQkc2
 TE1ISnE0UDZGdER2M2QKeVNKR0JvSmt4UXdIQnlESHVvNS9lMHZ1RWE1eUtiVUtEOXpoRTllUWFV
 Z0ZCL2lkakV0bmNWdzZFM0hwS0Z4cUw2U2tpRDl3dXlIdwpMZmVlUElwSEdHWnA0QTlkWWdXVVhw
 WFJ3a01IYVloaGpNSUFVMUtoaUEzbGV0NGp4MDZ3VlltUmpKNUErSkw2SDcvbnVhUXFWK21GCmRq
 bTlrQlhnQXFsVjJxcXphcjBvazRocWs4T1BRN1NtMWdFcjdGZVlpL1NTZ281VzNnMnhSRlNwcU9Q
 MzVBeThpVm9xZjZ0eDc5QTUKWEgwZCtlSkY4S3hZbTFuUWRnYXd1M1JZTGpZMWY3NmxUTVVyNEVG
 b2JkNkl2VUV4WFFsZlprYXJneGh2VW53WS9zaFB4ejFVK2JnVApxYmpOcFNkQ2xFZUxSR1p1WDhh
 VFNQUUg5czRHUHA4aE5YZis0TlU0Q0RxbU5uQmVBTVNhS2cyUHc4TE9tSnRiWWhQOUl6bHFob1g5
 CnNsQnhzT1hjYzNqUEtvZjNyTnI0cGtTR0NOaktZV2NBQVhRUXU3VFRKaitIazFZTzVTK0dSRE5Z
 NTJYd3N2aE00UkY1bzBTaFNweEYKOXNVcWRJMlZzZnJORzBwMXl4OEo5c0dqRjZzSkRMRVhieFpE
 WW5vUzhCZXQ5T1V6akNTZm1KQUNYR1VBeDVZUUgwaDNwY2xwd0JtbgpMeE85amdhOWVhUXZLcjZ3
 QUVhMWx5K0RNZGc1eGJEZG5Ud3hqRURsUzJJOGRLWmd6dGZKSDRhQ00xSGVrWG9IS1NkUVRiYVVh
 QnNKCnlDcUZQMVVab3FHdTdiNmxTSUtZa3gwNE12SEN1SFNMbk5UZzFyT1JzUkd1YnV4dFlqeFgr
 V25ZRjlBcGM2aEdENFdkU2hVb0ZVOXEKeCtQQkNDU1E4RDRTWVJERTMwV1NrZUZkZHFVcXhTWVZk
 d2pkMEdTTXJvRHpPTCsyZkZmUnl4WGxHYVhRd2ZNVnhvQ1NwbFI4TUh2ZwpvWEVrcDJsc1RMZmw5
 M0trZ1VhdnpBcWp4RWJnekFkUjJYaFBFQXV3RFlzNWt2OW9LNzErN2VoTWFnYWJYdC90ZUgzYWJH
 eUM0TEs4CjZVUS9yZjljeWdhRzVUbmtBTlB5VTRmYm9zc0t2Qk81UTNmaW9iWktDTDN2VUhEMFNY
 a0JvaDVlQXRIcDFSM0ttdDRqNWdhRnFXRkIKd0lxbE5aa2pUc2Evb3FNTXhtZUdZQ0hhQnNZVzN6
 bnNGSEVreWZKQVRHYWpoUlFlTnpmWDJiMXQwM2dkWUF1Nll5WTRRcXQ5MmF4ZgpYLzRBY251ejBh
 NWI3VnFSMm5CdUtTRVBDQm85dVp6VWJBNHBMUVY2WXYxc1BLQmV0anFlMitobldTSE9DNkRrTEFm
 cmVKV1V3TFJICjVkUUZvcHkrTUl3VFRjeVdtWmhDQ3RGV05MYmtHbEo0bDMyQmxqTXpVRWIreHZr
 RVhqWUZMK05RbEJSaFdiZzN3MDNnL1htdWxNTmcKZG5aMjJlbHVKeUc1VFE5bEtCVy9aemtSRGNW
 c0lRMHBiVVdsd0RGTk1vRU5aZFE4SGRyUUtwYUpiWmdzS3dwS0tYMlFDTGFYR3dneApBdGJZdlJO
 RkJDOTdSYWtpcm1wdHpGZHpUZWtGMzByZmhwMTFpbGd0UDQzZkVtRXF3ZmtBUzJaaWxjOGg3Qi9k
 Y1JoaGRHZ20xN3VFCkE3VUZBTEZsRVlhc3BiQm1vVGFYODFXWURNZ1p1b1o3UTY5b0hKK3RlSEFs
 VzhabzlPVFVjUEtPMlFCWWREa0pscUk0SVN3MnFMK2oKaVhiTXg5YjRMZ3pHdDNkOFJDV1ZqdEVE
 MDFwRTdRRnFaSi9VYkZUbGJGUnpabU9xWjd2eFpCZHBOM1krVHByYVVxdXNVYzgvcHpxNQo4d3lv
 dzdTbTY0bGU3azZ5c0VIbnhCcFo5Z2lsY25pak9aeHdKaFY3bGRvWlZXUldKd05BTTR5WEhVSis4
 TDJIZVU0aFhIN2hZd2hYClgvNDVSTUtkTjFyeVJ0NUJoR0hsbjBUazhKa3ByMi9KVkVMeUM5SDNy
 OU9QeDJuTlJQWWVPcDNIMjNxaDFCaFRsUWxmaUxyR2VvTlMKa1ZkeXRBWkpwWUYwUXBEZTMrbjBC
 OVo3dlY1eVdadVRMbXBXeXdRaFVKVW4vVlVtQzBMT1ZtbnpOMVZaS1lPcTYzdnJsUFJYZmRGSgoy
 Tlg4b1ZMdm85OHJxdDlpbFhCV0ZoOGJ4d0x3Vm5wMkZsODZhV2xWUm5yS3NCTTVlazNORjB5d2xs
 bm5KS2YwYzlOaVZ5R05zQ1liCkRlaWR6dFUrMzBRdGdXWGR6Y2tiN2w3R3N1NStKNWExaExTK0J0
 WVVsblduRnNjNkJsaHo2SE5QWDJaSmN5c0tNbXV2RkRRY2E0N1QKYWZVeTY0YjhtdVhESTRxeVRC
 N0s4TWtoNXRMbVp5ekFwQklFS3dEb3VOOEpIcWMzaVZ4R1BVdkZ6eW1MaVYxaFlXZEt1NWVqWjBZ
 NgpJWWVydE9YcGNvSEx6aTlpbFhNTXJzTFRMMU9iUFFvR25lRDU4YjU4eGJUaXA3NDM3MDR2Szcx
 bzdVZ1l2ODhDVXNEbjFVQk8zUGdsCndNbExTYUdFcitPcUZHYWRQK3lBMDFTcTNwT1o1ZkVMMHRk
 aDhGaW1IMGQzWHZmZS9FSWFnRi83cWZxNFVWRjkvS0xyNHc5VG4zNU4KcUgvdXVSakhqRURJN3hx
 Sy9HMEFxUWNHVnNXR2RlVjM3d2tRZmpHMTZKZXA0a3l1WXZYUjNLc3VOVGJTeHM0bTN2QTcvQ1VS
 UlhMcAo0U00xRm5EcEpnSk5JN2RqUzUyVnJpeXdJbTc5TDFKN0lmM3Z1a0VROXZ5aEczdVIwbVJ3
 ZGI0elJpOXBUOWpSb2VjTGtGdFBCTWpGClcyVFZGM2twalZHaEtVVDA3eDI2bVVOZTJrUlROSnlh
 K2tMZklpSVkvUFlRaFAzZVovbjVvNDZIbWMvczkxT3ZTZmJBcEs0TU4vMmEKeUJJMThrK0o2SklV
 QUNEUmJDSzQ1cVR0SkExZERSQ0tkRlJZajh5clVsN2pERkpsd2RHUGMzSThXZEhoZEQrZ0lUVmds
 ZVhBZ20vQgp4dHNPOWJyeWpuM2dLNlNVTDI2d0JaUjZaMldSRW82NHFoMWplS09pVldEazlrcUo4
 STEyTSsrcy9sQXJNZ1FjSzNKc01CajEwb1RICkphMU8rOFAxdjMxc3RSc25QMTQzRzZmdlViSERp
 bFdlSWVFY0pCdXJaQnJUWWVGVTdLb3M1S1A2UmJ2ZW5CKzBlQzAyWmdCL1ZqOHgKL1RiRnZxWWlW
 YW9nWWpvMDJPWHhjWkZvcC9JT1RYSktnSHVhbUk0TXlETDBFalR5bUpwUU9RcVJuS2UxQ0RoQ0ZS
 OHptRnQzSkdkOQpFdHduS3pDcUJQc2oxTGZDaU9uTWNUS1BtY0tMRHFJdSsvTHVRRHh5bGlqNTRI
 dFJ4REJFakUxNlErUW4yNERpVDFieEg3RzRTVlJYCk12SFZPWDVXODJNOUhmeFR2anFwbmJYcTJl
 aVZTNC85cC9keXRRMm8ySDhGZkpQZUJ0WmVJTVo5SFBxUGpZRjdPN01JWjFWWVNIeXoKNmk5WGRM
 TUJ2L2p3WXdITGltdzJDampNOUM3bllkczE4Wmd3cklpbFRVRWpVS3B5Q0VNbyt2aU5kUlRlVUVZ
 ZVZoVWNNYVE4bnhHOQpKb1htNjFYaERVWXg3RSt2OTNXNTd3VlgxVTlVbkxEQ2RLVUErVENrN2hn
 a2hNbzc0a3NtRU9COFVNemhQd3RQbUJCYWNndFRSdkhUCkZEaGtvYVJnTlRrcDdEaitTWUhCaUgw
 OThlNmQyUHM1Vy94VVpqaE5WdUM4cDdMS3kxYk5sVCthYTlGdytZWFhERmRmL3BLUmNKZXkKWWho
 Vy9vS1J3K2ZqelM3ZE92R0h2dFZ1ZXJDRFVLcE92RlhsL0JCUlJKbExmUEp5OWNJUXd4QjF1K01R
 Sjc0M0RqbEFSNlR5U01WdQpHSTlIZG9Zb1BEZC9jdUc0NVBlS2xKOFF2cFJHUHQ3bm95QTVqc3Jp
 MDhYbCs5ckZLVk45Ym5sRDJCTnJackk5UTE5eHhJMGhiajVLCm0zWFVEeUx2QkNiQ3ZINlIxdXBq
 N1BkbkprRXF1eGo1VWRVbGt4N0RuRGRGZDhiQ2grSGtrQndQbDhQbDdiNGh6YTM4NUZ0T01tZEIK
 M3ZNUll6V3JHelhVMzdKaXUyUUh1VmZHTnRML1JZWGs2Yks5TXR2R09NemhoaktjMUV4MXRENDRZ
 VlM0TEFXeDRKczNiY3MzOW5zbQowMkxQMHJEaVUyeU1HSHJ4VzZNd1JwZUFWcnNKUXZyMWgvcVBM
 YVVMMzJXemxOMDNDV3ZoS1pyLzlUOVc4Mjh2eHV3bHdBTEsvNzJOCnZmSWI0ZkNISHZEWFp6WHcr
 YXAzWmR1aWNvaWs1ck13UWR2L2g5eVZzRWEra0ZESEh4Z09OdEg2Mll6MHpyWlkzbWFMNVcxanNa
 eXoKN2hCcDh5MjhHNmd4MTZvekZaNjdTSHNCTy83QjY1Njc4ZDJzSEZrWFg0Z3A2OXJMNWNzRzdM
 eDNudHRwMXF4QlpibXpHVHJ6azUydAo4Z1pBa1o4SmpvSmI1VENneER2SGwrY2w4ZHR2b3NpNnBy
 OUkvWVF5anNEdG1rMFdVbUdaVjNvQkJzWmorZUd0Y01QYk1RYlFvT0JZCjhKZ2pYVkNnNkJVZDVE
 YVRUNklnUXo3WEVjZ1IzcGRyOExWbW8vMStCYjVBQjJ1Tmk1VnlLcUowV1VrV3MxYWZsa2g1VWdj
 ejJaUU4KM2loZ05tR3UwYnB1WEp3VUUyakR3b3hRWE9kcjlrcWZpRkUyUWFJbVYyNzZnWXNtaFJV
 S3J5bVVvakVRMFlBaitKbDRNWXplUWhhMwpWa2p0YVFqNmVIRmNiNTZjWFg3S1IvRUNVSjdEZEth
 djJRemJMME5TSDZqUld5cVMwSFR4eFRpeWdDeUNvbHhyMXQwOTJnejRnNlYrCmxVU21NNzdCRE9H
 WU80Ykl0clEvZlVHUGgvZHdMQmlLRkZwcGdjTnJ2VWhXNUNLQVI0TGFXR2haZjd6NGNISDVhZkYx
 YmVvdnZyQXAKeitYaVd4TUhzNWgxWjFLbEY5cVlWT1hsN2tzYTZydzNjbnVaS3prRktyc3Q2WEZ6
 cXRITjhzYTJjRGExa0d0OGFEOVhxNjgvd3dFMQpEdGlQVmdXbEZIbnhOeHE5RmlaamFxVis3K2VW
 SlRLU2VZTmFlUTl6YTdVNG1XY3d4Q1I3cmR5bnVmVXduRlVuY0VNUTNZQUx4YTBKCnovZDF5S3Fo
 SGJOcTlxQk5PbWJuaENxVTJLQ1Y4eXkzMStld2x5Y0dxaDdrWTlUS3hOVEtlemdKbytrNjV0SCto
 SkVrT3ZYSm40WjMKTjRyd0NqTnFaUi90VDhiVFZlaC9jV092bGZzMHQ5NXA2SGFTMk5WUDhuc212
 ZFZiNlFmNVdJcUJFVWFZOE5lcVlUL01IOHNnaWFpQgp4Rk91TTd2Z01PSUk0UFBGdjQrOThLa3hI
 STFqdW5HekhJcmJINjQvdHVvZzNGeDliRitmMTl2dkw0OWJjdGRaTCs5dWJ3aG5lMFBkCjNWcDFt
 dldyV2hQdmJJNUZZVDIxanVlS3ZKS0xTemYwVE1DZDFGVHFFR1I0VHJHU2pPcmdPdytlU2luczlT
 amVsQjE1dU85MktRWmMKTXVUTW93d0dFWHA5amxMK3lQZkJLbzR1UVVsV2VVcFhlWHEyeXAwZDBs
 ekcvSVF1M3VuWXBkWm9kTVFDd2tVcVJwaU00UmNuWEtDdApiS3ArWk1lelJrMDRCbzlXdDljTUEr
 TnB3WHVzNmFwR0IrN1F2ZVVBaCszN05TRWFRNHFFVVZieEwzVWNSQWFodzVKaGFERTBSZmJjCm5v
 bGwycVA4cUpHUG1ZeXBlUzdBNFlRd09BWUR3VXNaRkVqYTl5cjBsb21kTXpVNGt5eWVpczZVanQv
 Rng5blBmYi96SGNZc3VRbGsKQ2xYNU9pOUNSaEp3SWtUR0JXV2dIcktsTllaZmc2R29lQ3dXS0pa
 RDBLVkNoV0RDaUJjVXdvaDdWNVMrUlUvUytzQ0t1dG9ENGtTNgpDSUd5TUVackQ2TU9ubFA4a0Vv
 aVZGTGJCNWpBKzJMaVNmaExSaXp5dVMxOHhabGlBVkxYQXhMdGFXOW1LMnhQQWc4NWdXN3Q3TE0w
 CjRTQjREdHpRbHlHNEtJclcyN3lRdFJRb2ptNnRVVW5HZlZ1WFlWUHNrQ1lZMFFTblJxclhnQ0J6
 NHFOd1Vhc2FyZjV6REE1QzBieE0KK0JFa1NCWG5JeWY0N1J3RHBlSFY0bUFBd2gvR0haODRTaGZL
 Wk1jWXhXT1FPVG5kd0owYnFWQXcxbFFiamVLRXFEQVNRVENxdkRHVAp5dzRPRi92NFhUU3hQbll2
 cno1WG84QTlDSVhBTFU0SGg2Z25ta0lKOEpvM0w3ZWZUcEZnUXVsZ3JtcU91dUFQVTRTS2pFZ3hQ
 Y09LCk1ETE1LSWh4eldCVU9CdTVGQ2k4eXlIY296dVZJQjBlQlFQWUJoTkxhVHlNL05zaHg1Y1RH
 TnJ3UE9oUnNGSUtMWTBocFRDY3RCOEwKREgrTkFlVmhyK3U2MHNVQ3l0TjZ6UXRSTG5Wb0t3aFRV
 S0NMRldTck4ySm9SU3VPeHNBY0ZaU3lpY09CYkJ6eE03R2pYdXd1dWFOMApPMzRPY0ZmRXZmYzBR
 MWU5MmJycTl1Ti8zWjU2dy9HQTljbG5INjhicHhlWHpYcFp3TmVqMmxXTHZyVGVOMDdhT3E0dE1P
 TDdqeEhzCmt5bzdOM2M4RW5lY2JKWlBwYmo1WTBuZGgxU1FPMmdUTVBMQmU4S1RiNVFPZFlkMkhU
 NnZnb0VwSlRBcG0wWGp4RnNzdUxLY1dCM1kKa0pQUjlZRzJDQW9hd0NFcUFYbGRnbjFqaDE3Q2ZV
 MnVOU2dnWTkzaG5xMkhZNjFNRUwrRHJrL0JyVlRBcDRIZXM3N0RtTjZkc1NXQwpEVnlNVjBkbTgv
 TXlZNDZ2K2h3NzV2Q3JXWVlzNDdsd1NsL2NkU1p0T2daSWJSd0hQQ3Y3ZHF3d0dSdUV5MHhtdlB6
 K1FyTnZpWU1NCkU1ZWhHVEZNbTZUc0cvUzZzdU9aeThpeXlMMUN0WTNEbEhDOHJhbk5OL2gyWVQv
 UnFtek5WekhXZFF0NWFUMjROUVh2bWVid0VpZzkKMm8rUmtpbFJoY01OWVdCMnl1SUtIY0N1WUxm
 c1lON29oczFuY0FyYU9heDBVY1pFbVZJS2NGYm9MNE03MXdSa1ZBU09CQSt6V0xFSgpNUFl4UmNw
 VDVWWkdmK254Tk9RT2RHYmlQSEtIWDl6b09lSUUwbW4wV3A0YmR1ODQzNC8xb2dYTDJYNlYwL1JI
 MHh3RjJYdW1OUktMCnNpdUJwU1ZZeXVObjVhL0VvWlR1aU9DWE9uMlJjNkF0RDV1UWJacGpHTHpM
 SkFqalVSa0RGTU1walJnS3pOcklCejdwMnJIY1I2TXcKZUFUeEl2WXl3UVNUUkVkdnA2K3d0R2pJ
 MWpPYXZLMytxVlUxUTVOMENUaTVUUlYwcW5sNktJTm5XVzNucDJTWVJHeldqSk5ENjdOVApUcVZ5
 NXB5ZTI1TSttOHpOOWFhajJKVXViUnJMcm1vdW5jS2hMVWVSNUdTcWxXYzZrY2RiN0U1TTVoa1dh
 VEh6c1Bybm1rNmxUd21UCk9xSjQ2b1J1TURDYnVUTDhhY3cxZ3dDT2VFSlBXZW45MDhiNno0bGRp
 SS9kZG5zOEN4WVF5dDdBN3ltOWdVazdZWVVleFFqMlBSY20KZ3d0R2RoQlVFK21TOGxIZ3ZWOC9j
 SHVKRTh2TUhKSzBzZFBvTjFlWksxYnBja0thY1VoOFp6Z1BXemh4UEhsYk9OSHh1L1JCMTRycwph
 cVduQzNSZGp2UUJweWFWcGlvVFdoa3Y4SzBRd2ZRMUVuL0ZibWdnWEtySCtnOHJMQzhleW1NOG9m
 dERtY0pMVjNsSUJHQytkY01PCkNKa1ZTZFRrY3ZCSlM3RXNnVmlsWlNDL3NnRUhqMFMzRDhNa25q
 c0xneUZGd2t6ell5bWF4U29NRlYwaXpnT2M3dVEwbVpDaUdEbEMKNmpDQUJ4RmhrRzdDanVjZUFF
 RksyelZrSmhpeWxvS255Z1l5SVdmdmdwRW5keHAzU0puaUpvRkdsUk9jKzJDMVlIWXlFWkxDelgw
 QQpTUlJQaHcrb3JSdmF5V0RvWmhFVFF6MEVVZzRlNk1DamtvTHM0bng4NWN4VE9nK2E2alYzeVJT
 bnZzMjdkRTZDN3ZoWjJlSUdDeDE3Cm5iRTA0cWlhN1I1SmlOOUR2NkRBYlRMV01IcUdSQ0FWUlhu
 Nk1LVjJ4ZndaZnRmSHU1N2tMRGVVS2hMQncrbUNWRTA0S1ppUXNBL2oKVmJITWs4bUZFRmIvU1h6
 eFhSVFM2blJDWVgxVkVZU3lPNXU4NlV4TUJRVmhvaUdudUZUbTVjRDVLYTN5ekhoVHpjUE1YYXA4
 Z3B4cQpMaG51ZWRyZ2FYRDVtWEtNL3RsbU5LbTBaUWtOaEtmUFhuUlh4R09KNUFLM0NHdmNqMzJN
 RnczeVVCOFBtVUFURWJlalhaRlNNcGFlCkI0a1lvbnlTaVROYnNUOEU0WmR5ZjhvQnlGeFcrbmxD
 SGxQdFV3aE1uMVdwaWt3cHV4OFJheXE3bGtEelZReEd6VmlNNkNRSW1QOHUKRWpLT2NaQmEwdWR1
 RjBOd1JuZnpMcERUbzJtckk3bUozM1l0OFMyOWU1OGVmUmRaTXB0TDZiSHl4RVZNcVJuNkhWYWdu
 eDZwc3k4eQpNVHRlYW03N1NvRElObTdhVEcwN1VJbGx1c1NSRm9sY2hpa2xSZU13a2RNd1I4Q2JI
 YUZlZ0ttcG5tWkhxN3B5MEU4c0Z2SGVCS1VsClJqbXdCajJBUGRFTHY0c1MrU3BWRG9uZzNoc3lU
 dFJPSC9XQjRpUDdPS2N2TFNSb0JKZkduaWRWdFBPaElKNTk5TXFNYjUvTjV3SzgKaDBFMUNtZmdq
 VlQrQ21TS2RBK1NUbXJIRnFaSm1WM0JuSHhHbTMwc29kdVpZMnNYcTdjaDVnOU1jZnBQbWxPWVBC
 Y2pxVnp5Nll5QgpjYVZzUFN5QzZhQU95RXE1T0VRSHlTbThsdGpoMk8yZjVuV0JIUXBwcGswWHph
 VVNqTERySlJrZEZwTWJ5ei9IM2hnVGtPRmFLV2tCCncxWXpZbzZvR0RPL290K0luOUFTWi9vSnpD
 d09oczhpaVpRNUlBYWd2TTFWa25uZFJuekFsckZYcWJjUEZHQmZlT1EwcW5GbkxXeEUKSXVzNHFi
 WXBQSzIva1JkK1FSL0M3UFlOd0N3ZXIrNEdvOFQ4eG9tOVNlbFNlZDlNN3F0MjlaVG9LN2VhRzBw
 UXdKZTEzOEdrM1FaeApqRkh5clFaWUhvQnlaeDVPSzgrZlNjWkhReEZGZjgxYlMrNGdkak5zNmtR
 eHNiOTRxbHMyZzdUR2g5ZHN4NEZIV3hsc21DUXc4YjZjClR2bUhJbDcwTklTNkVkM2Q0TDRwMTFk
 Q2M2THRCVUI2UUJMUXY1ODd5bUIzWHZmTnNPMGtqbGE3bUpzWWlhWExrWW5iOER4YmdSSmYKZExS
 Y3pkM2xtUDRkNzRZT2tNTW5Uck9jRWxFNTdMNnVsemc0S2VwTFY1azBmcHlVQ2NNL2M1T2p0MGZJ
 UVBQcG44b0RBWkovVjVyYgpRMU1uR0plUTJlbTVIM1c5Zmg5T1FyQUdLUlc0M3FGRnkvTTRkNXRQ
 MHBXOWQ2Wm5kUTVlNi9lZWs5VnZ3enlHenp1azJjcG52QmRGCllHYlhUY2dVcWEwMFN1VEpUTjZx
 WUxkblVrbmxqMXI1UWs0ZE52bnZOWHI3RmlzZko1WHFWRUxBampsdit5QTZ3a2pQdmVINHVVNk0K
 UUxnOUNnWWdPUFJrL0crVFJIRzJ0aTVISkF0ek81bUVyZk5BdW5LNzk1UGc2UDVDbWFYUkNnTHp3
 andaYlNHaXVTSnd1V1F6T3c3UQpLT2RaSkdDaGlaYzZCZzJ6WVlHRnhEd2hQRGwyZGNZN3AvTFRG
 SGk4NVpTUk5jRVdTRHFreVNjQWttRm5iNzNWVHh6eTVtcDg1bGxnCm84YzF6bWthRzB2R1Nhc3BM
 V1VrakNaUjJMQitXajVZZVR1ZUxtc2ZLKzFrN3FnclJtNWRSenNpVHZHaWhZemNLcXptbFlwVkNu
 b0wKa2dEZnJicGtTdUIzeDMzWG5sRGRoZFE1M3BwRE5KalFoM0w4d2FSSWozRW1aTWFST202Vldu
 R2Exd1NiaHZDeDJiSUNTVGZsRDd0aApUak9OaTZObXVtaE01cVpSVHVsMnJYbGFiN2N5RmZ5QkY4
 WHVZSlJYcFhGZWI3VnI1MWVaU3Q1am5GZSsvcm1kTG9xU05DYURhdXNxCmRvMmp5L09yeTQ4WHg5
 ZDVWUzFKTkZ1ei9lRzZkblYxMWppcXRSdVhGK21xdkE3eXV2aEJabFBOOUZPUmVVNGxURDU3ZUZs
 ckhzK1QKY25uTHlpaEhrTWJ4elI0QnQ4MTVXVUpTYXgwN0lXMStyUU9FVG0rbSs4aEVITjM1STE2
 a2diMUcwR0xnaTJlb0xOSXhlcFVNRjYzbAphaTROZUxLUGU4NVdLU1ZyR1FTU09udmZWancrZU9a
 SVNFWit0Q0JWaFp5VlVkWjhIYXBTWnRDODg0eXlXaGFycHZIUktFZXN0TTgwCkpMc2ovbnFtQjNu
 QVV4YmMzQVovZjBadU4zaWtzTHZMWjJXZE1hYkxpamhCcEl4Z3BGRm5uVktvcy9Pei8rRlVvZFdp
 VmhDZDJwamIKTTU5WTRlMTRLTEZ1MjZvd0xXcnJHTG9rWVQvMGxRamFYa21jd2xFMmk1SkhEaXhr
 VTZnTm13QlBzcVpUL0dod0ZRWWpMNHlWVFNocQpJZFcxUDc3R2RVTHYwM1V4czNXRWdWWjAvWFIx
 VmRPeXFyWG5uS3Z6cGFRZWZzTGd6bVorZU5jNlExTkticjdEOE51Sms3Wk45bXhmCk1tUUxYQnFs
 MG9YUFJ4NmZHNzJaMUVmU1JVT3MrdnpsdVRWek54N2VVOTQvU3M0SThtTXdEdTBMTTJNUEd5VjBT
 SHpUZ2lkVU9JcGkKWFJ2ZkRNVEc3ZWZHY1hFVnpua3U3TjQxdklkQ2g0RlNNc1JmMm5TNFZMSjZm
 c3gxTlhDVjBVL2x5SnhzVHF3eDhpQ2RQT2JCU3ViZQpoTkdCaTRkTkZWem0xZEF2bWl1NjJiS3ZO
 UittNzEzZlQ5cTY2TERXTzhMN3cvR28xYjN6MEd5Z2wrRHVydWhLTjBYbUFRMVZIQmVvCmJVdUc2
 czRuWHFXUmdtUTR2Ui9iT1JNancvTXA1WmNsUHFOaGM5Z21oWEJPenhMNnJNakRqR0x4Y3gxTk5Q
 eVNqbHE3K3ZOTENTOUYKUGcyMG9JMFp4U2VhR0M4eWJRK0Rkb2pYS1BJV1VKa0xlRU02ZWpDeHNp
 YWVpNlh1VmRGNWdJeEUyS2hTRjRva0JBeWpiK25QaHFtcgpJRUdPaWFtckhXMWlBRnZaQ08wdmFF
 OGpadWhSVmcxYjBzRFE1bEtDVWZhRVNRZUZNQS92S1NjWnFYUDdOTWhtdDJSOWJCeU1Lc25MCndS
 ekZxUUlWQUErbjNLWU1MKytDbTIvZVZMbTV1S3pscTBFRW9sME9iempKTFNkdFJ5NXVXUEdrNHho
 YktGRGl1ZHdreXJDTnk3eDAKY3VQRzNjVE42cjVnbTdsRnpYS2VSUy9kb2FOS1QwSnFzcmVOdlFU
 SkRZWXVGL0c2RS9yME9kbHFtS3lDbTc0N2hLY1ZISzVQdWd5Ugo1SmVwZE1OU0FZenJOdktVVllT
 RVNnc3JaUUxBbXYrVXZuRG1KY3VadWFlTFJ6cng5V29YL3A5b0lvZWNhQmdNSzNJek1pWnpPWW14
 CmM2eFhKdlU3cWVPMGxtUWVTMEUvbW55L0w3bFpuZ01FV0tmblhud1g5SlNkTXk3Y0FUM0o5R3VC
 OHhFV2hyTFExblhyNmxLWlYzOUcKNDZTV0YzUDduMitrQmxjLzdycklsNm45QU9hL0FxdXVFbzJD
 R1B1Y2wycGJnWjh4Qy9kV1Rya01saVlwZFlCZTgxUTZuL1g5ZWs5YQpBY28xTUlyRGFHcnE4NmEy
 WmUxU05CRzBMMkltaUxhMENhc0FOY25UL3F5U3VFUVo1Rk5FcGJZSU1oY1N0Qy9PQU0yMlFxQThT
 ZzhrCmpDRjNvSlg1aGU0V1pvT1ZHbzdzcFIrdnpWVDlkYzZDU09ZSEJRR3kzK09yRzF5QWJxOG5x
 YWg5djdlMm1WZ2lhaTdvd3U2UTd1dUEKQjhYZXZtd05Ka2JwbEJKM2VtaEU0OWtlVmpNTWU1YmxN
 MzJ2ZDhOUlkzZ2xtWFZHeFNBcERVc1puMks3N3VmMEF3cTB1a2hQQUJNTgp3ek1paFMxRTE2Yzd6
 dGdzYlE1OWk1TkVXVkh2bVVrc1JxVko4N2lWbVVmYXFUalBlekNzajRMdW5XSm0zWkRjUUpuQnl3
 V3FDa1lUCnZGaHV6SlhTRDI3b3B5NlQzZ3BjRVJFZlNxQnp0cVhJamM4d01pNGJ5dGVWdkVVWnRD
 MU9XV3BNS2piRmYwK2E1VVJrbyttcVc4MjAKcFBUVitEY3EzM1NKK2ovYXZmU3RkdTc4MDdQelg5
 T3o4MCtQdmo4OSt2NlhlZlNaTzZvLzNmcitPTGUrWi8wQ3Bqa0VUTHBUL0dNYwpBdjVIZWdUOGVV
 SHc1d1hCdys5dFBpQ2tlK0dmVmdOL1dnMzhqN1lhK1BPMmY2SGIvdWZ1K1pWeVlkNkwvcG11K01V
 a252UGYrNDcvCnoyQTIwejM0bjNXdy90ZnlwMzNPcDJPaU40ZlN5LzBlM2h6UCtuSEl4di9yL0Rp
 bWVIQk1RTXgvbFFmSEZOOE5kVXo5MDNmanY4UjMKWStLcDgzK0g3NGE5OS83UDh0MTR4czVwc29Y
 VFJJbmhEN0p3TW44V3QzV1NZNWpiMW1tNmxkUHptRm1hbGRPL2lPWFMveDU3RDdVTgovV252OFFm
 YmU4d2JKa0pkNlo3WC91MnlxYTV4TVcvQlZpbFhZS1FnQXBOY1czbFI2ck1lVG9vSkFKSFFPTnVE
 bVZGcS9OOFVaaUtOCjhNdmh1WnN5WkcrYmh0a1BQdFVhVDRiZFJqUWVqUUtwKzVQM2c5VE56L0xt
 WFNMUXJoSGdYWFBFblVYZi9CSFVMc29RRGJIU2hDZEYKd2h1M0czUGJuOFVEbnQySmpCK3NLUXFT
 UXVGNEtBRnp2MHNab1VRR1RMRlY5UVJtTklFL2NjZ1QySjlvcnFRV0puVnBrY0RxVzBFcgpFUytM
 c2xvUjF4OVlmY2RwUnpLTk1HaE1Tc0pLU051SlJlRG5tYTcrU2RwL3hrNzVMNG1ka3JCaXkvTDlX
 U0xPUFJkajhGOHJQT0RMCmdsdjlHZFpxYVdHdC9pV05VLzlvbTg1OGllc2RDMXgvR255KzJPQnpD
 bnQ3WjNHM1BJdTNxVmJBcVJ3VjlvRXJQMS9MUkFNMXpTUVQKYjFMNUtObE1EQTVzNmlHZlBjVHFG
 L3JjVDV6elJpWWx1REx0VEpoMW1qMlhNc0dlK2VhVVpsN2hTZTRJWDFzOU1XOUhicGpVODVoWAp5
 bDVPdnpBWE5IN3l1cGJONUVZZ2crQmR0YW1Bb1pCSU53K2ZxYWRkVE9OaVBmN01yUjdkWVhhNUND
 SGk1MzZlTFZMUEQrT25vMlNCCnp5MVBKaVdxeFhIb3c5Nkpoalp4bklYQU5xSUlvcGIzMmhoK0dt
 TVVLd2VPV0pYbUZRclhzM0N3SStaZ1I4RVE3MGIzNStCT0p0T20KV0kzZDJ4UXRBYSs2VFFRVkRp
 aE94UmxLY0tiN0poMFAzYmUvVC9aZlRnbUcvenEvaFJLMy9NVnF5ZW9EdnNRdnlRU3IvNlRjOVdY
 OAo5cDVUbnRpcUdaUlNoMjZmTXpRa3N0enIxRDlpOVdGZ0dRQTh5MG50SkVCNG02ZSs1M2ZhSCtJ
 TlRkZFRIVTg1WlNkU0F3RVI4eGNKCjZpdnpFSlZZUnlaMG9zMU9MQzJiL1lMSnl1Sjd0bGFmS1Zl
 WktUeC9xakpUZDRtWnlpeWdjeVlxazNrdlZaNHlBeWlWcHN3YU11ZWUKMzlncDcyRjZveDJWMzRq
 aVlIWXB2MmtiK3Njc3BZZWtKRksvOTAxcEZCaU9CbHlLRzRCZlpYSG1kcncrZlR1Njg3cjNIZk9t
 NmZiOApRUCtXR1dycm45djE1Z1d0RUZRdGpaNXF3OTVwUCtpNC9mb1gyQTBTeWx0c3NVRjJRc2g0
 T1dlZVRPSGFEZjFSek1wY3B0S0pDMGZJCkZyOEV3SHl4U2JLaHJRMjdkeUErSlp1N3Y1YVBYZm9v
 MjFGSzBNeUxFelp5cEpyZTU3S01XZFA3c1N3WC9GQ3VjK3MzOHdWK3NQcEkKV1lSNVVxcDdiOVl4
 MTJGMWIyOVBKenY4bXBNbXZBZ1lwTVQwZEJIL2x3UFIvdkdxZm4xV082eWZsY1MzM3dyOVhocUxZ
 UkZLREZoUwpPWlRqY1RqTVE3YXVxWENiZ3FUU0JITjltQXVzZE5uNXBmNzRYRTNBM05IWmRmMkgy
 dG4xNmRubFllMHNKK2N5UTRWaWx4LzJYNUs2Ck1MNC9DVEU3d0d6TVFKWmRoQmZJcWt0bEJRcm12
 SmwwMTNkVHJFQUN5bkFDTlY2bXVTcWwxK1FQazBMWDh2aEl1M3lnZTB2a3FlaEwKcFBFVXRyTUhY
 MGpKdE1rcVpUS3lFQkg3SEhQcHE2QXVJQ2w5RllBRjlVdVkzVVRnTlJoYVZMTTF5QTJXaU43S0xt
 OXRsbmUyb2MvOAphWE12V0p3Z1dOejR0NjJSMThXTFUvazErdWxuY1dCbGNmNFZHTVBSNWNWSjQv
 VDY4TEo1WEcrV3hVb0Y3U2ZZZ3hYVGJ5Wi9IVnEvCmNBVWQxMCt1VDVxMTgvcjFZZTNvdzJrVFRi
 T0lOMXplM0VSZVhLUWhsV1hTcGhLbC9IeXVpa0tFWFVzVURpL2I3OFZ2d3ZUMzZQSU0KK05ubHhk
 bVBpY2U0dkdIWmZDMy9EaU04dlQ2L3ZMaWNmWGpaOGpPT0Rhdk5OYlRXanhlWEZ6K2UwOWg0VEVh
 eVdrbm1iYVVXRXcvRQplbGxnRjU0RGZKdEIxdUp3cnhxZjYyY3RBa3M5ZlpBOVRYVjg1ZEQrbVpv
 T21zNVBqZVAyKzRsVFFoVkxwaHZPOC9YVFU1UUdrY0ZRCnU5bTRPTVdSa015Sm5kWmZqdmhMc3Q5
 SFo3VldLNmZIVkF1UFN0QVlsVXgzT0ZQUmREVzM3Z3Q2MnI2OE9xdi9VRCticWJPcXNPbnYKNU9y
 NVhiWWhUT20xMUJ4U3g2M3ZSL3A3Q3RISUljNXJWM25kbDFXNC9SU2FjNnBaM1U3VnpGbTk5anFk
 S24xbCtOUGxXYjEyd1VQbAp5K0dReDJyOU9ESS8wcU85YU5jYUY4amdNc1AxSTExdHdtTElyVzFH
 blE5QXpLQitTUSt5ZHRSdS9BRHRmV3kyTG9rWHM0RWNqVk4vCk81TGZVaU9VZGJLelNjVmx4eVpO
 aFRNVmtqWEJzd0Niek00NGtTY093bng3TDc4bGgvTyszamg5Mzg0WkRsZWNNRkhaV3Ficm1ZcnAK
 YmhKcFV5K2hZQjhMSi9jKy9UaTVDWXJDeXZ1OE44THFGdlRxREhzR3V4Nk5NenNxRGVHV0Zpekl4
 SWtoNWc1b2FwM25SMGVMTlRHdwpJL1hrZmVwSmFtN1VjUEttSjFFelBZeG5ZT1NNYllhUldlU2xh
 c1YzZnZkKzZESDMxay9iNW1seTJoSXZja2Q2UFdrbjFjQ25iYVpUCndPUU1PYk9uenNNbXpZWXc4
 SVpqSEw3NlBLZlB6QjUyWHIvNG1ETXVySlhrL3hOcm1DSFlsVVJCVlpqTS91ZG5rTTM2V2FOK2dz
 TUwKdmI3djNlREF6TGVtL0phY1JGVW5NMGF1T0dIT3NyWE1PRE1WSjg4Q0s2K3hjK1piUzM3THpF
 WHJxRm12WCtUMFZLckE4K2NqVzh2MApORmx4aGptWk9KRFl2ZmZvN2hkSGdEOU8xSSsyK1pGRWZM
 djI0ZiszOTZYZGJkeklvcDg1NS82SUhzOFpoNVJJbWF2VzJPOW9zODFuCmE3a2lQWFplYm81T2ky
 eEpIVkVraDAxYTFwdmsvZmFIV2dBVTBOMWNiQ2VUbWJGUElwTGRRQUVvRkFxRlFpM0hseS9QRHQ5
 bHlVZ0cKaEM5aFpOZXlRM0lxTGhBd2ZCNzRydE05UTNFZERwazRFUDdzNGlkMDN4WFMwOTFXQmVk
 c2Z6aVdQQkJpREF1aEJJV25xamgwaXlJcApmd0VqbUNVNFJQNTRsMFQrUEwzckhHZU1WSldIdTNn
 aGdQNnlVSFR3SU5rQkx3dk1aa25QSFE3ZCtzQlE3TGUvOFRkM1hIOXJkOTd0ClowMGlWY3dTYjlO
 VjdCamNXcXRSbnQyanpGbk9mTWs4ditYdE53OXp0cGs1bTh2RGduUGFNV2daWExxZDh5dnpNRnNG
 RFIxby8wSDcKVXEvVlFHRkVINlF3UW5adWxUQ2dQQ0l0ekd3U1lTOFhxbkFCUTFSeWpYUTlxQlZG
 bDV6SlRVOXJlTmZVajQrSUdUMzhuT0pxNkozdQpkdE9yUm1wYVZHR2hsbGozRjdYQWJMS1owVjEr
 US9kTzl4RUVRY3VvVHJlY0dkWEY1VXZQZkVVQWhNMmRjaDNSdVZPdXNTYStrRi9GCmFSTWJJOHQw
 MEw4dmJoVng4SUZOUENJMmFTZUZ1Wmc2Qktzbzl5YWFIdDczbHdPcjVONE12WHptL0tYSGNRSVpV
 VmZBVzdEcWJVVWwKNDdZQ1c4UXJpUzZiZWRGOXhQcXlaY3Nlb3ZndVExK0J0dDhlSzJiZVBpVWZT
 blBKWWUzamVBanlEbzR2UUNaUk9JMld4Y2hxeUlmRgpBeThVM2xadVpuMUJNL01XblRhbDA1MWhS
 MjQ5blJYM1BzWmNYNE5nZXhCT0Z0OEErWmN5d3BDQ0dod04raWNzd3VvK0dKR1diNHgwCkp5d3NQ
 UmR3MWMrUGNuc1M2SzdBZkZBRFFrVFRiUVpYWVJMWmtlY2FKbS9UTlE2OGFwODZBa0VEQklLL1VG
 UWxRcFc5L29XenBQTUEKZDExRmJYeS9WRzl1bFd0VnhXd2FtL0NaWWpieWNwZzdPTmVNYmhzNm1k
 Vkh2U09zd3dDcnFmdTJzZW9rNEJSbTVHcmU5QWI1OHh0bwpKTHZUNkZ3bGpwVkV0UFM4WmR6cjJZ
 bkUzS0xZd3JvUlk3d3huU2poMVNpTFVwZUlFalNoOXI4UVF6Z3RXenZsSFRVcm05dnFneVpGCmhB
 T2xlQWppT2lWTi94eDRnOTMyczJ2cGRhcEROeGtuQ2ZWd2R1LzVRSWtsektiRlhJZ3h3V1VSY3Nh
 eW4xZkhXQXpaTzBqTGlJcUMKNFppSkllNkM3QVNFRVNtZDRJUUlZQzViK3h4b2VCbnBpREk4Unp0
 Vm5DT2NxbTl6TkErcnRhODZSN1djT2ZvdnZpdUV5V21BRUtYNApXcU82clEwaXpPNHFXWmk3SjlO
 UWNZWXJxNDNRN21aNkgxTkRYSEZjV1RBQ3oxakh3bUFUVE9Nb2xBcFFKQW5LRW1mN0d2eFVKeEc2
 CmZKazg5T0RoamdhUTJGMUlKcS9MRDZNSGFabm9CWnF5UnU1L2ZCcUhLajlTeXVnY0d0ZWQwUk9S
 R2NWTm84ajNCU2hibkdXVnhqT0oKYU1jUmVxaWhEdG4xZzBVMkdQZURiNFoyRCtxSkhUbXhEY0hy
 M1FERElwRExFY2dTSnV1NGRzQkhVLzJjK2ZSV041K2c5QUZLcjFONwp0aEp2QWplTWh3Szg1NHpO
 M0dxVjBSREhpRDFyOW1pdGZzaExwREpPa3ZxcmVrNktrRDB4SzdHU21NckJJQnJlZ09tTU52NkV4
 ZDZzCmJzSDVzN0ZqREJZSzVnQmFBSG1LMFF3Q0NuSU1NbmtCd09Od0dQZUtUMXdSdXgvM3dRc0JZ
 bUg0b1lHZWtMV0xxT3JKell2cWt2Vk8KQWFiaGVXREZnRkphc0N4cUhpR1Jwem1ETUpSQkRHd2lC
 cG90eDJTRFhYL1Jyd1NPSkNiTHZIRTlIMGVLWXd6WUxoSWlNMWlENG9CSgpRcys0Nmk0Y3JTamVX
 UkdjbWtmWHBLY29HWDQrdDZ3bW9wTHB2QzVlZVlGQ2tLb2xpTWkrMURiV3o5RjdrMzRVVmNrTU9J
 UXlWWks1CkQxdTJ0VUNNV204cFdYZkhZaWVmcTdaVElVZXhCY2JpdnhxL1cycFRoNGhicWhQZUtn
 Y1M1VWNsaVNTemZYTzFOSCtBbXZhcFZ6bXcKdHJISmJERFZUNEJPTHFlOHdtVXh0ZXhqbnNyTlRU
 U0gyMnp1YUVLWFdwb2k2Mks0Ym9hYXhzeHYvc1N1aEJTR3VqcENURVhzcWVXbQpMOVZhSjk2WEZJ
 V3hraFY1ckhJcnRVSndDN0pQNzhQa1RpdVZOcmQzRUc5YjI1SkJaQytCSEJ1dHZFMWlBWkdzU2h2
 Q3B0SG5EMzhXCjdKc1krNTlGR2RUaUJVK0RpK09qaS8zM2wrZkhwMGZ0MDFkazN3Z28yS28zOEtp
 N1ZhdWJvNjZVNlQwRnBXRy9GdUZTV0NPZDRRSSsKOEU0SHNhTG9pNU1JekFqZFBIeDVWSmJEaUlo
 Uzl3S01MNmxBM2tPa3pFVzB0d29zSXlkQTJHUjIrRWRYRnM0QmpoRjl3TWNLbzA4bgp5N0ExVlZP
 ZGgwV3dUOERnTWl4dXBmT0szeFZwcTRnQk5OQjNUb2trNUtCMGFXYjd2YmY0NTE2OEFDRnQxNUFI
 YmUxWUhpUlV2VUxNCkwzM0dUdlA1ck9ncjgyZFQyVk5WcUpyZXV0UTFYaDBHTjcwOW84UFkza0ta
 Wkh0emN6SEx5Y09GamJ6bzlzblhXT2NBRUU1NC96UmMKU2h2dG91NHZtMmtyZWZUNEV6aW5rMjdQ
 dnYwVTRlTU44bnRUeFRDNGZGRDQ1WmNnQTRZaDVkUFJOTDUrdEN4dlo3TUpVN0RUYXVncAowSHJy
 STRxK0NpckJsUWhXeE5qMVpFb0lnNVJGdTcvdGJ1R2VRZVlRNkJMcnVsYWxoYjFqRjdhK2gvaGNI
 SkY0WWFKNS82Nm80WDZTCjlUU2RCdDZITVFYTng4akg2RXByclo1MHFDVFZiU2ZJRXNWVzBpamFC
 Qmw2dlZaVkp3MldwYTNtV2UyQlZsdGNKTVZtb1lqS3pwZmgKSGVoZFZTLzVlVWxKTGJQNys4ZmF0
 cXU5dm9RRGtCcmJrdFZiSmJHK1VyVWRpY0ZjSjhyVGJTSDdhQXVsTTZjbGU1QUlLVzlXY3FzRQpC
 ZEFSZzY0YWw2MjVTTUp6WU5FLzFFaDV6eWk0cGIvRVlnT2IxVjBuMUVHOE1yMVRvazJ3WExHVkhD
 Wk1MZlpyMkt6VWEwRzFzZHRxCjdqWjJWdmVWc09DV2NiMUFhaTdYR3JXV2VsQkdjYkNpL1NUQUZn
 TUFiZHlxbmlrNHRicnFISGhjTktxN3RaWUFWYW0yRktpSzlxTncKNnRXd0MvVldVTnZlYlczdHR1
 cnBlcWhGM2k3WGE0MWd2YzZDZWNXc2hjdUR0OTNMN3B2MmFmZnl0WHFzdXVkbGh2aUhlaVE4UnEv
 RAorM2p3S0dJdzBvTU56QnFDd1JuaWU1aVZFRjZCOEliY3FDTFNnSU1YdnpxRDdRbW5mdlVUWTNV
 cGVCRG9DZU5kY2VRZWVBY3hiQlFJCm8xdTZDVEZpTitjdUJ4VVl1REdQNDAvUkFNdDdUVDZRT3lR
 SDA4RWZLTGZ0dWQ0azBPUjNRNjl1TWdpSHVtcG5FQTZYcjRueEpBWUsKeFo1K0Q4Tk42WGM0Wks4
 aXBGaUNBL1JkVmszN1VsWUZkMnVZRE90MXU2ZWU1czhsQ3RFSmhJelNvaXZvYWtDdGg1MkN3QnVq
 c1o0UgpyM3Y5U0ZmTXFuYzFta0pJM3V5cTkrRW5jajNsc0VicUt3VWlnMWhhS0hPSFBReURPY3lx
 ZmEzbXQ2L0ZmbzBURE5sR1d1S1FTcEExCkROR1NKWm9xYlVRUVFzWEQyUWxFOWUxcGhLVnhScVU2
 TGdMVmRsZlJjUlplNGhHRjRrR0J5NXNJTkJaOTZnMW1pYUpWeXU1eEEzbnYKNHg3Rkh6UUFvRE5M
 SmZHcVlmS2ZpdkQ1cFVoeEZ5YWNnYXZub2JqMnFsOEp4WjJJT2Y1cEVhS09XOVRZY2lJOUJNZlo0
 SWh0dGpDNApKWUs2RFhBQ2s5L1Y2UTNSZTNrS2owc2J0bmliMnlVSlUzMnBTdFUrb2RhV3R2bElL
 T29GeHppZ2t4MmdGb1BmUUpENWlnd0NTam93CjFkdmJNTG1sM1BTN0hGWHBLb0tZNzZiMFhUU0cw
 eVBLSWF3QTc0VXdjQnYyYjNUMWM5U2JKcllPeHFLWmNMb01pRFdFbk03cEtzUUoKN05zYUdLWEJu
 eHpzdndLdWZ3djhLeUJxMmR3R1ZaOFIyTktjaXViV01EMElNdGNiNk41U3dKQ0pEbVJoWVNPYVhj
 R3d3bllnbFp4dwpHSmFBRkdJbWlVNWRRWE5sSU9CVmRNV0ozWEdNSVpmWE1Ga2MvQVloNXhtR0pW
 V1BlVWxUS2prYkxNUjBUU3pWR1FWMXBWZ3QwWlFqClZGalVlTzJCenJzdjJoTnlzYVVIamdlTkVZ
 NHE2V1FvSmpJU0FxT2U2aGdzQXBsMytBS0N6QUxMQXhMeVkwZHlHVUVMSWVXRzBoVVUKbGRvMk5q
 NXo4Wk94cjc3dnNMUkJ2d0YzazBpc2QvV0pTOGladkRuNStHb2JWWmNRcHhBcE9NMjMxV09UWUln
 NUMrN0JTU2x2S3p3ZgpjY1F3TWlha0t3SzVmWURIS0lSYnZSYmtZUFpLc05nb21vanQvVW1JS2JM
 TWU3Rm1DYzlxanpBdkNlRzVIZU9JQ1poVWh3UUVvUC81CkxXZDBNVm5ZY3Y3K3dYY29lbzlBZkZv
 dVE0R0pKcEVPMkFSWnpSNHRqUEVnbklKYW9vSjNMZGVaZXd6L0lLRXQxanZweXhHZHpoN0MKU1Qv
 QkVNNUt1THFLQi9IMGtTNTRQN3c2eEtqUlNRYWZoZ2hnRjVoV2l4WnM5MDRYaGd2RWlveWF4b25m
 TmdLeGtEMlpSWW1TZEcvYQpnL2pWaElIUXZoMWQ4YTc2UUJ1SXcrWklITUxsUnBlaC9UTEUxaHZa
 b0h4T0JTVnd4Qk9NOW1iQWc5S09ZeE03KzkyWXR6WFk3V3hmCml5WGVDQmlTclhGUDhnU0cycnlD
 OTRvWjNSTWRtQXN4dkI2UjNRK3A2enA1Q04vbm1vVzE0U09OaFpiZytsNUk0cnBsMFNTaVNtTkcK
 Y0Q1QzBlZnlueXpKeU1TcFNZZWJnemRjV0ZBMEVKYzdnd2tjWllkNGdSMG9JUVA3YmJNUkMvTFQ1
 VERjUUFEbnpRZ3Z3blRxdUJLcwpGREhhVzZJYkhYUkxyVzFJTFFLeGo4ek9FQS9GaGl3MmpwVjVw
 aFlyV1o2a2hjNEJKUjJod2NRUHBTQnlLQi9vZUZha3Z3OGc1dGNFCmcwWWlESXAxUjRGY1FNdFBv
 ZzlwSWpGWkN1Ukp1SVQ3R0JLSFhoMGlBOEJ1cFlUYWkrZ21oaHliTkhuNjkrSmpBN3hpMXNFWkM3
 dHYKemk4aC9RWVlwSi9zbjZNd3FCOWRITDhDellDaDN0a1FPZ3Z3Q3VmeEo0aGVOOFlQYUxlZ080
 RmFVT29McFFyRFM0RTlSdTRZRWtsZwpDalRxcTFIcWVOMm9acjNqL3RTNHFvd25JK2Nxb29nMFI0
 clJvL1FRSnk3eURVT3p5QjhHSHdKVHZoakZHQWdTd1lWNldqRzVCQTFiCmN3K2I2YkUzUXUzTk5P
 SEVsWnpIRHlSZkRaYXBRRTFBWWlkV2p2TDkwZVZCdTZzR1g2aDVqOG53cUZEUGVIeFlhT1NjZTV4
 NFcvcm4Ka2hUQ3YxKy9QejNpUUtaN2hvSHB5RllQSEpDVDV2Vzl0a2hZc1FVYXNkZUlDUk9zRFQv
 Mm5CTXNHbldZWmcvaUtaZFlvZG1qdytDMgozeE5Ramc0OUNKYldzd0NJQVp0d1l1SU45UW5pVUlq
 T2N6dFFubHI3MWFYVEZNL1JkSHlJdVhRTjExRjhPUWs1UGkwbDBFWDIwWTgrCnhqMksrcTg0TnNG
 SVJoenFkcW8zTk1nZFA0SzlFK05sTzRTWWc3dlg1L3R2ajd2ZFk3WEZLbmwrR3NtNXVMcURuSTU3
 SXVvdUp3MVcKdXlIbG1ZMUJyTERNZVh1am9aaHRjRURKV2E5bkErcmY0MmhHeVd3QzV5RGhuVEtJ
 TDlvQjJnTWJ2Rk5yRHpWUm9FN1FPaXd0ci96cQpZSklScllBb2ZvQzBnRytWcEtDbjR1Z3dGZTI5
 YlBsRG43K1UzWW1sV1Zxak9TbnRaYlJ3b1U1RVNseVdyYVJnWXVsK2J5RnNBUjVXCktSM2c4YXRq
 USt6UWFNbXYyVDd0ZFBkUEQ0OTFkZlBiZ1FHbXluNVZZK3ArcWFRcWRTcE10NXd5akNadThuNW9Z
 ZGw5R1ptNG9VUzUKQkNpaWhTQ0NHY2w1eE1zNTd5b3VsY3ZHa1RydmoyWlRFT1UzTEFUTHBWSE4x
 QnVOS1d1Y1RxOXgxK2h2OU9hdGhPNGRkY0xUSW1XZAo0L2paU0thSG9iZ1lGSG4waXZvdkpFSXZk
 Q0dGemFGbitoS0dKaTlCR1lNMlhJNzk2QXBnMUU1SzN6ZkdrNStyRzhBQU9XUDFuYlN1CmtJdVg2
 UytoNVpRRk9XOEVhVzdOQ1IzNU1WeXlncDRRRVVKSFRGZkNNN0hjdmI3bmFUYXN5S2gxSEo3S1JH
 UGlDN1J6djUzMlpwWGoKK3dkRVlyQjJSZjc4MUJNYlVvQXdIcUFWeWpDQk01OU9hR1o3NGZqTUl3
 bjF3OG1kY2FMZlNEZG0zb3Q1cEpPemVxR0dyK1pPc2ZjaQpabHJCL0J5WWRVQWN6bGp0WTRaZTJu
 QlNUdDZHUU0yMkFsaU82T1JZSXE0L0pIZEs5YzJPUm5iT25PM3h0ZWtpRURwU2dtMUw5SnJpClZU
 dUtLdEZqV3lYZDlad2UyeW82THhYMW5VVmxxc3hzWWhxUElkQzJPcTBqTnhXR3VDbjFoRzRVeDZS
 bzJ0Z0w2Zk9TZHhiNy9ubXcKMlNUS1NBTE1Pd1RibzE2YkdFcVp0QkJpcXgyTDdyNDZESzV1WGgw
 eXo4RFdpcEI4SUlLcjNuRHlXSUxlUWk4WnkvTHNSZWJGTG5tNgpvSUdHWE9BYUdsTVhwSXpVYWtz
 TFdLOW9rUXdNeFIvRURROTJOWXBTZlVGcXllNk1KaVRkbTJ4Tys4Vzl5VldMM3JKR3RDQlZzTlFz
 CjZleDFwZ0dKZmVMUzB4R256WFVXb0drb2UwOXo4cnBubnY5VCszQ09Cb0JZRXVzQnFOSjhMWUNy
 QktETk5IR3VERzBJZEZDaFplc0QKQkdSWE1TQ3hKdTZPcUdkS0Rsbi9TenpzRFdiOUtQaCtTdmV5
 TDd5SFNqeElQVU50T2p3TjRETFc4SFJ4RzB0TjJjdGluYkFHYm92cgpsZXBPcGJZZDFCdTcxZnB1
 ZGNlNTlXMTZ0OFdpb3J3dWJtN3QxbHZaMThXTlpybmVDTmJWUjR0dmkxbmhIMlRKTnB5RnFPUDkz
 c3NxCksxTktkN0llWnRaeTh0VjJNcDltMXZOeVRuWnludThaZGNCUTZnT1dQeENiKzVDY0ttaEgx
 c2w0bHRsckhlQzU0ei9JeHFpSWk5ekoKZXBpSFViK09mYlNYTXhLblUrL2plWGpYanFDZDlLTzlm
 RHh4L045TzV0UE1laVpIV2lmMUpMdG56QWs2L29Oc0xJazhDNTJzaDlsagp1WGNSZGM5NHltUVV1
 UHhKRC9YaDlMOW4wZVFSdytwM3BvK2c4RUdMNGxwNXExVU4xbHVOY2pPOUdsZVNUVE14b2xpaVBa
 SjRFMktVCk5MQ051S2xEZERaQ25ROEtNcjhDS0hFM093aDdxQ1Z6aGZKUHZGMU9vZ0haY1h4Uy9C
 bU0rL2ltRWFHNFZSNzlLbzhMcTl4S293KysKRlZGZHZEVzNPMkkwaHFjakxqd3RDbXM1cDg0NTBO
 NkFVTzRlYytPUFp0aVFnSlpsSzRKaDg0K3I0eU0zZWg4T3d4dnRHcWQydXZZUQpaWVd5dmlFd21t
 SUNZUlEzb0h4UlpjQm0ydDcyOU5IZEQ1UGNVL05Vd0diMkpDQndhSU1FanpZNHZqMWR6RDIrY25I
 di9KcUt2VThaCjNBZngxWGVVY0lJTlpHVmVMWS9NWE1DT0VIRUtZb09YMDB0THJBSVVtV29QeWI4
 TmozbVlXLzNhSkUwb291d0EyUnhJTkJEM1VpWUoKb0tJc3VNWHFnMTcyUk9jV2tjSlZmRStKTXBH
 endDOCswOFhVRnViUXBDUkFuUHpKWnNRUUJ4c0hEeGxYZ2FuOFl1TkpmQjlPWWxaUwpvSjVoTit0
 U0QxVnBLSkNrc3doTG9ROWt2c1NtRGRaT0FwV01KQnlpbXBlSHd3cG9aT1IrNEIyUi9CUHJNZ05O
 WjByT0dlVnFtWklyCjh6SWxWNzR3VTNMbGEyUksvaXc2T0ZBc1pCNGxxTmUwQllXREtOTzlsQzRY
 SmpFcGJQZ09YM0J1eFlnMDA3T3NDTE9ianFhd1prQnYKSnBHTHBoUTlNbkp4RWtkUmdITzVsSndj
 RDZEOFBSbjE4VG9ITDkvaDBBMFg3ckVTNUNOMEZsWmpBZmRHMGxhcjhyaGVzNHc0MkVUbgpDY0JV
 bllpdnAwK0FyVUxXTzBHYmtQdFhReWxUZ2k1dFFBYjR5ZTFvTkEyL2NrZWgySk1UQmZjSjVOVmFv
 cXZSY2wwTkI5TS9iaytqCjRleWU3di9ldnJ0c3Z6bzl1emd1QitycjRmNTVCNzkwWHJkZmRzM05u
 MkxFZCs4U3RVL3FqRVBVOFFRejlPQkkyUFVSUzVvK2VHcEEKMWFiQ3lKdm84VkNSUnVJckE0WEww
 TDB0QlFuaFFrSGp5RnNFWEM0WHJOMUx5Szc5VVRna0tPQTZ6ZW5UZWdqN1doNU8wVXFlMXBvcQpJ
 TEowbWVHSWxlbTczME0yS2JObmZRZFdEK28wTEl3UlFuVHlOZzcwS3pCanVvRmF4STdwZ2lyTmtL
 ZkVXZFQrLzVGMm5ieE54d0xaCm4wMUhOQ3Q3VXB2Q0tsTXFrODk0NmYycFlkK01neFFUWitVMUtM
 S1lzakhWdExUNDRMczM0WEtDVXpMVXJ2WDV6YmY3MUxqVEtyY1cKYXlzVTAwS1c0U043MG5PbEJj
 MkJvYjgvV3AxN2plNWpxQ0V3WFVFWEV0VUI2QXAwUzVvN3FBMmRUOUo0clRHczlFREdCSm1TQlRp
 aApITEc0QzYzS1doTTRFTHlheFlva3dHa01ScVNQRlRSc1FzTEZhY2djNk5MRWVSZ09QNGJKSXVK
 VXBOUHVkNkp3MHJzbGkyanhvcU9XCnMzeVYwWFJlU3I2YzFsQXNTcThFa3BiVVVwNHRsTCsrUEs5
 ZlplbThmcFg1ZWYyeWlBN2Z6bDlodm1oSTJuVkQzcUovZWxVdDBTUmEKbE9XM0Nld1d6SVF2WGgx
 bzkxSGJkcmJSV2g2eGlSbkhvTlFMcHh4TFpjdzVQcGVUdnB6TVRmWG1vemhrOHpHRDVWQTM1eHU1
 ZFhrVQpMaWZUclN6b1JCWnZrWjNJNXhtQ3RJaDVpUDZGdGxQK0tTR3ZJNXFuNW5TRGdFbm1TdkRu
 TWRjVUF2QU1TVTg3aU53ZjY5V2ZuRjJJCmp0MnlQWm9GQVFUdDIrZzlHb0Jad3p4eE9RTTJQbjNJ
 b0VvRkUzbE5aTzhDMEdJUHpJWUhvN0R2bkZpVzVwQ29VNTFIdjVrcTJXQU4KZmNqWkxJZnhuZUk4
 NUdmT0tkZ1NmMUhMbElmaTdrczQ4SXhNM1NENkJEQVZIMkJydHRUbE05eERpRXRVL0pvRWY4RXNq
 Um9JbGVxVAova05jWE1LaGZBb245SGpJVGc2bXlvTnpSWDBUVHE2VWtGbGhva1l6MWZkR2lpVUpS
 SlNPVkErdTRwdXlCUWN1cXBqV0VYbnVNZ3pHCnpZdzZiMzRXNUVldHJKQWZ0YkpTZnRUS0t2bFJL
 NnZsUjYyc2xoKzFzbHArMUVvNlArb0tTOGZONTU3RCtqRnU5VkYwTmJzaHdxeloKN1I1SWlMTks5
 NkhBalhzYkMwYURpWktLa2l4OVdGN1M2c3JxU2FzcnF5V3RycXlZdExxeWN0THFTaXBwZGM3Z1B6
 TjFkZVV6VWxkWApWazlkWFZrK2RYVmwrZFRWbGRWVFYxZFdUMTFkeVU5ZHZjSUNlWFU0YjNXNG0v
 aE5UNGh2L3U3OTZ2QzdSTWhzSVRvUVpJbUw0SFE0CmlhOUlnZjdxVUo5OWdZbFI5VndoNHFhbkJZ
 aDA0N1pOYjl0UmxVaW1jNDYwUU9SMHJDVkY0OUR4K3NvUThKWkhhRFFDNC8zSDVkR3EKcnh6TUU4
 RWlYbHUzSjJTVTkyTFE5eUdFbC9ndWNUejZ0SlhkNkM0YUVrNzBUcDhNRk1VbjhqaG5MaTBZZERK
 TnFWc2dQeW5pYnpVVQpUSmNmL1N3V2M5b0IwU3hCTlFyNUtDZmF3ZytZSXQ2RCtHNC9jVDh0czJ1
 WStXZTA1Y2N5Q2E5VzJOcUR0WnNKZUZoNW5QNjk0UlRXCkVuRE15cVVZenhoZzd5RDFzQURtQ25S
 QXdpbHRxS1RLZWJ3VzJlRXNITHpLNmdJdVhacHAyMFY3cWFSRzJJdGNSZ2ZGZUdQNSt5eWEKZ1lz
 R3JKV1NFVENrbWhHczZLZmdHeHZkajZleG95Vk85Wk5TZHk1RUVpcHpsQmdBOGpaVmNUMWZ4blRB
 aHRMQUhLQzNEMmlDRkVUWAoxMnJmTnJnVEN4dVFTRHBPckcwTHordHZFazArUWk2ejlQYXRnTW1Z
 Zlh3M21EanpPM1gySmpjT3BydXZ5dXFlNk10YkRjWk00Y3ZhCjc5U2szWXltVTdBakVnMlFQS0RL
 dlkxZ1dtbityTHNTRGlVb3hodlJocnVEeUdidWhuQ3ppRjZYSHlQZExja2d4ZmpnbXUxb0ZPRlcK
 cGpaTUZKaG9YL2Fkb2tERVN4NkhxbTZDZHpld2IvTDZjalFuNXRaZlNROUFBdWIzb3FNTWRPZlp3
 QTVidXJtSmRzRjdHNGdGM2VyUQpkeU5KVjBEVFFDZXFDZmd5b3RVVGhUZkJXOGlSSzI1eFBCUzhY
 TkgxbklPVHBqNi9TdDc0WVZKeWh2ODJkRWN2UjBoQXMra2Z5eXNDCmhIWDY2SE43MWRSTGpvSUZP
 MnljOUtMQlFKMkVkTnBPczBNSG5TaVNtVHJsM3VuUDZncThOdTR2a3RWdkpsa01uM1pJdTVVdmVT
 OEsKd095dTY4Z1UzbGFhT0o2RTdxMEtkSHNwbFZUMnFOdjNhaHRlTk93WUNyWDdlNEtWejF5bE9w
 WUk0djdLN1N2UjhUMkZVVi9VaWJFUwpiZzhwRWU4cjBnQmJON1BsMnFJNGhkeE95cVYxRlVqblll
 OHVENDdwcnlyejFXZ0ZnRVdUTEJudHM0am1ITUZsa3MzeU9BQ2puSVZJCmdFSzVsem9XRGN0aGdZ
 VEVMQ0hjSGJzKzQ1MWcrWGtLUEk2RkRLeEpiWUdvUThvL0FhQU11M3pybllGenlGdXA4YVZuZ1V3
 WE44anIKYzJydEVmTldreTlsT0thUElHeUluOHp5cVNQcEhjK1VsY2RLR2U0Q2RNWEFyWS9Cam9p
 TVlJMlFrVm1GMUx5c1dFVWJYQ1VKY0F3UwpOQ1dJZTdOQktDZlVkTUU3eDRzNUJJTUpjeWlISHh5
 SEVSN0RUSnk4ZTl0dG43ODlocTNTS0U2em1pRFRFRG8yQ3lzUXY2bDQySnRrCk5OTStQYnp3aTA3
 UmFEVEpLTjNkdjNoMTNPMmtLc1QzVVRJTjc4ZFpWZG9ueDUzdS9zbDVxbEwwYVpwVi92aEQxeThL
 a2pTWXkzZE4KRlZuajhPemtIRkkrWDJaVkZaSm91bWIzemVYKytmbmI5dUYrdDMxMjZsZWxkWkRW
 eFRmc2I1cnFweWJ6akVyZ25udHd0bjl4dElwVAplbFA0M0NDazJmUjZHNEduZ3BTWXRRNmRZTXRk
 Y1lBd0RpQ21qMFRFeVcwOHBrVTZrbXNFTEFZK1JwYktFdU0zbzJXNFpDTlRjMm5CCm8zM2NJbHNs
 VDlheUNFUjE5cDVVUEQ1RTlraUlSbjY0SUhXRmpKVlJObnhkVlVYZnlhenpqTFk5aGtqcnV2SHhP
 RU9zbEdjYWxOMEIKZjMzYmd5emduaDAydFVIZkY4anRGbzhZbnZMcnM3S3JHVGdVVUNUYUVHUGZE
 eTNxeENrRk83czYreC9PRlZvRnRTclJxWXZSSlRPSgpWYjJkRFJucjBsYUZhRkVFQmxjc2RvYTNo
 azhTMWZZVDV4UU9zbG5pSGptZ2tLUlFDUnNCNTFuVGFYNTBmejRaamFQSlZOdUVnaFpTClgvdkRh
 MWduK042dlN4RlFKNCsydmw5ZDF4Uld0WExPcVRwZFNwcmhPd1oza3ZuQlhlc1NUV201K1hZMDZM
 c25iVC84UG14cGFJR0wKb3hTeFpWY2dqdy90L2xMcUkzYTBDTlppK3JKb3pkek9obmZvR1lYdWF6
 cENWWlk5Yk9JSE5tTHp2K0VJNjBwOEV4Q0oydy90bytJYQp4Ky9EWUdGZzlsL3ljdHQ1cHNQazBj
 czlQK0xZZnhxNDlublNYb1Q1NXNRR0l3L3NxckVLVmxMM0pvUU9XRHhrcWhBU3IxYjl3cm5DCm15
 MTVyZmt3ZisvNlBtL3J3c05hL3hEdUQyZmpUdTgyQXJPQnZzUGRUU2cyNWdGdFhSd1dxTFFsbzFq
 YXVFb1REY2x5K25ncXZjb1MKeS9ObFREQVFuOEd3ZWRKRmhYQkd6eHg5VmhKTnl5QUpMK2lvMC9D
 WGRGVHM2b3VYRWx5S3ZMODNnamJFWE1nMU1mNmNhWHU0NzA3ZwpHdVZtejNFQmpJWTZMcDRpVnRM
 RVV6SHZYaFdjQjlCSWhJd3FUYUdFSWZUTGp2NXM2RjBGZ1Ywd1JGVnlybmFNaVlIYXlzWmdmNEY3
 CkdqSkRKWVU2M0JJZmhpekJhSHRDMTBGaGtvVjN6OVdGZFc3djc5UCtmNlNQblk3R0ZmZHlNRU54
 cWtHTkZBOUg3MCtDbDNYQlRUZHYKdXR4S1hGYjRhaUNCYU9jNGlzdVpSQlRXQXJpNFpjVjV4ekVP
 aHduWkh6TGR6Q0dSQ0wzV0VXREdyQUJ4ZFY5cW03a0J6WEtXUlMvZQpvWU5LanlGZGtMZU5YSUxv
 Qm9PWGkzRGRxZnIwd1cxMTRsYUJUVCtFSURzUXl4YVVQNEhKN3FUNXBlZVF6UXBnV0xkSnBLMGlH
 Q291CkxNOEVnRFQvbnI1dzZTVkxzUXZtaTBjbU5NQmFULzNOTlpFRFRnVEIySFF3V1dNeWx4RTZJ
 TU42SmEvZnJvNVRMTWtzbG9KSk9kOUEKR3VQTDl1bjV1KzdseVhIMzlkbFJ4MnlXSndxQ1dxY24w
 ZlIyMU5kMnpyQnc3L0ZKcWwrZmNUNkN3cXFzYXV1eWMzNm16YXMvWVBpdQphRXJ0ZjdobURhNTVq
 TEVhK3lic2JFV3R1a295SGsyaHoxbkJDRFQ0SmVNVU5EUEtwYkNVcDlSUjlKcWwwdmxnN3RmN2JB
 V29RMnBOCko4bmM0QkFYeHBhVllwV0NmUkV4UWJDbGRhd0M5Q1RQKzBkaFBUSEdoa2RVZW90QWM2
 RUE5OFVsb0VrckJBdzU4QkNKQ0tsNDVhSjYKdWh3c2J6amN5M2k2c1ZUMVp4a0x3ZzJTd2hGOFVH
 WlVDNURDK0tCaTRHNTdvK0VzRVJNWkdDN3NEdkMramdMc2NHdHFZclJPeWJuVApvNmhGd3NOcWlX
 RXZzM3ptNy9YaFpOd2Vuak96VHFrWWRLQWNWZXE5RTlCSjEvM2dQL2hoN3pON29qRFJ0andqMGRq
 Q09EaTM1TlBPCk5vZXg0Q1JKV3RSYk1JbkZwSlEzajgzVVBPSk9SWkV3UnNQajhhaDNxNWxaYjhM
 Ukg0SEI4d0xWQlpNY0w1WnJlNlgwdDNBU2U1ZEoKdXdHc2lJUU9KYXB6MGxMa09oNXlnRXpQWlVQ
 N3VxSzNLSUdPVThrOHJEdnBIUDg5TnN1aDBLNmh2dFgwSmFWZnJYK2pDVmRFcVArOQozVXQzOCtN
 QWZ2UHMvRU40ZG43ejZQdm0wZmNmNXRGbjc2aSt1Zlg5Zm01OUMvMEM1amtFNU4wcC9qNE9BZitX
 SGdIZkxnaStYUkE4Ci9OYm1BNXpBN0p2VndEZXJnWDl2cTRGdnQvMmZkZHUvNko1Zkt4ZFd2ZWhm
 Nm9vL3lPTTUvOXAzL04rQzJjejM0Ri9vWVAzSDhxZGQKNU5PUjY4Mmg5WEsvaFRmSFFqOE9idnlm
 NThjeHg0TWpCekgvTEErT09iNGIrcGo2elhmam4rSzdrWHZxL00vdzNaQjc3NytYNzhZQwpPNmQ4
 QzZkY2llRjNzbkN5L3o3ZjFvbkhzTEt0MDN3cnA4V1krV3BXVG44UXk2WC9ISHNQdlExOXMvZjRu
 ZTA5VmcwVGtaMEMvdmx6CnlBR2ZKVEJpRUlFODExWmFsT2FzQjVOaUEwQTRHbWM1bUNXbHh2K2tN
 Qk0rd3MrR0o2Rm55TjYxRFpNZnZOY2E1MEtTY3NiTVpoamsKKzBIczVnZStlV2NFeWhvanVHdE9P
 RUd0SXM0eDVFZmdFQTFUclFsM1JjTHJzTWNKU1Q4RUQ1amxDTWo0UVV6UnlCVUtaME1HekdsNwpV
 a0lKQjB5UnFub0VNODdoVHhUeVJPMVBPRmVzaGZFdUxSeXM3Z2E0RXVHeUtLMFZDZU43MFhlWWRp
 RFRCSUxHZUJLV0kyMDdpeURPCk1sMzlSdHJmWXFmOFUyS25PRlpzYWI2L1RNUzVSVEVHLzFqaEFi
 OHN1Tlczc0ZaZkxhelZIOUk0OWZlMjZjeVd1RjZRd1BYTjRQT0wKRFQ3bnNMY1hncnRsV2J6TnRR
 TDJjbFRJQTFkMjFwVmNBelhESkowMzRsUWNtOXhBNnNDMmw1MDdMeXRKcURUdFRPZnB4RDIzZHhz
 UAorbTlqZTBxenIrQWtkd2l2UlUvczIzRTRjZlU4OXBXMmx6TXY3QVZON0Y3WGtwbmNXTWtnY0Zk
 dEswQW9KTlROcTAvdmFRK1NzWWpICkg2alZReVczM0NoMjJLUFB2U3hicEg0OG1UNGV1Z1UrZENK
 T01pU1NlWWZUYVJvQzJZZ0NpUDJzMTlidzB4cWppRXcya05VS3YyaGMKTDhQQkRvbURIVkxTejcw
 VnVOUGhJRlp0WStEa3RXbDQ0OUdTNGxVM1RsRGhFY2FwZUFzU25PMitUYXFEOSsydjNmN3psRUQ0
 cjVNYgpWZUtHdm9pV1JCL2dKWHpaYzFqYTM5L0gvZWx0R2I1eEVudXBtdUVrbDVTaEFVczZsRWIw
 OUhBdkRBQVdjbEtaeWdkdTgvVDM3RTdICm1OVzRGK21PZTA3WlRvSWZSY1QwUldjRkpoNFN1R21h
 YWJPemFiSE9FemNsVm0xN3QxSGRiZFhtcHNUaVNqWWQxczV1dGJsYmEyU24KdzlyZWdVUlk2L1NC
 R1hqUWxvMC9BV0hGU2FUR2ZBMnluc0xkeGZIYjl2SEx5ODdaMi9aUktmamxGOWk0aTVSUFF3MnQ4
 c0xtSUlRSwpJQWxBcVVBV01Ta1VUWWtTOEw3MUhEaWd3MWtJU2haQ2FFRUIrajZuNjFnR3htaGdi
 RURtMytmaTl4WGNMTWtITjVpLzlIbFEvVlN0CjdoSCtkcXAxd0I5OUlQNEs2ZlNuTk9tWWR4S3R5
 UVdPZ2pVeEhKM0pFcEN4VEVHR2kyVk5TNnFvV25mVWdTTEdYY0VxbUdlMlpJb0QKZGl6NERVcDFx
 dkQwL2paV1JBcS96cTRaaG9GTW1NVlIxeHJsVFRWcS9LQlJ1MU1SUExXSk1qVk5CWENZSlhOS2Iz
 YUR6SWxIUWRrRAptelgzaUs2bElCSysxcGNCeXFqVmk0R0gzV3pnWk9NSERmdHFOSjJPN3ZVYytV
 MmxCcTdPd2Jxc1d6T0hDbFlvNy9VWS9oME1wcGMyCklXcDNkSzVPbEdwUzQvSFVFRVpad2kxcG90
 Nm1jVzQzSkZQUWQyV0QwWlRFTnJUTHdLTVltSlhTSGdIUy9aUDcwWERVdTFVQ2J2UmsKdzFUV1c4
 K1NuZktIQjMxYi80TDZRTDk3QWk4WFVVOXg3NXRCbEFQaFV6bDRMQ3V4Q0hjZ1NxM2wxSWZrMUky
 alJWQ29INW5ReWc2cgpCMHNsdyt5M0s3VkdVR3Z0Tmx1NzllcGNabStxR1haZnIrNVd0M2VydFd4
 MnY3bFRnNW1sRDh1dWRBWlpuTTFhbWIvVUpkT2lWM2tyCnEwenY2L09XNkdJb2lMSzVnQ1RIQXhZ
 MlRmQTkrVXc5RFRyZC9lN3g1ZkhKK2V2OVRydkRUTDZnUndjR2pFemhXNjBXNElFK0NBOEwKY1BE
 bDQvOWFZMTkyM0hKaWVlaWE0S1ozTHllUThvTUpUaEZQYlRPbzFuWWJqZDFXSTUvZ1pEVkxjS3Jh
 NW01ck81dmdhclV0UURSOQpFS0tGTXhOZHVOSkIxNnlzTGhnL1RHT0tLZlpyZ0UwQ0FuOE5GTUhy
 WHdGTFM5aEdzMW5lVm0zZ0I3YnhEd2IzRDdYdEg1NmR2bXkvCnVqdzR1emc2dmlnSFR5bzJCKzhU
 OWRQOWRTQit3YXdmS1lIaDVjWCt5Zkhsd2Y3aG0xY1hZRFpZaHYzMTdQbzZpYVpGN0k1ZTVxVXkK
 VFBPaUtub1FzbFpRT0RqcnZnNStDV3gvRDgvZUtpSDE3UFR0RDg1amtIQXV6OTc4V3Y0TlJ2anE4
 dVRzOUd6NTRhWExMemsycUxiUwowRG8vbko2ZC9uQ0NZNk14V2FsZi9TelNPYkVFRU1wTUV5MGww
 RFlVVWRBblVaNVRMcWlXQStoWlZudm43US9IYnp2WUhEYjB3QTE1CjdUNDVrRDg5Yk9Kc3ZHOGZk
 Vi9uWWhRcmxtdzMxaGZYOXpIc2cwaGhybnZSUG4wRkk4SGpESFRhZkRta0wyNi9EOS91ZHpvWlBj
 WmEKY0FwWGpXRkp2OE9waXJhcm1YVy9vS2Zkcy9PM3gzODdmcnRVWjNWaDI5Lzg2dGxkbGhEbTlK
 cVYwdGh4OGYzUWZQY1FEUXY4WlA4OApxL3RjaGRyMzBKeFJUWFRicTVteCtPUXltM2NpVHJPWHM3
 ZkgrNmMwVkxJN21OQll4WTlEKzhNZjdXbDN2MzBLL0NrMTNEZ3gxWElXClEyWnRPK3BzQU1FU21q
 MS9rUHVIM2ZiZlZIdnZManBueUVySjloTEhhYjRkOGpkdmhGd25QWnRZbkR1V054WHJjeUdKQ1Y0
 R1dENDcKSTlFVEJtRy92ZVp2N25CZUg3ZGZ2ZTVtRElkbDRleUpTdGV5WFU5VjlMdUpwSTI5VkFW
 Uk1uSzNMdlBZM2NPQ3dwUFhXVzhDMFMzVgpxN2ZRTTdWcDRUalRveklRN0hGQkRqRnpRSFByTEI0
 ZExsWm5ZSWY2eVd2dmlUYzNlamhaMCtQVTlJZXhBRWJHMkpZWW1TQXZYV3Q2CkcvZnVoaEZ4Yi9P
 MGE1KzYwK2E4eUJ6cFpkNU9hb0RQMjB6bmdNa1ljbXBQWFlWTjJnM2hQaHJPWVBqNjh3US9VM3ZZ
 eWZIcHU0eHgKUVMyWC8rZldzRU9RbFlLQ3JwRFAvbGRua0tSRWcrR1JiZzBHWnI5ZDhEZDNFbldk
 MUJpcFlzNmNwV3ZaY2FZcTVzOENhYStnYy9aYgpoNytsNXFKemVIRjhmSnJSVTc1ZHlaNlBkQzNi
 VTdmaUVuT1NPNUJwZUJlaFdRR01BSDY4MUQrNjlvZUwrTzcrbStQTGwyZUg3N0prCkpBUENsekN5
 YTlraE9SVVhDQmcrRDN6WDZaNmhHQS9uT3h3SWYzYnhFN1hKanBDZTdyWXFPR2Y3dzdIa2dSQmpX
 QWdsS0R3Ri9Zb3EKUjBHNnY0QVJ6QkljSW4rOFN5Si9udDUxampOR3FzcURtWWNRUUg5WktEcDRr
 T3lBbHdVVzZGdU0vT0hRaFNJTXhYNzdHMzl6eC9XMwpkdWZkZnRZa1VzVXM4VFpkeFk3QnJiVWE1
 ZGs5eXB6bHpKZk04MXZlZnZNd1o1dVpzN2s4TERpbkhZT1N3S1hiT2I4eUQ3UFZYK25vClc2L2hs
 UVI5NE1GWC9ZZXB1WHA0YzZaazVldjRaamFKc0d1dVBUZFlMYlRSZFJqdVl1RVQwVUlsMTRKcitF
 Uk5GYnA0VFc1NlpiNmoKWFZNL1BpSTY5Smh6aXF2eGRycmJUYTlhVUREM28yaENydnY3Y1JUM0F6
 WUJ6dWd1djZGN3pQdm9IaThwV01WWHIxZkxkY0NEK3F3MQpDUkVTS29Jalo0VEpxT2ZDRmJkOFBm
 TVZ1L21CclhvaTltSWdnM2VCWFFTcktPb21taDdlOTVjRHErVFJOTjZ6VVp6R3pna2t3VTFoCkpy
 TXBxbXpyYTIwYjNYbjNFUS9lYnpFNjZLTWFFcGJDRnRVUFJleHMyYWQrZ0pKdTJiSmxEMUdzWnRX
 MzN1MjN4NHJKdGsvSmJWYTkKT1A3UVBiNDR0U2FSUEFSNTdRcjQ2dDRkVHFKd0dpMkxrZFdRRC9R
 Tkx4VGVWbTVtZlVFejg5YUZ0cDdVbldIZmZUMmRqQndpQjdpWApaNHNGRURnUFZQbEZLMXhtQzRC
 YndyS3duYUVHUjRQK0NZdVd1ZzlHMUN5eE9ReDN3c0xTY3dIV0hmd290eWVCN2dxcTJyRUJJVHJw
 Ck5vT3JNSW5zeUhOdDBiZEx3ZE9uOUtwOTZtelVEZGlvLzBLQnRBaFY5c1lmem5qT0ErWWpyU3Jj
 ZGRZYk8yWG1JaTY2eDZvT0RCRVEKZERVUDIwRSt1Z005WmhlcjNCQVI5bGdKRGt1ajBXL0N3U3Rt
 ZHlVVWVrTTVVYUtkVWFWNHpiZ1FxZnAvTVlxMnErVXRoYUxOTGZWaAo3Z3ZUbE1aUlRUZ21nZ2hS
 SVc0QTlJclFjYkdNQjRwNk9MdjNITXpFWW1HN2JTN0VnK1N5ZUcrWXNjRG0xVEhtV0txRHM4blE1
 U3hGCnNiUU56bWtkNDhLRjdWanV6K2J5a29HNURPUnpvSWxiNmZwT0RiRy90ZjBOKzRTdjJsZkZm
 aTBIKzB6OERTVmZLREdqVVRVM1hPSlkKN2U1ak5MUVliVzlYRzVIZEFUVHZWME5hY1J4Wk1BTFBw
 c25DWUV0VjQwK1ZpdU1rQ2NoZTY3V3Z3WjEzRXFGbm5JN1Jkd21CQU5CTwpGTHNiaEJwem00aTVt
 bU5tOEljbVhLanlJNlhQemlGYzNSbU43Y3lJZGhvUHZsOUUyU0l5cXpUSzA5UU80cStCWmhwRWdQ
 SnVkUmc5CnVQNEN6cEppNlZ3TDUzcHhXTGxkdkFuY2tDTUtzSDVJK0REWEpHVnQ2OFEvN0ZsTjM2
 VHpyVVFaa2FqK3FoTXBuYXhaWG05V3QzRTAKT3kxeGJNSExiaVpYYXdYMkQyMlVNQTZIY2EvNHhK
 WDYrbkVmZkNFZ0lvY2ZvT2hKeVZnaWNGVlBsRnRVTnlqQXlpOEFncDhIZGs4cwpwV1dkb2w2Q0Vp
 MTY0ZWtoYitLUW05WUt3WmpLQkR4WmVpNVVjeUN0VTlTMElyaEdqNjdwU0ZveTdHMXVXVDI5SldQ
 Rm9vdXpiWmlxCkphYlh2dFNXMm1oV3hoYklSVlZTRDZMVjJvSHRwOVhjL0pmWmZ2UXFYbXIvZ1po
 YXFoUGUyb0RwNTBjbHlUWE5Uc1BWMHFzS2F0cW4KWHVYQVdyOG1zOEZVUDRFNXZKd0dnMmg0ZzJh
 dWFNcXpTYVk4elcxSlBCa240ajN5YkRDQlRiRWpvSkF3a1Y5V0d5MURYWDJrcGlMMgoxREtYbDJx
 QkVDdElpajFVVG5UR1VTK3gyNjdWSTZUSXNxenRtbkFUM3R6YWtzandyVW55V09DQ3lWeDFEb1h4
 ckwvRy9peFlHTm9oCjFkRjBaYXRXMDZZcnJuYkdjQkdMQXJtbGs4Smt3Wko3cHlOQ1VTakRTVFFl
 VGFadVVydThlVGVrNHdZU0p0clpDekJZb3dKNUQyRW4KRjFIREtyRE1SZ1l4aU5sN0h2MUNPS0Uy
 aHNjQmh5VU01WndzdzBGVVRYWEdFWkV6QVlQTGNKT1ZwRmkvS3pyVU03cXh3WGQwUkZONwpKbm43
 WEpyWmZ1OHRSN1ROcnVFSzM5cHhWbmkrdEphSDNEOEFTek9WdldPa3F1a3RFVjNqMVdGdzAyTld0
 NzJGKytUMnByTlBHcGkrClRpNEhHY0t6N0orR0MybFhYOVQ5VlNPSElHQkt2RG4rQkI3WHBMMndi
 ejlGK0hpRG5MbFVNWXlZam9hNmlKSDFuVlo5T1FvUmtWNkoKTkRqSUdBWGp5U0tXMzVaVHV0TGxI
 SXBnbzY0cXJZaWRaVmVFR0MvdGVpWSs5Tzg2ekQvcFFIQjZHSnR3VkYrdlZaWGd4ektUMVVsZApn
 Z3lwUUJaSnoxSW9vdTdsWlhnSDJoOEZtNStYMUJZNHU3OS9iSlVFVGFWcU94dU8wZU5MMGIrUUxm
 ZEQ2VXhzNEduT09yNFVqVi9CCmVpRVBHYmxWZ2dMb25FRGxOWnJHMTQ5R1BZeWl0Tmc3L1Uydzhz
 TG95YXpKdXpweVh3ZVYyZVEwZURaTEpzOWdrMHVlZmFyVkt0UFIKYUhBWHF4K3FUOCt1bFNTUVBC
 dUgwOTV0NVNHY1FBRFZKRmlxRkZqUHJnd2FER1VibGVwbXBWNExxbzNkVm5PM3NTTU1aZGVyTzlY
 cQpuOEM4ZGpsb3RaMHROTHV0S21nN3U5V3EraThGRFNtc1hLdHVxWVZTTFZlUnZJU2grY1l0RzVs
 dlZXcE5jQTVxTkhicnpibEc1bGlGCjdIMXJtMEc5dnR1cTcxWjNzdTE5VzV0NEdEQm5BUjJVbjNa
 TUVNaklOMCtvcmZraGZyNktwdkRWMFR4U1ZhRzFYRisyb2hJb3AwR3EKdXFQMGhMb2dmNllxYStD
 enVPOG9ZMldqTHhYZityenVadGZNNmE5UmRSKys5VytlUWRmdFRLOFNBTTBNYndQVjFUWjNhNDNk
 V24zdQpET3RhUE1sYkFaQldjN2RaejU3a3JSbzZqZEdIUHFwSG44QWhMK0Q3RVppUUR6OTgxdFZE
 UVdLQXJraldQdkVuQlpnQ1czb2ZWWmtGClJiOXdLNmdmNmI2ZFQwWS9jenhjcDQ5UW1XRThsazJs
 TmJxWnNHZyt1SWsrUmIxTTc3ejVEaHVpb2xsUmFuNnFkYlVPYzFkVUMxY1UKby9yWDRKeUNBT0FW
 Q0FjSTBjc00rbTFmcit2SDQ3aC9PWFhyOFMwLzcwaDFsQ1BvdzFtM2lmRk5Ea1JzZWlWVDc2VXpX
 ZkR1S09lRwpuNnRPZCtLYllUaG85KzF1dnRuY3BBUHNwdHpNazNoNGh5dys2dDJPMUU3eWN2OXQ1
 M2pQZjNrTm5ucVZtdTZFZlE2blBkRE1LRko3CkNUWWVzUG5wanZtbHFpbXdWNC9UYUg4Q0c1aDVS
 UGVNblhIWWkxTEY0Vml1eW9JQndNRzdseStQTHk0NzdmOXpyRjFNcXJSSXFwbWUKbGIvQlNPYnpD
 Q01qbUxxanE1OC9wZzZrMjBSdTI1YmU4Tjd5Q0lQT1F6L1l6YmNvQmxDU0ZGVXBMQjVDSWJQL2hR
 eWNHTUZ2QzFXZAovR213Q1hHa1FiUlhqZUJKSzNnYXZEODllNzEvK3FvVS9LK2dHdXdHN2RPWDdk
 TjIxMUtRbXM1Wm9pcThEK1BweTlHa0U0UDMxdGtWCk1JTWlPcnR2M1BJNktXdndKbituNnMwNkl4
 b1Urc2NINzE0eDJQUFpSQWt3NTVDeThMcjQ1UDErdTN2ZVB0b05Ia0xJWTBGTnhrbncKMS83L2dQ
 MFpQZEQ2czFxamhyb0wvbVJQQllzTEhsZW5mZnJtOHZTczIzNzVnL1p3TmI3bHROYjY3SWVNVjha
 R1ZiUXVmbXBNYThWcQpkaU5FeXNkSGhpWnF6UzIwS09GUDZ6WkdsREVOZTdmbmNUOHAxc3JCMDZz
 YkJBaHhTdFJDK2pIK3FTVFpWRTR0cEJEMVF3bUxtZlhYCkY5Y0R4ajJlVGk2bnBid2VtRHVaMUFw
 Uko2b3RPZzdZVXVpUlRkb0J5L1VobnNmRzdVWTh0Q0pVZ3gzdWFvMjViRi9XdEh4ZkNWL2IKdm9l
 ZjhNd214MnhENzlSRFBpY2N2TzJ5U2RibG0rTWZPb1ZDRlV3aHhNdXowK1BMOTJjWFIvUzZXQ1FW
 WXFsU2c1dWplUVZseEFJcQpIcVE5MDd0S1pCSzdYMzBIdk1lYXpVVnlocWttY2RDczd6Wnp2TWVh
 eEVPYkxnOTlOeHdvd2owZDlhUGlVUDJSbnAxVFVDVmUvWXdVCk1JUVNTYVdpV2V1dFZZMkQrQVZU
 Y2d3eHRZdFBuVnFxRW9acXNlcEhiZ1RPSWVxYlViZC9OcnppekJCckdqUU9JMHlTYURJdDN2cE8K
 cThTR0Y3ZWtLeUlkTmRBRGp6NE1EdnNqOXBLSFdtb1VEaUFsTXJYaCtmbzY4aE14VURxYUxleUFI
 aWxDQjlGcC9RdUFDSFFaZUVFQgpXTUxUT0RtbGl3aDJ0S2JBeWNVL20rZTBrT3Ewa3FROW5Fc3Nx
 bU1tWGtubEJUOVhPMElHNlh3ZUJteFAxNzhNWGhvWkhoS0FyL1A0CmFZYjUwcHYzWHRRYW9mckUx
 NkpBWjB3M2dyVmJxd2o0SW1MLyttdkdYU293WG9RcUpSa3phanpHQWRjQlhsQmkyUjlheGJEaFpv
 RjUKbk8zd3ZpK1oyeGFJOXZXRzcxU2R4ZHgwVFhsYWJxcHpmODVCYXFkRitxeFdMWFZ0QVVGK0FT
 Y0tXNzM3dnFGTDUvcTF0eWQ4NnZVbwpBMENQZEpaM1hnVFBOU1dJVzF3NlFiblB4bG84cVc4M3dm
 NkpQMm56WjBnZ2NXRFBKcU1SM2xYaERaKytyWVl3alJDTVNTZVVnSEFCCmtFSkc3ZGVZaDBMOWhI
 dFVoSVViN1Z3ZVlkcUsreG5zdWQwbkV5ZVhLNnl2QmxFTEdqbDhHdG9RaTYwQVFEcytOWlVEUTUw
 RmpmeUwKYUJCZVJRUGNzT1JjVXRreUpSbjRzZnFUa1FqckZKU0ZQMW5lV3FQOFVZRFJJVWI3cHFj
 KzRyeGxsWTgyWW5qdGZncFJTME1RK0pIQQpTTGJNV0pOMDdZN1h2OCtEM0xWSU1uR2pSakp4d3cx
 VXdJU25NUXRkeFJCVVJZS3JjWW5YN1VsUUNXby8yWkFuWDBhYmk5ajJNdlM1Ci9nVlFNb2hSMzVQ
 UlAwbWFldW5QSVU5Q2M1UFIzS3hKRXhKVlA0WEhzaXBPd0w5d2tYL1pLZ2NrRnI0V0J1MXdIZXdW
 bGtIZEp0bHUKOEtmREZxRTZoTUdDWEtCR1N0V0h0Z0tHZ2NIN25nQU9MU1ZkV2kwR2FzeHNtTElZ
 OVR1M2JGQVloMVBVY3owMzR4V0YzMFNQb21qeQpFRTk3dDBFUndKdERYbjJ6aWtkcy9tUmFrS3Q0
 VDFJdWpFMWduZDFTOVJnRklyTDNXOEx4NFcwWUQvZkhZM1hxZ2s3SEZETkZtRkNYCjVQN1Y3ak1p
 RVRkTEFoQ1RuZ2VMbHN1dlpKS2dPWVcycmR5c01WWnFBaXZCZ0E3T2FES0RzZXpNd09tbkprN29F
 bURxclNwZjVFbzgKZmkxNEd4ckF3bVppUmVGMXQ3QWRURzROZHdaZ3pLcFV4dlpqSmFrQzhteXM1
 TndZV2JrSXdzaWV4Mk43NnR1czFPc1FwS1plMjYyMgo1Z3BHVGxWSE1tcnQxclp5VG41MDVVc2Za
 Z2RNcHVGa09odHZpSzBQVkFDZ3l6bVArMFd0RHlpTlk5aXJTYzlTTmlxaFBXMkZueXB2CjhacGJN
 eFVYTFpwTVlGRHRJV2pZcWlsMFRlT0JpT2V6ckNMZVZIT3VXNVFBMmNyUnhHOVh5enZCT24wZ212
 aVdnYi9SdFVpUmJ4TWMKbFMwTGZjak9PL2dkTFRSSHc0L3E2Q2xzSHRLcTlybDFIRlV4TXRXOXVR
 ZU1kQWhUYmxkUGlYd2hEWWZ3b0RPTCsyMmJNY3FhMVpBQQp0U1hrSncxRjZuMWxaQzd4M2l6SlRO
 NjE3aGUxQ3pLenZFTTR1aXFlclBGd1drZnJPZm93SjRCOGFXeG10alc0bVBJUFFYek42Nk96CmtJ
 bkwzM2JVcGp3cVlIUTRQZzFDcnhoU09aT0NvbVVVRkM0TjgxM1pDa1I4RFJtblY2RmdXOEdRYnc2
 MXlwdTJHRUp2N1dQbWtmcEcKYzZQdVhhbkYwL1JLM3RtdDEvTlZYVnVrNmxyQ2pMSXQwbnRDK09o
 K0grNjVKcUZKYWVxYU44amdvKzdpMGsrTnZTbHFncGthb0hVMQp1eGdNSDIvdTlhMGQ2QTI3cnkr
 TzkxRnJXQTRjSzNzSmdxaGtaVGpXU0VacnBySGs0ZHZMdzVPalRzblNENUNadGl4U2pTaFJBUENP
 CmJtZHI1Z2pick9HZEJuMll2UVJUU0ZIU1VoMG1XeldDQ2JjZzdWY00xdXZoRGVTd21zcjlCaTla
 WU51NHU0SDhKZkhFMnVnOVVjK2YKbEZIQnpLcmxjbkQ4WWYrd1czSk1sOWVYaEhHKzN6MThmWW0r
 dXBsd1NGYlJEaEtxd3ZIRnhkbUZObEltKzJJVVh1aERhNzdNTmRIQwprTVdsd0J2d09lVXRGcDI5
 Zzc2K1dYNjR1UkJXSHV6Wkd4b3BDMnF0R3Q1ZzBzZC8waHkzV2cyUUFPamozM2VPN1JYU1hNU3Uy
 dGRjCkNNdjFGYUJjcU5GT0w5QmNtOEhZUTRVL0ZyRjl2SnJzZjRxVHJCMmlsU0VTaTQwbHMySkR5
 ZUN1TVpBTStyakZ4dEZWcVdYRXVNN28KcHM3MnFlU3pqaG5Hd0tvV2JHVHp6T1djcU5iM1lYSUg3
 TjY1T0VvYnpXWFhNWHRFMmpBUWhobXNoZW92MjVUUmd4TFlLVjVFUFdNLwpHUGZ1MU9PMUtYeXFr
 bHhZUHk0RlJhNFFyUE40elJtK1dTZjFCMzA2a1FQN294bkU3WitBSTdTV1V2a1pOSFFDUHBYNEpm
 eWtCK2krCkJqblRGSkZDSnhlN0QzOGVUVHJUU0JIZHZUcUg0VmZwQURBOGdRSmw5UWx2ZFk5Ykxm
 UzA1RTl4bTBNd29WZjMyQ016VlhJZ2NQV00KcmF4bnY4bm9ac1pnSlZpWUhYeU5YMUs0NE5lRUN5
 NGlHNkZnNHpCVDlxNi9RUjRONnczUHM0SElabktqRFVMeEtUM1E4Z3I2ZFZScQpQK2xlT0crSnpF
 UVJyZXlPT1dyeXpTUWMzNUoxSWRaTGZxVFBuemJDVHhnUTNrZ2xZR0R1eXJETkdnVlc1VTk5NUVp
 emJUNE00QmZzClMvMG5vYkxoOFlFQzRuWFl1OXNJT29PNEQycTJpY25vd0FsdmVHanFQeDVyR3Bn
 ZDlPZUJEYXh1a1haUzdZU0RlVmcyZ2xPZFBtYncKaVBiRDc4Q2hhOE90OTh6amVRZmg1RE5DbXR0
 NkRzZmIzRzFzWm5POGVvMW9DRDgzMDNkY25TaWNRSnA2MUZxWjh5bGc3U3FjZU9kUwpQTU9XS1pP
 R0VKL04yZGFWcDN2eXBJcmtqWW5vRXJXUU85Rk40cnloOUM4NlhFVnRoN3U4czJNMVRXenlIZFNF
 bnNxZVdjM3JSV2MzCnArRENreHR1a01iWXZLWjFXNmgvcDlHWTQyc2RvMnRVSWNwR0hZeE91ZDlB
 RGtYbkVEdEpwTHJ3ZWhMOW5ZK3hXblhJMnNVLzIvc3AKWDFrK1IrV29ReFF2aHcyLzdFS0VRSVc3
 Nk5HWVFrZC9meE05c29hVnE0Q0dWUTdMcld3UitzTGk4N1krUjQxZHROeklRS1dvTjg0VgpGZlZL
 M2t2OWhsUkJtUlNvUTNBdHFVbGR2QUpPcVY1UnQraW5LL1p3S2lpakdLdnVRQURoK281di91aXpB
 RnRQc29CbVk3ZStuYWNaCks3ZTJRRE9tb3pab201ZFRETVRYS1JUcXJVM2FTR3lJRXpBSlZyL0FQ
 alFjUk5OcDFJbi9iNVFVaDlnNnJPR0xxSi9RWGNBcjhPcmsKN3dmZ2xBU0lramswcUk2ZlJ4TmRZ
 VTNHU1NlZnRDTWdyZW1tMEkraENGWm9BZ3BrS29BRGpEcld1RDZSSGd6VHlVd29sTTVnR1RoNgpn
 SmxnTUUxQ0NrcW1xRWlBR0k4R2lYczJlUllidmpEeWNMWHM2YjJlS29QT0hXckRKMVZuZ1FMTHNB
 RklrY3V1QmQ2WFV2RDljejAxCnpEbm9CWm02eU4yWm5sdnpJUU1hVzE4THpHY3VZQ2lRQVJjZVc3
 QjJFSHJRendMUmZTaGNFZ2d5ZEtIeHNHZGVtTW0ycUxFdjlRekMKTy95T3diV3ppUDlnRmcvNjJK
 V0w4SDVjSE5OQ0lFTG44VEhVOC9nVDJNalpFbnNaOUM5SXdhaHFISnBRY0cvS3dWVm13cHprZGpR
 QgpwV1cvVE1SYVJtTExMT3FTVkZtTWtrdm5MdXFuWFBXcHFmdVU1MVEzaE52WkJPa3NtQVRmTStL
 RHlmcDZTU3VQd1dLMUNORlYzblZlClgzUXZUL1kvbEhBaWtVZ3FRWTFZTXdLNklVQTNBSWluS2Jn
 eG9LQTluV2RFRlUwQlpISXhJRTMvcmdqc0ZZQ2xzUWRYQm1xQmM1bW8KVWltSVJHc0dZTUhPWitY
 RkJRNU1EUy85NmhWM0VqdWJmbjFBRGVyNWtpL1pyRXd2aXNLdllvVVlxa1NMUTBXNWxhL3lqNldW
 cXBKUgptbkIrYXBwdGdlS29lR3NBN1FvR28wU3hhS1NTWXMrRTZMOFB4MlkzbU4yZjZGOTZUZUF2
 eWozVXMwSDdLeUlXdndIdzQwL09laEhBCjVLTFJwelIzbFppbGhKS29keWpycTFkNHF2UmF4b3hk
 SitCUmxBS2pTK2pPY2JmMUtRc1BVVWNIWURqN2dZSmZEQjlwS3dPejVoNWcKYWlKMkQ5T090VGFx
 aUd6dmFoZFd3a3RDTXJqZUU1MGNpcUliQ3NTOXhJdWg5NWpvUFFaNmw3Z0w0dlgxc29SZ1Z5a3NB
 TUpSU2J5dgp2SURsV3pHdmV1WjU5Q25zVFRjMDlkL2tWYWZsbWcvQXJwQ3JQQkM0UFBNaDZGV0VH
 WEVnQ1NZem0wa3BXS2MxZllYZmdGL2MwRElHCmtST0xmZy9USjVnTFRXYWYwM1FWL1BueUtNQlpu
 Q2FEQi9VNXdvNmtxY290c21IdUE0NUd3RTUrQ1k1R3hEdmdHN0NKVXJvaXVhcWoKV2Y4b25KYVN2
 eXVoNEo2Y0JyMWRpNkxwSENyeEk1eEVSQUxGVUswVXZTRFJ5MnROUFZtN2tzdEtyTk80aGd0N0xh
 NjdWSS9QWVlCRgpVWGl0Rk5nc1pmWHNBbWFWd2h4Z0lUMmdGd1NVZjVyTkE5VUV4Z1dFVDNpcHl0
 L1BxV3dkU0g1MUF5ZFYweGhEbEtxZk9HZU1NY1M4Ck9tUWdKaVkzOUttV2xXQjEreC9EZUpERitz
 cmVvalc4a0gySERobjJJT0pFaDJ1aXRUMVhscUNtUGI3b0xuNStLTG96ajQxbU1sNCsKQXZ3a0Nj
 SlVWa2lKVFBaQXhGV1EyS3lLMll6WFBNMWgveG01VEY5Q1FJWlFMYm0vejhMaEZHNnZpZnpMS0Vy
 UHdMaHEyRmNvSEUwbwoxeXJSUURIZWlDd01UcVNKbnJXVVVEUmtaZ3BYSGQ4bEpuWUM1b2sxNmVG
 TEd4YkUrK2k3d1FDaXcxSm1UNWxTZURvS0VoQy9USnFuCkJPUHZRV3BkOWZZV2swZ3psS3V3UDRC
 c3krcFVmSTk4aEcyLzRrbHdqVWVkWWU5UnE1aDQyN2dQYjZJTkoyMnI1QUI0dkRSRVVublIKMDNp
 ZHN3VTQvTDlubUwrbVo3TU5XQzZqZHZrSTlKRTRqd1duUVJoNTFHZDZpWC9TL2RGY01XT1BBRG5w
 NWtwTFRabWx0RnlueTcweQpHME1Xd3hjRkQ3UVU1WmRianJjV1BrT2UyWE9GTXQ2N095NUJsSU5y
 ek0xODlTam11WWdKcmRWc0R5SzFNMkJpY05XaHEwZExMa2dqCmNQWE9SUDB3bWxBTjJDOUthYXI0
 Tzh4R01YZCtIRTdGNFk3RVFpeFJXT24vaHI3elBrRVh4Q1ZuMTVDbnJQblU1ZEdSVDZzZTZaRGcK
 UHliWHNHVGFWMk11QjAvK3FrNytmNjAyUCtuL2xTVHUvSHdlL0ZYeC83LzJTK2d4RnBlZE5Gd3U0
 WldEVERwTFB3YWl5Z0NFbTdRSApCNStsd09EVEhDZzRsYkl3RUVUSjM1VVVKd1dzYnBnRHUyVzU4
 aGh2OE84eCtxOHpHZENKOWVkKzMvR1Y3VTc2NEk0V2NyYTdMN1RSCkY4Sjc5anhqOS9EMll0NUd4
 SXJ5eFpoOVp0RzhLdy9id0NVMVpUdDdOQzZocytIZzBkRTVpZko3bjdFSjB4VUxBODQ4dWErMDY2
 WFQKNDBKMVREV0p5c1Y1QzA2TzVET25HZWJMb3NrS3dCOFF5NElQYWlBNnBGVEcxcVA0SXRKODRh
 bTdHdXdaM0E0cmVPNHZHWHhIMHJUUQozcnZyeCt6T3F2ckNIckthTjZ1WHdWTnYyV3UrSmhUUnFU
 YTFsaUJuRU1RKzdDaFM5eEJmaEZJMFhzOUNhMkU1bkRwNkJCY3JGa0R5Cm83ZnR3NWJ1a21McWxL
 T2hEREVmS3Fyb01oYVlGTjlaZFdFWEc1dXdrWHJmUHVZUUtOcDBwVllHcFVTalpxTEJzRktDNUVV
 bEsrSW0KQ3diZTkrTXA1cnBmSzJoV29VVXpOWmRTVW92SkZCL0ZyS0E0RzhQdXltSnZhU000VUN3
 MUdNMm1CR3BFWldrcnYxYXZaa3JtQkJudApHak96UjRvbTcwa01EWWNhQ0c3U3VFRTdEQXpzVFll
 eEVnU1lnMkg3SmVHbFJLd0NlNFh2OHJsTVdhb1FuZGRhN3dpemtqcEM5SFRxCjJDVk1Udmxxaitj
 M3h4alZBWVN6WjZoaklGa1lGQUhqTTFPcytOU1dLNmRkYmFXOFlTbk14UkZtSm1Ba0tqcHdYMUxl
 Sm41cjlsTlcKSW92TlZPTXBCZjBnbmlaZTlSUWZadFNRVUswaHVleDQ0eU92VVAyNjh1Smo2QWlz
 Ry91RDhXMklpWk5mdnFUb1hEZERvS2dRbmxjZwpKL3N3R3VqZ2JvdDl3U1JlOVUyWTZJcDdIWWJu
 YU9NUFdTbElNMXkrV2FXSGpEcldUdnFjZW1sTFdiZTRoZ1ovY3R4S3BMdUNycFlTCm5GenYzeFI5
 bFR4dUpKWU84eVRqOG8yQXJzTVozNmtwK1YvSGlncitCeTd6L0pjaTZpZVZLOXY4MG5RSnBDTlM2
 ZHUwd0ZHbUJwd0MKM1FEVXRsYU9QSU5rV0E0MFgzUnVEQ0ZFM21kWURZaUt6cDFoYTdlWlp6YXdo
 WWFpOUxHTW9WUXlmVlRzUVBGYURxUDIrVVpTQVBjZwo1a05RTU1XN1FXdkJ2THp0VkM0Y001UTFP
 RFB5VlRiK0xtVWFTSm55VjZQUmdHLzdHNVJacEZHcit3R2JJWVFTVzkxZTgxZDlYWGc2Cm1tSUl5
 bzAvUEhZY09EQnMxTzI1VjZFNXlHTDg3RkJBNXAyR2IwNkdkWkU1TGNaOHhRMVZqdEdLa0F1Ymxj
 TXgvWFhnbzZLTHJYS2cKRzhvSWZMNGNOQjl4TGtnUmU3NjVqUlJCSDE5enhHMWhRUHE1NDh5RHNk
 VG9YQTVFR1JFTUUxbytkcHBiMStGRFc3dTF2TkFmZGFRagorbGpJaDlCL3dUZlluTFBZSEJQL0JY
 YWFwdXc4UTAyYk1XS3ROelFHbU9LcGI3TEpFYi9XSHJUcFhWRS95YkhXZEd6SVR1S2tKMmRpCks2
 aTJkbHVidnZscjJvak1WSFRDbkRWMkcza21KSndqZkVGMCt1dzRsbnRaZmlyNURpbHkxWHlpKzRo
 SGpzQmdIRFJyN0lub3hMN0UKVTAwWWc4ZSsrbXR3YjU3TzRlNjJWQkxlandlUkZJRGhhUGpBb2tB
 K3JlU1V6Q0lVSFg4Slc5cTRwb3laRUdpTEhseVpCL3JDVUlUZAppYVBKMWVpVEt3TFVNV2lhRjRZ
 d0ZYWkgxSFFtdmI3YnJPWElBRlh5UE9UUFZNQ1VKSnJFSWV3TXR3cXdDWmZTd2FkTHhFc3AybW82
 CnlFWEpDckVFdkx3b2NzRjhJSFlHRERpeVFsc3VYRXE5UVVGbCtSTVJ3TzZqQjQ5dE9EcnI1alZY
 MWRIRkdOdnFuRVh2VjE4Qy94QkcKdG5IU2oyL2lhZkhkNGV2OUMzYitnaUFKSmV1eTNLQ29ZUHhw
 b3dUa2h6SXB6UGV1VzJaMnJBM2g1OEx4SjhpMUU4d0luR0NpbVdCVQpFTVVrNXdaUHFEZXI2QkxD
 bjVaMVlXV09PQ1JOeEZsY3g5NHhudFZDTTFiVUdhOGIxb0FhelhSd0dFNmsyd0Fqamt6eHVId1hQ
 U1pCCk9Ja3c2UDlOTkVrMmNNOEFuMUZRUE56alRaT012ays5MGd2TlAyNmhxV1VtaG5XSFpjMlVY
 ZU84NnVUQ1R6b3ZtRW44ZHFzcVNWL08KeE9qeVNhUjQ4bGRJTm15bmt1YWdSVnlFUHVVaThsZFBH
 Y084a09QQzExdEpkc0xYTEhnOTZjS0pFYS9ockRsbXJRV0J2T3AxWHpSSgpCUXcxOVNSYnJTbXBK
 aWN1YkwxWjJ5blhhb0FSK3BKaGZPTksybkNyYjlWbWIwZWp1OW1ZenIyZ0M1OWRvUjJodVhCZWQ4
 NmM2OHZXCkxBZUQyYlFrOTBNY1dRZUFKUXBlb25CcXRrdFZVMGs0VU44eDR6Wkg3YlQ0cElELzJH
 ajhwUC9meXhQSjFsUkJEZE5WWTZVUEpoblcKY0lUZ1JoM1RRTUZuTXlOS3VsYmRhM1BLd1V5SFlU
 bDBFb1U0WjdCeTBHZ0VhL3FQa2RYWlRITXcwOXJsd0NoTmphNm42SVFuTEZFNApSNk5qQWpTeUhw
 OG1SQ3FkM0p0Y0tzazZKMTVjSkFvMXJSbFg0U1NjM0dtb3JGdlEyaUR1WnBCeEpjTjRGOG0wV2hU
 YlZuMVdVM0pXCm1qYk05MnlLeUozcHBVakZDeHRlYjlXM2thKzNNR21FNlpwbk0vczkydXZOZXVK
 YTA1M3l2TFZoeHBKYVhyckRLOWQwY2E5akxZc0sKNlhjSXdEdzI5OUZGeFhqS1FUOEN5elpOZGs0
 OTJWREtoZkRYVkNpTEZPUGJSQWJXMnEwMkY4YXl5R0YrcmR3d1h5MDZTYlRzVWFJUQpEZnRFL2pB
 aytMWXUxTkRzUUtGMlVWRDRLd25tMlo0cDkzMUFWYzBUeDNJMFh5UkI1YXluTTJVSXJLOWRSckRK
 Z21KMzJUUzhvT0JaCmRSUzFwZUVpZndzRGkweFFZWG4wSElPOUZ5K0M3Wis4MkczUU1UMnBhbTc0
 a0Y1YmRFaTM5V2hDNnpVNFh0UnF1OVU4UldHMVFUSXkKZlpxbGlOUG1SUUhDeXh2YytNRnRxclFY
 eUNncmU4dUZEYW9VbEF5VkVUQkl4dlZaRjJWUzBZTGNBRUFZdnNUSU41UFJ3MFl5RG9mQQpPUlFJ
 NGQ1NnBkYjduZDVmcXMwdEduSnp5d25KQWpYQjNBZitoeGcwUVl6Wm5jallCNGFNUGdLejNsMDBU
 YVNUOVRCNk9IVUhUdXpGCm9NcFNXTHF2Tk9BVlFGaXNaQU9qYUcwQW9tTmlLeEgwc2hOUUNXUHVj
 SUtDa2xzUmd2d2NSSW9FZE5zR2dBd2NWYTl1MGdaRG4vL2EKcEtOVzVPeCt1QlQxc0dxOXVyWDV6
 Nk1lMGQydlFrQWV2TitGaHJ4UWxYK0xvNGUwZW1NelU2Zmx4YXIwcWpMVHEvdlhLb2JwMWRSWApD
 c0xkcWk0Uk9OVDNrMXd0MEU4NkVFNDZVT3BIbkFRYkVVZWZwNTQ2K2d6VjNVM3U5bVpXTktEYTd4
 c05xT0RjREdxWmxEcTZYUVA1CmpqOGRiZnJYaUoyME1MWlFDcUV5eEpBSVNXeTBFMVoxdnl5Mk1r
 b3ZFejdKalNXa05TVUcwSXQwL0MxRDRMZnliQXR4WEt2KzJtam0KclkxYmYyMXM1V2JFcUZXckxY
 VVVXY2RQZGpqbXhCTW16WWlHZXpRSkh5NW1BeTl2dUg0YnJPRTBVSFJIL2ZBUUdRMWFWNmxQZkEx
 UQpVTHZTNXk4VUY4L0x3cUVCZE5WelVDak1iUkxEby9FekpqVE42OHBCYmxlSWc4MXA5Mnk4WUtR
 WmVVRjA1dlBSMWM4OUtuQjI5WE93Cmh2blhnalhJWEZES1lZWWR1SklWMXdNUXBHNTdWLzNYckM0
 MTY3YStNL1U3dTdWbVR1Q21WSFFoVmtVZ0pITXhDbDhBR3dlalQyWDgKY1hnYjllN3NyOUg5MVVq
 OTJ2UHFuMFJoTW1PRFZmNXVvUEJ2QzBnL3NMQXFFdFo1M0x0RFFQREYxc0pmdHNwNmZoWFJSM2JR
 b25DMQpJTWxzUTd4YTlVV3JIcjZhNDFZUXNCV1U2VFVRTXBuTzBKc0NySVVFSllZblBTN3dKTGlK
 UDNJOFVzckFxazRobzBrL0hxcE5KTkgyCjZWU2Q3RmZvVHBnTjF1QzZPckF0QkJUZkpXSGJxOVBS
 a0d6WCtXMEhvaWtjWDE5SFBWT2tDNlpZdXJQVVFKemdXaDJLbWw4TFIxbW0KV0hLU2kzWWQ2NnZP
 TWhrdjRMZUgwV1RRLzhDZlAyaHpyUnhXc09lOUp2czhjOVhydjBZeUFrMEpOU1ozTGJkWmFRbVd5
 Mng4NkhxQQpxc2lWRHZ5U2VsWEthcHhBb29HVmZLeld3Mk1aVXVGTmI4dkJMVnBZQ1RzdDB3L1Zr
 QjZ3RmdPbG10YkNKc05GZWwxNWdYQUR1b2tvCjFoWGxpSGRYaWpxakNWVmFEODczajQ3YXA2K0tv
 c0E0NUV4VXdwRFROUE5DOUFkYjBiYkpHT3RWZ3ZsNWxrQ3lOVzNCRlNxUnAvdm0KOG4rLzYwQnFr
 Y3VMOXF2WDNWMnRUcUFaQW1OcHA3RktxakZqOTZTRi9qVGt3K1BUN3ZIRjZxQ0RaMEY5Q2ZCdmox
 L2FmdHRpdnZ2YQpBMDhLVGEzNmNuWjBWT3hkbVhRKzRFYUhFME9QMUpFa2NtamtremVoUElyQW5h
 ZU5SSEdFR2p3bU1EZmhtR2M5RHk0Y3YrekJnbFlFCmVQU0phd2pxY1lXN2J2QmlRdVZ4WDE0OER6
 NVJCa2wrOEgxUS9LUkFFVGJ4RFpJZnQ2R0tQNHJpUDBEeFIxV2NXeW01Zm1iZGkzZkgKT2RidE9s
 R1R0bTkvOXRWWkhPNEZ3WEUvbmpyYkFHMFFWaEpRa3NKbjI0eTVkYVVFVUsvdE5uTmkxZGJxZFRv
 WTFVVW1kc0RNUHpnNApoakdpcWhRS0tmTUtDc1V4Y3lJeTZpUTlCZFBBSmpld0thSVE1MFdHSTJ2
 REFnQktHVlVsNDZoSFRFdXhnWkZPNUN3SzI3dkpySklLCitCcGI4cWhTd2RQbndmL1QvYVd3TVRC
 UWtUaG9CNk9iOHFjNU1lTGFCWU5ZSmMrOWJMKzZQR2gzWDc3ZGY3VUxVSXdxTXh0UitDWUQKVit3
 SXo2TVFmVlMwdlJ3SzV0WmZoQlU1RjBwWVZjZlBBNFdJS0J3cWdxSWdsbkJvcXBaTURua3B1VVky
 MjBRTGMrSnM3allYbXJQbwpXZzZOTnYwY0ZZWkdHOVV0U0RRTkg1dU9sSXJIRTg0YXJtQzZvcnJN
 SnQ2MzMya1lEZ0FTbTBoVWNFQmtKbWVsZlN5akJ4a0EvRDZNCkpxSVB0aHVBOXNQN1BncXJhaHpx
 cTJpaWUzZUpPWUx4TGJaaGZvcVJPS1VVREtjTW83SFpLRy9WRlI2Yk5TM3A2dVJJWDVuVmdWeUoK
 SFppRmc4SGpSUVNpb3l2MS92Y3NBblBwVUFlVEFRbDJRdVZBNnAycVk0SmkrbWlSRkU0NUVyOTZG
 UGNITFBlT0lmN1V4bXBTYnVSSQp1VExKOGswMGhiZzJVb0Mrd0IxcnFEcndvQ1RyMGZDN0taalJK
 TkVBTWk5KzVGNllLc2x1Z0wxOHVGVXJSL2Y4SVI0TVFDNm5nUTBWCjBDNzRxZlpIVWFMQUVZUWtJ
 aHVDMjlsa0dveWpDZllKWEdLSEl6V3RrVG9jSzVIdWFqYUZiVEtlWWwzeVNRU1hWd0xSRzgwR2ZX
 Z0gKYk5GdlZPZC9heG1kQTAzNE0weWFtRWswRnRHRThObEZwQTdIOUZ4SEFFN2x0MVliNDJqaWhk
 OUJ5WURxcFhMUXEwMy96K2FkRHJSNwpjWHgwc2YvKzh2ejRGT1JQdS8zTFVyODg5NHJ0NlVqc1I2
 UDNDckZ0UldKRnlSTEtBUTlKeWc2dW5CQjh2Vlhqckc5bnpRUUZwQjdJCkRSZjF3VW9TWFo0L2p1
 NFU0N3RDQjJiRkJQQU1pSTU4RTlUS2Z3d244V2lXTUFCTXk1MEU3RE1ET0FkSDFwdEpURW0wY2VY
 aGRkS1gKckt2M3QzeDA1VldBYTZ1UDV2OTlURTRhVFliaHdGcDdKbENDS1JsMkhYVFNWbXNGNFNp
 U3gvcVVSUnpxZzFMV1dhcWlONzhObVR0VApVcFNtdHpyTnVRbWdzbEo2ZThDT3NCbEtaNEpmbUFy
 ZXJCUi9tWUVjWUo5NUtiMHJZbm1sMDdpVENLbm1oZkphOHhxYXU5WXpnai9rCnA0Zi9oL1pybVpz
 ajN0NEtMMnpaSHBQbU5jODdzVE1vbDdWWTYwMk85ejZYdDlnTzR1WU5MSHNBckFQc1VmTFpCMG0z
 VU1NT0N5MEEKcUV6WkVTWHlHRTd3RlNnZHp4MTR2ZDlzbGJlMklWbEZ5NnEvZ3NwWC9DZTBZSFFO
 UW5LU3c5cStibnRaR2lYUmRGRXhJa1MyUHA4YQpwUkU0Vk5ETFBibXdYUDJSMGZONDJaL0JlMlBx
 NVJaMkxSS3pkMFRwWUFpWGEzQ05GcXh4UmhTeFhNM0tGbVpQTlJNelFJTXQrWFpPCjNobzFOQTk4
 bnVEUmlPMmpWTkdvTHd2NnIwbnJMZUFZMDNLbm1FYWgwQlg0UlNBZmsvV2x6NGc3WWpJM0pmSFZB
 TFl1M21Jd2o4ZkgKYU1KaFlORmtUUFBYOWhUbE1CSHZJd0tadVFmYkpxaVRnS3QrakRKcU9wRWNU
 SmdZTEpIR0dUTVI0N2p1bTFuU29RZU5MWFZWRUdpSgpnQ2oxR0ZiTWVtbTkrVFdqVXFSSHFLQWlS
 UmZ6bWhLRjR3aGY0RG9YWDhEa0dLRE1tbE13VmttU2IyV2MxUjA5Q25qVlJkUERnU0s2CklpK0hK
 d2M0NWllbVFkTnI1SDA2RnpPWHh1MUI3VG9uNEFMMVM5RFIwZ0V4YkhpS0R0ZnVacHdTelh5Tzdr
 eUtUWHdrOGhzOVlIcWoKVW1vVmRyelVSS21tblBXNmZ6MkZvZkEwMkd4T3BuTFJXOTRsN3c3U0M3
 WCtWY1hMWEdIVE9iZitidnlZeFNyWmVCRVNuMmt1N0p5WgpXV0paVXM3UnhlZnoweHkrTHIySU0w
 Z0Y3Vm1RV0Z5K2FLZWJWb3F1YWhLUFpaS2RsMWFMbDU3Z2tYTnpaRlVjVXhaWXZ6NlhGZktKCmdV
 UXV1SE9IWUNqV0tzVXoyWUVsMnBTaStyY25YV0RpanM1R3l4ajkrUG82cU13bXA4R3pXVEo1Tmg1
 TnBzbXpUN1ZhWlRvYURlNWkKOVVPeDRXZmp1NXRLUDBwNmt5RC9GZWk0bGdNQ1dxd0dKaFNyQmRY
 R2JxdTUyNUJXNU92Vm5XcjFUNkQ2V2doaXUxTGJRUU9ZcXFzKwpJeEI0VzF0dUtFR05sS2pCbjRM
 VHMrN3hMcWtVRkZEVXBNUnduQXBCcnpLZVJCVjhrc1JUMnQyVTFJbFhoK3FRZUJVUFE0VTM2TXJH
 Cm53aUMyajBUT0dQTUVnVUI1dnVnY3hRa2F0dUE4Q2Z4MVVTZEl5TlZlUDFQNisvZnY5OE5icWZU
 OGU0ekdNZEdNcHBOZW1EMmN4TnQKREtQcHN6LzlmeGFZbzRkV1B3TUEKPT09PQo=
 
 --Multipart=_Mon__19_Aug_2013_02_51_28_+0900_rRxpM_fxp6LQa8a9--
Responsible-Changed-From-To: miwi->freebsd-ports-bugs 
Responsible-Changed-By: bdrewery 
Responsible-Changed-When: Sun Sep 22 09:10:45 CDT 2013 
Responsible-Changed-Why:  
Back to the heap due to timeout 

http://www.freebsd.org/cgi/query-pr.cgi?pr=181060 

From: KATO Tsuguru <tkato432@yahoo.com>
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/181060: x11-toolkits/blt: Fix build with Tcl/Tk 8.6
Date: Fri, 1 Nov 2013 05:30:00 +0900

 This is a multi-part message in MIME format.
 
 --Multipart=_Fri__1_Nov_2013_05_30_00_+0900_z4gWL20z9aogO=dd
 Content-Type: text/plain; charset=US-ASCII
 Content-Transfer-Encoding: 7bit
 
 Remake of the patch against current tree.
 
 --Multipart=_Fri__1_Nov_2013_05_30_00_+0900_z4gWL20z9aogO=dd
 Content-Type: text/x-diff;
  name="x11-toolkits_blt.diff"
 Content-Disposition: attachment;
  filename="x11-toolkits_blt.diff"
 Content-Transfer-Encoding: 7bit
 
 diff -urN /usr/ports/x11-toolkits/blt/Makefile x11-toolkits/blt/Makefile
 --- /usr/ports/x11-toolkits/blt/Makefile	2013-10-31 15:20:40.000000000 +0900
 +++ x11-toolkits/blt/Makefile	2013-11-01 00:00:00.000000000 +0900
 @@ -3,43 +3,28 @@
  
  PORTNAME=	blt
  PORTVERSION=	2.4z
 -PORTREVISION=	7
 +PORTREVISION=	8
  CATEGORIES=	x11-toolkits tk
 -MASTER_SITES=	SF/${PORTNAME}/BLT/BLT%20${PORTVERSION} \
 -		ftp://ftp.csl.sony.co.jp/pub/kjc/ttt-libs/
 +MASTER_SITES=	SF/${PORTNAME}/BLT/BLT%20${PORTVERSION}
  DISTNAME=	BLT${PORTVERSION}
  
 -PATCH_SITES=	${MASTER_SITE_SOURCEFORGE:C/%SUBDIR%/${PORTNAME}\/BLT\/BLT%20${PORTVERSION}/} \
 -		ftp://ftp.csl.sony.co.jp/pub/kjc/ttt-libs/
 +PATCH_SITES=	${MASTER_SITE_SOURCEFORGE:C/%SUBDIR%/${PORTNAME}\/BLT\/BLT%20${PORTVERSION}/}
  PATCH_SITE_SUBDIR=	${PORTNAME}
  PATCHFILES=	blt2.4z-patch-2
 -PATCH_DIST_STRIP=-p1
 +PATCH_DIST_STRIP= -p1
  
  MAINTAINER=	ports@FreeBSD.org
 -COMMENT=	Extension for the Tk toolkit (with shared libs)
 +COMMENT=	Tk extension (with shared libs)
  
 -LIB_DEPENDS=	libjpeg.so:${PORTSDIR}/graphics/jpeg
 -
 -USE_LDCONFIG=	yes
 -USE_AUTOTOOLS=	libtool
 +LICENSE=	BSD
  
 -WRKSRC=		${WRKDIR}/blt2.4z
 -GNU_CONFIGURE=	yes
 -CFLAGS+=	-Wall -Wno-uninitialized
 -CFLAGS+=	-I${TK_INCLUDEDIR}/generic -I${TK_INCLUDEDIR}/unix
 -
 -USES+=		tk:84,85
 -USE_XORG=	x11
 +LIB_DEPENDS=	libjpeg.so:${PORTSDIR}/graphics/jpeg
  
 -post-patch:
 -	${FIND} ${WRKSRC} -name Makefile.in | ${XARGS} \
 -	    ${REINPLACE_CMD} -e '/^INSTALL_ROOT/s|$$|$${DESTDIR}|'
 +WRKSRC=		${WRKDIR}/${PORTNAME}${PORTVERSION}
  
 -post-install:
 -	${LN} -sf libBLT24.so.3 ${STAGEDIR}${PREFIX}/lib/libBLT24.so
 -	${LN} -sf libBLTlite24.so.3 ${STAGEDIR}${PREFIX}/lib/libBLTlite24.so
 -
 -CONFIGURE_ARGS+=--exec_prefix=${PREFIX} \
 +USES=		tk
 +USE_AUTOTOOLS=	libtool
 +CONFIGURE_ARGS=	--exec_prefix=${PREFIX} \
  		--enable-jpeg=${LOCALBASE} \
  		--with-tcl=${TCL_LIBDIR} \
  		--with-tk=${TK_LIBDIR} \
 @@ -47,5 +32,14 @@
  		--with-tklibs=${LOCALBASE}/lib/ \
  		--with-tclincls=${TCL_INCLUDEDIR} \
  		--with-tkincls=${TK_INCLUDEDIR}
 +MAKE_ARGS=	INSTALL_ROOT=${STAGEDIR} INSTALL_DIR=${STAGEDIR}
 +USE_LDCONFIG=	yes
 +
 +CFLAGS+=	-Wall -Wno-uninitialized
 +CFLAGS+=	-I${TK_INCLUDEDIR}/generic -I${TK_INCLUDEDIR}/unix
 +
 +post-install:
 +	${LN} -sf libBLT24.so.3 ${STAGEDIR}${PREFIX}/lib/libBLT24.so
 +	${LN} -sf libBLTlite24.so.3 ${STAGEDIR}${PREFIX}/lib/libBLTlite24.so
  
  .include <bsd.port.mk>
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-Makefile.in x11-toolkits/blt/files/patch-Makefile.in
 --- /usr/ports/x11-toolkits/blt/files/patch-Makefile.in	2013-10-31 15:20:40.000000000 +0900
 +++ x11-toolkits/blt/files/patch-Makefile.in	2013-11-01 00:00:00.000000000 +0900
 @@ -1,12 +1,11 @@
 ---- Makefile.in.orig	2013-10-30 13:46:13.000000000 +0100
 -+++ Makefile.in	2013-10-30 13:46:28.000000000 +0100
 -@@ -47,9 +47,6 @@
 +--- Makefile.in.orig
 ++++ Makefile.in
 +@@ -45,7 +45,7 @@
 + install-all:
 + 	(cd src; $(MAKE) install)
   	(cd library; $(MAKE) install)
 - 	(cd man; $(MAKE) install)
 +-	(cd man; $(MAKE) install)
 ++##	(cd man; $(MAKE) install)
   	(cd demos; $(MAKE) install)
 --	$(INSTALL_DATA) $(srcdir)/README $(INSTALL_DIR)$(scriptdir)
 --	$(INSTALL_DATA) $(srcdir)/PROBLEMS $(INSTALL_DIR)$(scriptdir)
 --	$(INSTALL_DATA) $(srcdir)/NEWS $(INSTALL_DIR)$(scriptdir)
 - 
 - mkdirs:
 - 	@for i in $(instdirs) ; do \
 + 	$(INSTALL_DATA) $(srcdir)/README $(INSTALL_DIR)$(scriptdir)
 + 	$(INSTALL_DATA) $(srcdir)/PROBLEMS $(INSTALL_DIR)$(scriptdir)
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-aa x11-toolkits/blt/files/patch-aa
 --- /usr/ports/x11-toolkits/blt/files/patch-aa	2013-06-21 03:54:39.000000000 +0900
 +++ x11-toolkits/blt/files/patch-aa	1970-01-01 09:00:00.000000000 +0900
 @@ -1,55 +0,0 @@
 ---- configure.orig	Fri Oct  4 13:33:59 2002
 -+++ configure	Tue Feb 13 16:39:48 2007
 -@@ -1202,7 +1202,7 @@
 - #
 - #  1. command line (--with-cflags)
 - #  2. cached variable ($blt_cv_prog_cflags)
 --#  3. set to "-O6" if using gcc ($blt_have_gcc)
 -+#  3. set to "-O2" if using gcc ($blt_have_gcc)
 - #  4. otherwise, default to "-O"
 - #
 - echo $ac_n "checking default compiler flags""... $ac_c" 1>&6
 -@@ -1212,7 +1212,7 @@
 - elif test "x${blt_cv_prog_cflags}" != "x" ; then
 -   CFLAGS=${blt_cv_prog_cflags}
 - elif test "${blt_have_gcc}" = "yes" ; then
 --  CFLAGS=-O6
 -+  CFLAGS=-O2
 - else
 -   CFLAGS=-O
 - fi
 -@@ -3197,6 +3197,7 @@
 -   if test "x$tcl_config_sh" = "x" ; then
 -     for dir in \
 -      `ls -dr /usr/local/tcl/tcl[7-9].[0-9]* 2>/dev/null` \
 -+     `ls -dr /usr/local/lib/tcl[7-9].[0-9]* 2>/dev/null` \
 -      /usr/local/tcl \
 -      /usr/local \
 -      /usr
 -@@ -3295,6 +3296,7 @@
 -   if test "x$tk_config_sh" = "x" ; then
 -     for dir in \
 -      `ls -dr /usr/local/tcl/tcl[7-9].[0-9]* 2>/dev/null` \
 -+     `ls -dr /usr/local/lib/tk[7-9].[0-9]* 2>/dev/null` \
 -      /usr/local/tcl \
 -      /usr/local \
 -      ${x_libraries} \
 -@@ -3379,7 +3381,7 @@
 - fi
 - 
 - case $target in
 --  *-sunos4*|*-*-netbsd|NetBSD-*|FreeBSD-*|OpenBSD-*|*-*-cygwin*|*-*-mingw*)
 -+  *-sunos4*|*-*-netbsd|NetBSD-*|*-*-freebsd*|OpenBSD-*|*-*-cygwin*|*-*-mingw*)
 -     TCL_LIB_NAME="tcl${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}"
 -     TK_LIB_NAME="tk${TK_MAJOR_VERSION}${TK_MINOR_VERSION}"
 -     ;;
 -@@ -4111,7 +4113,8 @@
 -     if test "$test_ok" = yes; then
 -       SHLIB_CFLAGS="-fpic"
 -       SHLIB_LD="ld"
 --      SHLIB_LD_FLAGS="-Bshareable -x"
 -+      SHLIB_LD_FLAGS="-Bshareable -x -soname \$@"
 -+      SHLIB_SUFFIX=".so.3"
 -     fi
 -     ;;
 - 
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-ab x11-toolkits/blt/files/patch-ab
 --- /usr/ports/x11-toolkits/blt/files/patch-ab	2013-06-21 03:54:39.000000000 +0900
 +++ x11-toolkits/blt/files/patch-ab	1970-01-01 09:00:00.000000000 +0900
 @@ -1,24 +0,0 @@
 ---- src/bltTree.c.orig	Sun Sep 29 07:44:12 2002
 -+++ src/bltTree.c	Mon Oct 13 13:16:45 2003
 -@@ -96,16 +96,16 @@
 - 
 - #define REBUILD_MULTIPLIER	3
 - 
 --#if (SIZEOF_VOID_P == 8)
 --#define RANDOM_INDEX(i)		HashOneWord(mask, downshift, i)
 --#define BITSPERWORD		64
 --#else 
 --
 - #define START_LOGSIZE		5 /* Initial hash table size is 32. */
 - #define MAX_LIST_VALUES		20 /* Convert to hash table when node
 - 				    * value list gets bigger than this
 - 				    * many values. */
 - 
 -+
 -+#if (SIZEOF_VOID_P == 8)
 -+#define RANDOM_INDEX(i)		HashOneWord(mask, downshift, i)
 -+#define BITSPERWORD		64
 -+#else 
 - /*
 -  * The following macro takes a preliminary integer hash value and
 -  * produces an index into a hash tables bucket list.  The idea is
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-ac x11-toolkits/blt/files/patch-ac
 --- /usr/ports/x11-toolkits/blt/files/patch-ac	2013-06-21 03:54:39.000000000 +0900
 +++ x11-toolkits/blt/files/patch-ac	1970-01-01 09:00:00.000000000 +0900
 @@ -1,11 +0,0 @@
 ---- Makefile.in.orig	Wed Feb 23 18:28:23 2005
 -+++ Makefile.in	Wed Feb 23 18:32:19 2005
 -@@ -45,7 +45,7 @@
 - install-all:
 - 	(cd src; $(MAKE) install)
 - 	(cd library; $(MAKE) install)
 --	(cd man; $(MAKE) install)
 -+##	(cd man; $(MAKE) install)
 - 	(cd demos; $(MAKE) install)
 - 	$(INSTALL_DATA) $(srcdir)/README $(INSTALL_DIR)$(scriptdir)
 - 	$(INSTALL_DATA) $(srcdir)/PROBLEMS $(INSTALL_DIR)$(scriptdir)
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-configure x11-toolkits/blt/files/patch-configure
 --- /usr/ports/x11-toolkits/blt/files/patch-configure	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-configure	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,55 @@
 +--- configure.orig
 ++++ configure
 +@@ -1202,7 +1202,7 @@
 + #
 + #  1. command line (--with-cflags)
 + #  2. cached variable ($blt_cv_prog_cflags)
 +-#  3. set to "-O6" if using gcc ($blt_have_gcc)
 ++#  3. set to "-O2" if using gcc ($blt_have_gcc)
 + #  4. otherwise, default to "-O"
 + #
 + echo $ac_n "checking default compiler flags""... $ac_c" 1>&6
 +@@ -1212,7 +1212,7 @@
 + elif test "x${blt_cv_prog_cflags}" != "x" ; then
 +   CFLAGS=${blt_cv_prog_cflags}
 + elif test "${blt_have_gcc}" = "yes" ; then
 +-  CFLAGS=-O6
 ++  CFLAGS=-O2
 + else
 +   CFLAGS=-O
 + fi
 +@@ -3197,6 +3197,7 @@
 +   if test "x$tcl_config_sh" = "x" ; then
 +     for dir in \
 +      `ls -dr /usr/local/tcl/tcl[7-9].[0-9]* 2>/dev/null` \
 ++     `ls -dr /usr/local/lib/tcl[7-9].[0-9]* 2>/dev/null` \
 +      /usr/local/tcl \
 +      /usr/local \
 +      /usr
 +@@ -3295,6 +3296,7 @@
 +   if test "x$tk_config_sh" = "x" ; then
 +     for dir in \
 +      `ls -dr /usr/local/tcl/tcl[7-9].[0-9]* 2>/dev/null` \
 ++     `ls -dr /usr/local/lib/tk[7-9].[0-9]* 2>/dev/null` \
 +      /usr/local/tcl \
 +      /usr/local \
 +      ${x_libraries} \
 +@@ -3379,7 +3381,7 @@
 + fi
 + 
 + case $target in
 +-  *-sunos4*|*-*-netbsd|NetBSD-*|FreeBSD-*|OpenBSD-*|*-*-cygwin*|*-*-mingw*)
 ++  *-sunos4*|*-*-netbsd|NetBSD-*|*-*-freebsd*|OpenBSD-*|*-*-cygwin*|*-*-mingw*)
 +     TCL_LIB_NAME="tcl${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}"
 +     TK_LIB_NAME="tk${TK_MAJOR_VERSION}${TK_MINOR_VERSION}"
 +     ;;
 +@@ -4111,7 +4113,8 @@
 +     if test "$test_ok" = yes; then
 +       SHLIB_CFLAGS="-fpic"
 +       SHLIB_LD="ld"
 +-      SHLIB_LD_FLAGS="-Bshareable -x"
 ++      SHLIB_LD_FLAGS="-Bshareable -x -soname \$@"
 ++      SHLIB_SUFFIX=".so.3"
 +     fi
 +     ;;
 + 
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-newertcl x11-toolkits/blt/files/patch-newertcl
 --- /usr/ports/x11-toolkits/blt/files/patch-newertcl	2013-06-21 03:54:39.000000000 +0900
 +++ x11-toolkits/blt/files/patch-newertcl	1970-01-01 09:00:00.000000000 +0900
 @@ -1,186 +0,0 @@
 ---- src/bltNsUtil.h	2002-07-18 02:35:32.000000000 -0400
 -+++ src/bltNsUtil.h	2010-01-16 11:39:20.000000000 -0500
 -@@ -47,7 +47,8 @@
 - #endif
 - 
 --
 -+#if TCL_MAJOR_VERSION < 8 || TCL_MINOR_VERSION < 5
 - EXTERN Tcl_Command Tcl_FindCommand _ANSI_ARGS_((Tcl_Interp *interp,
 - 	char *name, Tcl_Namespace *nsPtr, int flags));
 -+#endif
 - 
 - #define NS_SEARCH_NONE		(0)
 -@@ -64,15 +65,19 @@
 - EXTERN Tcl_Namespace *Tcl_GetGlobalNamespace _ANSI_ARGS_((Tcl_Interp *interp));
 - 
 --#if (TCL_MAJOR_VERSION >= 8)
 -+#if TCL_MAJOR_VERSION == 8
 -+#	if TCL_MINOR_VERSION < 5
 - EXTERN Tcl_Namespace *Tcl_CreateNamespace _ANSI_ARGS_((Tcl_Interp *interp,
 --	char *name, ClientData clientData, Tcl_NamespaceDeleteProc *nsDelProc));
 --
 --EXTERN void Tcl_DeleteNamespace _ANSI_ARGS_((Tcl_Namespace *nsPtr));
 -+    const char *name, ClientData clientData,
 -+    Tcl_NamespaceDeleteProc *nsDelProc));
 - 
 - EXTERN Tcl_Namespace *Tcl_FindNamespace _ANSI_ARGS_((Tcl_Interp *interp,
 --	char *name, Tcl_Namespace *context, int flags));
 -+    const char *name, Tcl_Namespace *context, int flags));
 -+
 -+EXTERN int Tcl_Export _ANSI_ARGS_((Tcl_Interp *interp,
 -+    Tcl_Namespace *nsPtr,
 -+    const char *pattern, int resetFlag));
 -+#	endif
 - 
 --EXTERN int Tcl_Export _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Namespace *nsPtr,
 --	char *name, int resetFlag));
 -+EXTERN void Tcl_DeleteNamespace _ANSI_ARGS_((Tcl_Namespace *nsPtr));
 - 
 - EXTERN Tcl_Var Tcl_FindNamespaceVar _ANSI_ARGS_((Tcl_Interp *interp, char *name,
 -@@ -87,5 +92,5 @@
 - 	Tcl_Interp *interp, CONST char *varName, int flags));
 - 
 --#endif /* TCL_MAJOR_VERSION >= 8 */
 -+#endif /* TCL_MAJOR_VERSION == 8 */
 - 
 - 
 ---- src/bltCanvEps.c	2002-08-15 01:22:10.000000000 -0400
 -+++ src/bltCanvEps.c	2010-01-16 23:36:39.000000000 -0500
 -@@ -324,5 +324,5 @@
 - 	int width, int height, int imgWidth, int imgHeight));
 - static int EpsCoords _ANSI_ARGS_((Tcl_Interp *interp, Tk_Canvas canvas,
 --	Tk_Item * itemPtr, int argc, char **argv));
 -+	Tk_Item * itemPtr, int argc, Tcl_Obj * const objv[]));
 - static int EpsToArea _ANSI_ARGS_((Tk_Canvas canvas, Tk_Item * itemPtr,
 - 	double *rectPtr));
 -@@ -331,7 +331,7 @@
 - static void ComputeEpsBbox _ANSI_ARGS_((Tk_Canvas canvas, EpsItem *imgPtr));
 - static int ConfigureEps _ANSI_ARGS_((Tcl_Interp *interp, Tk_Canvas canvas,
 --	Tk_Item * itemPtr, int argc, char **argv, int flags));
 -+	Tk_Item * itemPtr, int argc, Tcl_Obj * const objv[], int flags));
 - static int CreateEps _ANSI_ARGS_((Tcl_Interp *interp, Tk_Canvas canvas,
 --	struct Tk_Item * itemPtr, int argc, char **argv));
 -+	struct Tk_Item * itemPtr, int argc, Tcl_Obj * const objv[]));
 - static void DeleteEps _ANSI_ARGS_((Tk_Canvas canvas, Tk_Item * itemPtr,
 - 	Display *display));
 -@@ -916,5 +916,5 @@
 -  */
 - static int
 --CreateEps(interp, canvas, itemPtr, argc, argv)
 -+CreateEps(interp, canvas, itemPtr, argc, objv)
 -     Tcl_Interp *interp;		/* Interpreter for error reporting. */
 -     Tk_Canvas canvas;		/* Canvas to hold new item. */
 -@@ -922,5 +922,5 @@
 - 					 * has been initialized by caller. */
 -     int argc;			/* Number of arguments in argv. */
 --    char **argv;		/* Arguments describing rectangle. */
 -+    Tcl_Obj * const objv[];		/* Arguments describing rectangle. */
 - {
 -     EpsItem *epsPtr = (EpsItem *)itemPtr;
 -@@ -972,10 +972,9 @@
 -      * Process the arguments to fill in the item record.
 -      */
 --
 --    if ((Tk_CanvasGetCoord(interp, canvas, argv[0], &(epsPtr->x)) != TCL_OK) ||
 --	(Tk_CanvasGetCoord(interp, canvas, argv[1], &(epsPtr->y)) != TCL_OK)) {
 -+    if ((Tk_CanvasGetCoord(interp, canvas, Tcl_GetString(objv[0]), &(epsPtr->x)) != TCL_OK) ||
 -+	(Tk_CanvasGetCoord(interp, canvas, Tcl_GetString(objv[1]), &(epsPtr->y)) != TCL_OK)) {
 - 	return TCL_ERROR;
 -     }
 --    if (ConfigureEps(interp, canvas, itemPtr, argc - 2, argv + 2, 0)
 -+    if (ConfigureEps(interp, canvas, itemPtr, argc - 2, objv + 2, 0)
 - 	!= TCL_OK) {
 - 	DeleteEps(canvas, itemPtr, Tk_Display(tkwin));
 -@@ -1039,10 +1038,10 @@
 -  */
 - static int
 --ConfigureEps(interp, canvas, itemPtr, argc, argv, flags)
 -+ConfigureEps(interp, canvas, itemPtr, argc, objv, flags)
 -     Tcl_Interp *interp;		/* Used for error reporting. */
 -     Tk_Canvas canvas;		/* Canvas containing itemPtr. */
 -     Tk_Item *itemPtr;		/* EPS item to reconfigure. */
 -     int argc;			/* Number of elements in argv.  */
 --    char **argv;		/* Arguments describing things to configure. */
 -+    Tcl_Obj * const objv[];	/* Arguments describing things to configure. */
 -     int flags;			/* Flags to pass to Tk_ConfigureWidget. */
 - {
 -@@ -1053,4 +1052,9 @@
 -     GC newGC;
 -     int width, height;
 -+    char *argv[argc];
 -+    int i;
 -+
 -+    for (i = 0; i < argc; i++)
 -+	argv[i] = Tcl_GetString(objv[i]);
 - 
 -     tkwin = Tk_CanvasTkwin(canvas);
 -@@ -1193,5 +1197,5 @@
 -  */
 - static int
 --EpsCoords(interp, canvas, itemPtr, argc, argv)
 -+EpsCoords(interp, canvas, itemPtr, argc, objv)
 -     Tcl_Interp *interp;		/* Used for error reporting. */
 -     Tk_Canvas canvas;		/* Canvas containing item. */
 -@@ -1200,5 +1204,5 @@
 -     int argc;			/* Number of coordinates supplied in
 - 					 * argv. */
 --    char **argv;		/* Array of coordinates: x1, y1,
 -+    Tcl_Obj * const objv[];	/* Array of coordinates: x1, y1,
 - 					 * x2, y2, ... */
 - {
 -@@ -1213,6 +1217,6 @@
 - 	double x, y;		/* Don't overwrite old coordinates on errors */
 - 
 --	if ((Tk_CanvasGetCoord(interp, canvas, argv[0], &x) != TCL_OK) ||
 --	    (Tk_CanvasGetCoord(interp, canvas, argv[1], &y) != TCL_OK)) {
 -+	if ((Tk_CanvasGetCoord(interp, canvas, Tcl_GetString(objv[0]), &x) != TCL_OK) ||
 -+	    (Tk_CanvasGetCoord(interp, canvas, Tcl_GetString(objv[1]), &y) != TCL_OK)) {
 - 	    return TCL_ERROR;
 - 	}
 -@@ -1714,5 +1718,5 @@
 -     Tk_CreateItemType(&epsItemType);
 -     /* Initialize custom canvas option routines. */
 --    tagsOption.parseProc = Tk_CanvasTagsParseProc;
 -+    tagsOption.parseProc = (Tk_OptionParseProc *)Tk_CanvasTagsParseProc;
 -     tagsOption.printProc = Tk_CanvasTagsPrintProc;
 - }
 -
 -The problem, that these two hunks seem to solve is mentioned by other
 -people, but no solution is offered anywhere.
 -
 -	http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=524149#44
 -
 -These hunks do seem to fix things, but don't seem right anyway...
 -
 ---- src/bltHtext.c	2002-07-17 05:56:00.000000000 -0400
 -+++ src/bltHtext.c	2010-01-23 23:42:09.000000000 -0500
 -@@ -3348,5 +3348,5 @@
 -      * the text.
 -      */
 --    if ((htPtr->first != oldFirst) || (htPtr->last != oldLast)) {
 -+    if (htPtr->lineArr && ((htPtr->first != oldFirst) || (htPtr->last != oldLast))) {
 - 	int offset;
 - 	int i;
 -@@ -3377,5 +3377,6 @@
 - 	}
 -     }
 --    DrawPage(htPtr, deltaY);
 -+    if (htPtr->lineArr)
 -+	DrawPage(htPtr, deltaY);
 -     SendBogusEvent(tkwin);
 - 
 -
 -The patch below is obtained from RedHat
 -	https://bugzilla.redhat.com/show_bug.cgi?id=504388
 -When the problem in Tk-8.5 is fixed, the below work-around
 -can be removed from BLT.
 -
 ---- src/bltText.c	2002-08-13 15:45:20.000000000 -0400
 -+++ src/bltText.c	2010-01-23 20:35:29.000000000 -0500
 -@@ -49,5 +49,5 @@
 -     fragPtr = textPtr->fragArr;
 -     for (i = 0; i < textPtr->nFrags; i++, fragPtr++) {
 --#if HAVE_UTF
 -+#if HAVE_UTF && (TCL_VERSION_NUMBER < _VERSION(8,5,0))
 - 	Tk_DrawChars(display, drawable, gc, font, fragPtr->text,
 - 	    fragPtr->count, x + fragPtr->x, y + fragPtr->y);
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-parabuild x11-toolkits/blt/files/patch-parabuild
 --- /usr/ports/x11-toolkits/blt/files/patch-parabuild	2013-06-21 03:54:39.000000000 +0900
 +++ x11-toolkits/blt/files/patch-parabuild	1970-01-01 09:00:00.000000000 +0900
 @@ -1,38 +0,0 @@
 ---- src/Makefile.in	2002-07-15 05:31:29.000000000 -0400
 -+++ src/Makefile.in	2010-01-24 14:08:54.000000000 -0500
 -@@ -182,7 +182,7 @@
 - $(tcl_only_lib_a):  $(TCL_ONLY_OBJS) $(srcdir)/bltInit.c
 - 	$(CC) -c $(CC_SWITCHES) -DTCL_ONLY -DBLT_LIBRARY=\"$(BLT_LIBRARY)\" \
 --		$(srcdir)/bltInit.c
 -+		$(srcdir)/bltInit.c -o bltInitTclOnly.o
 - 	$(RM) $@
 --	$(AR) $@ $(TCL_ONLY_OBJS) bltInit.o
 -+	$(AR) $@ $(TCL_ONLY_OBJS) bltInitTclOnly.o
 - 	$(RANLIB) $@
 - 
 -@@ -225,5 +225,5 @@
 - 
 - clean:
 --	$(RM) $(OBJS) bltInit.o $(lib_a) $(tcl_only_lib_a) \
 -+	$(RM) $(OBJS) bltInit.o bltInitTclOnly.o $(lib_a) $(tcl_only_lib_a) \
 - 		$(bltsh)* $(bltwish)* *pure* .pure*
 - 	(cd shared; $(MAKE) clean) 
 ---- src/shared/Makefile.in	2002-05-14 17:37:19.000000000 -0400
 -+++ src/shared/Makefile.in	2010-01-24 14:10:10.000000000 -0500
 -@@ -150,7 +150,7 @@
 - $(tcl_only_lib_so): $(TCL_ONLY_OBJS)
 - 	$(CC) -c $(CC_SWITCHES) -DTCL_ONLY -DBLT_LIBRARY=\"$(scriptdir)\" \
 --		$(srcdir)/bltInit.c
 -+		$(srcdir)/bltInit.c -o bltInitTclOnly.o
 - 	$(RM) $@
 --	$(SHLIB_LD) $(SHLIB_LD_FLAGS) -o $@ bltInit.o $(TCL_ONLY_OBJS) \
 -+	$(SHLIB_LD) $(SHLIB_LD_FLAGS) -o $@ bltInitTclOnly.o $(TCL_ONLY_OBJS) \
 - 		$(SHLIB_TCL_ONLY_LIB_SPECS)
 - 
 -@@ -176,5 +176,5 @@
 - clean:
 - 	$(RM) $(OBJS) $(lib_so) $(tcl_only_lib_so) $(bltwish) $(bltsh) \
 --		*pure* .pure* 
 -+		*pure* .pure* bltInit.o bltInitTclOnly.o
 - 
 - distclean: clean
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src-shared-Makefile.in x11-toolkits/blt/files/patch-src-shared-Makefile.in
 --- /usr/ports/x11-toolkits/blt/files/patch-src-shared-Makefile.in	2013-06-21 03:54:39.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src-shared-Makefile.in	2013-11-01 00:00:00.000000000 +0900
 @@ -10,3 +10,24 @@
   SHLIB_TCL_ONLY_LIB_SPECS = @SHLIB_TCL_ONLY_LIB_SPECS@ 
   SHLIB_LIB_SPECS = @SHLIB_LIB_SPECS@ 
   SHLIB_LD =	@SHLIB_LD@
 +@@ -149,9 +149,9 @@
 + 
 + $(tcl_only_lib_so): $(TCL_ONLY_OBJS)
 + 	$(CC) -c $(CC_SWITCHES) -DTCL_ONLY -DBLT_LIBRARY=\"$(scriptdir)\" \
 +-		$(srcdir)/bltInit.c
 ++		$(srcdir)/bltInit.c -o bltInitTclOnly.o
 + 	$(RM) $@
 +-	$(SHLIB_LD) $(SHLIB_LD_FLAGS) -o $@ bltInit.o $(TCL_ONLY_OBJS) \
 ++	$(SHLIB_LD) $(SHLIB_LD_FLAGS) -o $@ bltInitTclOnly.o $(TCL_ONLY_OBJS) \
 + 		$(SHLIB_TCL_ONLY_LIB_SPECS)
 + 
 + install: mkdirs install-lib install-demo
 +@@ -175,7 +175,7 @@
 +         done
 + clean:
 + 	$(RM) $(OBJS) $(lib_so) $(tcl_only_lib_so) $(bltwish) $(bltsh) \
 +-		*pure* .pure* 
 ++		*pure* .pure* bltInit.o bltInitTclOnly.o
 + 
 + distclean: clean
 + 	$(RM) $(srcdir)/*.bak $(srcdir)/*\~ $(srcdir)/"#"* 
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__Makefile.in x11-toolkits/blt/files/patch-src__Makefile.in
 --- /usr/ports/x11-toolkits/blt/files/patch-src__Makefile.in	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__Makefile.in	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,23 @@
 +--- src/Makefile.in.orig
 ++++ src/Makefile.in
 +@@ -181,9 +181,9 @@
 + 
 + $(tcl_only_lib_a):  $(TCL_ONLY_OBJS) $(srcdir)/bltInit.c
 + 	$(CC) -c $(CC_SWITCHES) -DTCL_ONLY -DBLT_LIBRARY=\"$(BLT_LIBRARY)\" \
 +-		$(srcdir)/bltInit.c
 ++		$(srcdir)/bltInit.c -o bltInitTclOnly.o
 + 	$(RM) $@
 +-	$(AR) $@ $(TCL_ONLY_OBJS) bltInit.o
 ++	$(AR) $@ $(TCL_ONLY_OBJS) bltInitTclOnly.o
 + 	$(RANLIB) $@
 + 
 + install: mkdirs install-lib install-demo install-headers
 +@@ -224,7 +224,7 @@
 + 	$(XREF) $(XREFFLAGS) $(DEFINES) $(INCLUDES) $(SRCS)
 + 
 + clean:
 +-	$(RM) $(OBJS) bltInit.o $(lib_a) $(tcl_only_lib_a) \
 ++	$(RM) $(OBJS) bltInit.o bltInitTclOnly.o $(lib_a) $(tcl_only_lib_a) \
 + 		$(bltsh)* $(bltwish)* *pure* .pure*
 + 	(cd shared; $(MAKE) clean) 
 + 
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__blt.h x11-toolkits/blt/files/patch-src__blt.h
 --- /usr/ports/x11-toolkits/blt/files/patch-src__blt.h	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__blt.h	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,14 @@
 +--- src/blt.h.orig
 ++++ src/blt.h
 +@@ -55,9 +55,9 @@
 + 
 + typedef char *Blt_Uid;
 + 
 +-EXTERN Blt_Uid Blt_GetUid _ANSI_ARGS_((char *string));
 ++EXTERN Blt_Uid Blt_GetUid _ANSI_ARGS_((const char *string));
 + EXTERN void Blt_FreeUid _ANSI_ARGS_((Blt_Uid uid));
 +-EXTERN Blt_Uid Blt_FindUid _ANSI_ARGS_((char *string));
 ++EXTERN Blt_Uid Blt_FindUid _ANSI_ARGS_((const char *string));
 + 
 + #if (TCL_MAJOR_VERSION >= 8)
 + EXTERN int Blt_GetArrayFromObj _ANSI_ARGS_((Tcl_Interp *interp, 
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltBgexec.c x11-toolkits/blt/files/patch-src__bltBgexec.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltBgexec.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltBgexec.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,74 @@
 +--- src/bltBgexec.c.orig
 ++++ src/bltBgexec.c
 +@@ -55,7 +55,7 @@
 +     HANDLE hProcess;
 + } Process;
 + #else
 +-typedef int Process;
 ++typedef pid_t Process;
 + #endif
 + 
 + #if (TCL_VERSION_NUMBER <  _VERSION(8,1,0)) 
 +@@ -124,7 +124,7 @@
 + 
 + typedef struct {
 +     int number;
 +-    char *name;
 ++    const char *name;
 + } SignalId;
 + 
 + static SignalId signalIds[] =
 +@@ -645,7 +645,7 @@
 +     sinkPtr->name = name;
 +     sinkPtr->echo = FALSE;
 +     sinkPtr->fd = -1;
 +-    sinkPtr->file = (Tcl_File)NULL;
 ++    sinkPtr->file = 0;
 +     sinkPtr->byteArr = sinkPtr->staticSpace;
 +     sinkPtr->size = DEF_BUFFER_SIZE;
 +     sinkPtr->encoding = encoding;
 +@@ -703,7 +703,7 @@
 + 	Blt_Free(sinkPtr->byteArr);
 +     }
 +     sinkPtr->fd = -1;
 +-    sinkPtr->file = (Tcl_File)NULL;
 ++    sinkPtr->file = 0;
 + #if (TCL_MAJOR_VERSION >= 8)
 +     if (sinkPtr->objv != NULL) {
 + 	register int i;
 +@@ -855,7 +855,7 @@
 + #else
 + 	Tcl_DeleteFileHandler(sinkPtr->fd);
 + #endif
 +-	sinkPtr->file = (Tcl_File)NULL;
 ++	sinkPtr->file = 0;
 + 	sinkPtr->fd = -1;
 + 
 + #if WINDEBUG
 +@@ -1072,7 +1072,7 @@
 + #endif
 +     timeout = (flags & WNOHANG) ? 0 : INFINITE;
 +     status = WaitForSingleObject(child.hProcess, timeout);
 +-				 
 ++
 + #if WINDEBUG
 +     PurifyPrintf("WAITPID: wait status is %d\n", status);
 + #endif
 +@@ -1309,7 +1309,7 @@
 +     if ((sinkPtr->mark > sinkPtr->lastMark) && 
 + 	(sinkPtr->flags & SINK_NOTIFY)) {
 + 	unsigned char *data;
 +-	int length;
 ++	int length = 0;
 + 
 + 	if (sinkPtr->flags & SINK_BUFFERED) {
 + 	    /* For line-by-line updates, call NotifyOnUpdate for each
 +@@ -1471,7 +1471,7 @@
 + #if (TCL_MAJOR_VERSION == 7)
 + 	    Tcl_DetachPids(1, &bgPtr->procArr[i]);
 + #else
 +-	    Tcl_DetachPids(1, (Tcl_Pid *)bgPtr->procArr[i]);
 ++	    Tcl_DetachPids(1, (Tcl_Pid *)(intptr_t)bgPtr->procArr[i]);
 + #endif /* TCL_MAJOR_VERSION == 7 */
 + #endif /* WIN32 */
 + 	}
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltCanvEps.c x11-toolkits/blt/files/patch-src__bltCanvEps.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltCanvEps.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltCanvEps.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,117 @@
 +--- src/bltCanvEps.c.orig
 ++++ src/bltCanvEps.c
 +@@ -323,16 +323,16 @@
 + static void ImageChangedProc _ANSI_ARGS_((ClientData clientData, int x, int y,
 + 	int width, int height, int imgWidth, int imgHeight));
 + static int EpsCoords _ANSI_ARGS_((Tcl_Interp *interp, Tk_Canvas canvas,
 +-	Tk_Item * itemPtr, int argc, char **argv));
 ++	Tk_Item * itemPtr, int argc, Tcl_Obj * const objv[]));
 + static int EpsToArea _ANSI_ARGS_((Tk_Canvas canvas, Tk_Item * itemPtr,
 + 	double *rectPtr));
 + static double EpsToPoint _ANSI_ARGS_((Tk_Canvas canvas, Tk_Item * itemPtr,
 + 	double *coordPtr));
 + static void ComputeEpsBbox _ANSI_ARGS_((Tk_Canvas canvas, EpsItem *imgPtr));
 + static int ConfigureEps _ANSI_ARGS_((Tcl_Interp *interp, Tk_Canvas canvas,
 +-	Tk_Item * itemPtr, int argc, char **argv, int flags));
 ++	Tk_Item * itemPtr, int argc, Tcl_Obj * const objv[], int flags));
 + static int CreateEps _ANSI_ARGS_((Tcl_Interp *interp, Tk_Canvas canvas,
 +-	struct Tk_Item * itemPtr, int argc, char **argv));
 ++	struct Tk_Item * itemPtr, int argc, Tcl_Obj * const objv[]));
 + static void DeleteEps _ANSI_ARGS_((Tk_Canvas canvas, Tk_Item * itemPtr,
 + 	Display *display));
 + static void DisplayEps _ANSI_ARGS_((Tk_Canvas canvas, Tk_Item * itemPtr,
 +@@ -915,13 +915,13 @@
 +  *----------------------------------------------------------------------
 +  */
 + static int
 +-CreateEps(interp, canvas, itemPtr, argc, argv)
 ++CreateEps(interp, canvas, itemPtr, argc, objv)
 +     Tcl_Interp *interp;		/* Interpreter for error reporting. */
 +     Tk_Canvas canvas;		/* Canvas to hold new item. */
 +     Tk_Item *itemPtr;		/* Record to hold new item;  header
 + 					 * has been initialized by caller. */
 +     int argc;			/* Number of arguments in argv. */
 +-    char **argv;		/* Arguments describing rectangle. */
 ++    Tcl_Obj * const objv[];		/* Arguments describing rectangle. */
 + {
 +     EpsItem *epsPtr = (EpsItem *)itemPtr;
 +     Tk_Window tkwin;
 +@@ -971,12 +971,11 @@
 +     /*
 +      * Process the arguments to fill in the item record.
 +      */
 +-
 +-    if ((Tk_CanvasGetCoord(interp, canvas, argv[0], &(epsPtr->x)) != TCL_OK) ||
 +-	(Tk_CanvasGetCoord(interp, canvas, argv[1], &(epsPtr->y)) != TCL_OK)) {
 ++    if ((Tk_CanvasGetCoord(interp, canvas, Tcl_GetString(objv[0]), &(epsPtr->x)) != TCL_OK) ||
 ++	(Tk_CanvasGetCoord(interp, canvas, Tcl_GetString(objv[1]), &(epsPtr->y)) != TCL_OK)) {
 + 	return TCL_ERROR;
 +     }
 +-    if (ConfigureEps(interp, canvas, itemPtr, argc - 2, argv + 2, 0)
 ++    if (ConfigureEps(interp, canvas, itemPtr, argc - 2, objv + 2, 0)
 + 	!= TCL_OK) {
 + 	DeleteEps(canvas, itemPtr, Tk_Display(tkwin));
 + 	return TCL_ERROR;
 +@@ -1038,12 +1037,12 @@
 +  *----------------------------------------------------------------------
 +  */
 + static int
 +-ConfigureEps(interp, canvas, itemPtr, argc, argv, flags)
 ++ConfigureEps(interp, canvas, itemPtr, argc, objv, flags)
 +     Tcl_Interp *interp;		/* Used for error reporting. */
 +     Tk_Canvas canvas;		/* Canvas containing itemPtr. */
 +     Tk_Item *itemPtr;		/* EPS item to reconfigure. */
 +     int argc;			/* Number of elements in argv.  */
 +-    char **argv;		/* Arguments describing things to configure. */
 ++    Tcl_Obj * const objv[];	/* Arguments describing things to configure. */
 +     int flags;			/* Flags to pass to Tk_ConfigureWidget. */
 + {
 +     EpsItem *epsPtr = (EpsItem *)itemPtr;
 +@@ -1052,6 +1051,11 @@
 +     unsigned long gcMask;
 +     GC newGC;
 +     int width, height;
 ++    char *argv[argc];
 ++    int i;
 ++
 ++    for (i = 0; i < argc; i++)
 ++	argv[i] = Tcl_GetString(objv[i]);
 + 
 +     tkwin = Tk_CanvasTkwin(canvas);
 +     if (Tk_ConfigureWidget(interp, tkwin, configSpecs, argc,
 +@@ -1192,14 +1196,14 @@
 +  *----------------------------------------------------------------------
 +  */
 + static int
 +-EpsCoords(interp, canvas, itemPtr, argc, argv)
 ++EpsCoords(interp, canvas, itemPtr, argc, objv)
 +     Tcl_Interp *interp;		/* Used for error reporting. */
 +     Tk_Canvas canvas;		/* Canvas containing item. */
 +     Tk_Item *itemPtr;		/* Item whose coordinates are to be
 + 					 * read or modified. */
 +     int argc;			/* Number of coordinates supplied in
 + 					 * argv. */
 +-    char **argv;		/* Array of coordinates: x1, y1,
 ++    Tcl_Obj * const objv[];	/* Array of coordinates: x1, y1,
 + 					 * x2, y2, ... */
 + {
 +     EpsItem *epsPtr = (EpsItem *)itemPtr;
 +@@ -1212,8 +1216,8 @@
 +     if (argc == 2) {
 + 	double x, y;		/* Don't overwrite old coordinates on errors */
 + 
 +-	if ((Tk_CanvasGetCoord(interp, canvas, argv[0], &x) != TCL_OK) ||
 +-	    (Tk_CanvasGetCoord(interp, canvas, argv[1], &y) != TCL_OK)) {
 ++	if ((Tk_CanvasGetCoord(interp, canvas, Tcl_GetString(objv[0]), &x) != TCL_OK) ||
 ++	    (Tk_CanvasGetCoord(interp, canvas, Tcl_GetString(objv[1]), &y) != TCL_OK)) {
 + 	    return TCL_ERROR;
 + 	}
 + 	epsPtr->x = x;
 +@@ -1713,6 +1717,6 @@
 + {
 +     Tk_CreateItemType(&epsItemType);
 +     /* Initialize custom canvas option routines. */
 +-    tagsOption.parseProc = Tk_CanvasTagsParseProc;
 ++    tagsOption.parseProc = (Tk_OptionParseProc *)Tk_CanvasTagsParseProc;
 +     tagsOption.printProc = Tk_CanvasTagsPrintProc;
 + }
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltColor.c x11-toolkits/blt/files/patch-src__bltColor.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltColor.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltColor.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,262 @@
 +--- src/bltColor.c.orig
 ++++ src/bltColor.c
 +@@ -77,59 +77,6 @@
 + 
 + #define NCOLORS		256
 + 
 +-
 +-static void
 +-GetPaletteSizes(nColors, nRedsPtr, nGreensPtr, nBluesPtr)
 +-    int nColors;		/* Number of colors requested. */
 +-    unsigned int *nRedsPtr;	/* (out) Number of red components. */
 +-    unsigned int *nGreensPtr;	/* (out) Number of green components. */
 +-    unsigned int *nBluesPtr;	/* (out) Number of blue components. */
 +-{
 +-    unsigned int nBlues, nReds, nGreens;
 +-
 +-    assert(nColors > 1); 
 +-    nBlues = nReds = nGreens = 0;
 +-    while ((nBlues * nBlues * nBlues) <= nColors) {
 +-	nBlues++;
 +-    }
 +-    nBlues--;
 +-    while ((nReds * nReds * nBlues) <= nColors) {
 +-	nReds++;
 +-    }
 +-    nReds--;
 +-    nGreens = nColors / (nBlues * nReds);
 +-
 +-    *nRedsPtr = nReds;
 +-    *nGreensPtr = nGreens;
 +-    *nBluesPtr = nBlues;
 +-}
 +-
 +-static void
 +-BuildColorRamp(palettePtr, nColors)
 +-    Pix32 *palettePtr;
 +-    int nColors;
 +-{
 +-    register unsigned int r, g, b;
 +-    unsigned int short red, green, blue;
 +-    unsigned int nReds, nGreens, nBlues;
 +-
 +-    GetPaletteSizes(nColors, &nReds, &nGreens, &nBlues);
 +-    for (r = 0; r < nReds; r++) {
 +-	red = (r * USHRT_MAX) / (nReds - 1);
 +-	for (g = 0; g < nGreens; g++) {
 +-	    green = (g * USHRT_MAX) / (nGreens - 1);
 +-	    for (b = 0; b < nBlues; b++) {
 +-		blue = (b * USHRT_MAX) / (nBlues - 1);
 +-		palettePtr->Red = red;
 +-		palettePtr->Green = green;
 +-		palettePtr->Blue = blue;
 +-		palettePtr++;
 +-	    }
 +-	}
 +-    }
 +-
 +-}
 +-
 + /*
 +  *----------------------------------------------------------------------
 +  *
 +@@ -200,149 +147,6 @@
 +     return numAvail;
 + }
 + 
 +-static void
 +-FindClosestColor(colorPtr, mapColors, numMapColors)
 +-    ColorInfo *colorPtr;
 +-    XColor mapColors[];
 +-    int numMapColors;
 +-{
 +-    double r, g, b;
 +-    register int i;
 +-    double dist, min;
 +-    XColor *lastMatch;
 +-    register XColor *mapColorPtr;
 +-
 +-    min = DBL_MAX;	/* Any color is closer. */
 +-    lastMatch = NULL;
 +-
 +-    /* Linear search of color */
 +-
 +-    mapColorPtr = mapColors;
 +-    for (i = 0; i < numMapColors; i++, mapColorPtr++) {
 +-	r = (double)mapColorPtr->red - (double)colorPtr->exact.red;
 +-	g = (double)mapColorPtr->green - (double)colorPtr->exact.green;
 +-	b = (double)mapColorPtr->blue - (double)colorPtr->exact.blue;
 +-
 +-	dist = (r * r) + (b * b) + (g * g);
 +-	if (dist < min) {
 +-	    min = dist;
 +-	    lastMatch = mapColorPtr;
 +-	}
 +-    }
 +-    colorPtr->best = *lastMatch;
 +-    colorPtr->best.flags = (DoRed | DoGreen | DoBlue);
 +-    colorPtr->error = (float)sqrt(min);
 +-}
 +-
 +-static int
 +-CompareColors(a, b)
 +-    void *a, *b;
 +-{
 +-    ColorInfo *i1Ptr, *i2Ptr;
 +-
 +-    i1Ptr = *(ColorInfo **) a;
 +-    i2Ptr = *(ColorInfo **) b;
 +-    if (i2Ptr->error > i1Ptr->error) {
 +-	return 1;
 +-    } else if (i2Ptr->error < i1Ptr->error) {
 +-	return -1;
 +-    }
 +-    return 0;
 +-}
 +-
 +-static float
 +-MatchColors(colorTabPtr, rgbPtr, numColors, numAvailColors, numMapColors,
 +-    mapColors)
 +-    struct ColorTableStruct *colorTabPtr;
 +-    Pix32 *rgbPtr;
 +-    int numColors;
 +-    int numAvailColors;
 +-    int numMapColors;
 +-    XColor mapColors[NCOLORS];
 +-{
 +-    int numMatched;
 +-    float sum;
 +-    register int i;
 +-    register ColorInfo *colorPtr;
 +-
 +-    /*
 +-     * For each quantized color, compute and store the error (i.e
 +-     * the distance from a color that's already been allocated).
 +-     * We'll use this information to sort the colors based upon how
 +-     * badly they match and their frequency to the color image.
 +-     */
 +-    colorPtr = colorTabPtr->colorInfo;
 +-    for (i = 0; i < numColors; i++, colorPtr++, rgbPtr++) {
 +-	colorPtr->index = i;
 +-	colorTabPtr->sortedColors[i] = colorPtr;
 +-	colorPtr->exact.red = rgbPtr->Red;
 +-	colorPtr->exact.green = rgbPtr->Green;
 +-	colorPtr->exact.blue = rgbPtr->Blue;
 +-	colorPtr->exact.flags = (DoRed | DoGreen | DoBlue);
 +-	FindClosestColor(colorPtr, mapColors, numMapColors);
 +-    }
 +-
 +-    /* Sort the colors, first by frequency (most to least), then by
 +-     * matching error (worst to best).
 +-     */
 +-    qsort(colorTabPtr->sortedColors, numColors, sizeof(ColorInfo *),
 +-	(QSortCompareProc *)CompareColors);
 +-
 +-    for (i = 0; i < numColors; i++) {
 +-	colorPtr = colorTabPtr->sortedColors[i];
 +-	fprintf(stderr, "%d. %04x%04x%04x / %04x%04x%04x = %f (%d)\n", i,
 +-	    colorPtr->exact.red, colorPtr->exact.green, colorPtr->exact.blue,
 +-	    colorPtr->best.red, colorPtr->best.green, colorPtr->best.blue,
 +-	    colorPtr->error, colorPtr->freq);
 +-    }
 +-    sum = 0.0;
 +-    numMatched = 0;
 +-    for (i = numAvailColors; i < numColors; i++) {
 +-	colorPtr = colorTabPtr->sortedColors[i];
 +-	sum += colorPtr->error;
 +-	numMatched++;
 +-    }
 +-    if (numMatched > 0) {
 +-	sum /= numMatched;
 +-    }
 +-    return sum;
 +-}
 +-
 +-    
 +-static int
 +-AllocateColors(nImageColors, colorTabPtr, matchOnly)
 +-    int nImageColors;
 +-    struct ColorTableStruct *colorTabPtr;
 +-    int matchOnly;
 +-{
 +-    register int i;
 +-    register ColorInfo *colorPtr;
 +-    unsigned long int pixelValue;
 +-
 +-    for (i = 0; i < nImageColors; i++) {
 +-	colorPtr = colorTabPtr->sortedColors[i];
 +-	if (matchOnly) {
 +-	    XAllocColor(colorTabPtr->display, colorTabPtr->colorMap,
 +-		&colorPtr->best);
 +-	    pixelValue = colorPtr->best.pixel;
 +-	} else {
 +-	    colorPtr->allocated = XAllocColor(colorTabPtr->display,
 +-		colorTabPtr->colorMap, &colorPtr->exact);
 +-
 +-	    if (colorPtr->allocated) {
 +-		pixelValue = colorPtr->exact.pixel;
 +-	    } else {
 +-		XAllocColor(colorTabPtr->display, colorTabPtr->colorMap,
 +-		    &colorPtr->best);
 +-		pixelValue = colorPtr->best.pixel;
 +-	    }
 +-	}
 +-	colorTabPtr->pixelValues[colorPtr->index] = pixelValue;
 +-    }
 +-    colorTabPtr->nPixels = nImageColors;
 +-    return 1;
 +-}
 +-
 + ColorTable
 + Blt_CreateColorTable(tkwin)
 +     Tk_Window tkwin;
 +@@ -510,49 +314,9 @@
 +     return colorTabPtr;
 + }
 + 
 +-/*
 +- * First attempt:
 +- *	Allocate colors all the colors in the image (up to NCOLORS). Bail out
 +- *	on the first failure or if we need more than NCOLORS.
 +- */
 +-static int
 +-GetUniqueColors(image)
 +-    Blt_ColorImage image;
 +-{
 +-    register int i, nColors;
 +-    register Pix32 *pixelPtr;
 +-    Pix32 color;
 +-    Blt_HashEntry *hPtr;
 +-    int isNew, nPixels;
 +-    int refCount;
 +-    Blt_HashTable colorTable;
 +-
 +-    Blt_InitHashTable(&colorTable, BLT_ONE_WORD_KEYS);
 +-
 +-    nPixels = Blt_ColorImageWidth(image) * Blt_ColorImageHeight(image);
 +-    nColors = 0;
 +-    pixelPtr = Blt_ColorImageBits(image);
 +-    for (i = 0; i < nPixels; i++, pixelPtr++) {
 +-	color.value = pixelPtr->value;
 +-	color.Alpha = 0xFF;	/* Ignore alpha-channel values */
 +-	hPtr = Blt_CreateHashEntry(&colorTable, (char *)color.value, &isNew);
 +-	if (isNew) {
 +-	    refCount = 1;
 +-	    nColors++;
 +-	} else {
 +-	    refCount = (int)Blt_GetHashValue(hPtr);
 +-	    refCount++;
 +-	}
 +-	Blt_SetHashValue(hPtr, (ClientData)refCount);
 +-    }
 +-    Blt_DeleteHashTable(&colorTable);
 +-    return nColors;
 +-}
 +-
 + #define Blt_DefaultColormap(tkwin)  \
 + 	DefaultColormap(Tk_Display(tkwin), Tk_ScreenNumber(tkwin))
 + 
 +-
 + static void
 + PrivateColormap(interp, colorTabPtr, image, tkwin)
 +     Tcl_Interp *interp;
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltConfig.c x11-toolkits/blt/files/patch-src__bltConfig.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltConfig.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltConfig.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,38 @@
 +--- src/bltConfig.c.orig
 ++++ src/bltConfig.c
 +@@ -275,7 +275,7 @@
 +     char *widgRec;		/* Cubicle structure record */
 +     int offset;			/* Offset of style in record */
 + {
 +-    unsigned int mask = (unsigned int)clientData;	/* Bit to be tested */
 ++    unsigned int mask = (uintptr_t)clientData;	/* Bit to be tested */
 +     int *flagPtr = (int *)(widgRec + offset);
 +     int bool;
 + 
 +@@ -311,7 +311,7 @@
 +     int offset;			/* Offset of fill in widget record */
 +     Tcl_FreeProc **freeProcPtr;	/* Not Used. */
 + {
 +-    unsigned int mask = (unsigned int)clientData;	/* Bit to be tested */
 ++    unsigned int mask = (uintptr_t)clientData;	/* Bit to be tested */
 +     unsigned int bool = *(unsigned int *)(widgRec + offset);
 + 
 +     return (bool & mask) ? "1" : "0";
 +@@ -392,7 +392,7 @@
 +     int offset;			/* Offset of pixel size in record */
 + {
 +     int *valuePtr = (int *)(widgRec + offset);
 +-    return Blt_GetPixels(interp, tkwin, string, (int)clientData, valuePtr);
 ++    return Blt_GetPixels(interp, tkwin, string, (intptr_t)clientData, valuePtr);
 + }
 + 
 + /*
 +@@ -481,7 +481,7 @@
 +     int offset;			/* Offset of pixel size in record */
 + {
 +     int *valuePtr = (int *)(widgRec + offset);
 +-    return Blt_GetInt(interp, string, (int)clientData, valuePtr);
 ++    return Blt_GetInt(interp, string, (intptr_t)clientData, valuePtr);
 + }
 + 
 + /*
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltContainer.c x11-toolkits/blt/files/patch-src__bltContainer.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltContainer.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltContainer.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,11 @@
 +--- src/bltContainer.c.orig
 ++++ src/bltContainer.c
 +@@ -822,7 +822,7 @@
 +     char *widgRec;		/* Widget record */
 +     int offset;			/* Offset to field in structure */
 + {
 +-    unsigned int flags = (int)clientData;
 ++    unsigned int flags = (uintptr_t)clientData;
 +     Container *cntrPtr = (Container *)widgRec;
 +     Window *winPtr = (Window *) (widgRec + offset);
 +     Tk_Window tkAdopted;
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltGrAxis.c x11-toolkits/blt/files/patch-src__bltGrAxis.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltGrAxis.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltGrAxis.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,50 @@
 +--- src/bltGrAxis.c.oirg
 ++++ src/bltGrAxis.c
 +@@ -669,7 +669,7 @@
 +     char *widgRec;		/* Pointer to structure record. */
 +     int offset;			/* Offset of field in structure. */
 + {
 +-    unsigned int mask = (unsigned int)clientData;
 ++    unsigned int mask = (uintptr_t)clientData;
 +     Axis *axisPtr = (Axis *)widgRec;
 +     Ticks **ticksPtrPtr = (Ticks **) (widgRec + offset);
 +     int nTicks;
 +@@ -1420,7 +1420,7 @@
 +     double min, max;
 + {
 +     double range;
 +-    double tickMin, tickMax;
 ++    double tickMin = 0, tickMax = 0;
 +     double majorStep, minorStep;
 +     int nMajor, nMinor;
 + 
 +@@ -1549,9 +1549,9 @@
 +     Axis *axisPtr;
 +     double min, max;
 + {
 +-    double range, step;
 ++    double range, step = 0;
 +     double tickMin, tickMax;
 +-    double axisMin, axisMax;
 ++    double axisMin = 0, axisMax = 0;
 +     int nTicks;
 + 
 +     nTicks = 0;
 +@@ -3647,7 +3647,7 @@
 +     Blt_Uid classUid;
 +     int margin;
 + 
 +-    margin = (int)argv[-1];
 ++    margin = (intptr_t)argv[-1];
 +     chainPtr = graphPtr->margins[margin].axes;
 +     if (argc == 0) {
 + 	for (linkPtr = Blt_ChainFirstLink(chainPtr); linkPtr!= NULL;
 +@@ -4190,7 +4190,7 @@
 +     if (proc == NULL) {
 + 	return TCL_ERROR;
 +     }
 +-    argv[2] = (char *)margin; /* Hack. Slide a reference to the margin in 
 ++    argv[2] = (char *)(intptr_t)margin; /* Hack. Slide a reference to the margin in 
 + 			       * the argument list. Needed only for UseOp.
 + 			       */
 +     axisPtr = Blt_GetFirstAxis(graphPtr->margins[margin].axes);
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltGrBar.c x11-toolkits/blt/files/patch-src__bltGrBar.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltGrBar.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltGrBar.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,36 @@
 +--- src/bltGrBar.c.orig
 ++++ src/bltGrBar.c
 +@@ -2147,7 +2147,8 @@
 +     Blt_HashEntry *hPtr;
 +     Blt_HashSearch cursor;
 +     Bar *barPtr;
 +-    int isNew, count;
 ++    int isNew;
 ++    intptr_t count;
 +     int nStacks, nSegs;
 +     int nPoints;
 +     FreqKey key;
 +@@ -2197,7 +2198,7 @@
 + 	    if (isNew) {
 + 		count = 1;
 + 	    } else {
 +-		count = (int)Blt_GetHashValue(hPtr);
 ++		count = (intptr_t)Blt_GetHashValue(hPtr);
 + 		if (count == 1) {
 + 		    nStacks++;
 + 		}
 +@@ -2219,12 +2220,12 @@
 + 	infoPtr = graphPtr->freqArr;
 + 	for (hPtr = Blt_FirstHashEntry(&freqTable, &cursor); hPtr != NULL;
 + 	    hPtr = Blt_NextHashEntry(&cursor)) {
 +-	    count = (int)Blt_GetHashValue(hPtr);
 ++	    count = (intptr_t)Blt_GetHashValue(hPtr);
 + 	    keyPtr = (FreqKey *)Blt_GetHashKey(&freqTable, hPtr);
 + 	    if (count > 1) {
 + 		h2Ptr = Blt_CreateHashEntry(&(graphPtr->freqTable),
 + 		    (char *)keyPtr, &isNew);
 +-		count = (int)Blt_GetHashValue(hPtr);
 ++		count = (intptr_t)Blt_GetHashValue(hPtr);
 + 		infoPtr->freq = count;
 + 		infoPtr->axes = keyPtr->axes;
 + 		Blt_SetHashValue(h2Ptr, infoPtr);
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltGrMisc.c x11-toolkits/blt/files/patch-src__bltGrMisc.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltGrMisc.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltGrMisc.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,20 @@
 +--- src/bltGrMisc.c.orig
 ++++ src/bltGrMisc.c
 +@@ -74,7 +74,7 @@
 + Blt_GetXY(interp, tkwin, string, xPtr, yPtr)
 +     Tcl_Interp *interp;
 +     Tk_Window tkwin;
 +-    char *string;
 ++    const char *string;
 +     int *xPtr, *yPtr;
 + {
 +     char *comma;
 +@@ -260,7 +260,7 @@
 + {
 +     ColorPair *pairPtr = (ColorPair *)(widgRec + offset);
 +     ColorPair sample;
 +-    int allowDefault = (int)clientData;
 ++    int allowDefault = (intptr_t)clientData;
 + 
 +     sample.fgColor = sample.bgColor = NULL;
 +     if ((string != NULL) && (*string != '\0')) {
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltHash.h.in x11-toolkits/blt/files/patch-src__bltHash.h.in
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltHash.h.in	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltHash.h.in	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,11 @@
 +--- src/bltHash.h.in.orig
 ++++ src/bltHash.h.in
 +@@ -88,7 +88,7 @@
 +  * Acceptable key types for hash tables:
 +  */
 + #define BLT_STRING_KEYS		0
 +-#define BLT_ONE_WORD_KEYS	((size_t)-1)
 ++#define BLT_ONE_WORD_KEYS	((unsigned int)-1)
 + 
 + /*
 +  * Forward declaration of Blt_HashTable.  Needed by some C++ compilers
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltHierbox.c x11-toolkits/blt/files/patch-src__bltHierbox.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltHierbox.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltHierbox.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,52 @@
 +--- src/bltHierbox.c.orig
 ++++ src/bltHierbox.c
 +@@ -2077,7 +2077,7 @@
 +     /* Generate a unique node serial number. */
 +     do {
 + 	serial = hboxPtr->nextSerial++;
 +-	hPtr = Blt_CreateHashEntry(&(hboxPtr->nodeTable), (char *)serial,
 ++	hPtr = Blt_CreateHashEntry(&(hboxPtr->nodeTable), (char *)(intptr_t)serial,
 + 	    &isNew);
 +     } while (!isNew);
 +     Blt_SetHashValue(hPtr, treePtr);
 +@@ -2364,7 +2364,7 @@
 + static Tree *
 + GetNodeByIndex(hboxPtr, string)
 +     Hierbox *hboxPtr;
 +-    char *string;
 ++    const char *string;
 + {
 +     if (isdigit(UCHAR(string[0]))) {
 + 	int serial;
 +@@ -2372,7 +2372,7 @@
 + 	if (Tcl_GetInt(NULL, string, &serial) == TCL_OK) {
 + 	    Blt_HashEntry *hPtr;
 + 
 +-	    hPtr = Blt_FindHashEntry(&(hboxPtr->nodeTable), (char *)serial);
 ++	    hPtr = Blt_FindHashEntry(&(hboxPtr->nodeTable), (char *)(intptr_t)serial);
 + 	    if (hPtr != NULL) {
 + 		return (Tree *) Blt_GetHashValue(hPtr);
 + 	    }
 +@@ -2402,11 +2402,11 @@
 +     Hierbox *hboxPtr;
 +     Tree *nodePtr;
 + {
 +-    static char string[200];
 ++    static char string[31];
 +     int serial;
 + 
 +     /* Node table keys are integers.  Convert them to strings. */
 +-    serial = (int)Blt_GetHashKey(&(hboxPtr->nodeTable),
 ++    serial = (intptr_t)Blt_GetHashKey(&(hboxPtr->nodeTable),
 + 	nodePtr->entryPtr->hashPtr);
 +     sprintf(string, "%d", serial);
 + 
 +@@ -2457,7 +2457,7 @@
 + static int
 + GetNode(hboxPtr, string, treePtrPtr)
 +     Hierbox *hboxPtr;
 +-    char *string;
 ++    const char *string;
 +     Tree **treePtrPtr;
 + {
 +     Tree *nodePtr;
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltHtext.c x11-toolkits/blt/files/patch-src__bltHtext.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltHtext.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltHtext.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,21 @@
 +--- src/bltHtext.c.orig
 ++++ src/bltHtext.c
 +@@ -3347,7 +3347,7 @@
 +      * The page is always draw at full width and the viewport will clip
 +      * the text.
 +      */
 +-    if ((htPtr->first != oldFirst) || (htPtr->last != oldLast)) {
 ++    if (htPtr->lineArr && ((htPtr->first != oldFirst) || (htPtr->last != oldLast))) {
 + 	int offset;
 + 	int i;
 + 	int first, last;
 +@@ -3376,7 +3376,8 @@
 + 	    }
 + 	}
 +     }
 +-    DrawPage(htPtr, deltaY);
 ++    if (htPtr->lineArr)
 ++	DrawPage(htPtr, deltaY);
 +     SendBogusEvent(tkwin);
 + 
 +     /* Reset flags */
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltImage.c x11-toolkits/blt/files/patch-src__bltImage.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltImage.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltImage.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,58 @@
 +--- src/bltImage.c.orig
 ++++ src/bltImage.c
 +@@ -2418,22 +2418,19 @@
 +     }
 + }
 + 
 +-static unsigned int *
 +-CreateColorLookupTable(s, cubes, nColors)
 ++static void
 ++CreateColorLookupTable(s, cubes, nColors, lut)
 +     ColorImageStatistics *s;
 +     Cube *cubes;
 +     int nColors;
 ++    unsigned int lut[33][33][33];
 + {
 +-    unsigned int *lut;
 +     Pix32 color;
 +     unsigned int red, green, blue;
 +     unsigned int weight;
 +     register Cube *cubePtr;
 +     register int i;
 + 
 +-    lut = Blt_Calloc(sizeof(unsigned int), 33 * 33 * 33);
 +-    assert(lut);
 +-
 +     color.Alpha = (unsigned char)-1;
 +     for (cubePtr = cubes, i = 0; i < nColors; i++, cubePtr++) {
 + 	weight = Volume(cubePtr, s->wt);
 +@@ -2450,7 +2447,6 @@
 + 	color.Blue = blue >> 8;
 + 	Mark(cubePtr, color.value, lut);
 +     }
 +-    return lut;
 + }
 + 
 + static void
 +@@ -2513,7 +2509,7 @@
 +     Cube *cubes;
 +     ColorImageStatistics *statistics;
 +     int nColors;
 +-    unsigned int *lut;
 ++    unsigned int lut[33][33][33];
 + 
 +     /*
 +      * Allocated a structure to hold color statistics.
 +@@ -2527,11 +2523,10 @@
 +     nColors = SplitColorSpace(statistics, cubes, reduceColors);
 +     assert(nColors <= reduceColors);
 + 
 +-    lut = CreateColorLookupTable(statistics, cubes, nColors);
 ++    CreateColorLookupTable(statistics, cubes, nColors, lut);
 +     Blt_Free(statistics);
 +     Blt_Free(cubes);
 +     MapColors(src, dest, lut);
 +-    Blt_Free(lut);
 +     return TCL_OK;
 + }
 + 
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltInit.c x11-toolkits/blt/files/patch-src__bltInit.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltInit.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltInit.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,55 @@
 +--- src/bltInit.c.orig
 ++++ src/bltInit.c
 +@@ -403,9 +403,9 @@
 + Blt_Init(interp)
 +     Tcl_Interp *interp;		/* Interpreter to add extra commands */
 + {
 +-    int flags;
 ++    intptr_t flags;
 + 
 +-    flags = (int)Tcl_GetAssocData(interp, BLT_THREAD_KEY, NULL);
 ++    flags = (intptr_t)Tcl_GetAssocData(interp, BLT_THREAD_KEY, NULL);
 +     if ((flags & BLT_TCL_CMDS) == 0) {
 + 	register Tcl_AppInitProc **p;
 + 	Tcl_Namespace *nsPtr;
 +@@ -415,7 +415,7 @@
 + 	 * Check that the versions of Tcl that have been loaded are
 + 	 * the same ones that BLT was compiled against.
 + 	 */
 +-	if (Tcl_PkgRequire(interp, "Tcl", TCL_VERSION, EXACT) == NULL) {
 ++	if (Tcl_PkgRequire(interp, "Tcl", TCL_PATCH_LEVEL, EXACT) == NULL) {
 + 	    return TCL_ERROR;
 + 	}
 + 	/* Set the "blt_version", "blt_patchLevel", and "blt_libPath" Tcl
 +@@ -462,7 +462,7 @@
 + 	Tcl_Namespace *nsPtr;
 + 
 + #if (TCL_VERSION_NUMBER >= _VERSION(8,1,0)) 
 +-	if (Tcl_PkgPresent(interp, "Tk", TK_VERSION, EXACT) == NULL) {
 ++	if (Tcl_PkgPresent(interp, "Tk", TK_PATCH_LEVEL, EXACT) == NULL) {
 + 	    return TCL_OK;
 + 	} 
 + #else
 +@@ -514,7 +514,7 @@
 + 	 * Check that the versions of Tcl that have been loaded are
 + 	 * the same ones that BLT was compiled against.
 + 	 */
 +-	if (Tcl_PkgRequire(interp, "Tcl", TCL_VERSION, EXACT) == NULL) {
 ++	if (Tcl_PkgRequire(interp, "Tcl", TCL_PATCH_LEVEL, EXACT) == NULL) {
 + 	    return TCL_ERROR;
 + 	}
 + 	/* Set the "blt_version", "blt_patchLevel", and "blt_libPath" Tcl
 +@@ -552,11 +552,11 @@
 + 	register Tcl_AppInitProc **p;
 + 
 + #if (TCL_VERSION_NUMBER >= _VERSION(8,1,0)) 
 +-	if (Tcl_PkgPresent(interp, "Tk", TK_VERSION, EXACT) == NULL) {
 ++	if (Tcl_PkgPresent(interp, "Tk", TK_PATCH_LEVEL, EXACT) == NULL) {
 + 	    return TCL_OK;
 + 	} 
 + #else
 +-	if (Tcl_PkgRequire(interp, "Tk", TK_VERSION, EXACT) == NULL) {
 ++	if (Tcl_PkgRequire(interp, "Tk", TK_PATCH_LEVEL, EXACT) == NULL) {
 + 	    Tcl_ResetResult(interp);
 + 	    return TCL_OK;
 + 	} 
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltInt.h x11-toolkits/blt/files/patch-src__bltInt.h
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltInt.h	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltInt.h	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,11 @@
 +--- src/bltInt.h.orig
 ++++ src/bltInt.h
 +@@ -713,7 +713,7 @@
 + extern char *Blt_NameOfFill _ANSI_ARGS_((int fill));
 + 
 + extern int Blt_GetXY _ANSI_ARGS_((Tcl_Interp *interp, Tk_Window tkwin,
 +-	char *string, int *x, int *y));
 ++	const char *string, int *x, int *y));
 + 
 + extern Point2D Blt_GetProjection _ANSI_ARGS_((int x, int y, Point2D *p, 
 + 	Point2D *q));
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltNsUtil.h x11-toolkits/blt/files/patch-src__bltNsUtil.h
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltNsUtil.h	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltNsUtil.h	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,52 @@
 +--- src/bltNsUtil.h.orig
 ++++ src/bltNsUtil.h
 +@@ -46,9 +46,10 @@
 + #define TCL_NAMESPACE_ONLY TCL_GLOBAL_ONLY
 + #endif
 + 
 +-
 ++#if TCL_MAJOR_VERSION < 8 || TCL_MINOR_VERSION < 5
 + EXTERN Tcl_Command Tcl_FindCommand _ANSI_ARGS_((Tcl_Interp *interp,
 + 	char *name, Tcl_Namespace *nsPtr, int flags));
 ++#endif
 + 
 + #define NS_SEARCH_NONE		(0)
 + #define NS_SEARCH_CURRENT	(1<<0)
 +@@ -63,17 +64,21 @@
 + 
 + EXTERN Tcl_Namespace *Tcl_GetGlobalNamespace _ANSI_ARGS_((Tcl_Interp *interp));
 + 
 +-#if (TCL_MAJOR_VERSION >= 8)
 ++#if TCL_MAJOR_VERSION == 8
 ++#	if TCL_MINOR_VERSION < 5
 + EXTERN Tcl_Namespace *Tcl_CreateNamespace _ANSI_ARGS_((Tcl_Interp *interp,
 +-	char *name, ClientData clientData, Tcl_NamespaceDeleteProc *nsDelProc));
 +-
 +-EXTERN void Tcl_DeleteNamespace _ANSI_ARGS_((Tcl_Namespace *nsPtr));
 ++    const char *name, ClientData clientData,
 ++    Tcl_NamespaceDeleteProc *nsDelProc));
 + 
 + EXTERN Tcl_Namespace *Tcl_FindNamespace _ANSI_ARGS_((Tcl_Interp *interp,
 +-	char *name, Tcl_Namespace *context, int flags));
 ++    const char *name, Tcl_Namespace *context, int flags));
 ++
 ++EXTERN int Tcl_Export _ANSI_ARGS_((Tcl_Interp *interp,
 ++    Tcl_Namespace *nsPtr,
 ++    const char *pattern, int resetFlag));
 ++#	endif
 + 
 +-EXTERN int Tcl_Export _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Namespace *nsPtr,
 +-	char *name, int resetFlag));
 ++EXTERN void Tcl_DeleteNamespace _ANSI_ARGS_((Tcl_Namespace *nsPtr));
 + 
 + EXTERN Tcl_Var Tcl_FindNamespaceVar _ANSI_ARGS_((Tcl_Interp *interp, char *name,
 + 	Tcl_Namespace *contextNsPtr, int flags));
 +@@ -86,7 +91,7 @@
 + extern Tcl_HashTable *Blt_GetArrayVariableTable _ANSI_ARGS_((
 + 	Tcl_Interp *interp, CONST char *varName, int flags));
 + 
 +-#endif /* TCL_MAJOR_VERSION >= 8 */
 ++#endif /* TCL_MAJOR_VERSION == 8 */
 + 
 + 
 + /* 
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltObjConfig.c x11-toolkits/blt/files/patch-src__bltObjConfig.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltObjConfig.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltObjConfig.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,30 @@
 +--- src/bltObjConfig.c.orig
 ++++ src/bltObjConfig.c
 +@@ -1219,13 +1219,13 @@
 + 	case BLT_CONFIG_BITFLAG: 
 + 	    {
 + 		int bool;
 +-		unsigned int flag;
 ++		uintptr_t flag;
 + 
 + 		
 + 		if (Tcl_GetBooleanFromObj(interp, objPtr, &bool) != TCL_OK) {
 + 		    return TCL_ERROR;
 + 		}
 +-		flag = (unsigned int)specPtr->customPtr;
 ++		flag = (uintptr_t)specPtr->customPtr;
 + 		*(int *)ptr &= ~flag;
 + 		if (bool) {
 + 		    *(int *)ptr |= flag;
 +@@ -1498,9 +1498,9 @@
 + 
 +     case BLT_CONFIG_BITFLAG:
 + 	{
 +-	    unsigned int flag;
 ++	    uintptr_t flag;
 + 
 +-	    flag = (*(int *)ptr) & (unsigned int)specPtr->customPtr;
 ++	    flag = (*(int *)ptr) & (uintptr_t)specPtr->customPtr;
 + 	    return Tcl_NewBooleanObj((flag != 0));
 + 	}
 + 
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltPs.c x11-toolkits/blt/files/patch-src__bltPs.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltPs.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltPs.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,49 @@
 +--- src/bltPs.c.orig
 ++++ src/bltPs.c
 +@@ -893,7 +893,7 @@
 + 	return;
 +     }
 +     if ((relief == TK_RELIEF_SOLID) ||
 +-	(borderPtr->lightColor == NULL) || (borderPtr->darkColor == NULL)) {
 ++	(borderPtr->lightColorPtr == NULL) || (borderPtr->darkColorPtr == NULL)) {
 + 	if (relief == TK_RELIEF_SOLID) {
 + 	    darkColor.red = darkColor.blue = darkColor.green = 0x00;
 + 	    lightColor.red = lightColor.blue = lightColor.green = 0x00;
 +@@ -901,7 +901,7 @@
 + 	} else {
 + 	    Screen *screenPtr;
 + 
 +-	    lightColor = *borderPtr->bgColor;
 ++	    lightColor = *borderPtr->bgColorPtr;
 + 	    screenPtr = Tk_Screen(tokenPtr->tkwin);
 + 	    if (lightColor.pixel == WhitePixelOfScreen(screenPtr)) {
 + 		darkColor.red = darkColor.blue = darkColor.green = 0x00;
 +@@ -912,8 +912,8 @@
 + 	lightColorPtr = &lightColor;
 + 	darkColorPtr = &darkColor;
 +     } else {
 +-	lightColorPtr = borderPtr->lightColor;
 +-	darkColorPtr = borderPtr->darkColor;
 ++	lightColorPtr = borderPtr->lightColorPtr;
 ++	darkColorPtr = borderPtr->darkColorPtr;
 +     }
 + 
 + 
 +@@ -942,7 +942,7 @@
 + 	topColor = darkColorPtr;
 + 	bottomColor = lightColorPtr;
 +     } else {
 +-	topColor = bottomColor = borderPtr->bgColor;
 ++	topColor = bottomColor = borderPtr->bgColorPtr;
 +     }
 +     Blt_BackgroundToPostScript(tokenPtr, bottomColor);
 +     Blt_RectangleToPostScript(tokenPtr, x, y + height - borderWidth, width,
 +@@ -982,7 +982,7 @@
 +      * Setting the pen color as foreground or background only affects
 +      * the plot when the colormode option is "monochrome".
 +      */
 +-    Blt_BackgroundToPostScript(tokenPtr, borderPtr->bgColor);
 ++    Blt_BackgroundToPostScript(tokenPtr, borderPtr->bgColorPtr);
 +     Blt_RectangleToPostScript(tokenPtr, x, y, width, height);
 +     Blt_Draw3DRectangleToPostScript(tokenPtr, border, x, y, width, height,
 + 	borderWidth, relief);
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltScrollbar.c x11-toolkits/blt/files/patch-src__bltScrollbar.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltScrollbar.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltScrollbar.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,11 @@
 +--- src/bltScrollbar.c.orig
 ++++ src/bltScrollbar.c
 +@@ -534,7 +534,7 @@
 + 	} else {
 + 	    fraction = ((double)pixels / (double)barWidth);
 + 	}
 +-	sprintf(interp->result, "%g", fraction);
 ++	sprintf(Tcl_GetStringResult(interp), "%g", fraction);
 +     } else if ((c == 'f') && (strncmp(argv[1], "fraction", length) == 0)) {
 + 	int x, y, pos, barWidth;
 + 	double fraction;
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltTable.c x11-toolkits/blt/files/patch-src__bltTable.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltTable.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltTable.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,38 @@
 +--- src/bltTable.c.orig
 ++++ src/bltTable.c
 +@@ -2034,7 +2034,7 @@
 +     key = 0;			/* Initialize key to bogus span */
 +     for (node = Blt_ListFirstNode(list); node != NULL;
 + 	node = Blt_ListNextNode(node)) {
 +-	key = (int)Blt_ListGetKey(node);
 ++	key = (intptr_t)Blt_ListGetKey(node);
 + 	if (entryPtr->row.span <= key) {
 + 	    break;
 + 	}
 +@@ -2046,7 +2046,7 @@
 + 	 * Create a new list (bucket) to hold entries of that size
 + 	 * span and and link it into the list of buckets.
 + 	 */
 +-	newNode = Blt_ListCreateNode(list, (char *)entryPtr->row.span);
 ++	newNode = Blt_ListCreateNode(list, (char *)(intptr_t)entryPtr->row.span);
 + 	Blt_ListSetValue(newNode, (char *)Blt_ChainCreate());
 + 	Blt_ListLinkBefore(list, newNode, node);
 + 	node = newNode;
 +@@ -2063,7 +2063,7 @@
 +     key = 0;
 +     for (node = Blt_ListFirstNode(list); node != NULL;
 + 	node = Blt_ListNextNode(node)) {
 +-	key = (int)Blt_ListGetKey(node);
 ++	key = (intptr_t)Blt_ListGetKey(node);
 + 	if (entryPtr->column.span <= key) {
 + 	    break;
 + 	}
 +@@ -2075,7 +2075,7 @@
 + 	 * Create a new list (bucket) to hold entries of that size
 + 	 * span and and link it into the list of buckets.
 + 	 */
 +-	newNode = Blt_ListCreateNode(list, (char *)entryPtr->column.span);
 ++	newNode = Blt_ListCreateNode(list, (char *)(intptr_t)entryPtr->column.span);
 + 	Blt_ListSetValue(newNode, (char *)Blt_ChainCreate());
 + 	Blt_ListLinkBefore(list, newNode, node);
 + 	node = newNode;
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltTed.c x11-toolkits/blt/files/patch-src__bltTed.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltTed.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltTed.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,196 @@
 +--- src/bltTed.c.orig
 ++++ src/bltTed.c
 +@@ -306,10 +306,8 @@
 + static void DisplayTed _ANSI_ARGS_((ClientData clientData));
 + static void DestroyTed _ANSI_ARGS_((DestroyData destroyData));
 + static void DisplayEntry _ANSI_ARGS_((ClientData clientData));
 +-static void DestroyEntry _ANSI_ARGS_((DestroyData destoryData));
 + 
 + static Tcl_CmdProc TedCmd;
 +-static Tk_EventProc EntryEventProc;
 + static Tk_EventProc TedEventProc;
 + 
 + /*
 +@@ -342,74 +340,6 @@
 + }
 + 
 + /*
 +- *----------------------------------------------------------------------
 +- *
 +- * EventuallyRedraw --
 +- *
 +- *	Queues a request to redraw the text window at the next idle
 +- *	point.
 +- *
 +- * Results:
 +- *	None.
 +- *
 +- * Side effects:
 +- *	Information gets redisplayed.  Right now we don't do selective
 +- *	redisplays:  the whole window will be redrawn.  This doesn't
 +- *	seem to hurt performance noticeably, but if it does then this
 +- *	could be changed.
 +- *
 +- *----------------------------------------------------------------------
 +- */
 +-static void
 +-EventuallyRedrawEntry(repPtr)
 +-    EntryRep *repPtr;		/* Information about editor. */
 +-{
 +-    if ((repPtr->tkwin != NULL) && !(repPtr->flags & REDRAW_PENDING)) {
 +-	repPtr->flags |= REDRAW_PENDING;
 +-	Tcl_DoWhenIdle(DisplayEntry, repPtr);
 +-    }
 +-}
 +-
 +-/*
 +- * --------------------------------------------------------------
 +- *
 +- * EntryEventProc --
 +- *
 +- * 	This procedure is invoked by the Tk dispatcher for various
 +- * 	events on the editing grid for the table.
 +- *
 +- * Results:
 +- *	None.
 +- *
 +- * Side effects:
 +- *	When the window gets deleted, internal structures get
 +- *	cleaned up.  When it gets exposed, it is redisplayed.
 +- *
 +- * --------------------------------------------------------------
 +- */
 +-static void
 +-EntryEventProc(clientData, eventPtr)
 +-    ClientData clientData;	/* Information about window. */
 +-    XEvent *eventPtr;		/* Information about event. */
 +-{
 +-    EntryRep *repPtr = (EntryRep *) clientData;
 +-
 +-    if (eventPtr->type == ConfigureNotify) {
 +-	EventuallyRedrawEntry(repPtr);
 +-    } else if (eventPtr->type == Expose) {
 +-	if (eventPtr->xexpose.count == 0) {
 +-	    EventuallyRedrawEntry(repPtr);
 +-	}
 +-    } else if (eventPtr->type == DestroyNotify) {
 +-	repPtr->tkwin = NULL;
 +-	if (repPtr->flags & REDRAW_PENDING) {
 +-	    Tcl_CancelIdleCall(DisplayEntry, repPtr);
 +-	}
 +-	Tcl_EventuallyFree(repPtr, DestroyEntry);
 +-    }
 +-}
 +-
 +-/*
 +  * --------------------------------------------------------------
 +  *
 +  * TedEventProc --
 +@@ -544,80 +474,6 @@
 + /*
 +  * ----------------------------------------------------------------------------
 +  *
 +- * CreateEntry --
 +- *
 +- * ----------------------------------------------------------------------------
 +- */
 +-static int
 +-CreateEntry(tedPtr, entryPtr)
 +-    Ted *tedPtr;
 +-    Entry *entryPtr;
 +-{
 +-    Tk_Window tkwin, master;
 +-    char string[200];
 +-    EntryRep *repPtr;
 +-    Blt_ChainLink *linkPtr;
 +-
 +-    repPtr = Blt_Calloc(1, sizeof(EntryRep));
 +-    assert(repPtr);
 +-    repPtr->tablePtr = tedPtr->tablePtr;
 +-    repPtr->tedPtr = tedPtr;
 +-    repPtr->interp = tedPtr->interp;
 +-    repPtr->entryPtr = entryPtr;
 +-    repPtr->mapped = 0;
 +-
 +-    /*
 +-     * Create a sibling window to cover the master window. It will
 +-     * be stacked just above the master window.
 +-     */
 +-
 +-    master = tedPtr->tablePtr->tkwin;
 +-    sprintf(string, "bltTed%d", tedPtr->nextWindowId);
 +-    tedPtr->nextWindowId++;
 +-    tkwin = Tk_CreateWindow(tedPtr->interp, master, string, (char *)NULL);
 +-    if (tkwin == NULL) {
 +-	Blt_Free(repPtr);
 +-	return TCL_ERROR;
 +-    }
 +-    Tk_SetClass(tkwin, "BltTed");
 +-    Tk_CreateEventHandler(tkwin, ExposureMask | StructureNotifyMask,
 +-	EntryEventProc, repPtr);
 +-    repPtr->tkwin = tkwin;
 +-    linkPtr = Blt_ChainNewLink();
 +-    Blt_ChainSetValue(linkPtr, repPtr);
 +-    Blt_ChainLinkAfter(tedPtr->chainPtr, linkPtr, (Blt_ChainLink *)NULL);
 +-    return TCL_OK;
 +-}
 +-
 +-/*
 +- * ----------------------------------------------------------------------------
 +- *
 +- * DestroyEntry --
 +- *
 +- * ----------------------------------------------------------------------------
 +- */
 +-static void
 +-DestroyEntry(data)
 +-    DestroyData data;
 +-{
 +-    EntryRep *repPtr = (EntryRep *)data;
 +-    Blt_ChainLink *linkPtr;
 +-    Entry *entryPtr;
 +-
 +-    for (linkPtr = Blt_ChainFirstLink(repPtr->tedPtr->chainPtr);
 +-	linkPtr != NULL; linkPtr = Blt_ChainNextLink(linkPtr)) {
 +-	entryPtr = Blt_ChainGetValue(linkPtr);
 +-	if (entryPtr == repPtr->entryPtr) {
 +-	    Blt_ChainDeleteLink(repPtr->tedPtr->chainPtr, linkPtr);
 +-	    Blt_Free(repPtr);
 +-	    return;
 +-	}
 +-    }
 +-}
 +-
 +-/*
 +- * ----------------------------------------------------------------------------
 +- *
 +  * DisplayEntry --
 +  *
 +  * ----------------------------------------------------------------------------
 +@@ -1504,7 +1360,7 @@
 + 	tablePtr->flags |= ARRANGE_PENDING;
 + 	Tcl_DoWhenIdle(tablePtr->arrangeProc, tablePtr);
 +     }
 +-    interp->result = Tk_PathName(tedPtr->tkwin);
 ++    Tcl_SetResult(interp, (char*)Tk_PathName(tedPtr->tkwin), TCL_VOLATILE);
 +     tedPtr->flags |= LAYOUT_PENDING;
 +     EventuallyRedraw(tedPtr);
 +     return TCL_OK;
 +@@ -1678,7 +1534,7 @@
 + 	    tedPtr->activeRectArr[4].width = grip - 1;
 + 	    tedPtr->activeRectArr[4].height = grip - 1;
 + 
 +-	    interp->result = Tk_PathName(entryPtr->tkwin);
 ++	    Tcl_SetResult(interp, (char*)Tk_PathName(entryPtr->tkwin), TCL_VOLATILE);
 + 	    active = 1;
 + 	    break;
 + 	}
 +@@ -1751,7 +1607,7 @@
 + 	tablePtr->flags |= ARRANGE_PENDING;
 + 	Tcl_DoWhenIdle(tablePtr->arrangeProc, tablePtr);
 +     }
 +-    interp->result = Tk_PathName(tedPtr->tkwin);
 ++    Tcl_SetResult(interp, (char*)Tk_PathName(tedPtr->tkwin), TCL_VOLATILE);
 +     tedPtr->flags |= LAYOUT_PENDING;
 +     EventuallyRedraw(tedPtr);
 +     return TCL_OK;
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltText.c x11-toolkits/blt/files/patch-src__bltText.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltText.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltText.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,29 @@
 +--- src/bltText.c.orig
 ++++ src/bltText.c
 +@@ -48,7 +48,7 @@
 + 
 +     fragPtr = textPtr->fragArr;
 +     for (i = 0; i < textPtr->nFrags; i++, fragPtr++) {
 +-#if HAVE_UTF
 ++#if HAVE_UTF && (TCL_VERSION_NUMBER < _VERSION(8,5,0))
 + 	Tk_DrawChars(display, drawable, gc, font, fragPtr->text,
 + 	    fragPtr->count, x + fragPtr->x, y + fragPtr->y);
 + #else
 +@@ -690,7 +690,7 @@
 + 	    TkBorder *borderPtr = (TkBorder *) tsPtr->border;
 + 	    XColor *color1, *color2;
 + 
 +-	    color1 = borderPtr->lightColor, color2 = borderPtr->darkColor;
 ++	    color1 = borderPtr->lightColorPtr, color2 = borderPtr->darkColorPtr;
 + 	    if (tsPtr->state & STATE_EMPHASIS) {
 + 		XColor *hold;
 + 
 +@@ -754,7 +754,7 @@
 + 	TkBorder *borderPtr = (TkBorder *) tsPtr->border;
 + 	XColor *color1, *color2;
 + 
 +-	color1 = borderPtr->lightColor, color2 = borderPtr->darkColor;
 ++	color1 = borderPtr->lightColorPtr, color2 = borderPtr->darkColorPtr;
 + 	if (tsPtr->state & STATE_EMPHASIS) {
 + 	    XColor *hold;
 + 
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltTkInt.h x11-toolkits/blt/files/patch-src__bltTkInt.h
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltTkInt.h	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltTkInt.h	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,220 @@
 +--- src/bltTkInt.h.orig
 ++++ src/bltTkInt.h
 +@@ -27,214 +27,8 @@
 + #ifndef _BLT_TKINT_H
 + #define _BLT_TKINT_H
 + 
 +-typedef struct {
 +-    Tk_Uid family;		/* Font family. The most important field. */
 +-    int pointsize;		/* Pointsize of font, 0 for default size, or
 +-				 * negative number meaning pixel size. */
 +-    int weight;			/* Weight flag; see below for def'n. */
 +-    int slant;			/* Slant flag; see below for def'n. */
 +-    int underline;		/* Non-zero for underline font. */
 +-    int overstrike;		/* Non-zero for overstrike font. */
 +-} TkFontAttributes;
 +-
 +-typedef struct {
 +-    int ascent;			/* From baseline to top of font. */
 +-    int descent;		/* From baseline to bottom of font. */
 +-    int maxWidth;		/* Width of widest character in font. */
 +-    int fixed;			/* Non-zero if this is a fixed-width font,
 +-				 * 0 otherwise. */
 +-} TkFontMetrics;
 +-
 +-
 +-typedef struct TkFontStruct {
 +-    /*
 +-     * Fields used and maintained exclusively by generic code.
 +-     */
 +-#if (TK_VERSION_NUMBER >= _VERSION(8,1,0))
 +-    int resourceRefCount;	/* Number of active uses of this font (each
 +-				 * active use corresponds to a call to
 +-				 * Tk_AllocFontFromTable or Tk_GetFont).
 +-				 * If this count is 0, then this TkFont
 +-				 * structure is no longer valid and it isn't
 +-				 * present in a hash table: it is being
 +-				 * kept around only because there are objects
 +-				 * referring to it.  The structure is freed
 +-				 * when resourceRefCount and objRefCount
 +-				 * are both 0. */
 +-    int objRefCount;		/* The number of Tcl objects that reference
 +-				 * this structure. */
 +-#else
 +-    int refCount;		/* Number of users of the TkFont. */
 +-#endif
 +-    Tcl_HashEntry *cacheHashPtr;/* Entry in font cache for this structure,
 +-				 * used when deleting it. */
 +-    Tcl_HashEntry *namedHashPtr;/* Pointer to hash table entry that
 +-				 * corresponds to the named font that the
 +-				 * tkfont was based on, or NULL if the tkfont
 +-				 * was not based on a named font. */
 +-#if (TK_VERSION_NUMBER >= _VERSION(8,1,0))
 +-    Screen *screen;		/* The screen where this font is valid. */
 +-#endif /* TK_VERSION_NUMBER >= 8.1.0 */
 +-    int tabWidth;		/* Width of tabs in this font (pixels). */
 +-    int underlinePos;		/* Offset from baseline to origin of
 +-				 * underline bar (used for drawing underlines
 +-				 * on a non-underlined font). */
 +-    int underlineHeight;	/* Height of underline bar (used for drawing
 +-				 * underlines on a non-underlined font). */
 +-
 +-    /*
 +-     * Fields in the generic font structure that are filled in by
 +-     * platform-specific code.
 +-     */
 +-
 +-    Font fid;			/* For backwards compatibility with XGCValues
 +-				 * structures.  Remove when TkGCValues is
 +-				 * implemented.  */
 +-    TkFontAttributes fa;	/* Actual font attributes obtained when the
 +-				 * the font was created, as opposed to the
 +-				 * desired attributes passed in to
 +-				 * TkpGetFontFromAttributes().  The desired
 +-				 * metrics can be determined from the string
 +-				 * that was used to create this font. */
 +-    TkFontMetrics fm;		/* Font metrics determined when font was
 +-				 * created. */
 +-#if (TK_VERSION_NUMBER >= _VERSION(8,1,0))
 +-    struct TkFontStruct *nextPtr;	/* Points to the next TkFont structure with
 +-				 * the same name.  All fonts with the
 +-				 * same name (but different displays) are
 +-				 * chained together off a single entry in
 +-				 * a hash table. */
 +-#endif /* TK_VERSION_NUMBER >= 8.1.0 */
 +-} TkFont;
 +-
 +-/*
 +- * This structure is used by the Mac and Window porting layers as
 +- * the internal representation of a clip_mask in a GC.
 +- */
 +-typedef struct TkRegionStruct *TkRegion;
 +-
 +-typedef struct {
 +-    int type;			/* One of TKP_CLIP_PIXMAP or TKP_CLIP_REGION */
 +-    union {
 +-	Pixmap pixmap;
 +-	TkRegion region;
 +-    } value;
 +-} TkpClipMask;
 +-
 +-#define TKP_CLIP_PIXMAP 0
 +-#define TKP_CLIP_REGION 1
 +-
 +-#ifdef WIN32
 +-/*
 +- * The TkWinDrawable is the internal implementation of an X Drawable (either
 +- * a Window or a Pixmap).  The following constants define the valid Drawable
 +- * types.
 +- */
 +-
 +-#define TWD_BITMAP	1
 +-#define TWD_WINDOW	2
 +-#define TWD_WINDC	3
 +-
 +-typedef struct TkWindowStruct TkWindow;
 +-
 +-typedef struct {
 +-    int type;
 +-    HWND handle;
 +-    TkWindow *winPtr;
 +-} TkWinWindow;
 +-
 +-typedef struct {
 +-    int type;
 +-    HBITMAP handle;
 +-    Colormap colormap;
 +-    int depth;
 +-} TkWinBitmap;
 +-
 +-typedef struct {
 +-    int type;
 +-    HDC hdc;
 +-} TkWinDC;
 +-
 +-typedef union {
 +-    int type;
 +-    TkWinWindow window;
 +-    TkWinBitmap bitmap;
 +-    TkWinDC winDC;
 +-} TkWinDrawable;
 +-
 +-/*
 +- * The TkWinDCState is used to save the state of a device context
 +- * so that it can be restored later.
 +- */
 +-
 +-typedef struct {
 +-    HPALETTE palette;
 +-    int bkmode;			/* This field was added in Tk
 +-				 * 8.3.1. Be careful that you don't 
 +-				 * use this structure in a context
 +-				 * where its size is important.  */
 +-} TkWinDCState;
 +-
 +-extern HDC TkWinGetDrawableDC(Display *display, Drawable drawable,
 +-    TkWinDCState * state);
 +-extern HDC TkWinReleaseDrawableDC(Drawable drawable, HDC dc,
 +-    TkWinDCState * state);
 +-
 +-extern HWND Tk_GetHWND _ANSI_ARGS_((Window window));
 +-
 +-extern HINSTANCE Tk_GetHINSTANCE _ANSI_ARGS_((void));
 +-
 +-extern Window Tk_AttachHWND _ANSI_ARGS_((Tk_Window tkwin, HWND hWnd));
 +-
 +-#endif /* WIN32 */
 +-
 +-/*
 +- * The Border structure used internally by the Tk_3D* routines.
 +- * The following is a copy of it from tk3d.c.
 +- */
 +-
 +-typedef struct TkBorderStruct {
 +-    Screen *screen;		/* Screen on which the border will be used. */
 +-    Visual *visual;		/* Visual for all windows and pixmaps using
 +-				 * the border. */
 +-    int depth;			/* Number of bits per pixel of drawables where
 +-				 * the border will be used. */
 +-    Colormap colormap;		/* Colormap out of which pixels are
 +-				 * allocated. */
 +-    int refCount;		/* Number of different users of
 +-				 * this border.  */
 +-#if (TK_VERSION_NUMBER >= _VERSION(8,1,0))
 +-    int objRefCount;		/* The number of Tcl objects that reference
 +-				 * this structure. */
 +-#endif /* TK_VERSION_NUMBER >= 8.1.0 */
 +-    XColor *bgColor;		/* Background color (intensity between 
 +-				 * lightColorPtr and darkColorPtr). */
 +-    XColor *darkColor;		/* Color for darker areas (must free when
 +-				 * deleting structure). NULL means shadows
 +-				 * haven't been allocated yet.*/
 +-    XColor *lightColor;		/* Color used for lighter areas of border
 +-				 * (must free this when deleting structure).
 +-				 * NULL means shadows haven't been allocated
 +-				 * yet. */
 +-    Pixmap shadow;		/* Stipple pattern to use for drawing
 +-				 * shadows areas.  Used for displays with
 +-				 * <= 64 colors or where colormap has filled
 +-				 * up. */
 +-    GC bgGC;			/* Used (if necessary) to draw areas in
 +-				 * the background color. */
 +-    GC darkGC;			/* Used to draw darker parts of the
 +-				 * border. None means the shadow colors
 +-				 * haven't been allocated yet.*/
 +-    GC lightGC;			/* Used to draw lighter parts of
 +-				 * the border. None means the shadow colors
 +-				 * haven't been allocated yet. */
 +-    Tcl_HashEntry *hashPtr;	/* Entry in borderTable (needed in
 +-				 * order to delete structure). */
 +-    struct TkBorderStruct *nextPtr; /* Points to the next TkBorder structure with
 +-				 * the same color name.  Borders with the
 +-				 * same name but different screens or
 +-				 * colormaps are chained together off a
 +-				 * single entry in borderTable. */
 +-} TkBorder;
 ++#include <tkInt.h>
 ++#include <tk3d.h>
 ++#include <tkFont.h>
 + 
 + #endif /* BLT_TKINT_H */
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltTree.c x11-toolkits/blt/files/patch-src__bltTree.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltTree.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltTree.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,60 @@
 +--- src/bltTree.c.orig
 ++++ src/bltTree.c
 +@@ -96,16 +96,16 @@
 + 
 + #define REBUILD_MULTIPLIER	3
 + 
 +-#if (SIZEOF_VOID_P == 8)
 +-#define RANDOM_INDEX(i)		HashOneWord(mask, downshift, i)
 +-#define BITSPERWORD		64
 +-#else 
 +-
 + #define START_LOGSIZE		5 /* Initial hash table size is 32. */
 + #define MAX_LIST_VALUES		20 /* Convert to hash table when node
 + 				    * value list gets bigger than this
 + 				    * many values. */
 + 
 ++
 ++#if (SIZEOF_VOID_P == 8)
 ++#define RANDOM_INDEX(i)		HashOneWord(mask, downshift, i)
 ++#define BITSPERWORD		64
 ++#else 
 + /*
 +  * The following macro takes a preliminary integer hash value and
 +  * produces an index into a hash tables bucket list.  The idea is
 +@@ -403,7 +403,7 @@
 +     TreeDestroyValues(nodePtr);
 +     UnlinkNode(nodePtr);
 +     treeObjPtr->nNodes--;
 +-    hPtr = Blt_FindHashEntry(&treeObjPtr->nodeTable, (char *)nodePtr->inode);
 ++    hPtr = Blt_FindHashEntry(&treeObjPtr->nodeTable, (char *)(uintptr_t)nodePtr->inode);
 +     assert(hPtr);
 +     Blt_DeleteHashEntry(&treeObjPtr->nodeTable, hPtr);
 +     Blt_PoolFreeItem(treeObjPtr->nodePool, (char *)nodePtr);
 +@@ -836,7 +836,7 @@
 +     /* Generate an unique serial number for this node.  */
 +     do {
 + 	inode = treeObjPtr->nextInode++;
 +-	hPtr = Blt_CreateHashEntry(&treeObjPtr->nodeTable,(char *)inode, 
 ++	hPtr = Blt_CreateHashEntry(&treeObjPtr->nodeTable,(char *)(uintptr_t)inode, 
 + 		   &isNew);
 +     } while (!isNew);
 +     nodePtr = NewNode(treeObjPtr, name, inode);
 +@@ -891,7 +891,7 @@
 +     int isNew;
 + 
 +     treeObjPtr = parentPtr->treeObject;
 +-    hPtr = Blt_CreateHashEntry(&treeObjPtr->nodeTable,(char *)inode, &isNew);
 ++    hPtr = Blt_CreateHashEntry(&treeObjPtr->nodeTable,(char *)(uintptr_t)inode, &isNew);
 +     if (!isNew) {
 + 	return NULL;
 +     }
 +@@ -997,7 +997,7 @@
 +     TreeObject *treeObjPtr = clientPtr->treeObject;
 +     Blt_HashEntry *hPtr;
 + 
 +-    hPtr = Blt_FindHashEntry(&treeObjPtr->nodeTable, (char *)inode);
 ++    hPtr = Blt_FindHashEntry(&treeObjPtr->nodeTable, (char *)(uintptr_t)inode);
 +     if (hPtr != NULL) {
 + 	return (Blt_TreeNode)Blt_GetHashValue(hPtr);
 +     }
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltTreeCmd.c x11-toolkits/blt/files/patch-src__bltTreeCmd.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltTreeCmd.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltTreeCmd.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,76 @@
 +--- src/bltTreeCmd.c.orig
 ++++ src/bltTreeCmd.c
 +@@ -950,7 +950,7 @@
 +     Tcl_Interp *interp = cmdPtr->interp;
 +     Blt_Tree tree = cmdPtr->tree;
 +     char c;
 +-    Blt_TreeNode node;
 ++    Blt_TreeNode node = NULL;
 +     char *string;
 +     char *p;
 + 
 +@@ -1283,8 +1283,8 @@
 +     if (parentId == -1) {	/* Dump marks root's parent as -1. */
 + 	node = dataPtr->root;
 + 	/* Create a mapping between the old id and the new node */
 +-	hPtr = Blt_CreateHashEntry(&dataPtr->idTable, (char *)nodeId, 
 +-		   &isNew);
 ++	hPtr = Blt_CreateHashEntry(&dataPtr->idTable,
 ++	    (char *)(uintptr_t)nodeId, &isNew);
 + 	Blt_SetHashValue(hPtr, node);
 + 	Blt_TreeRelabelNode(cmdPtr->tree, node, names[0]);
 +     } else {
 +@@ -1293,7 +1293,7 @@
 + 	 * This can happen when there's a id collision with an
 + 	 * existing node. 
 + 	 */
 +-	hPtr = Blt_FindHashEntry(&dataPtr->idTable, (char *)parentId);
 ++	hPtr = Blt_FindHashEntry(&dataPtr->idTable, (char *)(uintptr_t)parentId);
 + 	if (hPtr != NULL) {
 + 	    parent = Blt_GetHashValue(hPtr);
 + 	} else {
 +@@ -1330,7 +1330,7 @@
 + 	if (dataPtr->flags & RESTORE_OVERWRITE) {
 + 	    node = Blt_TreeFindChild(parent, names[nNames - 1]);
 + 	    /* Create a mapping between the old id and the new node */
 +-	    hPtr = Blt_CreateHashEntry(&dataPtr->idTable, (char *)nodeId, 
 ++	    hPtr = Blt_CreateHashEntry(&dataPtr->idTable, (char *)(uintptr_t)nodeId, 
 + 				       &isNew);
 + 	    Blt_SetHashValue(hPtr, node);
 + 	}
 +@@ -1340,7 +1340,7 @@
 + 		node = Blt_TreeCreateNode(cmdPtr->tree, parent, 
 + 					  names[nNames - 1], -1);
 + 		/* Create a mapping between the old id and the new node */
 +-		hPtr = Blt_CreateHashEntry(&dataPtr->idTable, (char *)nodeId,
 ++		hPtr = Blt_CreateHashEntry(&dataPtr->idTable, (char *)(uintptr_t)nodeId,
 + 					   &isNew);
 + 		Blt_SetHashValue(hPtr, node);
 + 	    } else {
 +@@ -1667,7 +1667,7 @@
 +     for (node = Blt_ListFirstNode(patternList); node != NULL; 
 + 	node = Blt_ListNextNode(node)) {
 + 		
 +-	type = (int)Blt_ListGetValue(node);
 ++	type = (intptr_t)Blt_ListGetValue(node);
 + 	pattern = (char *)Blt_ListGetKey(node);
 + 	switch (type) {
 + 	case PATTERN_EXACT:
 +@@ -2602,7 +2602,7 @@
 + 	    for (hPtr = Blt_FirstHashEntry(tablePtr, &cursor); 
 + 		hPtr != NULL; hPtr = Blt_NextHashEntry(&cursor)) {
 + 		node = Blt_GetHashValue(hPtr);
 +-		Blt_ChainAppend(chainPtr, (ClientData)Blt_TreeNodeId(node));
 ++		Blt_ChainAppend(chainPtr, (ClientData)(uintptr_t)Blt_TreeNodeId(node));
 + 	    }   
 + 	    /*  
 + 	     * Iterate through this list to delete the nodes.  By
 +@@ -2612,7 +2612,7 @@
 + 	    for (linkPtr = Blt_ChainFirstLink(chainPtr); linkPtr != NULL;
 + 		 linkPtr = nextPtr) {
 + 		nextPtr = Blt_ChainNextLink(linkPtr);
 +-		inode = (int)Blt_ChainGetValue(linkPtr);
 ++		inode = (intptr_t)Blt_ChainGetValue(linkPtr);
 + 		node = Blt_TreeGetNode(cmdPtr->tree, inode);
 + 		if (node != NULL) {
 + 		    DeleteNode(cmdPtr, node);
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltTreeView.c x11-toolkits/blt/files/patch-src__bltTreeView.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltTreeView.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltTreeView.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,32 @@
 +--- src/bltTreeView.c.orig
 ++++ src/bltTreeView.c
 +@@ -1049,13 +1049,13 @@
 + {
 +     Blt_HashEntry *hPtr;
 +     int isNew;
 +-    int refCount;
 ++    intptr_t refCount;
 + 
 +     hPtr = Blt_CreateHashEntry(&tvPtr->uidTable, string, &isNew);
 +     if (isNew) {
 + 	refCount = 1;
 +     } else {
 +-	refCount = (int)Blt_GetHashValue(hPtr);
 ++	refCount = (intptr_t)Blt_GetHashValue(hPtr);
 + 	refCount++;
 +     }
 +     Blt_SetHashValue(hPtr, (ClientData)refCount);
 +@@ -1080,11 +1080,11 @@
 + Blt_TreeViewFreeUid(TreeView *tvPtr, UID uid)
 + {
 +     Blt_HashEntry *hPtr;
 +-    int refCount;
 ++    intptr_t refCount;
 + 
 +     hPtr = Blt_FindHashEntry(&tvPtr->uidTable, uid);
 +     assert(hPtr != NULL);
 +-    refCount = (int)Blt_GetHashValue(hPtr);
 ++    refCount = (intptr_t)Blt_GetHashValue(hPtr);
 +     refCount--;
 +     if (refCount > 0) {
 + 	Blt_SetHashValue(hPtr, (ClientData)refCount);
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltTreeView.h x11-toolkits/blt/files/patch-src__bltTreeView.h
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltTreeView.h	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltTreeView.h	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,11 @@
 +--- src/bltTreeView.h.orig
 ++++ src/bltTreeView.h
 +@@ -1004,6 +1004,8 @@
 + 
 + extern void Blt_TreeViewDrawRule _ANSI_ARGS_((TreeView *tvPtr, 
 + 	TreeViewColumn *columnPtr, Drawable drawable));
 ++extern int Blt_TreeViewTextbox _ANSI_ARGS_((TreeView *tvPtr,
 ++	TreeViewEntry *entryPtr, TreeViewColumn *columnPtr));
 + extern int Blt_TreeViewTextOp _ANSI_ARGS_((TreeView *tvPtr, Tcl_Interp *interp,
 + 	int objc, Tcl_Obj *CONST *objv));
 + extern int Blt_TreeViewCombobox _ANSI_ARGS_((TreeView *tvPtr,
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltTreeViewStyle.c x11-toolkits/blt/files/patch-src__bltTreeViewStyle.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltTreeViewStyle.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltTreeViewStyle.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,72 @@
 +--- src/bltTreeViewStyle.c.orig
 ++++ src/bltTreeViewStyle.c
 +@@ -415,7 +415,7 @@
 + static StyleEditProc EditTextBox, EditCheckBox, EditComboBox;
 + static StyleFreeProc FreeTextBox, FreeCheckBox, FreeComboBox;
 + static StyleMeasureProc MeasureTextBox, MeasureCheckBox, MeasureComboBox;
 +-static StylePickProc PickCheckBox, PickComboBox;
 ++static StylePickProc PickComboBox;
 + 
 + /*
 +  *----------------------------------------------------------------------
 +@@ -1263,60 +1263,6 @@
 + /*
 +  *----------------------------------------------------------------------
 +  *
 +- * PickCheckbox --
 +- *
 +- *	Draws the "checkbox" given the screen coordinates and the
 +- *	value to be displayed.  
 +- *
 +- * Results:
 +- *	None.
 +- *
 +- * Side Effects:
 +- *	The checkbox value is drawn.
 +- *
 +- *----------------------------------------------------------------------
 +- */
 +-static int
 +-PickCheckBox(entryPtr, valuePtr, stylePtr, worldX, worldY)
 +-    TreeViewEntry *entryPtr;
 +-    TreeViewValue *valuePtr;
 +-    TreeViewStyle *stylePtr;
 +-    int worldX, worldY;
 +-{
 +-    TreeViewColumn *columnPtr;
 +-    TreeViewCheckBox *cbPtr = (TreeViewCheckBox *)stylePtr;
 +-    int columnWidth;
 +-    int x, y, width, height;
 +-
 +-    columnPtr = valuePtr->columnPtr;
 +-    columnWidth = columnPtr->width - 
 +-	(2 * columnPtr->borderWidth + PADDING(columnPtr->pad));
 +-    if (columnWidth > valuePtr->width) {
 +-	switch(columnPtr->justify) {
 +-	case TK_JUSTIFY_RIGHT:
 +-	    worldX += (columnWidth - valuePtr->width);
 +-	    break;
 +-	case TK_JUSTIFY_CENTER:
 +-	    worldX += (columnWidth - valuePtr->width) / 2;
 +-	    break;
 +-	case TK_JUSTIFY_LEFT:
 +-	    break;
 +-	}
 +-    }
 +-    width = height = ODD(cbPtr->size) + 2 * cbPtr->lineWidth;
 +-    x = columnPtr->worldX + columnPtr->pad.side1 + cbPtr->gap - 
 +-	cbPtr->lineWidth;
 +-    y = entryPtr->worldY + (entryPtr->height - height) / 2;
 +-    if ((worldX >= x) && (worldX < (x + width)) && 
 +-	(worldY >= y) && (worldY < (y + height))) {
 +-	return TRUE;
 +-    }
 +-    return FALSE;
 +-}
 +-
 +-/*
 +- *----------------------------------------------------------------------
 +- *
 +  * EditCheckbox --
 +  *
 +  *	Edits the "checkbox".
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltUnixImage.c x11-toolkits/blt/files/patch-src__bltUnixImage.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltUnixImage.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltUnixImage.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,11 @@
 +--- src/bltUnixImage.c.orig
 ++++ src/bltUnixImage.c
 +@@ -574,7 +574,7 @@
 + 	destPtr = Blt_ColorImageBits(image);
 + 	endPtr = destPtr + nPixels;
 + 	for (/* empty */; destPtr < endPtr; destPtr++) {
 +-	    hPtr = Blt_FindHashEntry(&pixelTable, (char *)destPtr->value);
 ++	    hPtr = Blt_FindHashEntry(&pixelTable, (char *)(intptr_t)destPtr->value);
 + 	    colorPtr = (XColor *)Blt_GetHashValue(hPtr);
 + 	    destPtr->Red = lut[colorPtr->red >> 8];
 + 	    destPtr->Green = lut[colorPtr->green >> 8];
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltUnixPipe.c x11-toolkits/blt/files/patch-src__bltUnixPipe.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltUnixPipe.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltUnixPipe.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,11 @@
 +--- src/bltUnixPipe.c.orig
 ++++ src/bltUnixPipe.c
 +@@ -477,7 +477,7 @@
 + 	 * Reap the child process now if an error occurred during its
 + 	 * startup.
 + 	 */
 +-	Tcl_WaitPid((Tcl_Pid)pid, &status, WNOHANG);
 ++	Tcl_WaitPid((Tcl_Pid)(intptr_t)pid, &status, WNOHANG);
 +     }
 +     if (errPipeIn >= 0) {
 + 	CloseFile(errPipeIn);
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltUtil.c x11-toolkits/blt/files/patch-src__bltUtil.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltUtil.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltUtil.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,46 @@
 +--- src/bltUtil.c.orig
 ++++ src/bltUtil.c
 +@@ -779,11 +779,11 @@
 +  */
 + Blt_Uid
 + Blt_GetUid(string)
 +-    char *string;		/* String to convert. */
 ++    const char *string;		/* String to convert. */
 + {
 +     int isNew;
 +     Blt_HashEntry *hPtr;
 +-    int refCount;
 ++    intptr_t refCount;
 +     
 +     if (!uidInitialized) {
 + 	Blt_InitHashTable(&uidTable, BLT_STRING_KEYS);
 +@@ -793,7 +793,7 @@
 +     if (isNew) {
 + 	refCount = 0;
 +     } else {
 +-	refCount = (int)Blt_GetHashValue(hPtr);
 ++	refCount = (intptr_t)Blt_GetHashValue(hPtr);
 +     }
 +     refCount++;
 +     Blt_SetHashValue(hPtr, (ClientData)refCount);
 +@@ -828,9 +828,9 @@
 +     }
 +     hPtr = Blt_FindHashEntry(&uidTable, uid);
 +     if (hPtr) {
 +-	int refCount;
 ++	intptr_t refCount;
 + 
 +-	refCount = (int)Blt_GetHashValue(hPtr);
 ++	refCount = (intptr_t)Blt_GetHashValue(hPtr);
 + 	refCount--;
 + 	if (refCount == 0) {
 + 	    Blt_DeleteHashEntry(&uidTable, hPtr);
 +@@ -856,7 +856,7 @@
 +  */
 + Blt_Uid
 + Blt_FindUid(string)
 +-    char *string;		/* String to find. */
 ++    const char *string;		/* String to find. */
 + {
 +     Blt_HashEntry *hPtr;
 + 
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltVecMath.c x11-toolkits/blt/files/patch-src__bltVecMath.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltVecMath.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltVecMath.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,35 @@
 +--- src/bltVecMath.c.orig
 ++++ src/bltVecMath.c
 +@@ -764,20 +764,20 @@
 +     if ((errno == EDOM) || (value != value)) {
 + 	Tcl_AppendResult(interp, "domain error: argument not in valid range",
 + 	    (char *)NULL);
 +-	Tcl_SetErrorCode(interp, "ARITH", "DOMAIN", interp->result,
 ++	Tcl_SetErrorCode(interp, "ARITH", "DOMAIN", Tcl_GetStringResult(interp),
 + 	    (char *)NULL);
 +     } else if ((errno == ERANGE) || IS_INF(value)) {
 + 	if (value == 0.0) {
 + 	    Tcl_AppendResult(interp, 
 + 			     "floating-point value too small to represent",
 + 		(char *)NULL);
 +-	    Tcl_SetErrorCode(interp, "ARITH", "UNDERFLOW", interp->result,
 ++	    Tcl_SetErrorCode(interp, "ARITH", "UNDERFLOW", Tcl_GetStringResult(interp),
 + 		(char *)NULL);
 + 	} else {
 + 	    Tcl_AppendResult(interp, 
 + 			     "floating-point value too large to represent",
 + 		(char *)NULL);
 +-	    Tcl_SetErrorCode(interp, "ARITH", "OVERFLOW", interp->result,
 ++	    Tcl_SetErrorCode(interp, "ARITH", "OVERFLOW", Tcl_GetStringResult(interp),
 + 		(char *)NULL);
 + 	}
 +     } else {
 +@@ -786,7 +786,7 @@
 + 	sprintf(buf, "%d", errno);
 + 	Tcl_AppendResult(interp, "unknown floating-point error, ",
 + 	    "errno = ", buf, (char *)NULL);
 +-	Tcl_SetErrorCode(interp, "ARITH", "UNKNOWN", interp->result,
 ++	Tcl_SetErrorCode(interp, "ARITH", "UNKNOWN", Tcl_GetStringResult(interp),
 + 	    (char *)NULL);
 +     }
 + }
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__bltWindow.c x11-toolkits/blt/files/patch-src__bltWindow.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__bltWindow.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__bltWindow.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,782 @@
 +--- src/bltWindow.c.orig
 ++++ src/bltWindow.c
 +@@ -33,25 +33,7 @@
 + #include <X11/Xproto.h>
 + #endif
 + 
 +-typedef struct TkIdStackStruct TkIdStack;
 +-typedef struct TkErrorHandlerStruct TkErrorHandler;
 +-typedef struct TkSelectionInfoStruct TkSelectionInfo;
 +-typedef struct TkClipboardTargetStruct TkClipboardTarget;
 +-
 +-#ifndef WIN32
 +-typedef struct TkWindowStruct TkWindow;
 +-#endif
 +-typedef struct TkWindowEventStruct TkWindowEvent;
 +-typedef struct TkMainInfoStruct TkMainInfo;
 +-typedef struct TkEventHandlerStruct TkEventHandler;
 +-typedef struct TkSelHandlerStruct TkSelHandler;
 +-typedef struct TkWinInfoStruct TkWinInfo;
 +-typedef struct TkClassProcsStruct TkClassProcs;
 +-typedef struct TkWindowPrivateStruct TkWindowPrivate;
 +-typedef struct TkGrabEventStruct TkGrabEvent;
 +-typedef struct TkColormapStruct TkColormap;
 +-typedef struct TkStressedCmapStruct TkStressedCmap;
 +-typedef struct TkWmInfoStruct TkWmInfo;
 ++#include <tkInt.h>
 + 
 + #ifdef XNQueryInputStyle
 + #define TK_USE_INPUT_METHODS
 +@@ -70,752 +52,6 @@
 + #define TK_REPARENTED 	0
 + #endif
 + 
 +-#if (TK_VERSION_NUMBER >= _VERSION(8,1,0))
 +-
 +-typedef struct TkCaret {
 +-    struct TkWindow *winPtr;	/* the window on which we requested caret
 +-				 * placement */
 +-    int x;			/* relative x coord of the caret */
 +-    int y;			/* relative y coord of the caret */
 +-    int height;			/* specified height of the window */
 +-} TkCaret;
 +-
 +-/*
 +- * One of the following structures is maintained for each display
 +- * containing a window managed by Tk.  In part, the structure is
 +- * used to store thread-specific data, since each thread will have
 +- * its own TkDisplay structure.
 +- */
 +-
 +-typedef struct TkDisplayStruct {
 +-    Display *display;		/* Xlib's info about display. */
 +-    struct TkDisplayStruct *nextPtr; /* Next in list of all displays. */
 +-    char *name;			/* Name of display (with any screen
 +-				 * identifier removed).  Malloc-ed. */
 +-    Time lastEventTime;		/* Time of last event received for this
 +-				 * display. */
 +-
 +-    /*
 +-     * Information used primarily by tk3d.c:
 +-     */
 +-
 +-    int borderInit;		/* 0 means borderTable needs initializing. */
 +-    Tcl_HashTable borderTable;	/* Maps from color name to TkBorder
 +-				 * structure. */
 +-
 +-    /*
 +-     * Information used by tkAtom.c only:
 +-     */
 +-
 +-    int atomInit;		/* 0 means stuff below hasn't been
 +-				 * initialized yet. */
 +-    Tcl_HashTable nameTable;	/* Maps from names to Atom's. */
 +-    Tcl_HashTable atomTable;	/* Maps from Atom's back to names. */
 +-
 +-    /*
 +-     * Information used primarily by tkBind.c:
 +-     */
 +-
 +-    int bindInfoStale;		/* Non-zero means the variables in this
 +-				 * part of the structure are potentially
 +-				 * incorrect and should be recomputed. */
 +-    unsigned int modeModMask;	/* Has one bit set to indicate the modifier
 +-				 * corresponding to "mode shift".  If no
 +-				 * such modifier, than this is zero. */
 +-    unsigned int metaModMask;	/* Has one bit set to indicate the modifier
 +-				 * corresponding to the "Meta" key.  If no
 +-				 * such modifier, then this is zero. */
 +-    unsigned int altModMask;	/* Has one bit set to indicate the modifier
 +-				 * corresponding to the "Meta" key.  If no
 +-				 * such modifier, then this is zero. */
 +-    enum {
 +-	LU_IGNORE, LU_CAPS, LU_SHIFT
 +-    } lockUsage;		/* Indicates how to interpret lock modifier. */
 +-    int numModKeyCodes;		/* Number of entries in modKeyCodes array
 +-				 * below. */
 +-    KeyCode *modKeyCodes;	/* Pointer to an array giving keycodes for
 +-				 * all of the keys that have modifiers
 +-				 * associated with them.  Malloc'ed, but
 +-				 * may be NULL. */
 +-
 +-    /*
 +-     * Information used by tkBitmap.c only:
 +-     */
 +-
 +-    int bitmapInit;		/* 0 means tables above need initializing. */
 +-    int bitmapAutoNumber;	/* Used to number bitmaps. */
 +-    Tcl_HashTable bitmapNameTable;
 +-				/* Maps from name of bitmap to the first
 +-				 * TkBitmap record for that name. */
 +-    Tcl_HashTable bitmapIdTable;/* Maps from bitmap id to the TkBitmap
 +-				 * structure for the bitmap. */
 +-    Tcl_HashTable bitmapDataTable;
 +-				/* Used by Tk_GetBitmapFromData to map from
 +-				 * a collection of in-core data about a
 +-				 * bitmap to a reference giving an auto-
 +-				 * matically-generated name for the bitmap. */
 +-
 +-    /*
 +-     * Information used by tkCanvas.c only:
 +-     */
 +-
 +-    int numIdSearches;
 +-    int numSlowSearches;
 +-
 +-    /*
 +-     * Used by tkColor.c only:
 +-     */
 +-
 +-    int colorInit;		/* 0 means color module needs initializing. */
 +-    TkStressedCmap *stressPtr;	/* First in list of colormaps that have
 +-				 * filled up, so we have to pick an
 +-				 * approximate color. */
 +-    Tcl_HashTable colorNameTable;
 +-				/* Maps from color name to TkColor structure
 +-				 * for that color. */
 +-    Tcl_HashTable colorValueTable;
 +-				/* Maps from integer RGB values to TkColor
 +-				 * structures. */
 +-
 +-    /*
 +-     * Used by tkCursor.c only:
 +-     */
 +-
 +-    int cursorInit;		/* 0 means cursor module need initializing. */
 +-    Tcl_HashTable cursorNameTable;
 +-				/* Maps from a string name to a cursor to the
 +-				 * TkCursor record for the cursor. */
 +-    Tcl_HashTable cursorDataTable;
 +-				/* Maps from a collection of in-core data
 +-				 * about a cursor to a TkCursor structure. */
 +-    Tcl_HashTable cursorIdTable;
 +-				/* Maps from a cursor id to the TkCursor
 +-				 * structure for the cursor. */
 +-    char cursorString[20];	/* Used to store a cursor id string. */
 +-    Font cursorFont;		/* Font to use for standard cursors.
 +-				 * None means font not loaded yet. */
 +-
 +-    /*
 +-     * Information used by tkError.c only:
 +-     */
 +-
 +-    struct TkErrorHandler *errorPtr;
 +-				/* First in list of error handlers
 +-				 * for this display.  NULL means
 +-				 * no handlers exist at present. */
 +-    int deleteCount;		/* Counts # of handlers deleted since
 +-				 * last time inactive handlers were
 +-				 * garbage-collected.  When this number
 +-				 * gets big, handlers get cleaned up. */
 +-
 +-    /*
 +-     * Used by tkEvent.c only:
 +-     */
 +-
 +-    struct TkWindowEvent *delayedMotionPtr;
 +-				/* Points to a malloc-ed motion event
 +-				 * whose processing has been delayed in
 +-				 * the hopes that another motion event
 +-				 * will come along right away and we can
 +-				 * merge the two of them together.  NULL
 +-				 * means that there is no delayed motion
 +-				 * event. */
 +-
 +-    /*
 +-     * Information used by tkFocus.c only:
 +-     */
 +-
 +-    int focusDebug;		/* 1 means collect focus debugging
 +-				 * statistics. */
 +-    struct TkWindow *implicitWinPtr;
 +-				/* If the focus arrived at a toplevel window
 +-				 * implicitly via an Enter event (rather
 +-				 * than via a FocusIn event), this points
 +-				 * to the toplevel window.  Otherwise it is
 +-				 * NULL. */
 +-    struct TkWindow *focusPtr;	/* Points to the window on this display that
 +-				 * should be receiving keyboard events.  When
 +-				 * multiple applications on the display have
 +-				 * the focus, this will refer to the
 +-				 * innermost window in the innermost
 +-				 * application.  This information isn't used
 +-				 * under Unix or Windows, but it's needed on
 +-				 * the Macintosh. */
 +-
 +-    /*
 +-     * Information used by tkGC.c only:
 +-     */
 +-
 +-    Tcl_HashTable gcValueTable;	/* Maps from a GC's values to a TkGC structure
 +-				 * describing a GC with those values. */
 +-    Tcl_HashTable gcIdTable;	/* Maps from a GC to a TkGC. */
 +-    int gcInit;			/* 0 means the tables below need
 +-				 * initializing. */
 +-
 +-    /*
 +-     * Information used by tkGeometry.c only:
 +-     */
 +-
 +-    Tcl_HashTable maintainHashTable;
 +-				/* Hash table that maps from a master's
 +-				 * Tk_Window token to a list of slaves
 +-				 * managed by that master. */
 +-    int geomInit;
 +-
 +-    /*
 +-     * Information used by tkGet.c only:
 +-     */
 +-
 +-    Tcl_HashTable uidTable;	/* Stores all Tk_Uids used in a thread. */
 +-    int uidInit;		/* 0 means uidTable needs initializing. */
 +-
 +-    /*
 +-     * Information used by tkGrab.c only:
 +-     */
 +-
 +-    struct TkWindow *grabWinPtr;
 +-				/* Window in which the pointer is currently
 +-				 * grabbed, or NULL if none. */
 +-    struct TkWindow *eventualGrabWinPtr;
 +-				/* Value that grabWinPtr will have once the
 +-				 * grab event queue (below) has been
 +-				 * completely emptied. */
 +-    struct TkWindow *buttonWinPtr;
 +-				/* Window in which first mouse button was
 +-				 * pressed while grab was in effect, or NULL
 +-				 * if no such press in effect. */
 +-    struct TkWindow *serverWinPtr;
 +-				/* If no application contains the pointer then
 +-				 * this is NULL.  Otherwise it contains the
 +-				 * last window for which we've gotten an
 +-				 * Enter or Leave event from the server (i.e.
 +-				 * the last window known to have contained
 +-				 * the pointer).  Doesn't reflect events
 +-				 * that were synthesized in tkGrab.c. */
 +-    TkGrabEvent *firstGrabEventPtr;
 +-				/* First in list of enter/leave events
 +-				 * synthesized by grab code.  These events
 +-				 * must be processed in order before any other
 +-				 * events are processed.  NULL means no such
 +-				 * events. */
 +-    TkGrabEvent *lastGrabEventPtr;
 +-				/* Last in list of synthesized events, or NULL
 +-				 * if list is empty. */
 +-    int grabFlags;		/* Miscellaneous flag values.  See definitions
 +-				 * in tkGrab.c. */
 +-
 +-    /*
 +-     * Information used by tkGrid.c only:
 +-     */
 +-
 +-    int gridInit;		/* 0 means table below needs initializing. */
 +-    Tcl_HashTable gridHashTable;/* Maps from Tk_Window tokens to
 +-				 * corresponding Grid structures. */
 +-
 +-    /*
 +-     * Information used by tkImage.c only:
 +-     */
 +-
 +-    int imageId;		/* Value used to number image ids. */
 +-
 +-    /*
 +-     * Information used by tkMacWinMenu.c only:
 +-     */
 +-
 +-    int postCommandGeneration;
 +-
 +-    /*
 +-     * Information used by tkOption.c only.
 +-     */
 +-
 +-
 +-
 +-    /*
 +-     * Information used by tkPack.c only.
 +-     */
 +-
 +-    int packInit;		/* 0 means table below needs initializing. */
 +-    Tcl_HashTable packerHashTable;
 +-				/* Maps from Tk_Window tokens to
 +-				 * corresponding Packer structures. */
 +-
 +-
 +-    /*
 +-     * Information used by tkPlace.c only.
 +-     */
 +-
 +-    int placeInit;		/* 0 means tables below need initializing. */
 +-    Tcl_HashTable masterTable;	/* Maps from Tk_Window toke to the Master
 +-				 * structure for the window, if it exists. */
 +-    Tcl_HashTable slaveTable;	/* Maps from Tk_Window toke to the Slave
 +-				 * structure for the window, if it exists. */
 +-
 +-    /*
 +-     * Information used by tkSelect.c and tkClipboard.c only:
 +-     */
 +-
 +-
 +-    struct TkSelectionInfo *selectionInfoPtr;
 +-    /* First in list of selection information
 +-				 * records.  Each entry contains information
 +-				 * about the current owner of a particular
 +-				 * selection on this display. */
 +-    Atom multipleAtom;		/* Atom for MULTIPLE.  None means
 +-				 * selection stuff isn't initialized. */
 +-    Atom incrAtom;		/* Atom for INCR. */
 +-    Atom targetsAtom;		/* Atom for TARGETS. */
 +-    Atom timestampAtom;		/* Atom for TIMESTAMP. */
 +-    Atom textAtom;		/* Atom for TEXT. */
 +-    Atom compoundTextAtom;	/* Atom for COMPOUND_TEXT. */
 +-    Atom applicationAtom;	/* Atom for TK_APPLICATION. */
 +-    Atom windowAtom;		/* Atom for TK_WINDOW. */
 +-    Atom clipboardAtom;		/* Atom for CLIPBOARD. */
 +-#if (TK_VERSION_NUMBER >= _VERSION(8,4,0))
 +-    Atom utf8Atom;
 +-#endif
 +-    Tk_Window clipWindow;	/* Window used for clipboard ownership and to
 +-				 * retrieve selections between processes. NULL
 +-				 * means clipboard info hasn't been
 +-				 * initialized. */
 +-    int clipboardActive;	/* 1 means we currently own the clipboard
 +-				 * selection, 0 means we don't. */
 +-    struct TkMainInfo *clipboardAppPtr;
 +-				/* Last application that owned clipboard. */
 +-    struct TkClipboardTarget *clipTargetPtr;
 +-				/* First in list of clipboard type information
 +-				 * records.  Each entry contains information
 +-				 * about the buffers for a given selection
 +-				 * target. */
 +-
 +-    /*
 +-     * Information used by tkSend.c only:
 +-     */
 +-
 +-    Tk_Window commTkwin;	/* Window used for communication
 +-				 * between interpreters during "send"
 +-				 * commands.  NULL means send info hasn't
 +-				 * been initialized yet. */
 +-    Atom commProperty;		/* X's name for comm property. */
 +-    Atom registryProperty;	/* X's name for property containing
 +-				 * registry of interpreter names. */
 +-    Atom appNameProperty;	/* X's name for property used to hold the
 +-				 * application name on each comm window. */
 +-
 +-    /*
 +-     * Information used by tkXId.c only:
 +-     */
 +-
 +-    struct TkIdStack *idStackPtr;
 +-				/* First in list of chunks of free resource
 +-				 * identifiers, or NULL if there are no free
 +-				 * resources. */
 +-    XID(*defaultAllocProc) _ANSI_ARGS_((Display *display));
 +-				/* Default resource allocator for display. */
 +-    struct TkIdStack *windowStackPtr;
 +-				/* First in list of chunks of window
 +-				 * identifers that can't be reused right
 +-				 * now. */
 +-#if (TK_VERSION_NUMBER < _VERSION(8,4,0))
 +-    int idCleanupScheduled;	/* 1 means a call to WindowIdCleanup has
 +-				 * already been scheduled, 0 means it
 +-				 * hasn't. */
 +-#else
 +-    Tcl_TimerToken idCleanupScheduled;
 +-				/* If set, it means a call to WindowIdCleanup
 +-				 * has already been scheduled, 0 means it
 +-				 * hasn't. */
 +-#endif
 +-    /*
 +-     * Information used by tkUnixWm.c and tkWinWm.c only:
 +-     */
 +-
 +-#if (TK_VERSION_NUMBER < _VERSION(8,4,0))
 +-    int wmTracing;		/* Used to enable or disable tracing in
 +-				 * this module.  If tracing is enabled,
 +-				 * then information is printed on
 +-				 * standard output about interesting
 +-				 * interactions with the window manager. */
 +-#endif
 +-    struct TkWmInfo *firstWmPtr; /* Points to first top-level window. */
 +-    struct TkWmInfo *foregroundWmPtr;
 +-				/* Points to the foreground window. */
 +-
 +-    /*
 +-     * Information maintained by tkWindow.c for use later on by tkXId.c:
 +-     */
 +-
 +-
 +-    int destroyCount;		/* Number of Tk_DestroyWindow operations
 +-				 * in progress. */
 +-    unsigned long lastDestroyRequest;
 +-				/* Id of most recent XDestroyWindow request;
 +-				 * can re-use ids in windowStackPtr when
 +-				 * server has seen this request and event
 +-				 * queue is empty. */
 +-
 +-    /*
 +-     * Information used by tkVisual.c only:
 +-     */
 +-
 +-    TkColormap *cmapPtr;	/* First in list of all non-default colormaps
 +-				 * allocated for this display. */
 +-
 +-    /*
 +-     * Miscellaneous information:
 +-     */
 +-
 +-#ifdef TK_USE_INPUT_METHODS
 +-    XIM inputMethod;		/* Input method for this display */
 +-#if (TK_VERSION_NUMBER >= _VERSION(8,4,0))
 +-#if TK_XIM_SPOT
 +-    XFontSet inputXfs;		/* XFontSet cached for over-the-spot XIM. */
 +-#endif /* TK_XIM_SPOT */
 +-#endif /* TK_VERSION_NUMBER >= 8.4 */
 +-#endif /* TK_USE_INPUT_METHODS */
 +-    Tcl_HashTable winTable;	/* Maps from X window ids to TkWindow ptrs. */
 +-    int refCount;		/* Reference count of how many Tk applications
 +-                                 * are using this display. Used to clean up
 +-                                 * the display when we no longer have any
 +-                                 * Tk applications using it.
 +-                                 */
 +-    /*
 +-     * The following field were all added for Tk8.3
 +-     */
 +-    int mouseButtonState;       /* current mouse button state for this
 +-                                 * display */
 +-#if (TK_VERSION_NUMBER < _VERSION(8,4,0))
 +-    int warpInProgress;
 +-#endif
 +-    Window warpWindow;
 +-    int warpX;
 +-    int warpY;
 +-#if (TK_VERSION_NUMBER < _VERSION(8,4,0))
 +-    int useInputMethods;        /* Whether to use input methods */
 +-#else
 +-    /*
 +-     * The following field(s) were all added for Tk8.4
 +-     */
 +-    long deletionEpoch;		/* Incremented by window deletions */
 +-    unsigned int flags;		/* Various flag values:  these are all
 +-				 * defined in below. */
 +-    TkCaret caret;		/* information about the caret for this
 +-				 * display.  This is not a pointer. */
 +-#endif
 +-} TkDisplay;
 +-
 +-#else
 +-
 +-/*
 +- * One of the following structures is maintained for each display
 +- * containing a window managed by Tk:
 +- */
 +-typedef struct TkDisplayStruct {
 +-    Display *display;		/* Xlib's info about display. */
 +-    struct TkDisplayStruct *nextPtr; /* Next in list of all displays. */
 +-    char *name;			/* Name of display (with any screen
 +-				 * identifier removed).  Malloc-ed. */
 +-    Time lastEventTime;		/* Time of last event received for this
 +-				 * display. */
 +-
 +-    /*
 +-     * Information used primarily by tkBind.c:
 +-     */
 +-
 +-    int bindInfoStale;		/* Non-zero means the variables in this
 +-				 * part of the structure are potentially
 +-				 * incorrect and should be recomputed. */
 +-    unsigned int modeModMask;	/* Has one bit set to indicate the modifier
 +-				 * corresponding to "mode shift".  If no
 +-				 * such modifier, than this is zero. */
 +-    unsigned int metaModMask;	/* Has one bit set to indicate the modifier
 +-				 * corresponding to the "Meta" key.  If no
 +-				 * such modifier, then this is zero. */
 +-    unsigned int altModMask;	/* Has one bit set to indicate the modifier
 +-				 * corresponding to the "Meta" key.  If no
 +-				 * such modifier, then this is zero. */
 +-    enum {
 +-	LU_IGNORE, LU_CAPS, LU_SHIFT
 +-    } lockUsage;
 +-    /* Indicates how to interpret lock modifier. */
 +-    int numModKeyCodes;		/* Number of entries in modKeyCodes array
 +-				 * below. */
 +-    KeyCode *modKeyCodes;	/* Pointer to an array giving keycodes for
 +-				 * all of the keys that have modifiers
 +-				 * associated with them.  Malloc'ed, but
 +-				 * may be NULL. */
 +-
 +-    /*
 +-     * Information used by tkError.c only:
 +-     */
 +-
 +-    TkErrorHandler *errorPtr;
 +-    /* First in list of error handlers
 +-				 * for this display.  NULL means
 +-				 * no handlers exist at present. */
 +-     int deleteCount;		/* Counts # of handlers deleted since
 +-				 * last time inactive handlers were
 +-				 * garbage-collected.  When this number
 +-				 * gets big, handlers get cleaned up. */
 +-
 +-    /*
 +-     * Information used by tkSend.c only:
 +-     */
 +-
 +-    Tk_Window commTkwin;	/* Window used for communication
 +-				 * between interpreters during "send"
 +-				 * commands.  NULL means send info hasn't
 +-				 * been initialized yet. */
 +-    Atom commProperty;		/* X's name for comm property. */
 +-    Atom registryProperty;	/* X's name for property containing
 +-				 * registry of interpreter names. */
 +-    Atom appNameProperty;	/* X's name for property used to hold the
 +-				 * application name on each comm window. */
 +-
 +-    /*
 +-     * Information used by tkSelect.c and tkClipboard.c only:
 +-     */
 +-
 +-     TkSelectionInfo *selectionInfoPtr;
 +-    /* First in list of selection information
 +-				 * records.  Each entry contains information
 +-				 * about the current owner of a particular
 +-				 * selection on this display. */
 +-    Atom multipleAtom;		/* Atom for MULTIPLE.  None means
 +-				 * selection stuff isn't initialized. */
 +-    Atom incrAtom;		/* Atom for INCR. */
 +-    Atom targetsAtom;		/* Atom for TARGETS. */
 +-    Atom timestampAtom;		/* Atom for TIMESTAMP. */
 +-    Atom textAtom;		/* Atom for TEXT. */
 +-    Atom compoundTextAtom;	/* Atom for COMPOUND_TEXT. */
 +-    Atom applicationAtom;	/* Atom for TK_APPLICATION. */
 +-    Atom windowAtom;		/* Atom for TK_WINDOW. */
 +-    Atom clipboardAtom;		/* Atom for CLIPBOARD. */
 +-
 +-    Tk_Window clipWindow;	/* Window used for clipboard ownership and to
 +-				 * retrieve selections between processes. NULL
 +-				 * means clipboard info hasn't been
 +-				 * initialized. */
 +-    int clipboardActive;	/* 1 means we currently own the clipboard
 +-				 * selection, 0 means we don't. */
 +-     TkMainInfo *clipboardAppPtr;
 +-     /* Last application that owned clipboard. */
 +-     TkClipboardTarget *clipTargetPtr;
 +-     /* First in list of clipboard type information
 +-				 * records.  Each entry contains information
 +-				 * about the buffers for a given selection
 +-				 * target. */
 +-
 +-    /*
 +-     * Information used by tkAtom.c only:
 +-     */
 +-
 +-    int atomInit;		/* 0 means stuff below hasn't been
 +-				 * initialized yet. */
 +-    Tcl_HashTable nameTable;	/* Maps from names to Atom's. */
 +-    Tcl_HashTable atomTable;	/* Maps from Atom's back to names. */
 +-
 +-    /*
 +-     * Information used by tkCursor.c only:
 +-     */
 +-
 +-    Font cursorFont;		/* Font to use for standard cursors.
 +-				 * None means font not loaded yet. */
 +-
 +-    /*
 +-     * Information used by tkGrab.c only:
 +-     */
 +-
 +-     TkWindow *grabWinPtr;
 +-    /* Window in which the pointer is currently
 +-				 * grabbed, or NULL if none. */
 +-     TkWindow *eventualGrabWinPtr;
 +-    /* Value that grabWinPtr will have once the
 +-				 * grab event queue (below) has been
 +-				 * completely emptied. */
 +-     TkWindow *buttonWinPtr;
 +-    /* Window in which first mouse button was
 +-				 * pressed while grab was in effect, or NULL
 +-				 * if no such press in effect. */
 +-     TkWindow *serverWinPtr;
 +-    /* If no application contains the pointer then
 +-				 * this is NULL.  Otherwise it contains the
 +-				 * last window for which we've gotten an
 +-				 * Enter or Leave event from the server (i.e.
 +-				 * the last window known to have contained
 +-				 * the pointer).  Doesn't reflect events
 +-				 * that were synthesized in tkGrab.c. */
 +-    TkGrabEvent *firstGrabEventPtr;
 +-    /* First in list of enter/leave events
 +-				 * synthesized by grab code.  These events
 +-				 * must be processed in order before any other
 +-				 * events are processed.  NULL means no such
 +-				 * events. */
 +-    TkGrabEvent *lastGrabEventPtr;
 +-    /* Last in list of synthesized events, or NULL
 +-				 * if list is empty. */
 +-    int grabFlags;		/* Miscellaneous flag values.  See definitions
 +-				 * in tkGrab.c. */
 +-
 +-    /*
 +-     * Information used by tkXId.c only:
 +-     */
 +-
 +-     TkIdStack *idStackPtr;
 +-    /* First in list of chunks of free resource
 +-				 * identifiers, or NULL if there are no free
 +-				 * resources. */
 +-              XID(*defaultAllocProc) _ANSI_ARGS_((Display *display));
 +-    /* Default resource allocator for display. */
 +-     TkIdStack *windowStackPtr;
 +-    /* First in list of chunks of window
 +-				 * identifers that can't be reused right
 +-				 * now. */
 +-    int idCleanupScheduled;	/* 1 means a call to WindowIdCleanup has
 +-				 * already been scheduled, 0 means it
 +-				 * hasn't. */
 +-
 +-    /*
 +-     * Information maintained by tkWindow.c for use later on by tkXId.c:
 +-     */
 +-
 +-
 +-    int destroyCount;		/* Number of Tk_DestroyWindow operations
 +-				 * in progress. */
 +-    unsigned long lastDestroyRequest;
 +-    /* Id of most recent XDestroyWindow request;
 +-				 * can re-use ids in windowStackPtr when
 +-				 * server has seen this request and event
 +-				 * queue is empty. */
 +-
 +-    /*
 +-     * Information used by tkVisual.c only:
 +-     */
 +-
 +-    TkColormap *cmapPtr;	/* First in list of all non-default colormaps
 +-				 * allocated for this display. */
 +-
 +-    /*
 +-     * Information used by tkFocus.c only:
 +-     */
 +-#if (TK_MAJOR_VERSION == 4)
 +-
 +-     TkWindow *focusWinPtr;
 +-				/* Window that currently has the focus for
 +-				 * this display, or NULL if none. */
 +-     TkWindow *implicitWinPtr;
 +-				/* If the focus arrived at a toplevel window
 +-				 * implicitly via an Enter event (rather
 +-				 * than via a FocusIn event), this points
 +-				 * to the toplevel window.  Otherwise it is
 +-				 * NULL. */
 +-     TkWindow *focusOnMapPtr;
 +-				/* This points to a toplevel window that is
 +-				 * supposed to receive the X input focus as
 +-				 * soon as it is mapped (needed to handle the
 +-				 * fact that X won't allow the focus on an
 +-				 * unmapped window).  NULL means no delayed
 +-				 * focus op in progress. */
 +-    int forceFocus;		/* Associated with focusOnMapPtr:  non-zero
 +-				 * means claim the focus even if some other
 +-				 * application currently has it. */
 +-#else
 +-     TkWindow *implicitWinPtr;
 +-				/* If the focus arrived at a toplevel window
 +-				 * implicitly via an Enter event (rather
 +-				 * than via a FocusIn event), this points
 +-				 * to the toplevel window.  Otherwise it is
 +-				 * NULL. */
 +-     TkWindow *focusPtr;	/* Points to the window on this display that
 +-				 * should be receiving keyboard events.  When
 +-				 * multiple applications on the display have
 +-				 * the focus, this will refer to the
 +-				 * innermost window in the innermost
 +-				 * application.  This information isn't used
 +-				 * under Unix or Windows, but it's needed on
 +-				 * the Macintosh. */
 +-#endif /* TK_MAJOR_VERSION == 4 */
 +-
 +-    /*
 +-     * Used by tkColor.c only:
 +-     */
 +-
 +-    TkStressedCmap *stressPtr;	/* First in list of colormaps that have
 +-				 * filled up, so we have to pick an
 +-				 * approximate color. */
 +-
 +-    /*
 +-     * Used by tkEvent.c only:
 +-     */
 +-
 +-     TkWindowEvent *delayedMotionPtr;
 +-				/* Points to a malloc-ed motion event
 +-				 * whose processing has been delayed in
 +-				 * the hopes that another motion event
 +-				 * will come along right away and we can
 +-				 * merge the two of them together.  NULL
 +-				 * means that there is no delayed motion
 +-				 * event. */
 +-    /*
 +-     * Miscellaneous information:
 +-     */
 +-
 +-#ifdef TK_USE_INPUT_METHODS
 +-    XIM inputMethod;		/* Input method for this display */
 +-#endif /* TK_USE_INPUT_METHODS */
 +-    Tcl_HashTable winTable;	/* Maps from X window ids to TkWindow ptrs. */
 +-#if (TK_MAJOR_VERSION > 4)
 +-    int refCount;		/* Reference count of how many Tk applications
 +-                                 * are using this display. Used to clean up
 +-                                 * the display when we no longer have any
 +-                                 * Tk applications using it.
 +-                                 */
 +-#endif /* TK_MAJOR_VERSION > 4 */
 +-
 +-} TkDisplay;
 +-
 +-#endif /* TK_VERSION_NUMBER >= _VERSION(8,1,0) */
 +-
 +-
 +-struct TkWindowStruct {
 +-    Display *display;
 +-    TkDisplay *dispPtr;
 +-    int screenNum;
 +-    Visual *visual;
 +-    int depth;
 +-    Window window;
 +-    TkWindow *childList;
 +-    TkWindow *lastChildPtr;
 +-    TkWindow *parentPtr;
 +-    TkWindow *nextPtr;
 +-    TkMainInfo *infoPtr;
 +-    char *pathName;
 +-    Tk_Uid nameUid;
 +-    Tk_Uid classUid;
 +-    XWindowChanges changes;
 +-    unsigned int dirtyChanges;
 +-    XSetWindowAttributes atts;
 +-    unsigned long dirtyAtts;
 +-    unsigned int flags;
 +-    TkEventHandler *handlerList;
 +-#ifdef TK_USE_INPUT_METHODS
 +-    XIC inputContext;
 +-#endif /* TK_USE_INPUT_METHODS */
 +-    ClientData *tagPtr;
 +-    int nTags;
 +-    int optionLevel;
 +-    TkSelHandler *selHandlerList;
 +-    Tk_GeomMgr *geomMgrPtr;
 +-    ClientData geomData;
 +-    int reqWidth, reqHeight;
 +-    int internalBorderWidth;
 +-    TkWinInfo *wmInfoPtr;
 +-#if (TK_MAJOR_VERSION > 4)
 +-    TkClassProcs *classProcsPtr;
 +-    ClientData instanceData;
 +-#endif
 +-    TkWindowPrivate *privatePtr;
 +-};
 +-
 + #ifdef WIN32
 + /*
 +  *----------------------------------------------------------------------
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__tkButton.c x11-toolkits/blt/files/patch-src__tkButton.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__tkButton.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__tkButton.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,20 @@
 +--- src/tkButton.c.orig
 ++++ src/tkButton.c
 +@@ -526,8 +526,6 @@
 + static Blt_TileChangedProc TileChangedProc;
 + static Tcl_CmdProc ButtonCmd, LabelCmd, CheckbuttonCmd, RadiobuttonCmd;
 + 
 +-EXTERN int TkCopyAndGlobalEval _ANSI_ARGS_((Tcl_Interp *interp, char *script));
 +-
 + #if (TK_MAJOR_VERSION > 4)
 + EXTERN void TkComputeAnchor _ANSI_ARGS_((Tk_Anchor anchor, Tk_Window tkwin, 
 + 	int padX, int padY, int innerWidth, int innerHeight, int *xPtr, 
 +@@ -1890,7 +1888,7 @@
 + 	}
 +     }
 +     if ((butPtr->type != TYPE_LABEL) && (butPtr->command != NULL)) {
 +-	return TkCopyAndGlobalEval(butPtr->interp, butPtr->command);
 ++	return Tcl_EvalObjEx(butPtr->interp, butPtr->command, TCL_EVAL_GLOBAL);
 +     }
 +     return TCL_OK;
 + }
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-src__tkFrame.c x11-toolkits/blt/files/patch-src__tkFrame.c
 --- /usr/ports/x11-toolkits/blt/files/patch-src__tkFrame.c	1970-01-01 09:00:00.000000000 +0900
 +++ x11-toolkits/blt/files/patch-src__tkFrame.c	2013-11-01 00:00:00.000000000 +0900
 @@ -0,0 +1,307 @@
 +--- src/tkFrame.c.orig
 ++++ src/tkFrame.c
 +@@ -116,7 +116,7 @@
 +     int flags;			/* Various flags;  see below for
 + 				 * definitions. */
 +     Blt_Tile tile;
 +-} Frame;
 ++} bltFrame;
 + 
 + /*
 +  * Flag bits for frames:
 +@@ -143,65 +143,65 @@
 + static Tk_ConfigSpec configSpecs[] =
 + {
 +     {TK_CONFIG_BORDER, "-background", "background", "Background",
 +-	DEF_FRAME_BACKGROUND, Tk_Offset(Frame, border),
 ++	DEF_FRAME_BACKGROUND, Tk_Offset(bltFrame, border),
 + 	BOTH | TK_CONFIG_COLOR_ONLY | TK_CONFIG_NULL_OK},
 +     {TK_CONFIG_BORDER, "-background", "background", "Background",
 +-	DEF_FRAME_BG_MONO, Tk_Offset(Frame, border),
 ++	DEF_FRAME_BG_MONO, Tk_Offset(bltFrame, border),
 + 	BOTH | TK_CONFIG_MONO_ONLY | TK_CONFIG_NULL_OK},
 +     {TK_CONFIG_SYNONYM, "-bd", "borderWidth", (char *)NULL,
 + 	(char *)NULL, 0, BOTH},
 +     {TK_CONFIG_SYNONYM, "-bg", "background", (char *)NULL,
 + 	(char *)NULL, 0, BOTH},
 +     {TK_CONFIG_PIXELS, "-borderwidth", "borderWidth", "BorderWidth",
 +-	DEF_FRAME_BORDERWIDTH, Tk_Offset(Frame, borderWidth), BOTH},
 ++	DEF_FRAME_BORDERWIDTH, Tk_Offset(bltFrame, borderWidth), BOTH},
 +     {TK_CONFIG_STRING, "-class", "class", "Class",
 +-	DEF_FRAME_CLASS, Tk_Offset(Frame, className), FRAME},
 ++	DEF_FRAME_CLASS, Tk_Offset(bltFrame, className), FRAME},
 +     {TK_CONFIG_STRING, "-class", "class", "Class",
 +-	DEF_TOPLEVEL_CLASS, Tk_Offset(Frame, className), TOPLEVEL},
 ++	DEF_TOPLEVEL_CLASS, Tk_Offset(bltFrame, className), TOPLEVEL},
 +     {TK_CONFIG_STRING, "-colormap", "colormap", "Colormap",
 +-	DEF_FRAME_COLORMAP, Tk_Offset(Frame, colormapName),
 ++	DEF_FRAME_COLORMAP, Tk_Offset(bltFrame, colormapName),
 + 	BOTH | TK_CONFIG_NULL_OK},
 + #if (TK_MAJOR_VERSION > 4)
 +     {TK_CONFIG_BOOLEAN, "-container", "container", "Container",
 +-	DEF_FRAME_CONTAINER, Tk_Offset(Frame, isContainer), BOTH},
 ++	DEF_FRAME_CONTAINER, Tk_Offset(bltFrame, isContainer), BOTH},
 + #endif /* TK_MAJOR_VERSION > 4 */
 +     {TK_CONFIG_ACTIVE_CURSOR, "-cursor", "cursor", "Cursor",
 +-	DEF_FRAME_CURSOR, Tk_Offset(Frame, cursor), BOTH | TK_CONFIG_NULL_OK},
 ++	DEF_FRAME_CURSOR, Tk_Offset(bltFrame, cursor), BOTH | TK_CONFIG_NULL_OK},
 +     {TK_CONFIG_PIXELS, "-height", "height", "Height",
 +-	DEF_FRAME_HEIGHT, Tk_Offset(Frame, height), BOTH},
 ++	DEF_FRAME_HEIGHT, Tk_Offset(bltFrame, height), BOTH},
 +     {TK_CONFIG_COLOR, "-highlightbackground", "highlightBackground",
 + 	"HighlightBackground", DEF_FRAME_HIGHLIGHT_BG,
 +-	Tk_Offset(Frame, highlightBgColorPtr), BOTH},
 ++	Tk_Offset(bltFrame, highlightBgColorPtr), BOTH},
 +     {TK_CONFIG_COLOR, "-highlightcolor", "highlightColor", "HighlightColor",
 +-	DEF_FRAME_HIGHLIGHT, Tk_Offset(Frame, highlightColorPtr), BOTH},
 ++	DEF_FRAME_HIGHLIGHT, Tk_Offset(bltFrame, highlightColorPtr), BOTH},
 +     {TK_CONFIG_PIXELS, "-highlightthickness", "highlightThickness",
 + 	"HighlightThickness",
 +-	DEF_FRAME_HIGHLIGHT_WIDTH, Tk_Offset(Frame, highlightWidth), BOTH},
 ++	DEF_FRAME_HIGHLIGHT_WIDTH, Tk_Offset(bltFrame, highlightWidth), BOTH},
 + #if (TK_MAJOR_VERSION > 4)
 +     {TK_CONFIG_STRING, "-menu", "menu", "Menu",
 +-	DEF_TOPLEVEL_MENU, Tk_Offset(Frame, menuName),
 ++	DEF_TOPLEVEL_MENU, Tk_Offset(bltFrame, menuName),
 + 	TOPLEVEL | TK_CONFIG_NULL_OK},
 + #endif /* TK_MAJOR_VERSION > 4 */
 +     {TK_CONFIG_RELIEF, "-relief", "relief", "Relief",
 +-	DEF_FRAME_RELIEF, Tk_Offset(Frame, relief), BOTH},
 ++	DEF_FRAME_RELIEF, Tk_Offset(bltFrame, relief), BOTH},
 +     {TK_CONFIG_STRING, "-screen", "screen", "Screen",
 +-	DEF_TOPLEVEL_SCREEN, Tk_Offset(Frame, screenName),
 ++	DEF_TOPLEVEL_SCREEN, Tk_Offset(bltFrame, screenName),
 + 	TOPLEVEL | TK_CONFIG_NULL_OK},
 +     {TK_CONFIG_STRING, "-takefocus", "takeFocus", "TakeFocus",
 +-	DEF_FRAME_TAKE_FOCUS, Tk_Offset(Frame, takeFocus),
 ++	DEF_FRAME_TAKE_FOCUS, Tk_Offset(bltFrame, takeFocus),
 + 	BOTH | TK_CONFIG_NULL_OK},
 +     {TK_CONFIG_CUSTOM, "-tile", "tile", "Tile",
 +-	(char *)NULL, Tk_Offset(Frame, tile), BOTH | TK_CONFIG_NULL_OK,
 ++	(char *)NULL, Tk_Offset(bltFrame, tile), BOTH | TK_CONFIG_NULL_OK,
 + 	&bltTileOption},
 + #if (TK_MAJOR_VERSION > 4)
 +     {TK_CONFIG_STRING, "-use", "use", "Use",
 +-	DEF_FRAME_USE, Tk_Offset(Frame, useThis), TOPLEVEL|TK_CONFIG_NULL_OK},
 ++	DEF_FRAME_USE, Tk_Offset(bltFrame, useThis), TOPLEVEL|TK_CONFIG_NULL_OK},
 + #endif
 +     {TK_CONFIG_STRING, "-visual", "visual", "Visual",
 +-	DEF_FRAME_VISUAL, Tk_Offset(Frame, visualName),
 ++	DEF_FRAME_VISUAL, Tk_Offset(bltFrame, visualName),
 + 	BOTH | TK_CONFIG_NULL_OK},
 +     {TK_CONFIG_PIXELS, "-width", "width", "Width",
 +-	DEF_FRAME_WIDTH, Tk_Offset(Frame, width), BOTH},
 ++	DEF_FRAME_WIDTH, Tk_Offset(bltFrame, width), BOTH},
 +     {TK_CONFIG_END, (char *)NULL, (char *)NULL, (char *)NULL,
 + 	(char *)NULL, 0, 0}
 + };
 +@@ -211,7 +211,7 @@
 +  */
 + 
 + static int ConfigureFrame _ANSI_ARGS_((Tcl_Interp *interp,
 +-	Frame * framePtr, int argc, char **argv,
 ++	bltFrame * framePtr, int argc, CONST84 char **argv,
 + 	int flags));
 + static void DestroyFrame _ANSI_ARGS_((DestroyData *memPtr));
 + static void DisplayFrame _ANSI_ARGS_((ClientData clientData));
 +@@ -219,27 +219,16 @@
 + 	ClientData clientData));
 + static void FrameEventProc _ANSI_ARGS_((ClientData clientData,
 + 	XEvent *eventPtr));
 +-static int FrameWidgetCmd _ANSI_ARGS_((ClientData clientData,
 +-	Tcl_Interp *interp, int argc, char **argv));
 + static void MapFrame _ANSI_ARGS_((ClientData clientData));
 + 
 + static Blt_TileChangedProc TileChangedProc;
 +-static Tcl_CmdProc FrameCmd, ToplevelCmd;
 ++static Tcl_CmdProc FrameCmd, ToplevelCmd, FrameWidgetCmd;
 + 
 +-#ifdef TILE_MAINWINDOW
 +-EXTERN
 +-#else
 + static
 +-#endif
 +-int TkCreateFrame _ANSI_ARGS_((ClientData clientData,
 +-	Tcl_Interp *interp, int argc, char **argv,
 ++int BltCreateFrame _ANSI_ARGS_((ClientData clientData,
 ++	Tcl_Interp *interp, int argc, CONST84 char **argv,
 + 	int toplevel, char *appName));
 + 
 +-EXTERN void TkSetWindowMenuBar _ANSI_ARGS_((Tcl_Interp *interp, Tk_Window tkwin,
 +-        char *oldMenuName, char *menuName));
 +-
 +-EXTERN Tk_Window TkCreateMainWindow _ANSI_ARGS_((Tcl_Interp * interp, 
 +-	char * screenName, char * baseName));
 + #if (TK_MAJOR_VERSION == 8) && (TK_MINOR_VERSION > 3)
 + #define TkSetClassProcs	Tk_SetClassProcs
 + #else 
 +@@ -247,10 +236,10 @@
 + 	ClientData instanceData));
 + #endif /* TK_MAJOR_VERSION == 8 && TK_MINOR_VERSION > 3 */
 + 
 ++#if 0
 + EXTERN void TkpSetMainMenubar _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin,
 + 	char * menuName));
 +-EXTERN int TkpUseWindow _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, 
 +-	char * string));
 ++#endif
 + EXTERN void TkpMakeContainer _ANSI_ARGS_((Tk_Window tkwin));
 + 
 + 
 +@@ -279,9 +268,9 @@
 + 				 * interpreter. */
 +     Tcl_Interp *interp;		/* Current interpreter. */
 +     int argc;			/* Number of arguments. */
 +-    char **argv;		/* Argument strings. */
 ++    CONST84 char **argv;		/* Argument strings. */
 + {
 +-    return TkCreateFrame(clientData, interp, argc, argv, 0, (char *)NULL);
 ++    return BltCreateFrame(clientData, interp, argc, argv, 0, (char *)NULL);
 + }
 + 
 + static int
 +@@ -290,9 +279,9 @@
 + 				 * interpreter. */
 +     Tcl_Interp *interp;		/* Current interpreter. */
 +     int argc;			/* Number of arguments. */
 +-    char **argv;		/* Argument strings. */
 ++    CONST84 char **argv;		/* Argument strings. */
 + {
 +-    return TkCreateFrame(clientData, interp, argc, argv, 1, (char *)NULL);
 ++    return BltCreateFrame(clientData, interp, argc, argv, 1, (char *)NULL);
 + }
 + 
 + /*
 +@@ -319,20 +308,20 @@
 + static
 + #endif /* TILE_MAINWINDOW */
 + int
 +-TkCreateFrame(clientData, interp, argc, argv, toplevel, appName)
 ++BltCreateFrame(clientData, interp, argc, argv, toplevel, appName)
 +     ClientData clientData;	/* Main window associated with interpreter.
 + 				 * If we're called by Tk_Init to create a
 + 				 * new application, then this is NULL. */
 +     Tcl_Interp *interp;		/* Current interpreter. */
 +     int argc;			/* Number of arguments. */
 +-    char **argv;		/* Argument strings. */
 ++    CONST84 char *argv[];	/* Argument strings. */
 +     int toplevel;		/* Non-zero means create a toplevel window,
 + 				 * zero means create a frame. */
 +     char *appName;		/* Should only be non-NULL if clientData is
 + 				 * NULL:  gives the base name to use for the
 + 				 * new application. */
 + {
 +-    Frame *framePtr;
 ++    bltFrame *framePtr;
 +     Tk_Window new;
 +     char *className, *screenName, *visualName, *colormapName, *arg, *useOption;
 +     int i, c, length, depth;
 +@@ -407,7 +396,7 @@
 + 	 */
 + 
 + 	if (appName == NULL) {
 +-	    panic("TkCreateFrame didn't get application name");
 ++	    panic("BltCreateFrame didn't get application name");
 + 	}
 + 	new = (Tk_Window)TkCreateMainWindow(interp, screenName, appName);
 +     }
 +@@ -467,7 +456,7 @@
 +      * in the widget record from the special options.
 +      */
 + 
 +-    framePtr = Blt_Malloc(sizeof(Frame));
 ++    framePtr = Blt_Malloc(sizeof(bltFrame));
 +     framePtr->tkwin = new;
 +     framePtr->display = Tk_Display(new);
 +     framePtr->interp = interp;
 +@@ -558,9 +547,9 @@
 +     ClientData clientData;	/* Information about frame widget. */
 +     Tcl_Interp *interp;		/* Current interpreter. */
 +     int argc;			/* Number of arguments. */
 +-    char **argv;		/* Argument strings. */
 ++    CONST84 char *argv[];		/* Argument strings. */
 + {
 +-    register Frame *framePtr = (Frame *) clientData;
 ++    register bltFrame *framePtr = (bltFrame *) clientData;
 +     int result;
 +     size_t length;
 +     int c, i;
 +@@ -660,7 +649,7 @@
 + DestroyFrame(memPtr)
 +     DestroyData *memPtr;	/* Info about frame widget. */
 + {
 +-    register Frame *framePtr = (Frame *) memPtr;
 ++    register bltFrame *framePtr = (bltFrame *) memPtr;
 +     
 +     Tk_FreeOptions(configSpecs, (char *)framePtr, framePtr->display,
 + 	framePtr->mask);
 +@@ -689,7 +678,7 @@
 +     ClientData clientData;
 +     Blt_Tile tile;
 + {
 +-    Frame *framePtr = (Frame *) clientData;
 ++    bltFrame *framePtr = (bltFrame *) clientData;
 + 
 +     if (framePtr->tkwin != NULL) {
 + 	if (!(framePtr->flags & REDRAW_PENDING)) {
 +@@ -723,10 +712,10 @@
 + static int
 + ConfigureFrame(interp, framePtr, argc, argv, flags)
 +     Tcl_Interp *interp;		/* Used for error reporting. */
 +-    register Frame *framePtr;	/* Information about widget;  may or may
 ++    register bltFrame *framePtr;	/* Information about widget;  may or may
 + 				 * not already have values for some fields. */
 +     int argc;			/* Number of valid entries in argv. */
 +-    char **argv;		/* Arguments. */
 ++    CONST84 char **argv;		/* Arguments. */
 +     int flags;			/* Flags to pass to Tk_ConfigureWidget. */
 + {
 + #if (TK_MAJOR_VERSION > 4)
 +@@ -810,7 +799,7 @@
 + DisplayFrame(clientData)
 +     ClientData clientData;	/* Information about widget. */
 + {
 +-    register Frame *framePtr = (Frame *) clientData;
 ++    register bltFrame *framePtr = (bltFrame *) clientData;
 +     register Tk_Window tkwin = framePtr->tkwin;
 +     GC gc;
 + 
 +@@ -877,7 +866,7 @@
 +     ClientData clientData;	/* Information about window. */
 +     register XEvent *eventPtr;	/* Information about event. */
 + {
 +-    register Frame *framePtr = (Frame *) clientData;
 ++    register bltFrame *framePtr = (bltFrame *) clientData;
 + 
 +     if (((eventPtr->type == Expose) && (eventPtr->xexpose.count == 0))
 + 	|| (eventPtr->type == ConfigureNotify)) {
 +@@ -964,7 +953,7 @@
 + FrameCmdDeletedProc(clientData)
 +     ClientData clientData;	/* Pointer to widget record for widget. */
 + {
 +-    Frame *framePtr = (Frame *) clientData;
 ++    bltFrame *framePtr = (bltFrame *) clientData;
 +     Tk_Window tkwin = framePtr->tkwin;
 + 
 + #if (TK_MAJOR_VERSION > 4)
 +@@ -1010,7 +999,7 @@
 + MapFrame(clientData)
 +     ClientData clientData;	/* Pointer to frame structure. */
 + {
 +-    Frame *framePtr = (Frame *) clientData;
 ++    bltFrame *framePtr = (bltFrame *) clientData;
 + 
 +     /*
 +      * Wait for all other background events to be processed before
 +@@ -1067,9 +1056,9 @@
 + #define Tk_InstanceData(tkwin)	(((Tk_FakeWin *)(tkwin))->dummy18)
 + #define Tk_MainPtr(tkwin)	(((Tk_FakeWin *)(tkwin))->dummy5)
 +     if (Tk_MainPtr(tkwin) != NULL) {
 +-	Frame *framePtr;
 ++	bltFrame *framePtr;
 + 
 +-	framePtr = (Frame *) Tk_InstanceData(tkwin);
 ++	framePtr = (bltFrame *) Tk_InstanceData(tkwin);
 + 	TkpMenuNotifyToplevelCreate(framePtr->interp, framePtr->menuName);
 +     }
 + #endif /* TK_MAJOR_VERSION > 4 */
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-use-tkInt x11-toolkits/blt/files/patch-use-tkInt
 --- /usr/ports/x11-toolkits/blt/files/patch-use-tkInt	2013-06-21 03:54:39.000000000 +0900
 +++ x11-toolkits/blt/files/patch-use-tkInt	1970-01-01 09:00:00.000000000 +0900
 @@ -1,1315 +0,0 @@
 ---- src/bltTkInt.h	2001-12-06 00:30:15.000000000 -0500
 -+++ src/bltTkInt.h	2010-01-25 18:57:52.000000000 -0500
 -@@ -28,213 +28,7 @@
 - #define _BLT_TKINT_H
 - 
 --typedef struct {
 --    Tk_Uid family;		/* Font family. The most important field. */
 --    int pointsize;		/* Pointsize of font, 0 for default size, or
 --				 * negative number meaning pixel size. */
 --    int weight;			/* Weight flag; see below for def'n. */
 --    int slant;			/* Slant flag; see below for def'n. */
 --    int underline;		/* Non-zero for underline font. */
 --    int overstrike;		/* Non-zero for overstrike font. */
 --} TkFontAttributes;
 --
 --typedef struct {
 --    int ascent;			/* From baseline to top of font. */
 --    int descent;		/* From baseline to bottom of font. */
 --    int maxWidth;		/* Width of widest character in font. */
 --    int fixed;			/* Non-zero if this is a fixed-width font,
 --				 * 0 otherwise. */
 --} TkFontMetrics;
 --
 --
 --typedef struct TkFontStruct {
 --    /*
 --     * Fields used and maintained exclusively by generic code.
 --     */
 --#if (TK_VERSION_NUMBER >= _VERSION(8,1,0))
 --    int resourceRefCount;	/* Number of active uses of this font (each
 --				 * active use corresponds to a call to
 --				 * Tk_AllocFontFromTable or Tk_GetFont).
 --				 * If this count is 0, then this TkFont
 --				 * structure is no longer valid and it isn't
 --				 * present in a hash table: it is being
 --				 * kept around only because there are objects
 --				 * referring to it.  The structure is freed
 --				 * when resourceRefCount and objRefCount
 --				 * are both 0. */
 --    int objRefCount;		/* The number of Tcl objects that reference
 --				 * this structure. */
 --#else
 --    int refCount;		/* Number of users of the TkFont. */
 --#endif
 --    Tcl_HashEntry *cacheHashPtr;/* Entry in font cache for this structure,
 --				 * used when deleting it. */
 --    Tcl_HashEntry *namedHashPtr;/* Pointer to hash table entry that
 --				 * corresponds to the named font that the
 --				 * tkfont was based on, or NULL if the tkfont
 --				 * was not based on a named font. */
 --#if (TK_VERSION_NUMBER >= _VERSION(8,1,0))
 --    Screen *screen;		/* The screen where this font is valid. */
 --#endif /* TK_VERSION_NUMBER >= 8.1.0 */
 --    int tabWidth;		/* Width of tabs in this font (pixels). */
 --    int underlinePos;		/* Offset from baseline to origin of
 --				 * underline bar (used for drawing underlines
 --				 * on a non-underlined font). */
 --    int underlineHeight;	/* Height of underline bar (used for drawing
 --				 * underlines on a non-underlined font). */
 --
 --    /*
 --     * Fields in the generic font structure that are filled in by
 --     * platform-specific code.
 --     */
 --
 --    Font fid;			/* For backwards compatibility with XGCValues
 --				 * structures.  Remove when TkGCValues is
 --				 * implemented.  */
 --    TkFontAttributes fa;	/* Actual font attributes obtained when the
 --				 * the font was created, as opposed to the
 --				 * desired attributes passed in to
 --				 * TkpGetFontFromAttributes().  The desired
 --				 * metrics can be determined from the string
 --				 * that was used to create this font. */
 --    TkFontMetrics fm;		/* Font metrics determined when font was
 --				 * created. */
 --#if (TK_VERSION_NUMBER >= _VERSION(8,1,0))
 --    struct TkFontStruct *nextPtr;	/* Points to the next TkFont structure with
 --				 * the same name.  All fonts with the
 --				 * same name (but different displays) are
 --				 * chained together off a single entry in
 --				 * a hash table. */
 --#endif /* TK_VERSION_NUMBER >= 8.1.0 */
 --} TkFont;
 --
 --/*
 -- * This structure is used by the Mac and Window porting layers as
 -- * the internal representation of a clip_mask in a GC.
 -- */
 --typedef struct TkRegionStruct *TkRegion;
 --
 --typedef struct {
 --    int type;			/* One of TKP_CLIP_PIXMAP or TKP_CLIP_REGION */
 --    union {
 --	Pixmap pixmap;
 --	TkRegion region;
 --    } value;
 --} TkpClipMask;
 --
 --#define TKP_CLIP_PIXMAP 0
 --#define TKP_CLIP_REGION 1
 --
 --#ifdef WIN32
 --/*
 -- * The TkWinDrawable is the internal implementation of an X Drawable (either
 -- * a Window or a Pixmap).  The following constants define the valid Drawable
 -- * types.
 -- */
 --
 --#define TWD_BITMAP	1
 --#define TWD_WINDOW	2
 --#define TWD_WINDC	3
 --
 --typedef struct TkWindowStruct TkWindow;
 --
 --typedef struct {
 --    int type;
 --    HWND handle;
 --    TkWindow *winPtr;
 --} TkWinWindow;
 --
 --typedef struct {
 --    int type;
 --    HBITMAP handle;
 --    Colormap colormap;
 --    int depth;
 --} TkWinBitmap;
 --
 --typedef struct {
 --    int type;
 --    HDC hdc;
 --} TkWinDC;
 --
 --typedef union {
 --    int type;
 --    TkWinWindow window;
 --    TkWinBitmap bitmap;
 --    TkWinDC winDC;
 --} TkWinDrawable;
 --
 --/*
 -- * The TkWinDCState is used to save the state of a device context
 -- * so that it can be restored later.
 -- */
 --
 --typedef struct {
 --    HPALETTE palette;
 --    int bkmode;			/* This field was added in Tk
 --				 * 8.3.1. Be careful that you don't 
 --				 * use this structure in a context
 --				 * where its size is important.  */
 --} TkWinDCState;
 --
 --extern HDC TkWinGetDrawableDC(Display *display, Drawable drawable,
 --    TkWinDCState * state);
 --extern HDC TkWinReleaseDrawableDC(Drawable drawable, HDC dc,
 --    TkWinDCState * state);
 --
 --extern HWND Tk_GetHWND _ANSI_ARGS_((Window window));
 --
 --extern HINSTANCE Tk_GetHINSTANCE _ANSI_ARGS_((void));
 --
 --extern Window Tk_AttachHWND _ANSI_ARGS_((Tk_Window tkwin, HWND hWnd));
 --
 --#endif /* WIN32 */
 --
 --/*
 -- * The Border structure used internally by the Tk_3D* routines.
 -- * The following is a copy of it from tk3d.c.
 -- */
 --
 --typedef struct TkBorderStruct {
 --    Screen *screen;		/* Screen on which the border will be used. */
 --    Visual *visual;		/* Visual for all windows and pixmaps using
 --				 * the border. */
 --    int depth;			/* Number of bits per pixel of drawables where
 --				 * the border will be used. */
 --    Colormap colormap;		/* Colormap out of which pixels are
 --				 * allocated. */
 --    int refCount;		/* Number of different users of
 --				 * this border.  */
 --#if (TK_VERSION_NUMBER >= _VERSION(8,1,0))
 --    int objRefCount;		/* The number of Tcl objects that reference
 --				 * this structure. */
 --#endif /* TK_VERSION_NUMBER >= 8.1.0 */
 --    XColor *bgColor;		/* Background color (intensity between 
 --				 * lightColorPtr and darkColorPtr). */
 --    XColor *darkColor;		/* Color for darker areas (must free when
 --				 * deleting structure). NULL means shadows
 --				 * haven't been allocated yet.*/
 --    XColor *lightColor;		/* Color used for lighter areas of border
 --				 * (must free this when deleting structure).
 --				 * NULL means shadows haven't been allocated
 --				 * yet. */
 --    Pixmap shadow;		/* Stipple pattern to use for drawing
 --				 * shadows areas.  Used for displays with
 --				 * <= 64 colors or where colormap has filled
 --				 * up. */
 --    GC bgGC;			/* Used (if necessary) to draw areas in
 --				 * the background color. */
 --    GC darkGC;			/* Used to draw darker parts of the
 --				 * border. None means the shadow colors
 --				 * haven't been allocated yet.*/
 --    GC lightGC;			/* Used to draw lighter parts of
 --				 * the border. None means the shadow colors
 --				 * haven't been allocated yet. */
 --    Tcl_HashEntry *hashPtr;	/* Entry in borderTable (needed in
 --				 * order to delete structure). */
 --    struct TkBorderStruct *nextPtr; /* Points to the next TkBorder structure with
 --				 * the same color name.  Borders with the
 --				 * same name but different screens or
 --				 * colormaps are chained together off a
 --				 * single entry in borderTable. */
 --} TkBorder;
 -+#include <tkInt.h>
 -+#include <tk3d.h>
 -+#include <tkFont.h>
 - 
 - #endif /* BLT_TKINT_H */
 ---- src/bltWindow.c	2002-09-18 23:02:09.000000000 -0400
 -+++ src/bltWindow.c	2010-01-25 18:47:25.000000000 -0500
 -@@ -34,23 +34,5 @@
 - #endif
 - 
 --typedef struct TkIdStackStruct TkIdStack;
 --typedef struct TkErrorHandlerStruct TkErrorHandler;
 --typedef struct TkSelectionInfoStruct TkSelectionInfo;
 --typedef struct TkClipboardTargetStruct TkClipboardTarget;
 --
 --#ifndef WIN32
 --typedef struct TkWindowStruct TkWindow;
 --#endif
 --typedef struct TkWindowEventStruct TkWindowEvent;
 --typedef struct TkMainInfoStruct TkMainInfo;
 --typedef struct TkEventHandlerStruct TkEventHandler;
 --typedef struct TkSelHandlerStruct TkSelHandler;
 --typedef struct TkWinInfoStruct TkWinInfo;
 --typedef struct TkClassProcsStruct TkClassProcs;
 --typedef struct TkWindowPrivateStruct TkWindowPrivate;
 --typedef struct TkGrabEventStruct TkGrabEvent;
 --typedef struct TkColormapStruct TkColormap;
 --typedef struct TkStressedCmapStruct TkStressedCmap;
 --typedef struct TkWmInfoStruct TkWmInfo;
 -+#include <tkInt.h>
 - 
 - #ifdef XNQueryInputStyle
 -@@ -71,750 +53,4 @@
 - #endif
 - 
 --#if (TK_VERSION_NUMBER >= _VERSION(8,1,0))
 --
 --typedef struct TkCaret {
 --    struct TkWindow *winPtr;	/* the window on which we requested caret
 --				 * placement */
 --    int x;			/* relative x coord of the caret */
 --    int y;			/* relative y coord of the caret */
 --    int height;			/* specified height of the window */
 --} TkCaret;
 --
 --/*
 -- * One of the following structures is maintained for each display
 -- * containing a window managed by Tk.  In part, the structure is
 -- * used to store thread-specific data, since each thread will have
 -- * its own TkDisplay structure.
 -- */
 --
 --typedef struct TkDisplayStruct {
 --    Display *display;		/* Xlib's info about display. */
 --    struct TkDisplayStruct *nextPtr; /* Next in list of all displays. */
 --    char *name;			/* Name of display (with any screen
 --				 * identifier removed).  Malloc-ed. */
 --    Time lastEventTime;		/* Time of last event received for this
 --				 * display. */
 --
 --    /*
 --     * Information used primarily by tk3d.c:
 --     */
 --
 --    int borderInit;		/* 0 means borderTable needs initializing. */
 --    Tcl_HashTable borderTable;	/* Maps from color name to TkBorder
 --				 * structure. */
 --
 --    /*
 --     * Information used by tkAtom.c only:
 --     */
 --
 --    int atomInit;		/* 0 means stuff below hasn't been
 --				 * initialized yet. */
 --    Tcl_HashTable nameTable;	/* Maps from names to Atom's. */
 --    Tcl_HashTable atomTable;	/* Maps from Atom's back to names. */
 --
 --    /*
 --     * Information used primarily by tkBind.c:
 --     */
 --
 --    int bindInfoStale;		/* Non-zero means the variables in this
 --				 * part of the structure are potentially
 --				 * incorrect and should be recomputed. */
 --    unsigned int modeModMask;	/* Has one bit set to indicate the modifier
 --				 * corresponding to "mode shift".  If no
 --				 * such modifier, than this is zero. */
 --    unsigned int metaModMask;	/* Has one bit set to indicate the modifier
 --				 * corresponding to the "Meta" key.  If no
 --				 * such modifier, then this is zero. */
 --    unsigned int altModMask;	/* Has one bit set to indicate the modifier
 --				 * corresponding to the "Meta" key.  If no
 --				 * such modifier, then this is zero. */
 --    enum {
 --	LU_IGNORE, LU_CAPS, LU_SHIFT
 --    } lockUsage;		/* Indicates how to interpret lock modifier. */
 --    int numModKeyCodes;		/* Number of entries in modKeyCodes array
 --				 * below. */
 --    KeyCode *modKeyCodes;	/* Pointer to an array giving keycodes for
 --				 * all of the keys that have modifiers
 --				 * associated with them.  Malloc'ed, but
 --				 * may be NULL. */
 --
 --    /*
 --     * Information used by tkBitmap.c only:
 --     */
 --
 --    int bitmapInit;		/* 0 means tables above need initializing. */
 --    int bitmapAutoNumber;	/* Used to number bitmaps. */
 --    Tcl_HashTable bitmapNameTable;
 --				/* Maps from name of bitmap to the first
 --				 * TkBitmap record for that name. */
 --    Tcl_HashTable bitmapIdTable;/* Maps from bitmap id to the TkBitmap
 --				 * structure for the bitmap. */
 --    Tcl_HashTable bitmapDataTable;
 --				/* Used by Tk_GetBitmapFromData to map from
 --				 * a collection of in-core data about a
 --				 * bitmap to a reference giving an auto-
 --				 * matically-generated name for the bitmap. */
 --
 --    /*
 --     * Information used by tkCanvas.c only:
 --     */
 --
 --    int numIdSearches;
 --    int numSlowSearches;
 --
 --    /*
 --     * Used by tkColor.c only:
 --     */
 --
 --    int colorInit;		/* 0 means color module needs initializing. */
 --    TkStressedCmap *stressPtr;	/* First in list of colormaps that have
 --				 * filled up, so we have to pick an
 --				 * approximate color. */
 --    Tcl_HashTable colorNameTable;
 --				/* Maps from color name to TkColor structure
 --				 * for that color. */
 --    Tcl_HashTable colorValueTable;
 --				/* Maps from integer RGB values to TkColor
 --				 * structures. */
 --
 --    /*
 --     * Used by tkCursor.c only:
 --     */
 --
 --    int cursorInit;		/* 0 means cursor module need initializing. */
 --    Tcl_HashTable cursorNameTable;
 --				/* Maps from a string name to a cursor to the
 --				 * TkCursor record for the cursor. */
 --    Tcl_HashTable cursorDataTable;
 --				/* Maps from a collection of in-core data
 --				 * about a cursor to a TkCursor structure. */
 --    Tcl_HashTable cursorIdTable;
 --				/* Maps from a cursor id to the TkCursor
 --				 * structure for the cursor. */
 --    char cursorString[20];	/* Used to store a cursor id string. */
 --    Font cursorFont;		/* Font to use for standard cursors.
 --				 * None means font not loaded yet. */
 --
 --    /*
 --     * Information used by tkError.c only:
 --     */
 --
 --    struct TkErrorHandler *errorPtr;
 --				/* First in list of error handlers
 --				 * for this display.  NULL means
 --				 * no handlers exist at present. */
 --    int deleteCount;		/* Counts # of handlers deleted since
 --				 * last time inactive handlers were
 --				 * garbage-collected.  When this number
 --				 * gets big, handlers get cleaned up. */
 --
 --    /*
 --     * Used by tkEvent.c only:
 --     */
 --
 --    struct TkWindowEvent *delayedMotionPtr;
 --				/* Points to a malloc-ed motion event
 --				 * whose processing has been delayed in
 --				 * the hopes that another motion event
 --				 * will come along right away and we can
 --				 * merge the two of them together.  NULL
 --				 * means that there is no delayed motion
 --				 * event. */
 --
 --    /*
 --     * Information used by tkFocus.c only:
 --     */
 --
 --    int focusDebug;		/* 1 means collect focus debugging
 --				 * statistics. */
 --    struct TkWindow *implicitWinPtr;
 --				/* If the focus arrived at a toplevel window
 --				 * implicitly via an Enter event (rather
 --				 * than via a FocusIn event), this points
 --				 * to the toplevel window.  Otherwise it is
 --				 * NULL. */
 --    struct TkWindow *focusPtr;	/* Points to the window on this display that
 --				 * should be receiving keyboard events.  When
 --				 * multiple applications on the display have
 --				 * the focus, this will refer to the
 --				 * innermost window in the innermost
 --				 * application.  This information isn't used
 --				 * under Unix or Windows, but it's needed on
 --				 * the Macintosh. */
 --
 --    /*
 --     * Information used by tkGC.c only:
 --     */
 --
 --    Tcl_HashTable gcValueTable;	/* Maps from a GC's values to a TkGC structure
 --				 * describing a GC with those values. */
 --    Tcl_HashTable gcIdTable;	/* Maps from a GC to a TkGC. */
 --    int gcInit;			/* 0 means the tables below need
 --				 * initializing. */
 --
 --    /*
 --     * Information used by tkGeometry.c only:
 --     */
 --
 --    Tcl_HashTable maintainHashTable;
 --				/* Hash table that maps from a master's
 --				 * Tk_Window token to a list of slaves
 --				 * managed by that master. */
 --    int geomInit;
 --
 --    /*
 --     * Information used by tkGet.c only:
 --     */
 --
 --    Tcl_HashTable uidTable;	/* Stores all Tk_Uids used in a thread. */
 --    int uidInit;		/* 0 means uidTable needs initializing. */
 --
 --    /*
 --     * Information used by tkGrab.c only:
 --     */
 --
 --    struct TkWindow *grabWinPtr;
 --				/* Window in which the pointer is currently
 --				 * grabbed, or NULL if none. */
 --    struct TkWindow *eventualGrabWinPtr;
 --				/* Value that grabWinPtr will have once the
 --				 * grab event queue (below) has been
 --				 * completely emptied. */
 --    struct TkWindow *buttonWinPtr;
 --				/* Window in which first mouse button was
 --				 * pressed while grab was in effect, or NULL
 --				 * if no such press in effect. */
 --    struct TkWindow *serverWinPtr;
 --				/* If no application contains the pointer then
 --				 * this is NULL.  Otherwise it contains the
 --				 * last window for which we've gotten an
 --				 * Enter or Leave event from the server (i.e.
 --				 * the last window known to have contained
 --				 * the pointer).  Doesn't reflect events
 --				 * that were synthesized in tkGrab.c. */
 --    TkGrabEvent *firstGrabEventPtr;
 --				/* First in list of enter/leave events
 --				 * synthesized by grab code.  These events
 --				 * must be processed in order before any other
 --				 * events are processed.  NULL means no such
 --				 * events. */
 --    TkGrabEvent *lastGrabEventPtr;
 --				/* Last in list of synthesized events, or NULL
 --				 * if list is empty. */
 --    int grabFlags;		/* Miscellaneous flag values.  See definitions
 --				 * in tkGrab.c. */
 --
 --    /*
 --     * Information used by tkGrid.c only:
 --     */
 --
 --    int gridInit;		/* 0 means table below needs initializing. */
 --    Tcl_HashTable gridHashTable;/* Maps from Tk_Window tokens to
 --				 * corresponding Grid structures. */
 --
 --    /*
 --     * Information used by tkImage.c only:
 --     */
 --
 --    int imageId;		/* Value used to number image ids. */
 --
 --    /*
 --     * Information used by tkMacWinMenu.c only:
 --     */
 --
 --    int postCommandGeneration;
 --
 --    /*
 --     * Information used by tkOption.c only.
 --     */
 --
 --
 --
 --    /*
 --     * Information used by tkPack.c only.
 --     */
 --
 --    int packInit;		/* 0 means table below needs initializing. */
 --    Tcl_HashTable packerHashTable;
 --				/* Maps from Tk_Window tokens to
 --				 * corresponding Packer structures. */
 --
 --
 --    /*
 --     * Information used by tkPlace.c only.
 --     */
 --
 --    int placeInit;		/* 0 means tables below need initializing. */
 --    Tcl_HashTable masterTable;	/* Maps from Tk_Window toke to the Master
 --				 * structure for the window, if it exists. */
 --    Tcl_HashTable slaveTable;	/* Maps from Tk_Window toke to the Slave
 --				 * structure for the window, if it exists. */
 --
 --    /*
 --     * Information used by tkSelect.c and tkClipboard.c only:
 --     */
 --
 --
 --    struct TkSelectionInfo *selectionInfoPtr;
 --    /* First in list of selection information
 --				 * records.  Each entry contains information
 --				 * about the current owner of a particular
 --				 * selection on this display. */
 --    Atom multipleAtom;		/* Atom for MULTIPLE.  None means
 --				 * selection stuff isn't initialized. */
 --    Atom incrAtom;		/* Atom for INCR. */
 --    Atom targetsAtom;		/* Atom for TARGETS. */
 --    Atom timestampAtom;		/* Atom for TIMESTAMP. */
 --    Atom textAtom;		/* Atom for TEXT. */
 --    Atom compoundTextAtom;	/* Atom for COMPOUND_TEXT. */
 --    Atom applicationAtom;	/* Atom for TK_APPLICATION. */
 --    Atom windowAtom;		/* Atom for TK_WINDOW. */
 --    Atom clipboardAtom;		/* Atom for CLIPBOARD. */
 --#if (TK_VERSION_NUMBER >= _VERSION(8,4,0))
 --    Atom utf8Atom;
 --#endif
 --    Tk_Window clipWindow;	/* Window used for clipboard ownership and to
 --				 * retrieve selections between processes. NULL
 --				 * means clipboard info hasn't been
 --				 * initialized. */
 --    int clipboardActive;	/* 1 means we currently own the clipboard
 --				 * selection, 0 means we don't. */
 --    struct TkMainInfo *clipboardAppPtr;
 --				/* Last application that owned clipboard. */
 --    struct TkClipboardTarget *clipTargetPtr;
 --				/* First in list of clipboard type information
 --				 * records.  Each entry contains information
 --				 * about the buffers for a given selection
 --				 * target. */
 --
 --    /*
 --     * Information used by tkSend.c only:
 --     */
 --
 --    Tk_Window commTkwin;	/* Window used for communication
 --				 * between interpreters during "send"
 --				 * commands.  NULL means send info hasn't
 --				 * been initialized yet. */
 --    Atom commProperty;		/* X's name for comm property. */
 --    Atom registryProperty;	/* X's name for property containing
 --				 * registry of interpreter names. */
 --    Atom appNameProperty;	/* X's name for property used to hold the
 --				 * application name on each comm window. */
 --
 --    /*
 --     * Information used by tkXId.c only:
 --     */
 --
 --    struct TkIdStack *idStackPtr;
 --				/* First in list of chunks of free resource
 --				 * identifiers, or NULL if there are no free
 --				 * resources. */
 --    XID(*defaultAllocProc) _ANSI_ARGS_((Display *display));
 --				/* Default resource allocator for display. */
 --    struct TkIdStack *windowStackPtr;
 --				/* First in list of chunks of window
 --				 * identifers that can't be reused right
 --				 * now. */
 --#if (TK_VERSION_NUMBER < _VERSION(8,4,0))
 --    int idCleanupScheduled;	/* 1 means a call to WindowIdCleanup has
 --				 * already been scheduled, 0 means it
 --				 * hasn't. */
 --#else
 --    Tcl_TimerToken idCleanupScheduled;
 --				/* If set, it means a call to WindowIdCleanup
 --				 * has already been scheduled, 0 means it
 --				 * hasn't. */
 --#endif
 --    /*
 --     * Information used by tkUnixWm.c and tkWinWm.c only:
 --     */
 --
 --#if (TK_VERSION_NUMBER < _VERSION(8,4,0))
 --    int wmTracing;		/* Used to enable or disable tracing in
 --				 * this module.  If tracing is enabled,
 --				 * then information is printed on
 --				 * standard output about interesting
 --				 * interactions with the window manager. */
 --#endif
 --    struct TkWmInfo *firstWmPtr; /* Points to first top-level window. */
 --    struct TkWmInfo *foregroundWmPtr;
 --				/* Points to the foreground window. */
 --
 --    /*
 --     * Information maintained by tkWindow.c for use later on by tkXId.c:
 --     */
 --
 --
 --    int destroyCount;		/* Number of Tk_DestroyWindow operations
 --				 * in progress. */
 --    unsigned long lastDestroyRequest;
 --				/* Id of most recent XDestroyWindow request;
 --				 * can re-use ids in windowStackPtr when
 --				 * server has seen this request and event
 --				 * queue is empty. */
 --
 --    /*
 --     * Information used by tkVisual.c only:
 --     */
 --
 --    TkColormap *cmapPtr;	/* First in list of all non-default colormaps
 --				 * allocated for this display. */
 --
 --    /*
 --     * Miscellaneous information:
 --     */
 --
 --#ifdef TK_USE_INPUT_METHODS
 --    XIM inputMethod;		/* Input method for this display */
 --#if (TK_VERSION_NUMBER >= _VERSION(8,4,0))
 --#if TK_XIM_SPOT
 --    XFontSet inputXfs;		/* XFontSet cached for over-the-spot XIM. */
 --#endif /* TK_XIM_SPOT */
 --#endif /* TK_VERSION_NUMBER >= 8.4 */
 --#endif /* TK_USE_INPUT_METHODS */
 --    Tcl_HashTable winTable;	/* Maps from X window ids to TkWindow ptrs. */
 --    int refCount;		/* Reference count of how many Tk applications
 --                                 * are using this display. Used to clean up
 --                                 * the display when we no longer have any
 --                                 * Tk applications using it.
 --                                 */
 --    /*
 --     * The following field were all added for Tk8.3
 --     */
 --    int mouseButtonState;       /* current mouse button state for this
 --                                 * display */
 --#if (TK_VERSION_NUMBER < _VERSION(8,4,0))
 --    int warpInProgress;
 --#endif
 --    Window warpWindow;
 --    int warpX;
 --    int warpY;
 --#if (TK_VERSION_NUMBER < _VERSION(8,4,0))
 --    int useInputMethods;        /* Whether to use input methods */
 --#else
 --    /*
 --     * The following field(s) were all added for Tk8.4
 --     */
 --    long deletionEpoch;		/* Incremented by window deletions */
 --    unsigned int flags;		/* Various flag values:  these are all
 --				 * defined in below. */
 --    TkCaret caret;		/* information about the caret for this
 --				 * display.  This is not a pointer. */
 --#endif
 --} TkDisplay;
 --
 --#else
 --
 --/*
 -- * One of the following structures is maintained for each display
 -- * containing a window managed by Tk:
 -- */
 --typedef struct TkDisplayStruct {
 --    Display *display;		/* Xlib's info about display. */
 --    struct TkDisplayStruct *nextPtr; /* Next in list of all displays. */
 --    char *name;			/* Name of display (with any screen
 --				 * identifier removed).  Malloc-ed. */
 --    Time lastEventTime;		/* Time of last event received for this
 --				 * display. */
 --
 --    /*
 --     * Information used primarily by tkBind.c:
 --     */
 --
 --    int bindInfoStale;		/* Non-zero means the variables in this
 --				 * part of the structure are potentially
 --				 * incorrect and should be recomputed. */
 --    unsigned int modeModMask;	/* Has one bit set to indicate the modifier
 --				 * corresponding to "mode shift".  If no
 --				 * such modifier, than this is zero. */
 --    unsigned int metaModMask;	/* Has one bit set to indicate the modifier
 --				 * corresponding to the "Meta" key.  If no
 --				 * such modifier, then this is zero. */
 --    unsigned int altModMask;	/* Has one bit set to indicate the modifier
 --				 * corresponding to the "Meta" key.  If no
 --				 * such modifier, then this is zero. */
 --    enum {
 --	LU_IGNORE, LU_CAPS, LU_SHIFT
 --    } lockUsage;
 --    /* Indicates how to interpret lock modifier. */
 --    int numModKeyCodes;		/* Number of entries in modKeyCodes array
 --				 * below. */
 --    KeyCode *modKeyCodes;	/* Pointer to an array giving keycodes for
 --				 * all of the keys that have modifiers
 --				 * associated with them.  Malloc'ed, but
 --				 * may be NULL. */
 --
 --    /*
 --     * Information used by tkError.c only:
 --     */
 --
 --    TkErrorHandler *errorPtr;
 --    /* First in list of error handlers
 --				 * for this display.  NULL means
 --				 * no handlers exist at present. */
 --     int deleteCount;		/* Counts # of handlers deleted since
 --				 * last time inactive handlers were
 --				 * garbage-collected.  When this number
 --				 * gets big, handlers get cleaned up. */
 --
 --    /*
 --     * Information used by tkSend.c only:
 --     */
 --
 --    Tk_Window commTkwin;	/* Window used for communication
 --				 * between interpreters during "send"
 --				 * commands.  NULL means send info hasn't
 --				 * been initialized yet. */
 --    Atom commProperty;		/* X's name for comm property. */
 --    Atom registryProperty;	/* X's name for property containing
 --				 * registry of interpreter names. */
 --    Atom appNameProperty;	/* X's name for property used to hold the
 --				 * application name on each comm window. */
 --
 --    /*
 --     * Information used by tkSelect.c and tkClipboard.c only:
 --     */
 --
 --     TkSelectionInfo *selectionInfoPtr;
 --    /* First in list of selection information
 --				 * records.  Each entry contains information
 --				 * about the current owner of a particular
 --				 * selection on this display. */
 --    Atom multipleAtom;		/* Atom for MULTIPLE.  None means
 --				 * selection stuff isn't initialized. */
 --    Atom incrAtom;		/* Atom for INCR. */
 --    Atom targetsAtom;		/* Atom for TARGETS. */
 --    Atom timestampAtom;		/* Atom for TIMESTAMP. */
 --    Atom textAtom;		/* Atom for TEXT. */
 --    Atom compoundTextAtom;	/* Atom for COMPOUND_TEXT. */
 --    Atom applicationAtom;	/* Atom for TK_APPLICATION. */
 --    Atom windowAtom;		/* Atom for TK_WINDOW. */
 --    Atom clipboardAtom;		/* Atom for CLIPBOARD. */
 --
 --    Tk_Window clipWindow;	/* Window used for clipboard ownership and to
 --				 * retrieve selections between processes. NULL
 --				 * means clipboard info hasn't been
 --				 * initialized. */
 --    int clipboardActive;	/* 1 means we currently own the clipboard
 --				 * selection, 0 means we don't. */
 --     TkMainInfo *clipboardAppPtr;
 --     /* Last application that owned clipboard. */
 --     TkClipboardTarget *clipTargetPtr;
 --     /* First in list of clipboard type information
 --				 * records.  Each entry contains information
 --				 * about the buffers for a given selection
 --				 * target. */
 --
 --    /*
 --     * Information used by tkAtom.c only:
 --     */
 --
 --    int atomInit;		/* 0 means stuff below hasn't been
 --				 * initialized yet. */
 --    Tcl_HashTable nameTable;	/* Maps from names to Atom's. */
 --    Tcl_HashTable atomTable;	/* Maps from Atom's back to names. */
 --
 --    /*
 --     * Information used by tkCursor.c only:
 --     */
 --
 --    Font cursorFont;		/* Font to use for standard cursors.
 --				 * None means font not loaded yet. */
 --
 --    /*
 --     * Information used by tkGrab.c only:
 --     */
 --
 --     TkWindow *grabWinPtr;
 --    /* Window in which the pointer is currently
 --				 * grabbed, or NULL if none. */
 --     TkWindow *eventualGrabWinPtr;
 --    /* Value that grabWinPtr will have once the
 --				 * grab event queue (below) has been
 --				 * completely emptied. */
 --     TkWindow *buttonWinPtr;
 --    /* Window in which first mouse button was
 --				 * pressed while grab was in effect, or NULL
 --				 * if no such press in effect. */
 --     TkWindow *serverWinPtr;
 --    /* If no application contains the pointer then
 --				 * this is NULL.  Otherwise it contains the
 --				 * last window for which we've gotten an
 --				 * Enter or Leave event from the server (i.e.
 --				 * the last window known to have contained
 --				 * the pointer).  Doesn't reflect events
 --				 * that were synthesized in tkGrab.c. */
 --    TkGrabEvent *firstGrabEventPtr;
 --    /* First in list of enter/leave events
 --				 * synthesized by grab code.  These events
 --				 * must be processed in order before any other
 --				 * events are processed.  NULL means no such
 --				 * events. */
 --    TkGrabEvent *lastGrabEventPtr;
 --    /* Last in list of synthesized events, or NULL
 --				 * if list is empty. */
 --    int grabFlags;		/* Miscellaneous flag values.  See definitions
 --				 * in tkGrab.c. */
 --
 --    /*
 --     * Information used by tkXId.c only:
 --     */
 --
 --     TkIdStack *idStackPtr;
 --    /* First in list of chunks of free resource
 --				 * identifiers, or NULL if there are no free
 --				 * resources. */
 --              XID(*defaultAllocProc) _ANSI_ARGS_((Display *display));
 --    /* Default resource allocator for display. */
 --     TkIdStack *windowStackPtr;
 --    /* First in list of chunks of window
 --				 * identifers that can't be reused right
 --				 * now. */
 --    int idCleanupScheduled;	/* 1 means a call to WindowIdCleanup has
 --				 * already been scheduled, 0 means it
 --				 * hasn't. */
 --
 --    /*
 --     * Information maintained by tkWindow.c for use later on by tkXId.c:
 --     */
 --
 --
 --    int destroyCount;		/* Number of Tk_DestroyWindow operations
 --				 * in progress. */
 --    unsigned long lastDestroyRequest;
 --    /* Id of most recent XDestroyWindow request;
 --				 * can re-use ids in windowStackPtr when
 --				 * server has seen this request and event
 --				 * queue is empty. */
 --
 --    /*
 --     * Information used by tkVisual.c only:
 --     */
 --
 --    TkColormap *cmapPtr;	/* First in list of all non-default colormaps
 --				 * allocated for this display. */
 --
 --    /*
 --     * Information used by tkFocus.c only:
 --     */
 --#if (TK_MAJOR_VERSION == 4)
 --
 --     TkWindow *focusWinPtr;
 --				/* Window that currently has the focus for
 --				 * this display, or NULL if none. */
 --     TkWindow *implicitWinPtr;
 --				/* If the focus arrived at a toplevel window
 --				 * implicitly via an Enter event (rather
 --				 * than via a FocusIn event), this points
 --				 * to the toplevel window.  Otherwise it is
 --				 * NULL. */
 --     TkWindow *focusOnMapPtr;
 --				/* This points to a toplevel window that is
 --				 * supposed to receive the X input focus as
 --				 * soon as it is mapped (needed to handle the
 --				 * fact that X won't allow the focus on an
 --				 * unmapped window).  NULL means no delayed
 --				 * focus op in progress. */
 --    int forceFocus;		/* Associated with focusOnMapPtr:  non-zero
 --				 * means claim the focus even if some other
 --				 * application currently has it. */
 --#else
 --     TkWindow *implicitWinPtr;
 --				/* If the focus arrived at a toplevel window
 --				 * implicitly via an Enter event (rather
 --				 * than via a FocusIn event), this points
 --				 * to the toplevel window.  Otherwise it is
 --				 * NULL. */
 --     TkWindow *focusPtr;	/* Points to the window on this display that
 --				 * should be receiving keyboard events.  When
 --				 * multiple applications on the display have
 --				 * the focus, this will refer to the
 --				 * innermost window in the innermost
 --				 * application.  This information isn't used
 --				 * under Unix or Windows, but it's needed on
 --				 * the Macintosh. */
 --#endif /* TK_MAJOR_VERSION == 4 */
 --
 --    /*
 --     * Used by tkColor.c only:
 --     */
 --
 --    TkStressedCmap *stressPtr;	/* First in list of colormaps that have
 --				 * filled up, so we have to pick an
 --				 * approximate color. */
 --
 --    /*
 --     * Used by tkEvent.c only:
 --     */
 --
 --     TkWindowEvent *delayedMotionPtr;
 --				/* Points to a malloc-ed motion event
 --				 * whose processing has been delayed in
 --				 * the hopes that another motion event
 --				 * will come along right away and we can
 --				 * merge the two of them together.  NULL
 --				 * means that there is no delayed motion
 --				 * event. */
 --    /*
 --     * Miscellaneous information:
 --     */
 --
 --#ifdef TK_USE_INPUT_METHODS
 --    XIM inputMethod;		/* Input method for this display */
 --#endif /* TK_USE_INPUT_METHODS */
 --    Tcl_HashTable winTable;	/* Maps from X window ids to TkWindow ptrs. */
 --#if (TK_MAJOR_VERSION > 4)
 --    int refCount;		/* Reference count of how many Tk applications
 --                                 * are using this display. Used to clean up
 --                                 * the display when we no longer have any
 --                                 * Tk applications using it.
 --                                 */
 --#endif /* TK_MAJOR_VERSION > 4 */
 --
 --} TkDisplay;
 --
 --#endif /* TK_VERSION_NUMBER >= _VERSION(8,1,0) */
 --
 --
 --struct TkWindowStruct {
 --    Display *display;
 --    TkDisplay *dispPtr;
 --    int screenNum;
 --    Visual *visual;
 --    int depth;
 --    Window window;
 --    TkWindow *childList;
 --    TkWindow *lastChildPtr;
 --    TkWindow *parentPtr;
 --    TkWindow *nextPtr;
 --    TkMainInfo *infoPtr;
 --    char *pathName;
 --    Tk_Uid nameUid;
 --    Tk_Uid classUid;
 --    XWindowChanges changes;
 --    unsigned int dirtyChanges;
 --    XSetWindowAttributes atts;
 --    unsigned long dirtyAtts;
 --    unsigned int flags;
 --    TkEventHandler *handlerList;
 --#ifdef TK_USE_INPUT_METHODS
 --    XIC inputContext;
 --#endif /* TK_USE_INPUT_METHODS */
 --    ClientData *tagPtr;
 --    int nTags;
 --    int optionLevel;
 --    TkSelHandler *selHandlerList;
 --    Tk_GeomMgr *geomMgrPtr;
 --    ClientData geomData;
 --    int reqWidth, reqHeight;
 --    int internalBorderWidth;
 --    TkWinInfo *wmInfoPtr;
 --#if (TK_MAJOR_VERSION > 4)
 --    TkClassProcs *classProcsPtr;
 --    ClientData instanceData;
 --#endif
 --    TkWindowPrivate *privatePtr;
 --};
 --
 - #ifdef WIN32
 - /*
 ---- src/bltPs.c	2002-09-18 18:30:51.000000000 -0400
 -+++ src/bltPs.c	2010-01-25 19:04:13.000000000 -0500
 -@@ -894,5 +894,5 @@
 -     }
 -     if ((relief == TK_RELIEF_SOLID) ||
 --	(borderPtr->lightColor == NULL) || (borderPtr->darkColor == NULL)) {
 -+	(borderPtr->lightColorPtr == NULL) || (borderPtr->darkColorPtr == NULL)) {
 - 	if (relief == TK_RELIEF_SOLID) {
 - 	    darkColor.red = darkColor.blue = darkColor.green = 0x00;
 -@@ -902,5 +902,5 @@
 - 	    Screen *screenPtr;
 - 
 --	    lightColor = *borderPtr->bgColor;
 -+	    lightColor = *borderPtr->bgColorPtr;
 - 	    screenPtr = Tk_Screen(tokenPtr->tkwin);
 - 	    if (lightColor.pixel == WhitePixelOfScreen(screenPtr)) {
 -@@ -913,6 +913,6 @@
 - 	darkColorPtr = &darkColor;
 -     } else {
 --	lightColorPtr = borderPtr->lightColor;
 --	darkColorPtr = borderPtr->darkColor;
 -+	lightColorPtr = borderPtr->lightColorPtr;
 -+	darkColorPtr = borderPtr->darkColorPtr;
 -     }
 - 
 -@@ -943,5 +943,5 @@
 - 	bottomColor = lightColorPtr;
 -     } else {
 --	topColor = bottomColor = borderPtr->bgColor;
 -+	topColor = bottomColor = borderPtr->bgColorPtr;
 -     }
 -     Blt_BackgroundToPostScript(tokenPtr, bottomColor);
 -@@ -983,5 +983,5 @@
 -      * the plot when the colormode option is "monochrome".
 -      */
 --    Blt_BackgroundToPostScript(tokenPtr, borderPtr->bgColor);
 -+    Blt_BackgroundToPostScript(tokenPtr, borderPtr->bgColorPtr);
 -     Blt_RectangleToPostScript(tokenPtr, x, y, width, height);
 -     Blt_Draw3DRectangleToPostScript(tokenPtr, border, x, y, width, height,
 ---- src/bltText.c	2002-08-13 15:45:20.000000000 -0400
 -+++ src/bltText.c	2010-01-25 20:08:01.000000000 -0500
 -@@ -691,5 +691,5 @@
 - 	    XColor *color1, *color2;
 - 
 --	    color1 = borderPtr->lightColor, color2 = borderPtr->darkColor;
 -+	    color1 = borderPtr->lightColorPtr, color2 = borderPtr->darkColorPtr;
 - 	    if (tsPtr->state & STATE_EMPHASIS) {
 - 		XColor *hold;
 -@@ -755,5 +755,5 @@
 - 	XColor *color1, *color2;
 - 
 --	color1 = borderPtr->lightColor, color2 = borderPtr->darkColor;
 -+	color1 = borderPtr->lightColorPtr, color2 = borderPtr->darkColorPtr;
 - 	if (tsPtr->state & STATE_EMPHASIS) {
 - 	    XColor *hold;
 ---- src/tkFrame.c	2002-10-16 01:33:53.000000000 -0400
 -+++ src/tkFrame.c	2010-01-25 21:36:58.000000000 -0500
 -@@ -117,5 +117,5 @@
 - 				 * definitions. */
 -     Blt_Tile tile;
 --} Frame;
 -+} bltFrame;
 - 
 - /*
 -@@ -144,8 +144,8 @@
 - {
 -     {TK_CONFIG_BORDER, "-background", "background", "Background",
 --	DEF_FRAME_BACKGROUND, Tk_Offset(Frame, border),
 -+	DEF_FRAME_BACKGROUND, Tk_Offset(bltFrame, border),
 - 	BOTH | TK_CONFIG_COLOR_ONLY | TK_CONFIG_NULL_OK},
 -     {TK_CONFIG_BORDER, "-background", "background", "Background",
 --	DEF_FRAME_BG_MONO, Tk_Offset(Frame, border),
 -+	DEF_FRAME_BG_MONO, Tk_Offset(bltFrame, border),
 - 	BOTH | TK_CONFIG_MONO_ONLY | TK_CONFIG_NULL_OK},
 -     {TK_CONFIG_SYNONYM, "-bd", "borderWidth", (char *)NULL,
 -@@ -154,53 +154,53 @@
 - 	(char *)NULL, 0, BOTH},
 -     {TK_CONFIG_PIXELS, "-borderwidth", "borderWidth", "BorderWidth",
 --	DEF_FRAME_BORDERWIDTH, Tk_Offset(Frame, borderWidth), BOTH},
 -+	DEF_FRAME_BORDERWIDTH, Tk_Offset(bltFrame, borderWidth), BOTH},
 -     {TK_CONFIG_STRING, "-class", "class", "Class",
 --	DEF_FRAME_CLASS, Tk_Offset(Frame, className), FRAME},
 -+	DEF_FRAME_CLASS, Tk_Offset(bltFrame, className), FRAME},
 -     {TK_CONFIG_STRING, "-class", "class", "Class",
 --	DEF_TOPLEVEL_CLASS, Tk_Offset(Frame, className), TOPLEVEL},
 -+	DEF_TOPLEVEL_CLASS, Tk_Offset(bltFrame, className), TOPLEVEL},
 -     {TK_CONFIG_STRING, "-colormap", "colormap", "Colormap",
 --	DEF_FRAME_COLORMAP, Tk_Offset(Frame, colormapName),
 -+	DEF_FRAME_COLORMAP, Tk_Offset(bltFrame, colormapName),
 - 	BOTH | TK_CONFIG_NULL_OK},
 - #if (TK_MAJOR_VERSION > 4)
 -     {TK_CONFIG_BOOLEAN, "-container", "container", "Container",
 --	DEF_FRAME_CONTAINER, Tk_Offset(Frame, isContainer), BOTH},
 -+	DEF_FRAME_CONTAINER, Tk_Offset(bltFrame, isContainer), BOTH},
 - #endif /* TK_MAJOR_VERSION > 4 */
 -     {TK_CONFIG_ACTIVE_CURSOR, "-cursor", "cursor", "Cursor",
 --	DEF_FRAME_CURSOR, Tk_Offset(Frame, cursor), BOTH | TK_CONFIG_NULL_OK},
 -+	DEF_FRAME_CURSOR, Tk_Offset(bltFrame, cursor), BOTH | TK_CONFIG_NULL_OK},
 -     {TK_CONFIG_PIXELS, "-height", "height", "Height",
 --	DEF_FRAME_HEIGHT, Tk_Offset(Frame, height), BOTH},
 -+	DEF_FRAME_HEIGHT, Tk_Offset(bltFrame, height), BOTH},
 -     {TK_CONFIG_COLOR, "-highlightbackground", "highlightBackground",
 - 	"HighlightBackground", DEF_FRAME_HIGHLIGHT_BG,
 --	Tk_Offset(Frame, highlightBgColorPtr), BOTH},
 -+	Tk_Offset(bltFrame, highlightBgColorPtr), BOTH},
 -     {TK_CONFIG_COLOR, "-highlightcolor", "highlightColor", "HighlightColor",
 --	DEF_FRAME_HIGHLIGHT, Tk_Offset(Frame, highlightColorPtr), BOTH},
 -+	DEF_FRAME_HIGHLIGHT, Tk_Offset(bltFrame, highlightColorPtr), BOTH},
 -     {TK_CONFIG_PIXELS, "-highlightthickness", "highlightThickness",
 - 	"HighlightThickness",
 --	DEF_FRAME_HIGHLIGHT_WIDTH, Tk_Offset(Frame, highlightWidth), BOTH},
 -+	DEF_FRAME_HIGHLIGHT_WIDTH, Tk_Offset(bltFrame, highlightWidth), BOTH},
 - #if (TK_MAJOR_VERSION > 4)
 -     {TK_CONFIG_STRING, "-menu", "menu", "Menu",
 --	DEF_TOPLEVEL_MENU, Tk_Offset(Frame, menuName),
 -+	DEF_TOPLEVEL_MENU, Tk_Offset(bltFrame, menuName),
 - 	TOPLEVEL | TK_CONFIG_NULL_OK},
 - #endif /* TK_MAJOR_VERSION > 4 */
 -     {TK_CONFIG_RELIEF, "-relief", "relief", "Relief",
 --	DEF_FRAME_RELIEF, Tk_Offset(Frame, relief), BOTH},
 -+	DEF_FRAME_RELIEF, Tk_Offset(bltFrame, relief), BOTH},
 -     {TK_CONFIG_STRING, "-screen", "screen", "Screen",
 --	DEF_TOPLEVEL_SCREEN, Tk_Offset(Frame, screenName),
 -+	DEF_TOPLEVEL_SCREEN, Tk_Offset(bltFrame, screenName),
 - 	TOPLEVEL | TK_CONFIG_NULL_OK},
 -     {TK_CONFIG_STRING, "-takefocus", "takeFocus", "TakeFocus",
 --	DEF_FRAME_TAKE_FOCUS, Tk_Offset(Frame, takeFocus),
 -+	DEF_FRAME_TAKE_FOCUS, Tk_Offset(bltFrame, takeFocus),
 - 	BOTH | TK_CONFIG_NULL_OK},
 -     {TK_CONFIG_CUSTOM, "-tile", "tile", "Tile",
 --	(char *)NULL, Tk_Offset(Frame, tile), BOTH | TK_CONFIG_NULL_OK,
 -+	(char *)NULL, Tk_Offset(bltFrame, tile), BOTH | TK_CONFIG_NULL_OK,
 - 	&bltTileOption},
 - #if (TK_MAJOR_VERSION > 4)
 -     {TK_CONFIG_STRING, "-use", "use", "Use",
 --	DEF_FRAME_USE, Tk_Offset(Frame, useThis), TOPLEVEL|TK_CONFIG_NULL_OK},
 -+	DEF_FRAME_USE, Tk_Offset(bltFrame, useThis), TOPLEVEL|TK_CONFIG_NULL_OK},
 - #endif
 -     {TK_CONFIG_STRING, "-visual", "visual", "Visual",
 --	DEF_FRAME_VISUAL, Tk_Offset(Frame, visualName),
 -+	DEF_FRAME_VISUAL, Tk_Offset(bltFrame, visualName),
 - 	BOTH | TK_CONFIG_NULL_OK},
 -     {TK_CONFIG_PIXELS, "-width", "width", "Width",
 --	DEF_FRAME_WIDTH, Tk_Offset(Frame, width), BOTH},
 -+	DEF_FRAME_WIDTH, Tk_Offset(bltFrame, width), BOTH},
 -     {TK_CONFIG_END, (char *)NULL, (char *)NULL, (char *)NULL,
 - 	(char *)NULL, 0, 0}
 -@@ -212,5 +212,5 @@
 - 
 - static int ConfigureFrame _ANSI_ARGS_((Tcl_Interp *interp,
 --	Frame * framePtr, int argc, char **argv,
 -+	bltFrame * framePtr, int argc, CONST84 char **argv,
 - 	int flags));
 - static void DestroyFrame _ANSI_ARGS_((DestroyData *memPtr));
 -@@ -220,25 +220,14 @@
 - static void FrameEventProc _ANSI_ARGS_((ClientData clientData,
 - 	XEvent *eventPtr));
 --static int FrameWidgetCmd _ANSI_ARGS_((ClientData clientData,
 --	Tcl_Interp *interp, int argc, char **argv));
 - static void MapFrame _ANSI_ARGS_((ClientData clientData));
 - 
 - static Blt_TileChangedProc TileChangedProc;
 --static Tcl_CmdProc FrameCmd, ToplevelCmd;
 -+static Tcl_CmdProc FrameCmd, ToplevelCmd, FrameWidgetCmd;
 - 
 --#ifdef TILE_MAINWINDOW
 --EXTERN
 --#else
 - static
 --#endif
 --int TkCreateFrame _ANSI_ARGS_((ClientData clientData,
 --	Tcl_Interp *interp, int argc, char **argv,
 -+int BltCreateFrame _ANSI_ARGS_((ClientData clientData,
 -+	Tcl_Interp *interp, int argc, CONST84 char **argv,
 - 	int toplevel, char *appName));
 - 
 --EXTERN void TkSetWindowMenuBar _ANSI_ARGS_((Tcl_Interp *interp, Tk_Window tkwin,
 --        char *oldMenuName, char *menuName));
 --
 --EXTERN Tk_Window TkCreateMainWindow _ANSI_ARGS_((Tcl_Interp * interp, 
 --	char * screenName, char * baseName));
 - #if (TK_MAJOR_VERSION == 8) && (TK_MINOR_VERSION > 3)
 - #define TkSetClassProcs	Tk_SetClassProcs
 -@@ -250,6 +239,4 @@
 - EXTERN void TkpSetMainMenubar _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin,
 - 	char * menuName));
 --EXTERN int TkpUseWindow _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, 
 --	char * string));
 - EXTERN void TkpMakeContainer _ANSI_ARGS_((Tk_Window tkwin));
 - 
 -@@ -280,7 +267,7 @@
 -     Tcl_Interp *interp;		/* Current interpreter. */
 -     int argc;			/* Number of arguments. */
 --    char **argv;		/* Argument strings. */
 -+    CONST84 char **argv;		/* Argument strings. */
 - {
 --    return TkCreateFrame(clientData, interp, argc, argv, 0, (char *)NULL);
 -+    return BltCreateFrame(clientData, interp, argc, argv, 0, (char *)NULL);
 - }
 - 
 -@@ -291,7 +278,7 @@
 -     Tcl_Interp *interp;		/* Current interpreter. */
 -     int argc;			/* Number of arguments. */
 --    char **argv;		/* Argument strings. */
 -+    CONST84 char **argv;		/* Argument strings. */
 - {
 --    return TkCreateFrame(clientData, interp, argc, argv, 1, (char *)NULL);
 -+    return BltCreateFrame(clientData, interp, argc, argv, 1, (char *)NULL);
 - }
 - 
 -@@ -320,5 +307,5 @@
 - #endif /* TILE_MAINWINDOW */
 - int
 --TkCreateFrame(clientData, interp, argc, argv, toplevel, appName)
 -+BltCreateFrame(clientData, interp, argc, argv, toplevel, appName)
 -     ClientData clientData;	/* Main window associated with interpreter.
 - 				 * If we're called by Tk_Init to create a
 -@@ -326,5 +313,5 @@
 -     Tcl_Interp *interp;		/* Current interpreter. */
 -     int argc;			/* Number of arguments. */
 --    char **argv;		/* Argument strings. */
 -+    CONST84 char *argv[];	/* Argument strings. */
 -     int toplevel;		/* Non-zero means create a toplevel window,
 - 				 * zero means create a frame. */
 -@@ -333,5 +320,5 @@
 - 				 * new application. */
 - {
 --    Frame *framePtr;
 -+    bltFrame *framePtr;
 -     Tk_Window new;
 -     char *className, *screenName, *visualName, *colormapName, *arg, *useOption;
 -@@ -408,5 +395,5 @@
 - 
 - 	if (appName == NULL) {
 --	    panic("TkCreateFrame didn't get application name");
 -+	    panic("BltCreateFrame didn't get application name");
 - 	}
 - 	new = (Tk_Window)TkCreateMainWindow(interp, screenName, appName);
 -@@ -468,5 +455,5 @@
 -      */
 - 
 --    framePtr = Blt_Malloc(sizeof(Frame));
 -+    framePtr = Blt_Malloc(sizeof(bltFrame));
 -     framePtr->tkwin = new;
 -     framePtr->display = Tk_Display(new);
 -@@ -559,7 +546,7 @@
 -     Tcl_Interp *interp;		/* Current interpreter. */
 -     int argc;			/* Number of arguments. */
 --    char **argv;		/* Argument strings. */
 -+    CONST84 char *argv[];		/* Argument strings. */
 - {
 --    register Frame *framePtr = (Frame *) clientData;
 -+    register bltFrame *framePtr = (bltFrame *) clientData;
 -     int result;
 -     size_t length;
 -@@ -661,5 +648,5 @@
 -     DestroyData *memPtr;	/* Info about frame widget. */
 - {
 --    register Frame *framePtr = (Frame *) memPtr;
 -+    register bltFrame *framePtr = (bltFrame *) memPtr;
 -     
 -     Tk_FreeOptions(configSpecs, (char *)framePtr, framePtr->display,
 -@@ -690,5 +677,5 @@
 -     Blt_Tile tile;
 - {
 --    Frame *framePtr = (Frame *) clientData;
 -+    bltFrame *framePtr = (bltFrame *) clientData;
 - 
 -     if (framePtr->tkwin != NULL) {
 -@@ -724,8 +711,8 @@
 - ConfigureFrame(interp, framePtr, argc, argv, flags)
 -     Tcl_Interp *interp;		/* Used for error reporting. */
 --    register Frame *framePtr;	/* Information about widget;  may or may
 -+    register bltFrame *framePtr;	/* Information about widget;  may or may
 - 				 * not already have values for some fields. */
 -     int argc;			/* Number of valid entries in argv. */
 --    char **argv;		/* Arguments. */
 -+    CONST84 char **argv;		/* Arguments. */
 -     int flags;			/* Flags to pass to Tk_ConfigureWidget. */
 - {
 -@@ -811,5 +798,5 @@
 -     ClientData clientData;	/* Information about widget. */
 - {
 --    register Frame *framePtr = (Frame *) clientData;
 -+    register bltFrame *framePtr = (bltFrame *) clientData;
 -     register Tk_Window tkwin = framePtr->tkwin;
 -     GC gc;
 -@@ -878,5 +865,5 @@
 -     register XEvent *eventPtr;	/* Information about event. */
 - {
 --    register Frame *framePtr = (Frame *) clientData;
 -+    register bltFrame *framePtr = (bltFrame *) clientData;
 - 
 -     if (((eventPtr->type == Expose) && (eventPtr->xexpose.count == 0))
 -@@ -965,5 +952,5 @@
 -     ClientData clientData;	/* Pointer to widget record for widget. */
 - {
 --    Frame *framePtr = (Frame *) clientData;
 -+    bltFrame *framePtr = (bltFrame *) clientData;
 -     Tk_Window tkwin = framePtr->tkwin;
 - 
 -@@ -1011,5 +998,5 @@
 -     ClientData clientData;	/* Pointer to frame structure. */
 - {
 --    Frame *framePtr = (Frame *) clientData;
 -+    bltFrame *framePtr = (bltFrame *) clientData;
 - 
 -     /*
 -@@ -1068,7 +1055,7 @@
 - #define Tk_MainPtr(tkwin)	(((Tk_FakeWin *)(tkwin))->dummy5)
 -     if (Tk_MainPtr(tkwin) != NULL) {
 --	Frame *framePtr;
 -+	bltFrame *framePtr;
 - 
 --	framePtr = (Frame *) Tk_InstanceData(tkwin);
 -+	framePtr = (bltFrame *) Tk_InstanceData(tkwin);
 - 	TkpMenuNotifyToplevelCreate(framePtr->interp, framePtr->menuName);
 -     }
 diff -urN /usr/ports/x11-toolkits/blt/files/patch-warnings x11-toolkits/blt/files/patch-warnings
 --- /usr/ports/x11-toolkits/blt/files/patch-warnings	2013-06-21 03:54:39.000000000 +0900
 +++ x11-toolkits/blt/files/patch-warnings	1970-01-01 09:00:00.000000000 +0900
 @@ -1,1075 +0,0 @@
 ---- src/blt.h	2002-07-14 19:33:24.000000000 -0400
 -+++ src/blt.h	2010-01-16 22:52:09.000000000 -0500
 -@@ -56,7 +56,7 @@
 - typedef char *Blt_Uid;
 - 
 --EXTERN Blt_Uid Blt_GetUid _ANSI_ARGS_((char *string));
 -+EXTERN Blt_Uid Blt_GetUid _ANSI_ARGS_((const char *string));
 - EXTERN void Blt_FreeUid _ANSI_ARGS_((Blt_Uid uid));
 --EXTERN Blt_Uid Blt_FindUid _ANSI_ARGS_((char *string));
 -+EXTERN Blt_Uid Blt_FindUid _ANSI_ARGS_((const char *string));
 - 
 - #if (TCL_MAJOR_VERSION >= 8)
 ---- src/bltInt.h	2002-08-21 16:13:12.000000000 -0400
 -+++ src/bltInt.h	2010-01-17 00:04:42.000000000 -0500
 -@@ -714,5 +714,5 @@
 - 
 - extern int Blt_GetXY _ANSI_ARGS_((Tcl_Interp *interp, Tk_Window tkwin,
 --	char *string, int *x, int *y));
 -+	const char *string, int *x, int *y));
 - 
 - extern Point2D Blt_GetProjection _ANSI_ARGS_((int x, int y, Point2D *p, 
 ---- src/bltBgexec.c	2002-09-18 18:30:50.000000000 -0400
 -+++ src/bltBgexec.c	2010-01-16 13:02:33.000000000 -0500
 -@@ -56,5 +56,5 @@
 - } Process;
 - #else
 --typedef int Process;
 -+typedef pid_t Process;
 - #endif
 - 
 -@@ -125,5 +125,5 @@
 - typedef struct {
 -     int number;
 --    char *name;
 -+    const char *name;
 - } SignalId;
 - 
 -@@ -646,5 +646,5 @@
 -     sinkPtr->echo = FALSE;
 -     sinkPtr->fd = -1;
 --    sinkPtr->file = (Tcl_File)NULL;
 -+    sinkPtr->file = 0;
 -     sinkPtr->byteArr = sinkPtr->staticSpace;
 -     sinkPtr->size = DEF_BUFFER_SIZE;
 -@@ -704,5 +704,5 @@
 -     }
 -     sinkPtr->fd = -1;
 --    sinkPtr->file = (Tcl_File)NULL;
 -+    sinkPtr->file = 0;
 - #if (TCL_MAJOR_VERSION >= 8)
 -     if (sinkPtr->objv != NULL) {
 -@@ -856,5 +856,5 @@
 - 	Tcl_DeleteFileHandler(sinkPtr->fd);
 - #endif
 --	sinkPtr->file = (Tcl_File)NULL;
 -+	sinkPtr->file = 0;
 - 	sinkPtr->fd = -1;
 - 
 -@@ -1073,5 +1073,5 @@
 -     timeout = (flags & WNOHANG) ? 0 : INFINITE;
 -     status = WaitForSingleObject(child.hProcess, timeout);
 --				 
 -+
 - #if WINDEBUG
 -     PurifyPrintf("WAITPID: wait status is %d\n", status);
 -@@ -1310,5 +1310,5 @@
 - 	(sinkPtr->flags & SINK_NOTIFY)) {
 - 	unsigned char *data;
 --	int length;
 -+	int length = 0;
 - 
 - 	if (sinkPtr->flags & SINK_BUFFERED) {
 -@@ -1472,5 +1472,5 @@
 - 	    Tcl_DetachPids(1, &bgPtr->procArr[i]);
 - #else
 --	    Tcl_DetachPids(1, (Tcl_Pid *)bgPtr->procArr[i]);
 -+	    Tcl_DetachPids(1, (Tcl_Pid *)(intptr_t)bgPtr->procArr[i]);
 - #endif /* TCL_MAJOR_VERSION == 7 */
 - #endif /* WIN32 */
 ---- src/bltHash.h.in	2002-07-13 20:08:13.000000000 -0400
 -+++ src/bltHash.h.in	2010-01-16 19:38:20.000000000 -0500
 -@@ -89,5 +89,5 @@
 -  */
 - #define BLT_STRING_KEYS		0
 --#define BLT_ONE_WORD_KEYS	((size_t)-1)
 -+#define BLT_ONE_WORD_KEYS	((unsigned int)-1)
 - 
 - /*
 ---- src/bltTree.c	2002-09-29 01:44:12.000000000 -0400
 -+++ src/bltTree.c	2010-01-16 19:42:48.000000000 -0500
 -@@ -404,5 +404,5 @@
 -     UnlinkNode(nodePtr);
 -     treeObjPtr->nNodes--;
 --    hPtr = Blt_FindHashEntry(&treeObjPtr->nodeTable, (char *)nodePtr->inode);
 -+    hPtr = Blt_FindHashEntry(&treeObjPtr->nodeTable, (char *)(uintptr_t)nodePtr->inode);
 -     assert(hPtr);
 -     Blt_DeleteHashEntry(&treeObjPtr->nodeTable, hPtr);
 -@@ -837,5 +837,5 @@
 -     do {
 - 	inode = treeObjPtr->nextInode++;
 --	hPtr = Blt_CreateHashEntry(&treeObjPtr->nodeTable,(char *)inode, 
 -+	hPtr = Blt_CreateHashEntry(&treeObjPtr->nodeTable,(char *)(uintptr_t)inode, 
 - 		   &isNew);
 -     } while (!isNew);
 -@@ -892,5 +892,5 @@
 - 
 -     treeObjPtr = parentPtr->treeObject;
 --    hPtr = Blt_CreateHashEntry(&treeObjPtr->nodeTable,(char *)inode, &isNew);
 -+    hPtr = Blt_CreateHashEntry(&treeObjPtr->nodeTable,(char *)(uintptr_t)inode, &isNew);
 -     if (!isNew) {
 - 	return NULL;
 -@@ -998,5 +998,5 @@
 -     Blt_HashEntry *hPtr;
 - 
 --    hPtr = Blt_FindHashEntry(&treeObjPtr->nodeTable, (char *)inode);
 -+    hPtr = Blt_FindHashEntry(&treeObjPtr->nodeTable, (char *)(uintptr_t)inode);
 -     if (hPtr != NULL) {
 - 	return (Blt_TreeNode)Blt_GetHashValue(hPtr);
 ---- src/bltTreeCmd.c	2002-09-27 18:23:01.000000000 -0400
 -+++ src/bltTreeCmd.c	2010-01-16 22:43:52.000000000 -0500
 -@@ -951,5 +951,5 @@
 -     Blt_Tree tree = cmdPtr->tree;
 -     char c;
 --    Blt_TreeNode node;
 -+    Blt_TreeNode node = NULL;
 -     char *string;
 -     char *p;
 -@@ -1284,6 +1284,6 @@
 - 	node = dataPtr->root;
 - 	/* Create a mapping between the old id and the new node */
 --	hPtr = Blt_CreateHashEntry(&dataPtr->idTable, (char *)nodeId, 
 --		   &isNew);
 -+	hPtr = Blt_CreateHashEntry(&dataPtr->idTable,
 -+	    (char *)(uintptr_t)nodeId, &isNew);
 - 	Blt_SetHashValue(hPtr, node);
 - 	Blt_TreeRelabelNode(cmdPtr->tree, node, names[0]);
 -@@ -1294,5 +1294,5 @@
 - 	 * existing node. 
 - 	 */
 --	hPtr = Blt_FindHashEntry(&dataPtr->idTable, (char *)parentId);
 -+	hPtr = Blt_FindHashEntry(&dataPtr->idTable, (char *)(uintptr_t)parentId);
 - 	if (hPtr != NULL) {
 - 	    parent = Blt_GetHashValue(hPtr);
 -@@ -1331,5 +1331,5 @@
 - 	    node = Blt_TreeFindChild(parent, names[nNames - 1]);
 - 	    /* Create a mapping between the old id and the new node */
 --	    hPtr = Blt_CreateHashEntry(&dataPtr->idTable, (char *)nodeId, 
 -+	    hPtr = Blt_CreateHashEntry(&dataPtr->idTable, (char *)(uintptr_t)nodeId, 
 - 				       &isNew);
 - 	    Blt_SetHashValue(hPtr, node);
 -@@ -1341,5 +1341,5 @@
 - 					  names[nNames - 1], -1);
 - 		/* Create a mapping between the old id and the new node */
 --		hPtr = Blt_CreateHashEntry(&dataPtr->idTable, (char *)nodeId,
 -+		hPtr = Blt_CreateHashEntry(&dataPtr->idTable, (char *)(uintptr_t)nodeId,
 - 					   &isNew);
 - 		Blt_SetHashValue(hPtr, node);
 -@@ -1668,5 +1668,5 @@
 - 	node = Blt_ListNextNode(node)) {
 - 		
 --	type = (int)Blt_ListGetValue(node);
 -+	type = (intptr_t)Blt_ListGetValue(node);
 - 	pattern = (char *)Blt_ListGetKey(node);
 - 	switch (type) {
 -@@ -2603,5 +2603,5 @@
 - 		hPtr != NULL; hPtr = Blt_NextHashEntry(&cursor)) {
 - 		node = Blt_GetHashValue(hPtr);
 --		Blt_ChainAppend(chainPtr, (ClientData)Blt_TreeNodeId(node));
 -+		Blt_ChainAppend(chainPtr, (ClientData)(uintptr_t)Blt_TreeNodeId(node));
 - 	    }   
 - 	    /*  
 -@@ -2613,5 +2613,5 @@
 - 		 linkPtr = nextPtr) {
 - 		nextPtr = Blt_ChainNextLink(linkPtr);
 --		inode = (int)Blt_ChainGetValue(linkPtr);
 -+		inode = (intptr_t)Blt_ChainGetValue(linkPtr);
 - 		node = Blt_TreeGetNode(cmdPtr->tree, inode);
 - 		if (node != NULL) {
 ---- src/bltUnixPipe.c	2002-06-22 15:21:05.000000000 -0400
 -+++ src/bltUnixPipe.c	2010-01-16 22:45:17.000000000 -0500
 -@@ -478,5 +478,5 @@
 - 	 * startup.
 - 	 */
 --	Tcl_WaitPid((Tcl_Pid)pid, &status, WNOHANG);
 -+	Tcl_WaitPid((Tcl_Pid)(intptr_t)pid, &status, WNOHANG);
 -     }
 -     if (errPipeIn >= 0) {
 ---- src/bltUtil.c	2002-08-21 16:13:12.000000000 -0400
 -+++ src/bltUtil.c	2010-01-16 22:53:55.000000000 -0500
 -@@ -780,9 +780,9 @@
 - Blt_Uid
 - Blt_GetUid(string)
 --    char *string;		/* String to convert. */
 -+    const char *string;		/* String to convert. */
 - {
 -     int isNew;
 -     Blt_HashEntry *hPtr;
 --    int refCount;
 -+    intptr_t refCount;
 -     
 -     if (!uidInitialized) {
 -@@ -794,5 +794,5 @@
 - 	refCount = 0;
 -     } else {
 --	refCount = (int)Blt_GetHashValue(hPtr);
 -+	refCount = (intptr_t)Blt_GetHashValue(hPtr);
 -     }
 -     refCount++;
 -@@ -829,7 +829,7 @@
 -     hPtr = Blt_FindHashEntry(&uidTable, uid);
 -     if (hPtr) {
 --	int refCount;
 -+	intptr_t refCount;
 - 
 --	refCount = (int)Blt_GetHashValue(hPtr);
 -+	refCount = (intptr_t)Blt_GetHashValue(hPtr);
 - 	refCount--;
 - 	if (refCount == 0) {
 -@@ -857,5 +857,5 @@
 - Blt_Uid
 - Blt_FindUid(string)
 --    char *string;		/* String to find. */
 -+    const char *string;		/* String to find. */
 - {
 -     Blt_HashEntry *hPtr;
 ---- src/bltInit.c	As of 2.4.2
 -+++ src/bltInit.c	2010-01-16 22:59:22.000000000 -0500
 -@@ -404,7 +404,7 @@
 -     Tcl_Interp *interp;		/* Interpreter to add extra commands */
 - {
 --    int flags;
 -+    intptr_t flags;
 - 
 --    flags = (int)Tcl_GetAssocData(interp, BLT_THREAD_KEY, NULL);
 -+    flags = (intptr_t)Tcl_GetAssocData(interp, BLT_THREAD_KEY, NULL);
 -     if ((flags & BLT_TCL_CMDS) == 0) {
 - 	register Tcl_AppInitProc **p;
 -@@ -416,5 +416,5 @@
 - 	 * the same ones that BLT was compiled against.
 - 	 */
 --	if (Tcl_PkgRequire(interp, "Tcl", TCL_VERSION, EXACT) == NULL) {
 -+	if (Tcl_PkgRequire(interp, "Tcl", TCL_PATCH_LEVEL, EXACT) == NULL) {
 - 	    return TCL_ERROR;
 - 	}
 -@@ -463,5 +463,5 @@
 - 
 - #if (TCL_VERSION_NUMBER >= _VERSION(8,1,0)) 
 --	if (Tcl_PkgPresent(interp, "Tk", TK_VERSION, EXACT) == NULL) {
 -+	if (Tcl_PkgPresent(interp, "Tk", TK_PATCH_LEVEL, EXACT) == NULL) {
 - 	    return TCL_OK;
 - 	} 
 -@@ -515,5 +515,5 @@
 - 	 * the same ones that BLT was compiled against.
 - 	 */
 --	if (Tcl_PkgRequire(interp, "Tcl", TCL_VERSION, EXACT) == NULL) {
 -+	if (Tcl_PkgRequire(interp, "Tcl", TCL_PATCH_LEVEL, EXACT) == NULL) {
 - 	    return TCL_ERROR;
 - 	}
 -@@ -553,9 +553,9 @@
 - 
 - #if (TCL_VERSION_NUMBER >= _VERSION(8,1,0)) 
 --	if (Tcl_PkgPresent(interp, "Tk", TK_VERSION, EXACT) == NULL) {
 -+	if (Tcl_PkgPresent(interp, "Tk", TK_PATCH_LEVEL, EXACT) == NULL) {
 - 	    return TCL_OK;
 - 	} 
 - #else
 --	if (Tcl_PkgRequire(interp, "Tk", TK_VERSION, EXACT) == NULL) {
 -+	if (Tcl_PkgRequire(interp, "Tk", TK_PATCH_LEVEL, EXACT) == NULL) {
 - 	    Tcl_ResetResult(interp);
 - 	    return TCL_OK;
 ---- src/bltGrAxis.c	2010-01-16 22:59:57.000000000 -0500
 -+++ src/bltGrAxis.c	2010-01-16 23:05:00.000000000 -0500
 -@@ -670,5 +670,5 @@
 -     int offset;			/* Offset of field in structure. */
 - {
 --    unsigned int mask = (unsigned int)clientData;
 -+    unsigned int mask = (uintptr_t)clientData;
 -     Axis *axisPtr = (Axis *)widgRec;
 -     Ticks **ticksPtrPtr = (Ticks **) (widgRec + offset);
 -@@ -1421,5 +1421,5 @@
 - {
 -     double range;
 --    double tickMin, tickMax;
 -+    double tickMin = 0, tickMax = 0;
 -     double majorStep, minorStep;
 -     int nMajor, nMinor;
 -@@ -1550,7 +1550,7 @@
 -     double min, max;
 - {
 --    double range, step;
 -+    double range, step = 0;
 -     double tickMin, tickMax;
 --    double axisMin, axisMax;
 -+    double axisMin = 0, axisMax = 0;
 -     int nTicks;
 - 
 -@@ -3648,5 +3648,5 @@
 -     int margin;
 - 
 --    margin = (int)argv[-1];
 -+    margin = (intptr_t)argv[-1];
 -     chainPtr = graphPtr->margins[margin].axes;
 -     if (argc == 0) {
 -@@ -4191,5 +4191,5 @@
 - 	return TCL_ERROR;
 -     }
 --    argv[2] = (char *)margin; /* Hack. Slide a reference to the margin in 
 -+    argv[2] = (char *)(intptr_t)margin; /* Hack. Slide a reference to the margin in 
 - 			       * the argument list. Needed only for UseOp.
 - 			       */
 ---- src/bltGrBar.c	2002-09-18 18:30:51.000000000 -0400
 -+++ src/bltGrBar.c	2010-01-16 23:06:36.000000000 -0500
 -@@ -2148,5 +2148,6 @@
 -     Blt_HashSearch cursor;
 -     Bar *barPtr;
 --    int isNew, count;
 -+    int isNew;
 -+    intptr_t count;
 -     int nStacks, nSegs;
 -     int nPoints;
 -@@ -2198,5 +2199,5 @@
 - 		count = 1;
 - 	    } else {
 --		count = (int)Blt_GetHashValue(hPtr);
 -+		count = (intptr_t)Blt_GetHashValue(hPtr);
 - 		if (count == 1) {
 - 		    nStacks++;
 -@@ -2220,10 +2221,10 @@
 - 	for (hPtr = Blt_FirstHashEntry(&freqTable, &cursor); hPtr != NULL;
 - 	    hPtr = Blt_NextHashEntry(&cursor)) {
 --	    count = (int)Blt_GetHashValue(hPtr);
 -+	    count = (intptr_t)Blt_GetHashValue(hPtr);
 - 	    keyPtr = (FreqKey *)Blt_GetHashKey(&freqTable, hPtr);
 - 	    if (count > 1) {
 - 		h2Ptr = Blt_CreateHashEntry(&(graphPtr->freqTable),
 - 		    (char *)keyPtr, &isNew);
 --		count = (int)Blt_GetHashValue(hPtr);
 -+		count = (intptr_t)Blt_GetHashValue(hPtr);
 - 		infoPtr->freq = count;
 - 		infoPtr->axes = keyPtr->axes;
 ---- src/bltColor.c	2002-08-09 21:29:33.000000000 -0400
 -+++ src/bltColor.c	2010-01-16 23:43:28.000000000 -0500
 -@@ -78,57 +78,4 @@
 - #define NCOLORS		256
 - 
 --
 --static void
 --GetPaletteSizes(nColors, nRedsPtr, nGreensPtr, nBluesPtr)
 --    int nColors;		/* Number of colors requested. */
 --    unsigned int *nRedsPtr;	/* (out) Number of red components. */
 --    unsigned int *nGreensPtr;	/* (out) Number of green components. */
 --    unsigned int *nBluesPtr;	/* (out) Number of blue components. */
 --{
 --    unsigned int nBlues, nReds, nGreens;
 --
 --    assert(nColors > 1); 
 --    nBlues = nReds = nGreens = 0;
 --    while ((nBlues * nBlues * nBlues) <= nColors) {
 --	nBlues++;
 --    }
 --    nBlues--;
 --    while ((nReds * nReds * nBlues) <= nColors) {
 --	nReds++;
 --    }
 --    nReds--;
 --    nGreens = nColors / (nBlues * nReds);
 --
 --    *nRedsPtr = nReds;
 --    *nGreensPtr = nGreens;
 --    *nBluesPtr = nBlues;
 --}
 --
 --static void
 --BuildColorRamp(palettePtr, nColors)
 --    Pix32 *palettePtr;
 --    int nColors;
 --{
 --    register unsigned int r, g, b;
 --    unsigned int short red, green, blue;
 --    unsigned int nReds, nGreens, nBlues;
 --
 --    GetPaletteSizes(nColors, &nReds, &nGreens, &nBlues);
 --    for (r = 0; r < nReds; r++) {
 --	red = (r * USHRT_MAX) / (nReds - 1);
 --	for (g = 0; g < nGreens; g++) {
 --	    green = (g * USHRT_MAX) / (nGreens - 1);
 --	    for (b = 0; b < nBlues; b++) {
 --		blue = (b * USHRT_MAX) / (nBlues - 1);
 --		palettePtr->Red = red;
 --		palettePtr->Green = green;
 --		palettePtr->Blue = blue;
 --		palettePtr++;
 --	    }
 --	}
 --    }
 --
 --}
 --
 - /*
 -  *----------------------------------------------------------------------
 -@@ -201,147 +148,4 @@
 - }
 - 
 --static void
 --FindClosestColor(colorPtr, mapColors, numMapColors)
 --    ColorInfo *colorPtr;
 --    XColor mapColors[];
 --    int numMapColors;
 --{
 --    double r, g, b;
 --    register int i;
 --    double dist, min;
 --    XColor *lastMatch;
 --    register XColor *mapColorPtr;
 --
 --    min = DBL_MAX;	/* Any color is closer. */
 --    lastMatch = NULL;
 --
 --    /* Linear search of color */
 --
 --    mapColorPtr = mapColors;
 --    for (i = 0; i < numMapColors; i++, mapColorPtr++) {
 --	r = (double)mapColorPtr->red - (double)colorPtr->exact.red;
 --	g = (double)mapColorPtr->green - (double)colorPtr->exact.green;
 --	b = (double)mapColorPtr->blue - (double)colorPtr->exact.blue;
 --
 --	dist = (r * r) + (b * b) + (g * g);
 --	if (dist < min) {
 --	    min = dist;
 --	    lastMatch = mapColorPtr;
 --	}
 --    }
 --    colorPtr->best = *lastMatch;
 --    colorPtr->best.flags = (DoRed | DoGreen | DoBlue);
 --    colorPtr->error = (float)sqrt(min);
 --}
 --
 --static int
 --CompareColors(a, b)
 --    void *a, *b;
 --{
 --    ColorInfo *i1Ptr, *i2Ptr;
 --
 --    i1Ptr = *(ColorInfo **) a;
 --    i2Ptr = *(ColorInfo **) b;
 --    if (i2Ptr->error > i1Ptr->error) {
 --	return 1;
 --    } else if (i2Ptr->error < i1Ptr->error) {
 --	return -1;
 --    }
 --    return 0;
 --}
 --
 --static float
 --MatchColors(colorTabPtr, rgbPtr, numColors, numAvailColors, numMapColors,
 --    mapColors)
 --    struct ColorTableStruct *colorTabPtr;
 --    Pix32 *rgbPtr;
 --    int numColors;
 --    int numAvailColors;
 --    int numMapColors;
 --    XColor mapColors[NCOLORS];
 --{
 --    int numMatched;
 --    float sum;
 --    register int i;
 --    register ColorInfo *colorPtr;
 --
 --    /*
 --     * For each quantized color, compute and store the error (i.e
 --     * the distance from a color that's already been allocated).
 --     * We'll use this information to sort the colors based upon how
 --     * badly they match and their frequency to the color image.
 --     */
 --    colorPtr = colorTabPtr->colorInfo;
 --    for (i = 0; i < numColors; i++, colorPtr++, rgbPtr++) {
 --	colorPtr->index = i;
 --	colorTabPtr->sortedColors[i] = colorPtr;
 --	colorPtr->exact.red = rgbPtr->Red;
 --	colorPtr->exact.green = rgbPtr->Green;
 --	colorPtr->exact.blue = rgbPtr->Blue;
 --	colorPtr->exact.flags = (DoRed | DoGreen | DoBlue);
 --	FindClosestColor(colorPtr, mapColors, numMapColors);
 --    }
 --
 --    /* Sort the colors, first by frequency (most to least), then by
 --     * matching error (worst to best).
 --     */
 --    qsort(colorTabPtr->sortedColors, numColors, sizeof(ColorInfo *),
 --	(QSortCompareProc *)CompareColors);
 --
 --    for (i = 0; i < numColors; i++) {
 --	colorPtr = colorTabPtr->sortedColors[i];
 --	fprintf(stderr, "%d. %04x%04x%04x / %04x%04x%04x = %f (%d)\n", i,
 --	    colorPtr->exact.red, colorPtr->exact.green, colorPtr->exact.blue,
 --	    colorPtr->best.red, colorPtr->best.green, colorPtr->best.blue,
 --	    colorPtr->error, colorPtr->freq);
 --    }
 --    sum = 0.0;
 --    numMatched = 0;
 --    for (i = numAvailColors; i < numColors; i++) {
 --	colorPtr = colorTabPtr->sortedColors[i];
 --	sum += colorPtr->error;
 --	numMatched++;
 --    }
 --    if (numMatched > 0) {
 --	sum /= numMatched;
 --    }
 --    return sum;
 --}
 --
 --    
 --static int
 --AllocateColors(nImageColors, colorTabPtr, matchOnly)
 --    int nImageColors;
 --    struct ColorTableStruct *colorTabPtr;
 --    int matchOnly;
 --{
 --    register int i;
 --    register ColorInfo *colorPtr;
 --    unsigned long int pixelValue;
 --
 --    for (i = 0; i < nImageColors; i++) {
 --	colorPtr = colorTabPtr->sortedColors[i];
 --	if (matchOnly) {
 --	    XAllocColor(colorTabPtr->display, colorTabPtr->colorMap,
 --		&colorPtr->best);
 --	    pixelValue = colorPtr->best.pixel;
 --	} else {
 --	    colorPtr->allocated = XAllocColor(colorTabPtr->display,
 --		colorTabPtr->colorMap, &colorPtr->exact);
 --
 --	    if (colorPtr->allocated) {
 --		pixelValue = colorPtr->exact.pixel;
 --	    } else {
 --		XAllocColor(colorTabPtr->display, colorTabPtr->colorMap,
 --		    &colorPtr->best);
 --		pixelValue = colorPtr->best.pixel;
 --	    }
 --	}
 --	colorTabPtr->pixelValues[colorPtr->index] = pixelValue;
 --    }
 --    colorTabPtr->nPixels = nImageColors;
 --    return 1;
 --}
 --
 - ColorTable
 - Blt_CreateColorTable(tkwin)
 -@@ -511,47 +315,7 @@
 - }
 - 
 --/*
 -- * First attempt:
 -- *	Allocate colors all the colors in the image (up to NCOLORS). Bail out
 -- *	on the first failure or if we need more than NCOLORS.
 -- */
 --static int
 --GetUniqueColors(image)
 --    Blt_ColorImage image;
 --{
 --    register int i, nColors;
 --    register Pix32 *pixelPtr;
 --    Pix32 color;
 --    Blt_HashEntry *hPtr;
 --    int isNew, nPixels;
 --    int refCount;
 --    Blt_HashTable colorTable;
 --
 --    Blt_InitHashTable(&colorTable, BLT_ONE_WORD_KEYS);
 --
 --    nPixels = Blt_ColorImageWidth(image) * Blt_ColorImageHeight(image);
 --    nColors = 0;
 --    pixelPtr = Blt_ColorImageBits(image);
 --    for (i = 0; i < nPixels; i++, pixelPtr++) {
 --	color.value = pixelPtr->value;
 --	color.Alpha = 0xFF;	/* Ignore alpha-channel values */
 --	hPtr = Blt_CreateHashEntry(&colorTable, (char *)color.value, &isNew);
 --	if (isNew) {
 --	    refCount = 1;
 --	    nColors++;
 --	} else {
 --	    refCount = (int)Blt_GetHashValue(hPtr);
 --	    refCount++;
 --	}
 --	Blt_SetHashValue(hPtr, (ClientData)refCount);
 --    }
 --    Blt_DeleteHashTable(&colorTable);
 --    return nColors;
 --}
 --
 - #define Blt_DefaultColormap(tkwin)  \
 - 	DefaultColormap(Tk_Display(tkwin), Tk_ScreenNumber(tkwin))
 - 
 --
 - static void
 - PrivateColormap(interp, colorTabPtr, image, tkwin)
 ---- src/bltConfig.c	2002-09-18 18:30:51.000000000 -0400
 -+++ src/bltConfig.c	2010-01-16 23:45:46.000000000 -0500
 -@@ -276,5 +276,5 @@
 -     int offset;			/* Offset of style in record */
 - {
 --    unsigned int mask = (unsigned int)clientData;	/* Bit to be tested */
 -+    unsigned int mask = (uintptr_t)clientData;	/* Bit to be tested */
 -     int *flagPtr = (int *)(widgRec + offset);
 -     int bool;
 -@@ -312,5 +312,5 @@
 -     Tcl_FreeProc **freeProcPtr;	/* Not Used. */
 - {
 --    unsigned int mask = (unsigned int)clientData;	/* Bit to be tested */
 -+    unsigned int mask = (uintptr_t)clientData;	/* Bit to be tested */
 -     unsigned int bool = *(unsigned int *)(widgRec + offset);
 - 
 -@@ -393,5 +393,5 @@
 - {
 -     int *valuePtr = (int *)(widgRec + offset);
 --    return Blt_GetPixels(interp, tkwin, string, (int)clientData, valuePtr);
 -+    return Blt_GetPixels(interp, tkwin, string, (intptr_t)clientData, valuePtr);
 - }
 - 
 -@@ -482,5 +482,5 @@
 - {
 -     int *valuePtr = (int *)(widgRec + offset);
 --    return Blt_GetInt(interp, string, (int)clientData, valuePtr);
 -+    return Blt_GetInt(interp, string, (intptr_t)clientData, valuePtr);
 - }
 - 
 ---- src/bltContainer.c	2002-07-14 19:33:24.000000000 -0400
 -+++ src/bltContainer.c	2010-01-16 23:47:10.000000000 -0500
 -@@ -823,5 +823,5 @@
 -     int offset;			/* Offset to field in structure */
 - {
 --    unsigned int flags = (int)clientData;
 -+    unsigned int flags = (uintptr_t)clientData;
 -     Container *cntrPtr = (Container *)widgRec;
 -     Window *winPtr = (Window *) (widgRec + offset);
 ---- src/bltGrMisc.c	2002-07-17 05:56:00.000000000 -0400
 -+++ src/bltGrMisc.c	2010-01-17 00:03:38.000000000 -0500
 -@@ -75,5 +75,5 @@
 -     Tcl_Interp *interp;
 -     Tk_Window tkwin;
 --    char *string;
 -+    const char *string;
 -     int *xPtr, *yPtr;
 - {
 -@@ -261,5 +261,5 @@
 -     ColorPair *pairPtr = (ColorPair *)(widgRec + offset);
 -     ColorPair sample;
 --    int allowDefault = (int)clientData;
 -+    int allowDefault = (intptr_t)clientData;
 - 
 -     sample.fgColor = sample.bgColor = NULL;
 ---- src/bltHierbox.c	2002-09-18 23:02:09.000000000 -0400
 -+++ src/bltHierbox.c	2010-01-17 00:02:41.000000000 -0500
 -@@ -2078,5 +2078,5 @@
 -     do {
 - 	serial = hboxPtr->nextSerial++;
 --	hPtr = Blt_CreateHashEntry(&(hboxPtr->nodeTable), (char *)serial,
 -+	hPtr = Blt_CreateHashEntry(&(hboxPtr->nodeTable), (char *)(intptr_t)serial,
 - 	    &isNew);
 -     } while (!isNew);
 -@@ -2365,5 +2365,5 @@
 - GetNodeByIndex(hboxPtr, string)
 -     Hierbox *hboxPtr;
 --    char *string;
 -+    const char *string;
 - {
 -     if (isdigit(UCHAR(string[0]))) {
 -@@ -2373,5 +2373,5 @@
 - 	    Blt_HashEntry *hPtr;
 - 
 --	    hPtr = Blt_FindHashEntry(&(hboxPtr->nodeTable), (char *)serial);
 -+	    hPtr = Blt_FindHashEntry(&(hboxPtr->nodeTable), (char *)(intptr_t)serial);
 - 	    if (hPtr != NULL) {
 - 		return (Tree *) Blt_GetHashValue(hPtr);
 -@@ -2403,9 +2403,9 @@
 -     Tree *nodePtr;
 - {
 --    static char string[200];
 -+    static char string[31];
 -     int serial;
 - 
 -     /* Node table keys are integers.  Convert them to strings. */
 --    serial = (int)Blt_GetHashKey(&(hboxPtr->nodeTable),
 -+    serial = (intptr_t)Blt_GetHashKey(&(hboxPtr->nodeTable),
 - 	nodePtr->entryPtr->hashPtr);
 -     sprintf(string, "%d", serial);
 -@@ -2458,5 +2458,5 @@
 - GetNode(hboxPtr, string, treePtrPtr)
 -     Hierbox *hboxPtr;
 --    char *string;
 -+    const char *string;
 -     Tree **treePtrPtr;
 - {
 ---- src/bltImage.c	2002-08-15 01:22:10.000000000 -0400
 -+++ src/bltImage.c	2010-01-17 00:13:49.000000000 -0500
 -@@ -2419,11 +2419,11 @@
 - }
 - 
 --static unsigned int *
 --CreateColorLookupTable(s, cubes, nColors)
 -+static void
 -+CreateColorLookupTable(s, cubes, nColors, lut)
 -     ColorImageStatistics *s;
 -     Cube *cubes;
 -     int nColors;
 -+    unsigned int lut[33][33][33];
 - {
 --    unsigned int *lut;
 -     Pix32 color;
 -     unsigned int red, green, blue;
 -@@ -2432,7 +2432,4 @@
 -     register int i;
 - 
 --    lut = Blt_Calloc(sizeof(unsigned int), 33 * 33 * 33);
 --    assert(lut);
 --
 -     color.Alpha = (unsigned char)-1;
 -     for (cubePtr = cubes, i = 0; i < nColors; i++, cubePtr++) {
 -@@ -2451,5 +2448,4 @@
 - 	Mark(cubePtr, color.value, lut);
 -     }
 --    return lut;
 - }
 - 
 -@@ -2514,5 +2510,5 @@
 -     ColorImageStatistics *statistics;
 -     int nColors;
 --    unsigned int *lut;
 -+    unsigned int lut[33][33][33];
 - 
 -     /*
 -@@ -2528,9 +2524,8 @@
 -     assert(nColors <= reduceColors);
 - 
 --    lut = CreateColorLookupTable(statistics, cubes, nColors);
 -+    CreateColorLookupTable(statistics, cubes, nColors, lut);
 -     Blt_Free(statistics);
 -     Blt_Free(cubes);
 -     MapColors(src, dest, lut);
 --    Blt_Free(lut);
 -     return TCL_OK;
 - }
 ---- src/bltUnixImage.c	2002-08-16 00:15:04.000000000 -0400
 -+++ src/bltUnixImage.c	2010-01-17 00:15:52.000000000 -0500
 -@@ -575,5 +575,5 @@
 - 	endPtr = destPtr + nPixels;
 - 	for (/* empty */; destPtr < endPtr; destPtr++) {
 --	    hPtr = Blt_FindHashEntry(&pixelTable, (char *)destPtr->value);
 -+	    hPtr = Blt_FindHashEntry(&pixelTable, (char *)(intptr_t)destPtr->value);
 - 	    colorPtr = (XColor *)Blt_GetHashValue(hPtr);
 - 	    destPtr->Red = lut[colorPtr->red >> 8];
 ---- src/bltTable.c	2002-10-14 19:31:24.000000000 -0400
 -+++ src/bltTable.c	2010-01-21 23:11:06.000000000 -0500
 -@@ -2035,5 +2035,5 @@
 -     for (node = Blt_ListFirstNode(list); node != NULL;
 - 	node = Blt_ListNextNode(node)) {
 --	key = (int)Blt_ListGetKey(node);
 -+	key = (intptr_t)Blt_ListGetKey(node);
 - 	if (entryPtr->row.span <= key) {
 - 	    break;
 -@@ -2047,5 +2047,5 @@
 - 	 * span and and link it into the list of buckets.
 - 	 */
 --	newNode = Blt_ListCreateNode(list, (char *)entryPtr->row.span);
 -+	newNode = Blt_ListCreateNode(list, (char *)(intptr_t)entryPtr->row.span);
 - 	Blt_ListSetValue(newNode, (char *)Blt_ChainCreate());
 - 	Blt_ListLinkBefore(list, newNode, node);
 -@@ -2064,5 +2064,5 @@
 -     for (node = Blt_ListFirstNode(list); node != NULL;
 - 	node = Blt_ListNextNode(node)) {
 --	key = (int)Blt_ListGetKey(node);
 -+	key = (intptr_t)Blt_ListGetKey(node);
 - 	if (entryPtr->column.span <= key) {
 - 	    break;
 -@@ -2076,5 +2076,5 @@
 - 	 * span and and link it into the list of buckets.
 - 	 */
 --	newNode = Blt_ListCreateNode(list, (char *)entryPtr->column.span);
 -+	newNode = Blt_ListCreateNode(list, (char *)(intptr_t)entryPtr->column.span);
 - 	Blt_ListSetValue(newNode, (char *)Blt_ChainCreate());
 - 	Blt_ListLinkBefore(list, newNode, node);
 ---- src/bltTreeView.c	2010-01-17 00:06:38.000000000 -0500
 -+++ src/bltTreeView.c	2010-01-21 23:12:51.000000000 -0500
 -@@ -1050,5 +1050,5 @@
 -     Blt_HashEntry *hPtr;
 -     int isNew;
 --    int refCount;
 -+    intptr_t refCount;
 - 
 -     hPtr = Blt_CreateHashEntry(&tvPtr->uidTable, string, &isNew);
 -@@ -1056,5 +1056,5 @@
 - 	refCount = 1;
 -     } else {
 --	refCount = (int)Blt_GetHashValue(hPtr);
 -+	refCount = (intptr_t)Blt_GetHashValue(hPtr);
 - 	refCount++;
 -     }
 -@@ -1081,9 +1081,9 @@
 - {
 -     Blt_HashEntry *hPtr;
 --    int refCount;
 -+    intptr_t refCount;
 - 
 -     hPtr = Blt_FindHashEntry(&tvPtr->uidTable, uid);
 -     assert(hPtr != NULL);
 --    refCount = (int)Blt_GetHashValue(hPtr);
 -+    refCount = (intptr_t)Blt_GetHashValue(hPtr);
 -     refCount--;
 -     if (refCount > 0) {
 ---- src/bltTreeView.h	2002-08-15 18:20:38.000000000 -0400
 -+++ src/bltTreeView.h	2010-01-21 23:17:42.000000000 -0500
 -@@ -1005,4 +1005,6 @@
 - extern void Blt_TreeViewDrawRule _ANSI_ARGS_((TreeView *tvPtr, 
 - 	TreeViewColumn *columnPtr, Drawable drawable));
 -+extern int Blt_TreeViewTextbox _ANSI_ARGS_((TreeView *tvPtr,
 -+	TreeViewEntry *entryPtr, TreeViewColumn *columnPtr));
 - extern int Blt_TreeViewTextOp _ANSI_ARGS_((TreeView *tvPtr, Tcl_Interp *interp,
 - 	int objc, Tcl_Obj *CONST *objv));
 ---- src/bltTreeViewStyle.c	2002-07-22 18:18:40.000000000 -0400
 -+++ src/bltTreeViewStyle.c	2010-01-21 23:19:14.000000000 -0500
 -@@ -416,5 +416,5 @@
 - static StyleFreeProc FreeTextBox, FreeCheckBox, FreeComboBox;
 - static StyleMeasureProc MeasureTextBox, MeasureCheckBox, MeasureComboBox;
 --static StylePickProc PickCheckBox, PickComboBox;
 -+static StylePickProc PickComboBox;
 - 
 - /*
 -@@ -1264,58 +1264,4 @@
 -  *----------------------------------------------------------------------
 -  *
 -- * PickCheckbox --
 -- *
 -- *	Draws the "checkbox" given the screen coordinates and the
 -- *	value to be displayed.  
 -- *
 -- * Results:
 -- *	None.
 -- *
 -- * Side Effects:
 -- *	The checkbox value is drawn.
 -- *
 -- *----------------------------------------------------------------------
 -- */
 --static int
 --PickCheckBox(entryPtr, valuePtr, stylePtr, worldX, worldY)
 --    TreeViewEntry *entryPtr;
 --    TreeViewValue *valuePtr;
 --    TreeViewStyle *stylePtr;
 --    int worldX, worldY;
 --{
 --    TreeViewColumn *columnPtr;
 --    TreeViewCheckBox *cbPtr = (TreeViewCheckBox *)stylePtr;
 --    int columnWidth;
 --    int x, y, width, height;
 --
 --    columnPtr = valuePtr->columnPtr;
 --    columnWidth = columnPtr->width - 
 --	(2 * columnPtr->borderWidth + PADDING(columnPtr->pad));
 --    if (columnWidth > valuePtr->width) {
 --	switch(columnPtr->justify) {
 --	case TK_JUSTIFY_RIGHT:
 --	    worldX += (columnWidth - valuePtr->width);
 --	    break;
 --	case TK_JUSTIFY_CENTER:
 --	    worldX += (columnWidth - valuePtr->width) / 2;
 --	    break;
 --	case TK_JUSTIFY_LEFT:
 --	    break;
 --	}
 --    }
 --    width = height = ODD(cbPtr->size) + 2 * cbPtr->lineWidth;
 --    x = columnPtr->worldX + columnPtr->pad.side1 + cbPtr->gap - 
 --	cbPtr->lineWidth;
 --    y = entryPtr->worldY + (entryPtr->height - height) / 2;
 --    if ((worldX >= x) && (worldX < (x + width)) && 
 --	(worldY >= y) && (worldY < (y + height))) {
 --	return TRUE;
 --    }
 --    return FALSE;
 --}
 --
 --/*
 -- *----------------------------------------------------------------------
 -- *
 -  * EditCheckbox --
 -  *
 ---- src/bltObjConfig.c	2002-09-18 18:30:51.000000000 -0400
 -+++ src/bltObjConfig.c	2010-01-21 23:21:47.000000000 -0500
 -@@ -1220,5 +1220,5 @@
 - 	    {
 - 		int bool;
 --		unsigned int flag;
 -+		uintptr_t flag;
 - 
 - 		
 -@@ -1226,5 +1226,5 @@
 - 		    return TCL_ERROR;
 - 		}
 --		flag = (unsigned int)specPtr->customPtr;
 -+		flag = (uintptr_t)specPtr->customPtr;
 - 		*(int *)ptr &= ~flag;
 - 		if (bool) {
 -@@ -1499,7 +1499,7 @@
 -     case BLT_CONFIG_BITFLAG:
 - 	{
 --	    unsigned int flag;
 -+	    uintptr_t flag;
 - 
 --	    flag = (*(int *)ptr) & (unsigned int)specPtr->customPtr;
 -+	    flag = (*(int *)ptr) & (uintptr_t)specPtr->customPtr;
 - 	    return Tcl_NewBooleanObj((flag != 0));
 - 	}
 ---- src/bltTed.c	2002-05-16 16:46:00.000000000 -0400
 -+++ src/bltTed.c	2010-01-21 23:24:01.000000000 -0500
 -@@ -307,8 +307,6 @@
 - static void DestroyTed _ANSI_ARGS_((DestroyData destroyData));
 - static void DisplayEntry _ANSI_ARGS_((ClientData clientData));
 --static void DestroyEntry _ANSI_ARGS_((DestroyData destoryData));
 - 
 - static Tcl_CmdProc TedCmd;
 --static Tk_EventProc EntryEventProc;
 - static Tk_EventProc TedEventProc;
 - 
 -@@ -343,72 +341,4 @@
 - 
 - /*
 -- *----------------------------------------------------------------------
 -- *
 -- * EventuallyRedraw --
 -- *
 -- *	Queues a request to redraw the text window at the next idle
 -- *	point.
 -- *
 -- * Results:
 -- *	None.
 -- *
 -- * Side effects:
 -- *	Information gets redisplayed.  Right now we don't do selective
 -- *	redisplays:  the whole window will be redrawn.  This doesn't
 -- *	seem to hurt performance noticeably, but if it does then this
 -- *	could be changed.
 -- *
 -- *----------------------------------------------------------------------
 -- */
 --static void
 --EventuallyRedrawEntry(repPtr)
 --    EntryRep *repPtr;		/* Information about editor. */
 --{
 --    if ((repPtr->tkwin != NULL) && !(repPtr->flags & REDRAW_PENDING)) {
 --	repPtr->flags |= REDRAW_PENDING;
 --	Tcl_DoWhenIdle(DisplayEntry, repPtr);
 --    }
 --}
 --
 --/*
 -- * --------------------------------------------------------------
 -- *
 -- * EntryEventProc --
 -- *
 -- * 	This procedure is invoked by the Tk dispatcher for various
 -- * 	events on the editing grid for the table.
 -- *
 -- * Results:
 -- *	None.
 -- *
 -- * Side effects:
 -- *	When the window gets deleted, internal structures get
 -- *	cleaned up.  When it gets exposed, it is redisplayed.
 -- *
 -- * --------------------------------------------------------------
 -- */
 --static void
 --EntryEventProc(clientData, eventPtr)
 --    ClientData clientData;	/* Information about window. */
 --    XEvent *eventPtr;		/* Information about event. */
 --{
 --    EntryRep *repPtr = (EntryRep *) clientData;
 --
 --    if (eventPtr->type == ConfigureNotify) {
 --	EventuallyRedrawEntry(repPtr);
 --    } else if (eventPtr->type == Expose) {
 --	if (eventPtr->xexpose.count == 0) {
 --	    EventuallyRedrawEntry(repPtr);
 --	}
 --    } else if (eventPtr->type == DestroyNotify) {
 --	repPtr->tkwin = NULL;
 --	if (repPtr->flags & REDRAW_PENDING) {
 --	    Tcl_CancelIdleCall(DisplayEntry, repPtr);
 --	}
 --	Tcl_EventuallyFree(repPtr, DestroyEntry);
 --    }
 --}
 --
 --/*
 -  * --------------------------------------------------------------
 -  *
 -@@ -545,78 +475,4 @@
 -  * ----------------------------------------------------------------------------
 -  *
 -- * CreateEntry --
 -- *
 -- * ----------------------------------------------------------------------------
 -- */
 --static int
 --CreateEntry(tedPtr, entryPtr)
 --    Ted *tedPtr;
 --    Entry *entryPtr;
 --{
 --    Tk_Window tkwin, master;
 --    char string[200];
 --    EntryRep *repPtr;
 --    Blt_ChainLink *linkPtr;
 --
 --    repPtr = Blt_Calloc(1, sizeof(EntryRep));
 --    assert(repPtr);
 --    repPtr->tablePtr = tedPtr->tablePtr;
 --    repPtr->tedPtr = tedPtr;
 --    repPtr->interp = tedPtr->interp;
 --    repPtr->entryPtr = entryPtr;
 --    repPtr->mapped = 0;
 --
 --    /*
 --     * Create a sibling window to cover the master window. It will
 --     * be stacked just above the master window.
 --     */
 --
 --    master = tedPtr->tablePtr->tkwin;
 --    sprintf(string, "bltTed%d", tedPtr->nextWindowId);
 --    tedPtr->nextWindowId++;
 --    tkwin = Tk_CreateWindow(tedPtr->interp, master, string, (char *)NULL);
 --    if (tkwin == NULL) {
 --	Blt_Free(repPtr);
 --	return TCL_ERROR;
 --    }
 --    Tk_SetClass(tkwin, "BltTed");
 --    Tk_CreateEventHandler(tkwin, ExposureMask | StructureNotifyMask,
 --	EntryEventProc, repPtr);
 --    repPtr->tkwin = tkwin;
 --    linkPtr = Blt_ChainNewLink();
 --    Blt_ChainSetValue(linkPtr, repPtr);
 --    Blt_ChainLinkAfter(tedPtr->chainPtr, linkPtr, (Blt_ChainLink *)NULL);
 --    return TCL_OK;
 --}
 --
 --/*
 -- * ----------------------------------------------------------------------------
 -- *
 -- * DestroyEntry --
 -- *
 -- * ----------------------------------------------------------------------------
 -- */
 --static void
 --DestroyEntry(data)
 --    DestroyData data;
 --{
 --    EntryRep *repPtr = (EntryRep *)data;
 --    Blt_ChainLink *linkPtr;
 --    Entry *entryPtr;
 --
 --    for (linkPtr = Blt_ChainFirstLink(repPtr->tedPtr->chainPtr);
 --	linkPtr != NULL; linkPtr = Blt_ChainNextLink(linkPtr)) {
 --	entryPtr = Blt_ChainGetValue(linkPtr);
 --	if (entryPtr == repPtr->entryPtr) {
 --	    Blt_ChainDeleteLink(repPtr->tedPtr->chainPtr, linkPtr);
 --	    Blt_Free(repPtr);
 --	    return;
 --	}
 --    }
 --}
 --
 --/*
 -- * ----------------------------------------------------------------------------
 -- *
 -  * DisplayEntry --
 -  *
 diff -urN /usr/ports/x11-toolkits/blt/pkg-descr x11-toolkits/blt/pkg-descr
 --- /usr/ports/x11-toolkits/blt/pkg-descr	2013-06-21 03:54:39.000000000 +0900
 +++ x11-toolkits/blt/pkg-descr	2013-11-01 00:00:00.000000000 +0900
 @@ -4,3 +4,5 @@
  
  NOTE: This kit requires as a pre-requisite the Tcl and Tk binary kits.
  This version uses FreeBSD shared libraries.
 +
 +WWW: http://blt.sourceforge.net/
 diff -urN /usr/ports/x11-toolkits/blt/pkg-plist x11-toolkits/blt/pkg-plist
 --- /usr/ports/x11-toolkits/blt/pkg-plist	2013-10-31 15:20:40.000000000 +0900
 +++ x11-toolkits/blt/pkg-plist	2013-11-01 00:00:00.000000000 +0900
 @@ -10,6 +10,9 @@
  include/bltPool.h
  include/bltTree.h
  include/bltVector.h
 +lib/blt2.4/NEWS
 +lib/blt2.4/PROBLEMS
 +lib/blt2.4/README
  lib/blt2.4/bltCanvEps.pro
  lib/blt2.4/bltGraph.pro
  lib/blt2.4/dd_protocols/dd-color.tcl
 
 --Multipart=_Fri__1_Nov_2013_05_30_00_+0900_z4gWL20z9aogO=dd--
State-Changed-From-To: open->closed 
State-Changed-By: antoine 
State-Changed-When: Sat Dec 14 14:26:59 UTC 2013 
State-Changed-Why:  
Thanks for the submission, it looks like the problem has been fixed already. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=181060 
>Unformatted:
