Index: client/1.0/neutral/pkgd.eagle
==================================================================
--- client/1.0/neutral/pkgd.eagle
+++ client/1.0/neutral/pkgd.eagle
@@ -180,11 +180,11 @@
# package downloader client?
#
variable clientDirectory
if {![info exists clientDirectory]} then {
- set clientDirectory [file dirname $script]
+ set clientDirectory [file normalize [file dirname $script]]
}
#
# NOTE: This is the HTTP(S) login cookie to use when downloading files
# from the package file server.
Index: client/1.0/neutral/pkgd.eagle.asc
==================================================================
--- client/1.0/neutral/pkgd.eagle.asc
+++ client/1.0/neutral/pkgd.eagle.asc
@@ -1,18 +1,18 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
Comment: Eagle Package Repository
-iQIcBAABCAAGBQJYVwVLAAoJEFAslq9JXcLZV4UQAKmMmmr7Dt82toNUwCUjo16M
-TvqBNC/u4smP6/SRqcJv/vVWwZ6f4t+DBLDKkW6CcWkkZo9/eG4UTNwugWaGxyzv
-5M2IG4BYkNAjadXkYyyr778A5MM3rOoCv5Y3M9AQKGgVFBcxZolAmu6ZCKqFdQpZ
-BXRI6n6wPFuzPUtG2KVEP4T95Fw+XHZ0w++JMnM+s8a3eOtDTKkrzJhvFl0wQNcS
-xbqQKe6yRriWixH7n5E0ZYqNXpK+/eZWFtJKcTGlN/9qJHGdP20rH+e6Deaur0pT
-bZ1NEdINdWgFUTJq+trNhD8RGjNKWfxyli8XZkL3DaYHzRm/bwMvsj1b4+2xj4qp
-Y3mBngA6aUXQ4BFdkFc/jCDZfORKe+hfUR+OLRwu62f+ACzVH/tzB0ppUYDsFagM
-F/rcy4/Gdoe61IQPHTYgT8YWN7WBdmHfoM+8/vhAZe1rc7cBEr0d2qFHMaPAuop+
-ajqV0EOa9hKy7Yv2VIhuEYb724XuT87UHnRMaX/550x+FyAI/1zhhw0E6Uib5vk6
-dFtj8uSJasyxMH5Q4uvzMJsAEmHE68IWv8uImsyWIpOd994gN6DCl486/2/D5bWe
-QSrej7PStnTClMIjqtqtsOw7Gr7Kl0uwIHubj1fmhJu0Jq7AsKznD432aZnP1MCG
-cR1Wr4EgYSr79vX9Cd6s
-=Lcfm
+iQIcBAABCAAGBQJYXGyDAAoJEFAslq9JXcLZCjAP/Rdfuu9bvBU3wsT6EjsMhuiX
+Yx3Qe4M2gQZGgamLw2MCF4uSc5YP1pO2WR8K8d6C5J5BcOIf0P4Zo1knySsn1dan
+RAUHLQ8XDJ+W46rYRuCcO25fdGuAXLFyHjeQEk//Uqq/fHBGhLW7hrYhCM1eR1p2
+HtXr+lZiHxTFVqTDWk35aK5+NYcd9ofpyMe0LidGeuQq0s75E1EbVBy5BfHfROTg
+HC9QTcmcJ8sW/5GJ5Tfl12vD8WxK6AUpuk5bORZkX4EqKqWYYaP1myolND9TwXF4
+uWz26qUGCjjRLUF8VOdVQzEvib7SS6rmt/3eg8iU6O0KjFu1ua2QFfPKXVaWsHvw
+DxK/r//5ktgDlbk0Fz0Z1qdQNcNG5jyp1CZBHmzuzolj+bjFvMTi2YWVGPAdbj0Z
+N70iF+QfK1J7gAdjG8EiVQba3xAEm9pWFX0Qdidoqy83FSgJG//Iu/tzKcessPOl
+8gXCYmB1PDlFZq9QdwcYj76cciCU6FQf/xoaWl4ybiNjLz08uLMnHI78q9nuUPVd
+zIHNK0XdCfisavUznLd9Ey3SDwBmmY4U6MjPGhTOV51bEZodIa8vyq2r8GjHATJu
+Ows0qcN3/ozKHHa8vmGitmCPVBXp4Nc93TM3EvYU/afM1rGleNOqEKhuZhSOfM+s
++Y6oe3TJvwuuXU7SPQ2J
+=zWxC
-----END PGP SIGNATURE-----
Index: client/1.0/neutral/pkgd.eagle.harpy
==================================================================
--- client/1.0/neutral/pkgd.eagle.harpy
+++ client/1.0/neutral/pkgd.eagle.harpy
@@ -19,50 +19,50 @@
None
Mistachkin Systems
- 041a78ad-def2-468e-93e5-a4187d69b9fc
+ 94d758a7-976a-4ff2-9d25-c00a7cd7bb11
SHA512
Script
- 2016-12-18T21:52:29.3681640Z
+ 2016-12-23T00:13:56.0371093Z
-1.00:00:00
0x9559f6017247e3e2
- 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
+ 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
Index: client/1.0/neutral/pkgd.eagle.harpy.asc
==================================================================
--- client/1.0/neutral/pkgd.eagle.harpy.asc
+++ client/1.0/neutral/pkgd.eagle.harpy.asc
@@ -1,18 +1,18 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
Comment: Eagle Package Repository
-iQIcBAABCAAGBQJYVwVMAAoJEFAslq9JXcLZAmcQAL6t6rLSpsVOv9oxVowgdcj2
-vMiYFiyXbvzqrZhUlfBsalSyrJe1wBHug9C7oZo081v6zvi5WnA5d1CQ8ukRfTyj
-i9Ip15U/QsCvPu9sFclhkfUdncJL59rcLSfMxEBpDJsrfIlcFPhK1BtwvmhGtMAm
-7kHPYEeqqOj8GQtXUmLoftb1gpqV9c9e3cXd9hwKxFDma/RE/02wv7t83Sd5Jik/
-4weq2o541CqXyl0Y5z2HYuwDlNOzEw6kG3NRyoU1MwvfgBW9WOyZd4hhRERcMb3g
-71ljRtwfq0sbJv6cGMaJIRziewPHCIW8bGjOAnmGqEqag0yh6YNCm7uf7QodF+bo
-G/u4MulM0FI0SvTshLCtbsyE/bA3HC9kRpOL6kVLcCw5V42SjlkAzyS5iZMXfxLG
-E/icZXXQRNrhTyfILXAbVQqD2X1knw60QaXHpS5YRNd+9PgUPZIf4k2dykvQdtlX
-OfFCbXHgxM9kX59DgzBFJF0yIGC9GEHGaglOxlOm838dpNu0Z0MFgsJcOpz0natZ
-Ou1g77F485JhlF0mKOakTr09YDguGIl4KiqiDithalzFhx2K1kaygxIjEyXaiwmp
-u/n1QjRDnN6mtgOGqK5X1/VFbvBpTpD61gjUde4FAeD/Qcoqbt0++dLhaUjmnVOs
-orCqiEuvvHU2Fko25R/0
-=rePc
+iQIcBAABCAAGBQJYXGyEAAoJEFAslq9JXcLZuwYQALBmN463PJ9NxMHc3ecSvXW+
+Qx6S/SussBUXJV+88sdcHyhPwUkxJ681qcz/DrTRc1HEkDPiIQElnfw0Sm4OzML7
+mglW7B7EUzLb9o5HqPTA1c/maz8bD6EvuVZiauc7laQWIK5RbZ9/Gzezc0wW+USd
+2ZUIn1ByQu0KGgTPWl/b/ubxcMuF2ptjHeMi4BPhKnhIk+V0D/2vgSZ1SmndIpf5
+BBHDJZTp7t49VDcG+hm1hzx05pNAuKuwzd+YDS+dVmiYWW4xpAqbnDWKTprwRjwh
+DLxInuEHOmWLnXGoTZ5y/ORgULz8LIC9m9Xrf5jNYWUL4HeDsZkI8YB08bMZrf+U
+Ci9hd5QTH/5hnY3+hlQfv3YGc7jeZDVklzwMie9e9nHVE/aO/LWm1Rq2TTO7RoaH
+W9zk0EjawYBUJzWPEiCjzEyfvzdWSXgUEsLkPBniyNJBLlVKqUHc/lhKJvkWT6yF
+hm8F3az4jWfXebnPihLZajGQtOmWRXjZz2BNMs65gtKRxmKctKLC71RAMtzRENGd
+imIjDXnn3fTzrVuuPBqUvfUqBncXHCstH1h98eSGYsshnTL9SIPU2NyHYJ78PvPy
+2doTigyoz37JBpuuoXtkfj6mHyzO//zub8UX+k3FBvo2JSie6fiCiLxYkBX9Jyrj
+BqqWwmkDVDxg6W76CvJG
+=nda7
-----END PGP SIGNATURE-----
Index: client/1.0/neutral/pkgr_upload.eagle
==================================================================
--- client/1.0/neutral/pkgr_upload.eagle
+++ client/1.0/neutral/pkgr_upload.eagle
@@ -37,15 +37,24 @@
exit 1
}
#
# NOTE: This procedure sets up the default values for all configuration
- # parameters used by the package uploader client. The script
- # argument is the fully qualified path and file name for the script
- # being evaluated.
+ # parameters used by the package uploader client. There are no
+ # arguments.
#
- proc setupUploadVars { script } {
+ proc setupUploadVars {} {
+ #
+ # NOTE: This variable must exist and must be the fully qualified path
+ # of the directory containing this script.
+ #
+ variable pkgr_path
+
+ if {![info exists pkgr_path]} then {
+ error "required namespace variable 'pkgr_path' does not exist"
+ }
+
#
# NOTE: The project code for the Fossil repository. This will be checked
# prior to staging or committing any files.
#
variable projectCode; # DEFAULT: 9ceada8dbb8678898e5b2c05386e73b3ff2c2dec
@@ -53,17 +62,17 @@
if {![info exists projectCode]} then {
set projectCode 9ceada8dbb8678898e5b2c05386e73b3ff2c2dec
}
#
- # NOTE: What is the fully qualified path to the directory containing the
- # checkout for the package client?
+ # NOTE: What is the fully qualified path to the directory containing
+ # package client toolset?
#
- variable checkoutDirectory; # DEFAULT:
+ variable scriptDirectory; # DEFAULT:
- if {![info exists checkoutDirectory]} then {
- set checkoutDirectory [file dirname $script]
+ if {![info exists scriptDirectory]} then {
+ set scriptDirectory $pkgr_path
}
#
# NOTE: The command to use when attempting to check for changes prior to
# staging files using Fossil.
@@ -90,11 +99,21 @@
# prior to staging files using Fossil.
#
variable fossilInfoCommand; # DEFAULT fossil info ...
if {![info exists fossilInfoCommand]} then {
- set fossilInfoCommand {fossil info --chdir {${checkoutDirectory}}}
+ set fossilInfoCommand {fossil info --chdir {${scriptDirectory}}}
+ }
+
+ #
+ # NOTE: The regular expression pattern used when attempting to extract
+ # the root directory for the Fossil checkout.
+ #
+ variable fossilInfoLocalRootPattern; # DEFAULT: {^local-root:\s+(.*?)$}
+
+ if {![info exists fossilInfoLocalRootPattern]} then {
+ set fossilInfoLocalRootPattern {^local-root:\s+(.*?)$}
}
#
# NOTE: The regular expression pattern used when attempting to verify
# that the Fossil checkout belongs to the correct project.
@@ -133,11 +152,11 @@
#
variable fossilAddCommand; # DEFAULT fossil add ...
if {![info exists fossilAddCommand]} then {
set fossilAddCommand \
- {fossil add --chdir {${checkoutDirectory}} {${fileName}}}
+ {fossil add --chdir {${targetDirectory}} {${fileName}}}
}
#
# NOTE: The command to use when attempting to commit package files using
# Fossil.
@@ -167,10 +186,28 @@
if {![info exists verboseMetadataSubmit]} then {
set verboseMetadataSubmit false
}
}
+
+ #
+ # NOTE: This procedure sets up the default values for all configuration
+ # parameters used by the package uploader client that require the
+ # location of the checkout directory. There are no arguments.
+ #
+ proc setupCheckoutVars {} {
+ #
+ # NOTE: What is the fully qualified path to the root directory of the
+ # Fossil checkout containing the package client toolset? This
+ # procedure may raise script errors.
+ #
+ variable checkoutDirectory; # DEFAULT:
+
+ if {![info exists checkoutDirectory]} then {
+ set checkoutDirectory [getCheckoutDirectory]
+ }
+ }
#
# NOTE: This procedure returns a string value, formatted for use within a
# script block being processed by the [string map] command. The
# value argument is the string value to format. No return value is
@@ -532,19 +569,80 @@
[list $uri] [list 20] [list stdout] [list \
[expr {!$verboseMetadataSubmit}]] $options]
}
}
+ #
+ # NOTE: This procedure attempts to query the root directory of the Fossil
+ # checkout. There are no arguments. An empty string is returned if
+ # the root directory of the Fossil checkout cannot be determined.
+ #
+ proc getCheckoutDirectory {} {
+ variable fossilInfoCommand
+ variable fossilInfoLocalRootPattern
+ variable scriptDirectory
+
+ if {[isEagle]} then {
+ if {[catch {
+ eval exec -nocarriagereturns -stdout output -stderr error \
+ [subst $fossilInfoCommand]
+ } result] == 0} then {
+ set result [appendArgs $output $error]
+ } else {
+ return false
+ }
+ } else {
+ if {[catch {
+ eval exec [subst $fossilInfoCommand]
+ } result]} then {
+ return false
+ }
+ }
+
+ if {![info exists result] || ![regexp -line -- \
+ $fossilInfoLocalRootPattern $result dummy directory]} then {
+ return ""
+ }
+
+ return [string trim $directory]
+ }
+
+ #
+ # NOTE: This procedure attempts to verify that the root directory of the
+ # Fossil checkout is present, valid, and is actually a directory.
+ # There are no arguments. Script errors will be raised if any of
+ # the checks fail.
+ #
+ proc verifyCheckoutDirectory {} {
+ variable checkoutDirectory
+
+ if {![info exists checkoutDirectory]} then {
+ error "checkout directory is missing"
+ }
+
+ if {[string length $checkoutDirectory] == 0} then {
+ error "checkout directory is invalid"
+ }
+
+ if {![file isdir $checkoutDirectory]} then {
+ error [appendArgs \
+ "checkout directory \"" $checkoutDirectory \
+ "\" is not really a directory"]
+ }
+ }
+
#
# NOTE: This procedure attempts to verify that the checkout directory does
# not contain any (stray) changes. There are no arguments. Non-zero
# is returned if the verification is successful.
#
proc verifyThereAreNoChanges {} {
variable checkoutDirectory
variable fossilChangesCommand
variable fossilChangesPattern
+
+ verifyCheckoutDirectory
if {[isEagle]} then {
if {[catch {
eval exec -nocarriagereturns -stdout output -stderr error \
[subst $fossilChangesCommand]
@@ -573,14 +671,14 @@
# NOTE: This procedure attempts to verify that the checkout directory does
# belong to the correct project. There are no arguments. Non-zero
# is returned if the verification is successful.
#
proc verifyThisIsTheCorrectProject {} {
- variable checkoutDirectory
variable fossilInfoCommand
variable fossilInfoProjectCodePattern
variable projectCode
+ variable scriptDirectory
if {[isEagle]} then {
if {[catch {
eval exec -nocarriagereturns -stdout output -stderr error \
[subst $fossilInfoCommand]
@@ -609,13 +707,13 @@
# NOTE: This procedure attempts to verify that the checkout directory does
# belong to the correct branch. There are no arguments. Non-zero
# is returned if the verification is successful.
#
proc verifyThisIsTheCorrectBranch {} {
- variable checkoutDirectory
variable fossilInfoCommand
variable fossilInfoTagsPattern
+ variable scriptDirectory
if {[isEagle]} then {
if {[catch {
eval exec -nocarriagereturns -stdout output -stderr error \
[subst $fossilInfoCommand]
@@ -647,10 +745,12 @@
#
proc changeToTheCorrectBranch {} {
variable checkoutDirectory
variable fossilUpdateCommand
+ verifyCheckoutDirectory
+
if {[isEagle]} then {
if {[catch {
eval exec -success Success [subst $fossilUpdateCommand]
} error]} then {
error [appendArgs \
@@ -673,10 +773,12 @@
#
#
proc stagePackageFiles { language version platform fileNames } {
variable checkoutDirectory
variable fossilAddCommand
+
+ verifyCheckoutDirectory
if {![verifyThereAreNoChanges]} then {
error "cannot stage files: there are pending changes"
}
@@ -690,31 +792,29 @@
if {![verifyThisIsTheCorrectBranch]} then {
error "cannot stage files: still on wrong branch"
}
}
- set newFileNames [list]
-
- foreach fileName $fileNames {
- if {![::PackageRepository::createOpenPgpSignature $fileName]} then {
- error [appendArgs \
- "cannot stage file \"" $fileName "\": OpenPGP signing failed"]
- }
-
- lappend newFileNames $fileName
- lappend newFileNames [appendArgs $fileName .asc]
- }
-
- set relativeFileNames [getRelativeFileNames $newFileNames 2]
-
- foreach fileName $newFileNames relativeFileName $relativeFileNames {
+ set targetDirectory [file join \
+ $checkoutDirectory $language $version $platform]
+
+ set relativeFileNames [getRelativeFileNames $fileNames 2]
+
+ foreach fileName $fileNames relativeFileName $relativeFileNames {
file mkdir [file join \
- $checkoutDirectory $language $version $platform \
- [file dirname $relativeFileName]]
+ $targetDirectory [file dirname $relativeFileName]]
- file copy $fileName \
- [file join $checkoutDirectory $relativeFileName]
+ set checkoutFileName [file join $targetDirectory $relativeFileName]
+
+ file copy $fileName $checkoutFileName
+
+ if {![::PackageRepository::createOpenPgpSignature \
+ $checkoutFileName]} then {
+ error [appendArgs \
+ "could not stage file \"" $fileName \
+ "\": OpenPGP signing failed"]
+ }
set fileName $relativeFileName; # NOTE: For [subst].
if {[isEagle]} then {
set fileName [::PackageRepository::formatExecArgument $fileName]
@@ -745,10 +845,12 @@
#
proc commitPackageFiles { package patchLevel language version varName } {
variable checkoutDirectory
variable fossilCommitCommand
variable fossilCommitPattern
+
+ verifyCheckoutDirectory
set branch [appendArgs pkg_ $package _ $patchLevel]
set comment [appendArgs \
"Add package " $package " v" $patchLevel " for " $language \
@@ -1265,10 +1367,11 @@
#
proc setupTkUserInterface {} {
variable widgets
package require Tk
+ catch {console show}
catch {wm withdraw .}; set toplevel [toplevel .uploader]
set widgets(toplevel) $toplevel
###########################################################################
@@ -1429,11 +1532,12 @@
::PackageRepository::maybeReadSettingsFile [info script]
#
# NOTE: Setup the variables, within this namespace, used by this script.
#
- setupUploadVars [info script]
+ setupUploadVars
+ setupCheckoutVars
#
# NOTE: Provide the package to the interpreter.
#
package provide Eagle.Package.Uploader \
Index: client/1.0/neutral/pkgr_upload.eagle.asc
==================================================================
--- client/1.0/neutral/pkgr_upload.eagle.asc
+++ client/1.0/neutral/pkgr_upload.eagle.asc
@@ -1,18 +1,18 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
Comment: Eagle Package Repository
-iQIcBAABCAAGBQJYXFoOAAoJEFAslq9JXcLZhMkQAJZtIZkYABGbmvvDDD+R0RV9
-iskYSLYaXomMUZdpQd1FKHYwK0GrvDx2UsUfpz7MFp723Go82PTxZ8BtPdkTs+dD
-dKxRCJXD3zRM9xsmj1tsYdWHnWPpzBS7aJZWaobeuwdOp+7kHU3y2hgfOAjfuuGB
-6JI56KLVPjmA48hlguJxs3nNgSBphTZeW1RGA8vaW5087l/qypG4DH5I83FecxJg
-yBAdag85arOIVPZqL+pxAGNtf2NUqdGciXiJRyTOMW9/a7PeBgH5p++osN7Q4ZLJ
-WX+f6oCrxpcGR7bRlRicWMcDUnIee3bme3D4OR8uPLv/3nlZ5UUeDH95kECreVrT
-w9xEFZDgsGb7kpnvCHDdoBKkC+3n/o0pg6Q23z8rpLCNTUbp6UfA+Spq2ST8kNvT
-+hws3NIqPTVn5mQGQY1YXQdtiWLtTl7tovp0GRDiLuSiDhV+vCPHjwWcMeR7YdOj
-7PtXVAzjms6TSptZXVMEzdyclAo5qqgQuktxkSJ/A32sScPxLq0GHUelVn9VtRkn
-Vhdle07fQxVsvpN1CqO9/pjLTJAnqGzydnfLt+doqDdr1oackgsSxROBdh1t/oL0
-a3doJGlzqbHrkVZymdvGVF5zAH21A5PuPMwoOd0kopX2aGN6hJPgobY8vNn3ALdr
-XEsEeb9cRyogLstDGJBq
-=ebKD
+iQIcBAABCAAGBQJYXGyLAAoJEFAslq9JXcLZPWAQAIMhs597RSgvxqPSr+cly9ly
+94jryba6xA+sDtK3auL2aMYHCD6cAJn1TbzG+aGslIVvfQB9Os5R4JmH+GLSU7/I
+5jhPEDAGoDSFtBOw5Nc7BstqKb2/mVoJte3FX/2xU1xphBo0cWc4lRVAovSTnuXr
+O9Wlx9tDV6uKsqQIf/t0vIZc2l85kgnj5xADyoTxVxA4K/1Ehy21QU6EGP/5T28D
+X7L0bF0Q50O/UpUgz7QTTbw1emf9Ahz72fzk/mhrH/PO/K87f9zI5Y+vJMxBSYCY
+q1h3vJ+u4mZ/9153uK5QHUT7tyjri7hOFd/yNq2fh+nzSr3Lhdqa3mhmBQtVbN1y
+K406dUm4lMgzT9NAA44xzo2qM5e69xMt5fwFLMcd9WaFP8gxwpdZkg28GdWqJ0p+
+LHUkvBFZVmp6pifSi7sZBwjUA82SMbx7DcjBgfdv4wVYZi1iZKsZFvFw+AW/AyjA
+6abqIsQHB928SfJKGHWzM8JXhGl/JxmyD4varICU5Q4kYqkGscCg9qCybnJFKEY5
+zTmt8XQdkYcMEQMlNmvK212tiS/r8EwlgjkaE9NnSA/2g2PD4nMe1/IS/yOez0eY
+TgJ+22d4SLZu2ZZi7wBwPgC9DTY+A8mvzb9lJZJznHVAgZTSm9d8N1jpLg8NsPwK
+6ueeyqj51QE3LX+UrRQQ
+=ncuN
-----END PGP SIGNATURE-----
Index: client/1.0/neutral/pkgr_upload.eagle.harpy
==================================================================
--- client/1.0/neutral/pkgr_upload.eagle.harpy
+++ client/1.0/neutral/pkgr_upload.eagle.harpy
@@ -19,50 +19,50 @@
None
Mistachkin Systems
- 76236cbb-7d78-47c9-a22d-ea0ab7a4cfe7
+ c753e05e-94b3-46c6-9637-d398c4848b3a
SHA512
Script
- 2016-12-22T22:55:52.5244140Z
+ 2016-12-23T00:14:28.8095703Z
-1.00:00:00
0x9559f6017247e3e2
- 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
+ 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
Index: client/1.0/neutral/pkgr_upload.eagle.harpy.asc
==================================================================
--- client/1.0/neutral/pkgr_upload.eagle.harpy.asc
+++ client/1.0/neutral/pkgr_upload.eagle.harpy.asc
@@ -1,18 +1,18 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
Comment: Eagle Package Repository
-iQIcBAABCAAGBQJYXFoQAAoJEFAslq9JXcLZRmQP/i/Sa/NP1M5809LMqoB4R/Rz
-DmyeRvRHkHS4A9C0lGkMjUIawnQ0boYP5vKU1FBPaFWnIzBbED8qZhvH5K+pzf7d
-RJ7XXtA151uHZdfVrydB+zMo2QUy39BA4ncXjdiW3CKniNoEJzdLQirN41c6kiGN
-3JbdF3eEADJF3YABfD/qCUeAiPYGOxqQd+hezJW7ste3EN0eX2H3mQtU+CTbQIx7
-WM0EcSesrtPIS44OreGu8vhFiTr9cCwwK0WjTeS8i3goaWtXsYao+8g5WK4qVUTV
-EkkENNjB60lUNvArbE+BEIvyOzaqs9lV827PyxkeLB1Z0uWO+WVV9eKow9++SaVL
-ujRE8O88SInWgZh2bzIDjOI2MUAkYOd29oAxnfkL5hTQfqNWc8SGHNEZNTPyrptw
-+brKA7v8yO7CGM9Girdv1QpCQvE3RSx+nDeMLZugpYDIT9ODSlXQWDc5+Knj8+zu
-Ydtw8KTNLCqSaPx+GoPBJPccQm/YC+IFmI/i4y9apGETjrocHYtrSJA/DS1rpZNW
-SNEd6QgsZpBd9ohTUgRO/c8D37DJDxQH7gC/M0eFhfSqqQOVgSBbAVKEGcEOiTNc
-zILYC0H54mkLBj5jrBTn3SnkqkTpFYVegTZhzh+kuf39OocXdxUO22pN0MdgaXJH
-5YBgraPu4dkN9s/dOSh9
-=LMEm
+iQIcBAABCAAGBQJYXGyNAAoJEFAslq9JXcLZFdgP/imj8lRtavoWbsVhRu2p19Sv
+xZYaHTrhFW/V6j7Iprpn9nufeB27jsocKk7hMTQcD+WfH6cTVK9JvvhXKei2fh1C
+ayU/eFpdM+bh/O6C0fNHA+KIQK4HVpBQjQQH/dJJNZoj9C5S5bbZcSTrEmf1sQ36
+ahSsTalLSyjQrlw1nTaKsMyWGHrZWKERgPwh5r3L368AvjotdyAc5tVCo72Q1fF1
+rKXR4aVtOzialmrITBQvzGpGmSDCrDkpbhZ8XSPE2fAnp93aWN6jJNHC/Nu9BX85
+yn52+VIocArMuxh1USLEuSXKveQbgzrsX+wkdwY4VbqvQfnUPV74yM6gvJuNFWxQ
++imtptEXCIEUUFIfcMJSfMiT9MXztKPbSTMpjJumoepwRDffho2vZO973fgXAQVX
+qmwxZ+a7peTt5/oIJY9nYyuMT7PsfhpfvC9QtZCVk5ELm9JQFjjG3yu+Ut63y52n
+qEKC0xxJtfV2Pe2qiWHBn40FTCSVPqeGtDuKcL1DN+OL1iot0neeDcDoAGkEosJt
+kL2Yb8K3X53QjF+8Q8wn/2KjcUogM0kJfR7Omhaj0qu7EpJty1E1RmTD2j4vanK1
+7POWcEikZVKe4U7daDDAAAaEsJvDScu+SGk6j2tGFNHuUIRytwAeOrElJuPq3Xsu
+e61zVr/Mq2PLsL0ftxWV
+=ALy9
-----END PGP SIGNATURE-----