From 59ffec4e396e7266048707fb28d5ec2b8d58521a Mon Sep 17 00:00:00 2001 From: Audrius Butkevicius Date: Thu, 25 Sep 2014 23:13:41 +0100 Subject: [PATCH 1/3] Allow a single upgrade at a time --- internal/upgrade/upgrade_common.go | 28 +++++++++++++++++++++++++++ internal/upgrade/upgrade_supported.go | 9 +-------- internal/upgrade/upgrade_unsupp.go | 2 +- internal/upgrade/upgrade_windows.go | 9 +-------- 4 files changed, 31 insertions(+), 17 deletions(-) diff --git a/internal/upgrade/upgrade_common.go b/internal/upgrade/upgrade_common.go index e3e5c6339..958935529 100644 --- a/internal/upgrade/upgrade_common.go +++ b/internal/upgrade/upgrade_common.go @@ -9,6 +9,8 @@ import ( "errors" "strconv" "strings" + + "bitbucket.org/kardianos/osext" ) type Release struct { @@ -26,8 +28,34 @@ var ( ErrVersionUpToDate = errors.New("current version is up to date") ErrVersionUnknown = errors.New("couldn't fetch release information") ErrUpgradeUnsupported = errors.New("upgrade unsupported") + ErrUpgradeInProgress = errors.New("upgrade already in progress") + upgradeUnlocked = make(chan bool, 1) ) +func init() { + upgradeUnlocked <- true +} + +// A wrapper around actual implementations +func UpgradeTo(rel Release, archExtra string) error { + select { + case <-upgradeUnlocked: + path, err := osext.Executable() + if err != nil { + upgradeUnlocked <- true + return err + } + err = upgradeTo(path, rel, archExtra) + // If we've failed to upgrade, unlock so that another attempt could be made + if err != nil { + upgradeUnlocked <- true + } + return err + default: + return ErrUpgradeInProgress + } +} + // Returns 1 if a>b, -1 if a Date: Thu, 25 Sep 2014 23:51:12 +0100 Subject: [PATCH 2/3] Add autoUpgrade coroutine (fixes #727) --- cmd/syncthing/main.go | 37 +++++++++++++++++++++++++++++++++++++ internal/config/config.go | 31 ++++++++++++++++--------------- 2 files changed, 53 insertions(+), 15 deletions(-) diff --git a/cmd/syncthing/main.go b/cmd/syncthing/main.go index 3b64df6ff..ccece35a4 100644 --- a/cmd/syncthing/main.go +++ b/cmd/syncthing/main.go @@ -620,6 +620,10 @@ nextFolder: go standbyMonitor() } + if cfg.Options.AutoUpgradeIntervalH > 0 { + go autoUpgrade() + } + events.Default.Log(events.StartupComplete, nil) go generateEvents() @@ -1172,3 +1176,36 @@ func standbyMonitor() { now = time.Now() } } + +func autoUpgrade() { + var skipped bool + interval := time.Duration(cfg.Options.AutoUpgradeIntervalH) * time.Hour + for { + if skipped { + time.Sleep(interval) + } else { + skipped = true + } + + rel, err := upgrade.LatestRelease(strings.Contains(Version, "-beta")) + if err != nil { + l.Warnln("Automatic upgrade:", err) + continue + } + + if upgrade.CompareVersions(rel.Tag, Version) <= 0 { + continue + } + + l.Infof("Automatic upgrade (current %q < latest %q)", Version, rel.Tag) + err = upgrade.UpgradeTo(rel, GoArchExtra) + if err != nil { + l.Warnln("Automatic upgrade:", err) + continue + } + l.Warnf("Automatically upgraded to version %q. Restarting in 1 minute.", rel.Tag) + time.Sleep(time.Minute) + stop <- exitUpgrading + return + } +} diff --git a/internal/config/config.go b/internal/config/config.go index 783aafc22..bb831c03b 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -118,21 +118,22 @@ type FolderDeviceConfiguration struct { } type OptionsConfiguration struct { - ListenAddress []string `xml:"listenAddress" default:"0.0.0.0:22000"` - GlobalAnnServer string `xml:"globalAnnounceServer" default:"announce.syncthing.net:22026"` - GlobalAnnEnabled bool `xml:"globalAnnounceEnabled" default:"true"` - LocalAnnEnabled bool `xml:"localAnnounceEnabled" default:"true"` - LocalAnnPort int `xml:"localAnnouncePort" default:"21025"` - LocalAnnMCAddr string `xml:"localAnnounceMCAddr" default:"[ff32::5222]:21026"` - MaxSendKbps int `xml:"maxSendKbps"` - MaxRecvKbps int `xml:"maxRecvKbps"` - ReconnectIntervalS int `xml:"reconnectionIntervalS" default:"60"` - StartBrowser bool `xml:"startBrowser" default:"true"` - UPnPEnabled bool `xml:"upnpEnabled" default:"true"` - UPnPLease int `xml:"upnpLeaseMinutes" default:"0"` - UPnPRenewal int `xml:"upnpRenewalMinutes" default:"30"` - URAccepted int `xml:"urAccepted"` // Accepted usage reporting version; 0 for off (undecided), -1 for off (permanently) - RestartOnWakeup bool `xml:"restartOnWakeup" default:"true"` + ListenAddress []string `xml:"listenAddress" default:"0.0.0.0:22000"` + GlobalAnnServer string `xml:"globalAnnounceServer" default:"announce.syncthing.net:22026"` + GlobalAnnEnabled bool `xml:"globalAnnounceEnabled" default:"true"` + LocalAnnEnabled bool `xml:"localAnnounceEnabled" default:"true"` + LocalAnnPort int `xml:"localAnnouncePort" default:"21025"` + LocalAnnMCAddr string `xml:"localAnnounceMCAddr" default:"[ff32::5222]:21026"` + MaxSendKbps int `xml:"maxSendKbps"` + MaxRecvKbps int `xml:"maxRecvKbps"` + ReconnectIntervalS int `xml:"reconnectionIntervalS" default:"60"` + StartBrowser bool `xml:"startBrowser" default:"true"` + UPnPEnabled bool `xml:"upnpEnabled" default:"true"` + UPnPLease int `xml:"upnpLeaseMinutes" default:"0"` + UPnPRenewal int `xml:"upnpRenewalMinutes" default:"30"` + URAccepted int `xml:"urAccepted"` // Accepted usage reporting version; 0 for off (undecided), -1 for off (permanently) + RestartOnWakeup bool `xml:"restartOnWakeup" default:"true"` + AutoUpgradeIntervalH int `xml:"autoUpgradeIntervalH" default:"12"` // 0 for off Deprecated_RescanIntervalS int `xml:"rescanIntervalS,omitempty" json:"-"` Deprecated_UREnabled bool `xml:"urEnabled,omitempty" json:"-"` From 8a768baaaa36622c52496e485bafda6d30ae7a64 Mon Sep 17 00:00:00 2001 From: Audrius Butkevicius Date: Sat, 27 Sep 2014 16:00:20 +0100 Subject: [PATCH 3/3] Add autoUpgrade option in UI --- gui/app.js | 8 +++++++ gui/index.html | 44 +++++++++++++++++++++++--------------- internal/auto/gui.files.go | 4 ++-- 3 files changed, 37 insertions(+), 19 deletions(-) diff --git a/gui/app.js b/gui/app.js index 1325b009c..48036e1f1 100644 --- a/gui/app.js +++ b/gui/app.js @@ -533,6 +533,7 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca $scope.tmpOptions = angular.copy($scope.config.Options); $scope.tmpOptions.UREnabled = ($scope.tmpOptions.URAccepted > 0); $scope.tmpOptions.DeviceName = $scope.thisDevice().Name; + $scope.tmpOptions.AutoUpgradeEnabled = ($scope.tmpOptions.AutoUpgradeIntervalH > 0); $scope.tmpGUI = angular.copy($scope.config.GUI); $('#settings').modal(); }; @@ -563,6 +564,13 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca $scope.tmpOptions.URAccepted = -1; } + // Check if auto-upgrade has been enabled or disabled + if ($scope.tmpOptions.AutoUpgradeEnabled) { + $scope.tmpOptions.AutoUpgradeIntervalH = $scope.tmpOptions.AutoUpgradeIntervalH || 12; + } else { + $scope.tmpOptions.AutoUpgradeIntervalH = 0; + } + // Check if protocol will need to be changed on restart if ($scope.config.GUI.UseTLS !== $scope.tmpGUI.UseTLS) { $scope.protocolChanged = true; diff --git a/gui/index.html b/gui/index.html index e45847834..ec73376a1 100644 --- a/gui/index.html +++ b/gui/index.html @@ -606,26 +606,36 @@ -
-
- +
+
+
+ +
+
+
+
+ +
- -
-
- +
+
+
+ +
-
-
-
- +
+
+ +
diff --git a/internal/auto/gui.files.go b/internal/auto/gui.files.go index df7114c7c..648b015bb 100644 --- a/internal/auto/gui.files.go +++ b/internal/auto/gui.files.go @@ -27,7 +27,7 @@ func Assets() map[string][]byte { bs, _ = ioutil.ReadAll(gr) assets["angular/angular.min.js"] = bs - bs, _ = base64.StdEncoding.DecodeString("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") + bs, _ = base64.StdEncoding.DecodeString("H4sIAAAJbogA/+w9f3fbNpL/+1MgulwlJTJtp928vbhuL7WTXW/TJC+Ou/ee671HiZDEmiJVgrSjbfzdbwYASfwkKdvN7bt3em0sEcBgMBjMLwzAvT1ynK03ebxYFmR0PCbP9g++IX8Lr7Ip+SHLFyRMI6iRFnk8LYssZ2TEKCXFkpLjd28/fjj94fzjuw9nZB4ndBzsALiXSUI4OEZyymh+TaOAnDNKsjk0ixlhWZnPKJllESXwc5Fd0zylEZluoDPy0+nHXVZsEoqwknhGU4bdhQWZQemUknlWAkpxynF4c3r86u3ZK959sLOz9+RXlsRpQaZ5dgN9vyBFXtIJ9JUWcVrS6vc6KRn+L36TJ3vQcpFk0zAhj1+QeZgwqBSmizIJ8/o3AGFZQuvf12ESR2+gFpOPEM7OsIQvDMg1K4aHOzvXYU7YJp3ByNMFOaqABqssKhM6GtZlwwm5GK5DNguTdU5nyyIo8jBlSVjQ4eX4kAMq82QaAvgjMgTScvh1+wDQm8eL0byEB3GWktHjZVGs3+fZdRzRfEIe1/CqZ2Py+w6Bj1YxiOg8LJOCBZ9YPv8rDeHZ23DFO/2v3eOzD693P2ZXNIXOO9oeZ9lVTKu2WkvR1EIoANqdFWERz17DfLI3GXY+EkjiBwgzjz+9IMMEyLiH/+wOJ3UpK+eiNPiVZemQP78FyuH/Op2KPEsSgDx8dU3T4rjIE6C+Qjg2y9YwwXxsNZH4wyAJWcFbwZjSMkkEFXBysOT0BB7vy/HxqS9nM8rY6xSeNx1EYRFWcPEDnP73JU3JWc0oOL1hDkvoZgmU4KyeZPB8DYhjOQwipQIaLKE4VUGt82wB7RlvJRcCgYosg5lYA73nWb7CxVmUecpICEt+H1Z1nM54RyqoJZ9+RpYhg6UHGM5h0Sxhrd7ExZLDF1DEYgY444koSjOCgwxUYB9x8QP/xsDiyYasKMy+WNkISBlR3RvKj2LCRRCvAu1UgDdQL80KEs6KkoMEasO452XS9BvPyeiRSW/80DzP8tepmItDrUiMqXl2u1N/lVzwmK7iYjQ8P32XwnTQ4fhwR+tR8sJ3ZN/sllMFJuBVOFsqa5UiS5l18SOFTpBki9GA1xpMCP8bxFH1rdggu4rvjvFYiFutjAa347bBq0sAe7vgY0pouoCJ3yUHl03jek2YTQF5hWQwyx/jFc3KQiGJSQ2+GoMFLUaVGHxKhnscffY9596jITwSXY4tAgRyKY7qJemow5liJFlDJcKE/AmYWzy4Vda3rNq6ui2emc8tprk/BZIYwB8dDB9+5Af71tC3xKQNA6vnFnFdy8d2ka3qOvieZLMQa1XkxHkDTXJ9AsVCXFdPYUDvfoRHaBQ0T9PwOl4AhHTx8ibc4FSjsm/KMy4D7OdShgu9L8tUVTLLVuuEcvyPyO+3h3oZKnPf89MUKaEh2pRLKcrsxpzG+PziUnsOtghN7OqrDV+6w6H2NKLXYJQ5oIDaKbJZlhwvQS+DitDoIevkdJ3lBRA+tLsTZe9hYmJ642w9zxKujaymYJGmr3BwNrrlepGDDjtN55mjHdgaFTgvXw+4oTEY10zccB0WMEORv46ltprHOSsIVinDBa0M1iSGh2th73CTFx+C2ZMPWaWrVWhcPcaopIXtg0Z02AC9oaAsrykJr8M4CaegJ0DL8hYTMqDpQAXFUGLLDiur4CYGY30VFrMlr06AgvB39/wMlIywPAb/XO5+/PuA11ShiUbA+pu6CqppVMf4+/jtIGikmzCP0sVENIMV0QgY0IVkhBVivhbhz7e8LpMaBZ48fWpKQqwA1Xm9i/hS115CAYPokCrpW/LMo1m5T2CoPu1XhS701Vj7ATgbBYijhg/WGWMxUB+LXV1x44cKdKV10Uz+HsqJPVGGFo6YlCnnmCS7UfhBATcD3gzI39FsWq3DHAy3TBqJ0AALCThVDJHjXhetWcYJDI23mpXA5qSJYkFVH3WQQA/1Z1Bkb7DjY+h45DA+cEa0+nJmviPKPLkIhx9pYWrtYY3RT+/mfJrH5OioluLaVBKKTlkr1ESFpk+jD6rXUqpGWjFNPcojcuAaXKOk0O+pm13sXzpIaNqkOiq3mgQCJpqGsytEBtYj518OnEY7nr5x8VcqvjJLHo9ugDDZzTiYwt/RcEphqdIyTcAr03SvOjZLVzYaqgEs7aEsHQ1q5Sy0xpkQsQMf+EqQoEVZtQTpH+ZgTI8DLDk07HB7QRpD51UODUqauKaURi8btVrXHuarITicJzRR/FB4GMW5fA7mYJyP1VI0bbAQVbj6vMjK2RILztcROv2TyuIy8DidebDI6Sq7pk5E7KIKC5hgOaMOTMCUpnnMrhpczAlsXCB1yrghCH5brhEfJ0TaSl99RR415pE5Qy3+F8LwN4yyWblC76LmjZzi4EbIheokuySD6mlpnp1aSQ49TsGUN4pqM7Bh+WZAtiWoQR0N/y2lxU2WX3EzZjhGmyxMRsMlmAkWDlC7gdhdly3LAqfZX9PN9NX8Snel3wQbAuDzZ/JIEGaLSTZnovGXLFobxOTevp8/vHTuRwsMTVFp3vYgBwqrSJi6UMIdcx1T1fy+kIEBtHAvLbx9FbkFS6UfDlq41zDewOJITlHnCUlz77GAZQo0X77mOI0U/FQPFxST6I4ofg+iXzJuA6LlU/kW3OoFg4QtuWmDcSMBkAeXAtOzln6BTpkTAcsRaxG9HM8dcoeP47jGr6kqwZ2eTIg+vprelvpUKP4BxG9BvxTJW4aD9cSYXONw4i4GfhIz6Vr2wh34lMJM207pRTWUII4uLVRFX7jM2Kgbp+MtEOKCoQMdz6rzVddUcN1POl2zF2R/YpVkZeErOk1/2BSUfcyKMHFWeFcWHTVeRhGGfF/UrBKE8ESvd+tUZc1q7B7dfxcCgYP9fS/oFsFzzIMXPKrvmDNzurSIR/BuzWcgOP/wEkzEdYEBBjTQzUkDMXM6B4cavWMRUUCtW0eUUwoCBORIWAFJQfREdIbqJJqYkEAE3YTgNYNzFbKr2lXH36vwCnwlMltmwIkB+aHkAivK0mHB25igoMm0XCCIFYnKHJFCIyIOE4z9lesJYRkXebRAsHzrhEs7CxAgUcQrWjl2IsxwHbO4CMQugtgsExBAcq4xim4jVAXVOSyotsq4qA1T3GDLyRL+YSRcZBPESo7ehPFbCaoWzawdrQQlF0frZ8QKtVNllwmsMNSThDM62ht9/wL++8fn4MnhL+zJuGkEv345gn9GF/84vHwyDp48Hn/+B/y7NyGDxwcDh9f1qGnscrYMFACpQdPgaECeEgwHBml2Aw7HUzI4XIWfdoGJeNHX++QJefYN/PP1833DJ/R6mYjUU4UM36o97JIKGvzhAVaPn4omS+k0VGoEWn3CloV4Bu5+H9lZcpXFrQbRcFQJClW/u0PCYvXucW/DFUFz7cy4Q51cMKnPWnQvV510mkE3NHoN/2pBvrp3XYlKVWho4CuKXuxAq4osIWoblqfe5wW0tZSKowoOTj5tCf77aczNwu8FQnwLhKYY0Tn/cIqqP0thTqvB9Z0CYyqE4SktKzkXNiPiR9uu0ok2kTQTloeLkc1dKLH1MCGm97bTQszabjDm2mZiwUvmfIOmOK5i749i9mq1Ljbvpr+CAaArJI31jZi9+HLoLq812ZsYvOv0rMib7TFnDanag1+zGJbuhAwdXTdBeR2SNIItVKLtjWPbXLCN43tYDWMvjgx0eIWWCHY6CNBsDYhvP4Vrw4AQXMiUfsS0BsA1bKSDGTsIY4sH/DhFiNPOqpyUe/gnSocdPooTkVvDXdFlV834nomX25eaDWe7zW4Je7YBRl5pIs0tyhivuK2mkBtVXEPgdyf9BWin8HIJLYHywBJWtx754puXei4M61aUchtWGcUWQRJbOTV9o4KSHfxLaapGeHwv0OPqqsZ0+NUfosR0388QX9awHaxjN1K2Es3PbZsitSEZWlWpcbjjhITzDgIVN8tsN7D6zHhyhmP3Aj/1jttstcZNpjuRBomK7ZGBB0LCD9rqc6ycO27qx008/OCQnx610BGQufQDRoJA84MHmbNAjBdDvYDVHgL3TJZLsijLdEJ0ITFpmYsvbC/VyFbBDxmV6RThSriktxznWRYZbvo3LpLN3AXmFIyw3m6dvzEG8vNB2+5XZMyJkvIBMHTS8SUR86xSnySpE8kC0JTvbtL3OUxUXmyg2djH+H6GtzmuyDceKDzHKo4uAx5cAvR/CotlAP7pCOb6z+A/juoaaiQJqOSIYJm1kIBF5OAurWcRvGrtWotR+fvWqnk7vyUznl8wsrYNvETxCDt7CN17uh1RwN42RLN42NaGBN+f6LPeRFLPtiZTnQrEOVr86h6QQOoORhF3uHrJDqjYeyy2T+fwLD0TA7Xd4/iXCmg04Qw7Qt5tjLmzmXjS055QK86sppYhVAlTNv/XRoW05hq7grdx2ohKea1a34SsOMNILUhpesP1wai1oj/X1V3/JNwwrkcq6ONGWHl6kDoG/vz5+TdW/K+T25Q5a1k6VYapGqzDCLGWWqqS0fCtHPs+YtW5CnSd3rUP07EkZKbRtsuhSlCSK0H+3GoxigD/th1rSYg6J/foUyYUbtupnodo9iqTYFtSf9uyGTU+0jlITuh9mKiDVypF5exemLVnYpdXxcHtFGNGejb3RB3B0RiWaUTnuFUzdHvKWOMqxVwHp89sbbpXwZg45el95BF24oXNimy9hr6dsKtK6Ls6++Bb9S1UOk5C9oWIFAP//CEUijA3IneD5sdhZLpCLypV+MhG0CqOEuqfHbEchy7HRweDyptnznggrfN4FeabPpBmYZreFZRjNgzGQETf03xG0wL3M78Ebxyo+u22my/EqTlu0rs3ZN1wNa5Yz1DLHfC9MA/zoX0kOtlzV1HwODQpzJ2WeZKBhIWu3JJKKH3MrdPPcrhisfrudO3eOOLhJjG0lq2B9K++6hdxr2MRR5yC7pCx4LPsamiYLr6ty6qFFPFmszbxtwJ/l7m5WWJvibn/SzS2hVAvQttiopPQfqkhRoDbRt1k5mFAoK+2c9RGbV00Y2XPgseiQO5dtUm/71uZRT0i8787FAUVMAP/vVWiu4cEcjc6kWF/azB67B/HIlK2lT29etPOPH7gwzutx4rKqurHthkrEsgeq7z1R468dQm5ViMtVJDQLvYvWyZYng7uIQykaqvLe+qzwcCnzhqOQCQ8zfVKLaO1+Qv8gykrcoyUPXfrHExsPHGTwUoErPjGajoyJlGjU18ijaTZLJuNO4jWTbF+5NqCVjSKwRkvMJuLeSm1twe6nudlYYqvOCe93jQOnaTdai132JXz+FjRnXJm70w3AILzD69SPHfFQ9Ou4jpbDc8Ct0HSGMExywZFbQAvyyI7F/5hK05KvdMUBAnY9X/1YveX89N2IkEFtSGmm8tZMnOWTNs2vKZ1poWf8We40snfzt69DfBShXQRzzdWJobaIFsXzEpDkOfYXzhUMO5oF2Bg736EhcMPPazXSSyOD+w1FwnYnKw43yJSsM6YM5w5wUFMOGKuoEG/U753iTsq1O4fe+RDcwWo7OnrvR5ZmVN+/YA4jDQTKfT6PNenRh9V3EZ/K8OEuRflxF4AY/L5szaKdkDAuBOd0Q1BKjFyJJgeL6k4XeVNM6VyAWJyacz4d5+N6hQmjWXqFibfOhwtZXLcjbjx6s5eVLfI74SQ46aDHvjsHpgGr5fUIUitXRn+ui+dbUnZD3en5DzqW/HzZ3LwrKdf0LtvKxjtJWB1PFscL8WDZDwnmdYrj+/X8JMzfneqWjnBOaMf35zxaJC2hmRBCz3tY+L2eSl7GC9BKG/4jkClXgie8UqSzY6LbqbedM5So3EPXUB0gePRgor4aQPiV6OW6PFioKcDdiQNnhV5wECPFaPhBBVxuFZ0xacWD/ZTAFp2ZeYZa3FxBcNGiY88V4a4DIIBnj8b+ALWnAVbAtbKUTqdczzn4sadelo2GtoWkPO6BVW9nd3EuE99Q6drVAX1IsOjt7DEFHGkrCNjCbiyIWpAYL4j0kOD/m2r0jW7JjwrQqGD73UdCX7EEeHmvKXST/XV6GhCnikbXQa9W++QEHjyf3WeqdTCHXlGNN+OZdp2gVynDtv50o+JfVSzx15RX0huw06eFr0TNd3EUg6g9qOWdWLVgbaCsvdSFIcP6Q3AGCGHCnSZ5+Ac1K0eB/QTiNdo9PvtpPH5bZSwK6DQq08gjZ2U0qqd0WSOzpodRCBGfqg9dhXBKt5GmUgrb+DVBVoauQFLVH8FOGV58BhkwPuco6/FGHB+GkJ2OHmxK+ClkRmgxdFvyolntsxuhm5oYdQJzj1rOoepRMIT8Js0XMXqUXz8YLgPa0EX8tJArfgULyWKyll1xaDTK/SxgiHTnLzgrvPwMyROavaYJQdES6SoboQx7C0ym/Vw58PEPxVDVV8xJ61RUV3FnngwUnRZc5tNpKTAVMcK3Jv61ckAzFKzunAU9iDAvYlgEsKeHtv0c0QIOviqiWweY4QkylI6IfHhztaMp0SFnSN01GxEoltQbmdBe61nzXLGAdprWySfNrcfGezecg2SYgXK2hfxpao7jhxx6RbfrAGi0uTQqi7HYTtu+JnmNLwyrcvmmy4sEJJnWVTjX5dsOXKpWq/IcB8ZMur2X9N9GT7Dk8UNPJ/1xBnlYUWafujFY9g1TnHreownJDUF2p2YM7Vo6rypK9X5VTV2WoSan78cIw+TpGtaGkmksII6oSNL2kjOdIQctCQpZbuDua1SNOfRa+/JMyJZ12YZ34YMDdCVI9/VfFxdltfJMbOEhvmrKlO41eJSb+DT8LzQsVZuCeVodfoOvN0ex8RjFc7zGAzyZOOaYlZoKTKuu+b6M3SzHdHB1owb3/BvfdB9pp3Os3ZAsXzsPLEh5xBgucfOrYM+zNPUNM86el0lcahxW1epbqVFu1pcJa0dMFLC7/RoZvN326TWm9RmkXWS0pKifbq8SLXzrLqSM7fMnQB/FqmsaOwrKSaeKgHuO4ljVCzGFAPrGJUbaV4Xr8lWenOpZGdrvd0ZJwBfuxUOPWCImj9SuoZ2T7tG+T7MwxULrqC6Qs1m9+FhCVmEiwXNadSTllX1P4CcNSZ9KFpV/in89JLn+ymZa30pvBJtZa66J7Ds7vYYpGxa7S5sMakztd02HUpQ7D0M07Lcvd1dK60sXuox3f7ZSsEadaY+dC+ArhqfP5M/dYk+3zxsUxv60e8ouf8MuCtDR5hbU/eDN8wa/IsvbOBZw8kGN5r+SfOMXyvLA+aELbMyETfGSjWpwqovmJevFEBAJb/05uvnfwrIWSbunsXrctRaIEriYshUSPXt8HUajH47vJ4z27Ei29Npeq5qGEGbF9Mzdij0d89YkMClIxYURpFD5/dQ9ToVDH36AjR4S3hMJ9YHiinVFTefAeznXbzcezl3L+LeK9Q9ldut6nss04E9qr5RxofnGvSLO9iGXwglDjm0x3mMDq04Tw3EI6scNRUP/+LSVW6af4oHatt/xjE3cFrj1A/LFa/xdxw1VueR6NflAVsDE26oXRE/lSH7osbXqmadIneoP3mdnxd14y6Rpp5vbbZYu01jzRKzxzesErYEoKF9BHwoDIahK+2Ll6M1ihCG9TUZfHC1SLBBGieFddLZZHIY6b2a/Ogzk3uS1mv/3oG6Fay7EFgYoxWJVd43JOkTaa66r7QYahamY8acMtYDSzUfW0CpIvfefOB2MPq2EjTqW/vYb437G/2s2dTtRrUFxTUi26zRL0DCdkLA1r99IdrXxt1O7iDG1uFafrksc2iuGiFThaXhqkWP+MMQMqnajI8iNC2GqASEquHVRwZGRsb0eOzZExdgeQTcjkOKQr4FPJgQTwqOmN8uS7Cnxn6YLUH9PtmKk5w2k3aw44swEg7rdJFmeUt8+YF2RiXRZW8/lEXBz12HRZGPhlUGJG7u19+tVBYzsTgWsDruD/SQeqy/SWiLvGRxzyzvu8pHlr/AscQFZrXoy3HVh1+URD8VL3OKB70N2vEiEADh0ExFwk/VLgAROlKQk9kTvwDRXc2MPhrD2amJAryKE7CPaBpMmajqfbFCT2p4LnK5bcEAEy7ugEBNonk2K5m/Y8O6NBgGfPe06yoxD9OLdxq81Fnfc+Wdw2X5QivWvatxv0U3Md0KDu1FC4tzPh5X+9nIvpbuMElEi5fvT3/kF8w1BJrpShG3NepaeZhG2eqMH9IYfb0/IV8/8yne7Ob8g/KiJ6+CsTJHrcUurseVsJpVsPXSaju40kIlcY30+YfOgIn/EmuRlI+BqjdhvsDLpfEOZvHKHvjNCkIrn14cNKje7NOtpxoCuQlo6X1+Dfb9RqOm9D8UYsgwb6lIB205AC9ri7xbcUOlIwzCXwFB+e2VvmxP88YcrF8t1cGDXE2ooUpc9+m4B+PejLr1vaxGJxi+odcMypwIw+qIfLP/H88PjbI45z4lLu6D51//+RvDzecQg9dJuGDkK4AvYT1VWo7Fa5ScRZ4bE8Q7a5zOr96hBKr14AfaD2KDnADahax4U07HJkR9NhzPbpm7C2YOCSzuPI667npwqpWBuAl6r4LRk2Xdgm2alf49ZVxEvEavtE0s+mC+3K9NvphvAvQm9OY8Wux14XpQDNvfh07qi4BAf1Ru96hGkF+gIC5mxM04ng5W46mlKI3CCZlWKCsbE6E4wfJI33rADVFZYeqsYNoyEsy3svrYxaKq8JaPZLPvZDNJhJ0Gap29g5BdOWYGbNG2hl43/05pDnRSqCRdbA+VwkD2vU2vsj93T3h3dFLB4ifxlSyExOHfa4y2ushlYKNK2ZDsUR2Ld3XJPdGV2meixBmMpNKV2l0iIggrTBAdq2NNRAxAI56OSaJjAuo/XuE5SQydkbTU0IniRVwwTHmfVdFeJP61vBVj30H6/Qob/kcA0Le0+Ve8KY1/Cae86zFet1aXHOxXCw97JvoFlIAj2ZWQ9aEJNNXRadZpQlPgori5lm4qcON/+A7qYT1ykHIimX4waMKAKb05q1JyxHsyR6Je887JhGrZJ6JFNQCBDdipRSZR4tgEDF94P3qmWCSy+6dHEoKsAqMXlAB3VBaInicERwdk0fCpo0XaOpBVjJc3qlTTL8DPpr+qPJHW8oAzKP5E9lRqKX0pZpiGg5DtOh8qlxpOyE3YvNCDu/TiXBJ/SwUTb/YHN2fCn7MiXK0neEKlTLDGIoxT5ZUQ+M6/9k0qfHk0OdJf1FED1oNavOq3GnrVR6KIOWDNOSreuRgOAMXW4w67oQHTvGhexYAPz+Ux8wLb9G1mBMkj6RDgcffNqCYjUtXhy8tywt9FxZwo+ZIwKwZwEr2BiwmUDUDZC/zhb21RSurp0OZJN13xYOhbfp/wI0lEIyApn247cQZhtiVkBxGdTFDNpWH5W/cBCVxqG+VWfYW2TBUdpiFU9TjC1izF6RpXGc/fcKxnXgyi43X8iUajWndorRqTyXind4XQNE7x1qP++JhGDX/INVBt+PhM9X3ivc9NQPkOjDT+jh/lj7WBy2vuHTmqmqzRg0rPxviqoSH5S7wNan1wugcyP/VDphWLe3T/o7t79Sa3HNRDVPEDthl28dmKgpKd/QvxWf3aJ8/bnxRqmlXvw2fbYNYHpfuwWS9cWpG4R+9XfwCThclNuGFvy9WU5l+E1ZwXNapk6BS/YPGh1fbA2LpwVTOW+Pn2MOcWt5guEZfeu/hl75dfLvfM3UNRF8xy/qWxsH2Xkyljd9KGg7nQgOF5BB+1Ih4Eiq/pCLzr+LdS7oy2EU3Vlr+VMcbmh+niJ4zOKFkUSZxevVAPK2DIYAJGwAqsh6LI0bot8sQcJT4LHgP6jOYsKFO2jOfqMX0MmvyMyZIu05BfX9pnT6P6iLcgilxNfLch1+xgETkrC9TAdvoZa8XFxiKZ8WqKeo6akJy+xVsPxvsyEvlKRNFAxMoZCZOchtHmjkhyu9mPZR88YkYE0Aemk8OY5xxX08mwya1DJa38zSdXBGFi/c2APHz2/1zumz2TcO1s7sbBvT0fSaDfxxHfJmzG7dhqACdg3bZnK9+evhansdpq9hynb6X0GvD96Vl34ywx957dNR90Afk3Gh1rBu+zmxWwaF4py6WgqzV6nOd5AiUcXrAsVuqKktny5rUERR6mbJaUkVXCl4KZo1fERYIr9j+NvD7xSm5HQTzDqxCsx7MkYy44fPfSeH47UUn4PwAAAP//AQAA//8i8q/te5IAAA==") gr, _ = gzip.NewReader(bytes.NewBuffer(bs)) bs, _ = ioutil.ReadAll(gr) assets["app.js"] = bs @@ -92,7 +92,7 @@ func Assets() map[string][]byte { bs, _ = ioutil.ReadAll(gr) assets["img/logo-text-64.png"] = bs - bs, _ = base64.StdEncoding.DecodeString("H4sIAAAJbogA/+x9e3fbNrL4//0UCLdt7N+xJDtJ89ub2t7jR9q6zetazvbu7endA5GQxJoiGQK0rbrez35nBuCbFKmHHe/d7Tl1RBIYYAaDmcFgMNh/cvr+5OJvH16zqZp5h1/sP+n1vhgM2EkQziN3MlVs62SbPdvde8F+5JfBiB0H0YRx34ESvorcUayCSLItKQRTU8FO3r+7OD87/njx/nzIxq4ntvsI7sjzGIGTLBJSRFfC6bOPUrBgDNVcyWQQR7ZgduAIBo+T4EpEvnDYaA6NsbdnFz2p5p5AWJ5rC19ic1wxG76OBBsHMXTJ9akPb85OXr8bvqbm+1/0eoAVIsc87k8OLOFbzJ/0eBgeWHLu29C8P6FXNmIUeJ6IDqxh8uVERZ7FbI9LeWBhIS/glxaCFNw5/IKx/ZlQnNlTHkmhDqxYjXt/trIPU6XCnvgUu1cH1n/1Ph71ToJZyJU78gSAhRaFD7XOXh8IZyJy9Xw+EwfWlSuuwyBSuaLXrqOmB464AjL06GEHEHeVy72etLknDvb6uxVAjpB25IbKDfwcrEoxHqtpEFVKeK5/CQPnAcXgs7JjxVwbIU0jMT6w3NlkMOZX+KofAjEPv8BKylWeOEwJyf5gt7c41qfU9XfQ3tb23d3+QJdLm9EgR0GgpIp4OLClHKRP/Znr9+GNZXqDPCGnQiirDGAMGAwiIMc1n3ergSwXuUCopuL7Az3mX+yPAmdO1R33qsw5r6+AcMQ1h/sD+K6JAdOKXQQhG/GIIUfiO59fpYzFr/CL/qenoKD56Ygxjz0YfwAvqJw74TSK2L7pgQGCveCuLyLzDb7KEOZHoY3eKILZC32DQUu+eMEksJiMbD2U+NhT4kb1Xr6g8WRTgXP3wHr+zGKa/6y9vf9vDQBDbCFtLiy1hUDY1HUc4fdupHVYzwBhWj/2cgASEuR+kghJsaPhQ/K7MHpxOIm4I878cdD3xXWOCFQQ5JQKQDzMQ6Cifkhn9Uj5SQP4E/7vhZE749GcfstZwudaSoD8uUzb29outFMi+cSbh1OcFiz91bOn4iqCf+PQSsj3tZjJ8NsaMMDyvvS4Etmv3hX3YvgrIglccGDd3uYxxxJS3d1Zhx/1W2A6dvuVKf3VXXG8qKGBpkaOqAPPLZLYYONEQegE136RstwQ509WuRzw8WSCYs7hipuHPJR2UgWTlEb7A15oNmOVtLmZ8OPyaAAqaQ/zwyccVw2FUiCYJI7hUn3R41UaosMEXK7DRVIu7JDr6GnRqTOfIlSUbf2ZBtfs7LStOykZ3SsQfpG1TKflNFZI+k6dDsbj1h5rcKtREAwLxSPVqS9QGYpPW/pzriHeJwX5KIi7dRl0T6R6YhaqeUu3jxDmgk7vD2KvfrpnX4zqwh8gGrW+alA1ujwquO/cSCrQVNc7LPC9OQNj4dpn7pj5whZSgkD9lhmasmse+WgVGGWY6VIU5k8A/tidnPloPaRyBQBnmq3QGa83c3p7z/KaIfcd6CA8Rn97ptmiCCuXRVo7VGp/+jwnhAtlyGyxEh5h74RwhAMmwvPDlHbNDaABURZVYW4IL6ZoCyMN4ojUPZtyCYau8JnkV2gXgwnmB4pxW7lXUAPM6czSmsU4DKZjKkgLkXUMyrEIup/TwIWhb+7+GOyxkobtoGO1MqV/jFnDwtjzjFZ/0Jlc1nkVlvJgto3dG6tmMIsvCo+5h8z2K04OMYk9sPSAl0usX2DyBB5VDDyQKrDsgepbaBp6Yqy2s9q1k+HlornQm0QBmB/MddBORuhy8YQwk+f2Vpc+wU9b+nf/7BSMOBq9SISCqwQkrsb0rzfQ86qd1DjpiuYC4OPxUCZWRMgjWpf8Kel3Yn3oZ+jil67viBvsEhnvACGOZBC9YmHg+lWuhZ7AHK+b2aViHUy7qeOU+DChGFDp7m4xwGwq5CxmJKu8dpU9Tcg6VFzFeeLXdLRqPqZgetdTAVZj7F/6ZIN91D+qdmFXSBI4MhSA91D/WAMSrOW1bB6aX22wKhBAApaFe2P7tDJd2AhjW7e3CPODiGzgOj4RBab/aruuZ0v22XVqea2uw2dQ9IF6W/+etFtxFpelo5nYmWQpzMjCNEtmNsumOKkAKnLr+q+YrsgODg7Y7l113nbRqlRQ8ZGXam/9QH9x3e6gL8kxz1JFLjFzHalUsuqv+xbVf8BP03YlBoPVosCMEsiZ8wC3sUknRRZX8WbVXJBFUN9pwGXQhMy6WBqGCELhd8P2A1fTDeCLYFbGODFJZ7Dg8n5JKfhr3/VhJe7W80pnkhhztCfdSRtNXkdREK1DjSYMPg8zTLxg1LaC/R7KcI+hyhMbxXxCgL9zPSHZH4x713wu38WzkYju7ipi11XQOdP8DvtHI7jjuSJwI9eHlc7d3fHnIOs0mLVR9U1g3wtRPYS7MZoStEdBUtsLYqeHfgkv4GUDr4zYe1iXvR/TWmx14jaUJmdbkzjyYf2piX/Idos+muAaF6d5kzFxRNQNYwZoA6OIwGoGkS9AMbGSWrBEm8A63G3p0y47XmQxEds8OEMBa192U4BvuYQVy30wUtUWd8eJydY/h5XYe98DW+pvQi6mXyOoJxVY74LHNxSxb0+FfSnapvXZxA8iwcC0nrkSXenywQdFdwF7IDcxLgVwj3FoOjt2cAv4DFf2YM1swFrUEBOAQxB78nOgL6c8Ej3uqVafOZRz2M/ueqYyNSe12DGaYnsVwxDe1y+T4AMusapLysoCsrPDkYoap2ODm5H7E6jWIN7Y11+z7no02R6u1aPtgibsYjyYJtjJFDsuF7orCft6B1L9+nUxpZJ95twWBVoOjW4nVMBP0XnxtOS5hclTYCPto9rodG+lyyrY5jYGi9OgQ+dhRWu7XtsCDiC3j2iTQ6abc7phSi3lxC42Ng6imfEX122or+Le545jKNyJtl4s2za8HMd4yRfQtxMFy4/TKKly5UqXXEQza1By9+ed9XoTN+esJ+yL3nqKBcGgJx3Es44n3zjmU37OeeE18JPxBB3xv2RxF1vbv3bc/WpyxBuPuwlBQsgdfe0dPe2rLHJvb50sqiRFfbvkdC87MOu3utB5WUBusdsS6Nu6t1HrmdyEX7LZK9logGx+0XtqirHzLj6FRhsE2vWFjVuS8penKlDce4pOqlGIq8eZABrYd3f4tNVQ9synteYFPuYXnNtNdkyjFbMB2nXS+B/D+6JbEKvuhHsfq0dBOdWq/4/eso/K9dzfaet6dZrJOaysZ334p4t76X6wdbicjgIetTHJyYePG0XaDmOzR1Ry8cCjD2ZexL1Xe3d3X61AjcTSNi1B60e+H8AqW7z/iT05YDHItbHrN2yxdKTbCKyKaRC1OcyN9/jUlTba7nM2xLjjdm/Kcsv2Qm9RYTKqJGMbQ16sRQRJjJ/cAsD3gDhpDxcuyevbLa14nnRsdzzu2PADy4PWfbG/6sjG1eeECY1sXuvWY9awzq1d5Xa0vrNnNBDPxQyWvMZElHkbsc6+yAV0mBodAzqMqUQBHXmzqdmUDNRURNqUlBuP6kg6X7IxP2tURyTUNQWAr2BwVhqojfJYGC2A0zivtNO2+noQzk5/RUeGHcxCT2CRuhL9v5Oqx0X73u5ux3iDjyEGj51mtgnbgsqrRj1sFI/9JdAoxnloG6hLG6AMSSu+2l0x1KPqe23B3zokZUVlmiNpNhGbUTOvWmIzHnf0RUcGW2+z/h7XRB2t+zpu7bBAqqu29Fqpxdn9gCOw8ZXVGtTvssyqq7f8iutedyRdv21H8shxIjBo16GlpgMCKijMR81wwWwGlknbHgxomGkU+F0XaAv5rZtqKi/bMk31WUIkoNfIHa37qHjk88QU7k6piiLNSJMDZtVRlDZKmwjSAP1Jd/C4cfrw5FZTGG5ZPUFW2bXGU4lObHcOIVhA6AzWfdC5BfrKZH4QIbG5VeoaiujEc0FQ/bVtNduRXu2W6joEE3PRJQr0DZeKSSFWFhNPpOKqnlwIewigTzl6AP9gHUseHrDnL7+p51FBzqXFcyDxBnVrbb+xsdvbdhCgFmBxLV5Zc/iv9/Ztz3HYDz+8ms2sf4qN/aat7X2+2qau2f3KLI972dfljd6z/2M7uEucVu24g6shbnQHt3IeS/vWBsXTV/iKoqtl/WlEgd/0Iaa+J/yJmurYkM97LLHOuVUm67tA5Um6ztnEnDsQ6IGOwBxZsOUZ9zyQS/C2f+HORCp9UOK8khKEzivoCJVit7fjCNSV480TRyJWozEoZgSoZ/0NnEfM+eGaxEjG7sRsmkO6nXRuW0y9/+mznEQszIH0CG+ajwJfHwfQnVm3NBWJjDCP0EnhAPcQgLJzsyVPRVPih2Kuh5zsN0Vo4WoEPmZaeTUAFKUdxJEU/TS7S98XalCdHcM4xNwqbMC+C6J41nhiulPLEpqeuGCZj/qwGhqkbed+RQLGUqJrvmrpYNoGdq4LrNeRBSSwoZlJEM0HTmDHuK41mUSqvqvc53sniytlXEeU43hBLoUNNV7DFDoR0UngNI3D4kPyOIneCXUdRJdaQmKIISzZk9mkn9AH6+tSJFcsMkBj2srTG3goSEDU3gCGMxoHfUaIkaTHtB9PT1ITXWuvpyByUzzukvNyhWPlBoPspDhY1zOJXv6RYOjY3GHQYdzgoSxMnIVRALbdjF0DFdkcSKMjbaHrLFsh9IFxVTQHeF9Phee5JpWJEeP7A0I5o445i00H1RtIE6VFEkIk4YE5/DM4ZcxTYrr+OEjpUB3qlAyuZFmT/WSnoFz+A81Ods1Te6/f7zdhqfOvLEIyTkoswDGFsgkU0wY3g2GSraMRwSQ7SIIfJgBJ+51ukBtkU2gn2gMm6vg3QydLhwD1iHUb+3l22thD1/kEU83j0QR6MBeyRFYQL4FMvmgcTOaV3BCZiL8zUHfKHbs2TdbScLGvZxjs8S0r7BrmY/K2swmb05TXMJ0Y/kHjhNZ/s8APYGCgQXrEIA7Uo7e3s7k+1pmpfUzwlJyjgY+p6aPr9EZ4DIVBIe1O8jksdHQOqE/R4C8I/SCBqiMeK4Q1mOPiqiLmko2mbOWVtq8LjjmRkY9oA+rA6u3V4E9Fe47LvcDMo543qTW29UeTtqzB4NZl0IguZ4eaviidS6fI5yfYeWC21zdg5NI8LQAyNnd+6TJ90QFsJ6i4qKwFu2ChpwFUzPd9XACa/GH400pTwiH01zR6C7bxc8vH/PnspzADe6Tgnr5ieVB9x3gi+l+aA6a4rdtQwnEjNa852u3xEayNMuJBJ5IOAycfJnPuFPQylqzUd/0QE6QYN1CF4nkC4MzItkRz84QQN5ndSpPPMosKfEtUoWMEFJSAgQy6e6lLBnPJfYpdPKZB9OjpplwHzArqaK2bJFl8NnDLAtFA7sLanhQERK69NG8b6O9QS4ZGl0yDj7gytHro//ijaejDiDCC3mKyGycZUTRGSEAxskLq8jtaNDkOmUlwZTEjIAL9mQJUDMA+GyJFJGWsRBGMPwFsQJkQQQxtuXQOytnuN/ptqljXiwdk8601iQGry5+noNW4Q6YDp2w9utgOuxQiRBrMQGTq7JcqF0VOSX+AVFAVGK1AC4lnSlQQLIPjgpGlWd9PebpldpfHF3N7BNTTkcf9y432ich8amZXt44RrwEWWQedAJgEu+gFwaWesX12pjCbVew5RGL2zTM0lL95SXk/uY3sitELMGQgMKThh2DMwJCBb5r99B6d3NHGtKzw5UhQJcOZDXQp+UaaozwWO/+oWK2QRdGYClg0UxaLWFrIYJU6qdlNTL7jOpq/XhSGVRaol20Y21Swc/KybKgzkflSgfbHgUk1SCJUbC+WehjRAOyzn12QrzSdrgQsCyhKJSjIFhg8HL9MlmT+kJkoJ9VaEpcn94JLHKJLjhChTGDQT/pheD9FVWLONswyxSjdXBWXTTMd18EF6AU4Sn62qnbHlbjx4LQzBDJp1sTqnJr2baiibhxbM3yvSblhYAGH5XcI4gOHxHLDVzrRb9pRlDCWM4dRcm0LxywUEZlyPFYB+gRs5qSxzZRHWSSVu49YyUQaCm9sdRnGvDsPT1CPgps6i6F2CHPDqKmeQmikfH4fvrpsrY8qqNmpauhO25DlYGtXgQ4LQT2L6jigbUoVhzV077aZ8881GLnN+upYVGIONjcMR/48Fb1JBkNt6nCUh0m7iTi7TiW4k8i8zFoC0Y3G86oDtj/A8VhiVVazQ9EpX2I5EXEurwe/EukmXFEeFqyeL9NERevvWwyhzUUbdF0wSrRkghEFgEPfMbGCoVan48IzEHxtB2fQfdOhv/VLLbQfi1NxMV7kuNUbpqQ7q0MGc0koscTOKVj6rVunpwS0EcuWXaHC9lAu22SrU0eXe+ROnSVdOR3OFVc9PMv5deqCBxa1sTl3jz7N3uruye9m132v29WuK9fFbZTvUl8/lNxGDSUa3EbUB21gklmZVKiSvZpOr0055omINmVB4FaGPst/2OBQajE4v0tSJ+R8R7HvfoqFyaKHVUKOi0v/wBr8zy+89/tR7793e//R+3v/19u9nZcv7r4cNNqohFc3pw8VrV+KNwxO6uto+J45foZ4mQTQSnvOAamx3n0yNfvsrfFp4DuJqxXU9Z6XLnCMNdDoQ1i+89qPoEltRBy5CcYJw6R+Fl1m403n3SqLuL/cra5ulVX7ZZht2W6lXikmy4O99fJF5j6h1Y4HNvZ2vQdlJ3GfkMeEFq2A7VZ/e4fcJ2yrt01f8IBpJOkama2/bxfg+958AVVqDMFaU5Bery/nMCdlm6TTZdplXWkxnVW2iok0lxFxVL2zkNOlVxZzp8DwNuA9z6Tdg0suTexFskuXyKQXPieuFMPwxutKuQvpJFusUIwl/hc7ErTYd8fMVZmfUSBF+wwnjnIBTs6puPWP7cQFHqMLCj1OLL2DZ5wmBGX7yPLZEW+Cg95+et3fCG06yacczxZEQYjE6i6jHmw2RsVsX81TslKwow1Sqlc1ReozmLEtud11xpabSEIoii8XzE4tWpvn53kZVsoEsEA5sL65ZzvjyeKBWGa8NE/qb8w1HzMlpRgGQCj2DZMCTycusiy6s+gSHqDljPCX3W3wWgy6+Y2oaCMn0teO/qPvyikhK96juryX9R1aMDfqxUS7f0mnfcPtwTAKFJ3BZeMomKE8xnRsbIYXKgV+cRdgh+7iKBfJ+5oSR5TEjBtGYWC4UeK0NdZsnS9qWaH3mIa5kGGy6idsyqj5oMONPnXTPhu5So++2RJmmKCfNgHRFMWliRlkc3Ohz747uqBLBrXSrfX+bmQAF0RDSEtngKQEkGYnqGnrpNxsYQiLuR5aEz0U+7YhjpHCo1lnGjWnW/KnjlhN2oW6nAua8JvnmSH1MLdpRsGTlDxTT3lj7uAW7xLs0HpYZkMCv8RIegqYM2OUIqET32AQYbA+P2gwjcyAfcu6pgmPgbJ0/x3YLAHa4BWx8i5gFaQ2LFYeGyWkiwGTNbQY0od/PXooPplgTEcdSZJv90uV5VcquViAhVgeHDzV4/204wJHl/5JiLB5bZMvs2hZ09l+wr0Z2nLDeAMMQ5iFGPymsZGoXDjrS5W+SKQmKlxQRB63cV8PTSzc26BbgLOTDLVitUlLZqhZh/g3GfKFOjK/uMoB0EHNuec1llR5MMXV1N5Dem3zI1/v+8iXKIbsaRTRiIXy2eDCqGOg2g6aVvoK5nVdkfkutDghKpxc7mrazcwxaT6i93DTTtRqz2GIu3T6b0Gse0gxf+m6FHRegsH9O0+WEUmJWO0slZIKb/nN0UQsEE3lgovlU83cqCwxH0pK1R+xSOQP9SCN5OGeN0/huLQsnOtAVWpSTbn2LM74jTuLZ4xPBLYsbmwhtDs8Y/GxRtDzgmsdoJJzdfTT/a56Gdoi4Y1DDyDTkRIDVOOC/slX2Q4O3XY4xRNDPCEpxs5cilAxQSFLz3cTL8tOqZrD5421EGS5PEBy8Lx8Ux34uMNiX7lehYhNVa6FuFxS0xQ51Tp8a5qBh87KpgRDa5zyy3XUThnWZ/C3V6Z0g+IpFytqn2QQFZ41NjonN5pbwPfIEzsYmYXfd9NCufkc4WA3h36vjFGblqoVakW8kDnX1FEPrAfoRoCcJlhh6iTCUW9epaJyme2reljFiVT8tPK2VUO3F8+khfKVtpSu6eBDyqVZ2LlU5JbaAlvgSujQ3FQQJlFVNfrKBAWb2wzW80q0BsIZTupymqrmpIPuY/1JB8HSoA06zGgispWboIam50SQa3ZEKTv9ND4A99a0PrXxfKMUvoS+ABFxQtEsAy1sT0GfcluBJk7qY6xBFmPQNeHGfUb8pRcnFPdmC+Ll3xF/K0b8bSrCb4nbLTYQ4ZdhlcTmad+6PDZorIZsPgFMA7a5tjohi3mf6Ehtx9u2dMhJ8zU4y8Y2mr62Bzeago88urEmvnAREdcMK8yfw9ZnGPQ+CTORQXKHlqchXVXuVw7A7KMuBQnM6/VtFFzDuz3aSk5K5jJeI8LRoPgitUopqUx1ofefMTApm8T68BuTOtsHaI2wyFdsa5+XkkY0JdBQgz/v5mk8jlFBFLNl8MPtV2XcnTS9iQOjGUTu75gCBap6PZ9HmI3I4FDaEVaHOq7jiQnkgGFTsKR0nAqyZ35i+ZpNxQmoNx9jqXDWk0HcF33oq4k4sb3YEdvpzHKcpqb/X2vTQ6COJ5gHtrSHe52OzSOwUkijwmTDrRBaSjtJlA+FYnVqu73xtyCj3Ma2Z/gVfeBZ21RUdml9MGht/USnB93RPgEdoaNtFUomgWPBWSGzfrE5ePbWNCnyuZASUV0fZpzLgZ1ECxXtWX1P8gBMSD2zM/RLNt8qZkyd0i/ZNsuokn8tw2VZRTcUCodbNqg4aT4/cv1WWSoVIukTHDceL98WlvPg27R6kXya7nt3OZ5LcLIjurnKy6x31Sx8T6dbZT/f/IPFOGB2OeHTaUtM/cI+RIEKgMhMf2Bth0VLVMjArUiEXH8ejAZv+c25sK9+GoWwTjjz7WCG62XMaw5UmLmKbf3kHg+6RAsiCfLQlnMk5shQ6NJDEmIofEe3+j5Wk2BNQqTQ1iFE1qX7IMTGQrfK9oBP9zB8/OB/SG2CjDb4WpdwrAXBOzlC5GtseBP9UdJP36GfXi1VQ0MqceT7y9GxXOvzBCQ8KCnL13TV0FIXWZqYlWqPiJq1Ei7tsL6pzGq+wqzVF553Dj5ZRJMigU3DK6rHSv+X8jN/JrvK2BBA7I9nK9oVCYglyQYN9tPWH4zJPkriLED2KIaVqq9MyjoMau3AWaQf5PI8gsjqph8M0w9Q9TrA6xVrsE0+dsM4BbUI6zAtVME868o/k2jGMOcfLi4+DGmbCfCosxWkuHgzbJHIZvCx4COSwfdFtiH5fo7RpSmiGpLRd/O5oyorVPkXIOGRH/jzWRBLkEq4E34u0Heb92DlOPB8SVs1La9dv4W9ysQdNQ2uP55/iGDRK6630ov+/2Qdmnfk571vQ3cascGaBrDuS4W8H87YT2Le4fC70ykZKWYcTBTahzOAjNEcVs9qyDdIkBMHXEr9ha645uTsUijd5pbuwTaIe+ELTKu06Jr9jnbIY838kni//u0sXdtZqiVMRBKmwWEa1yc6IRRH3L50oiDUt7pgqi56fSnmdLczTFHuyc/pV2XcE4AZ/U3vJV7O13qEIX+sUSj/ZaObizorox3NQ9ysi/Oj40p9iM7hrjenpIz5SJAIRoISqwFHhQAKJyrFFlLYiHR/N/kWeZgFgQGQsTmQZ3YH6S5lDBoD0PrAl4OZz9NTfGEUzKhnlMZRn/PTo8Yn3PUr+575kJ/0V4/OKvTiyMttOkLDxf1GHRHGJ5NITOjgOHGYBCYzxxTjEUgEb874FRCEPDpcsduvAOxXd5WOLCdwy9M5i+PRlDJ60CopzfP8RxRO5meBZWplTBilwXXFFrK7RfT7UxygP9hvUt9zpT8CspF4AKls5k+NVObwIVQfzzcjkek+tTUFsg5XqQtSsXFPsmNXO0lkvKDtPsRxaLinSSynXPiYNrI2IXCb7d9/S9pHL2lRFD1mobWaabbOrUbLCoF3QmDSRn2UofkCFSy06P4GfWdD6d5mlr/Vwdzj8D6mYA3aZDzDs9yJwGi8vNpcVl2+yjoTIPoyxeRY9RjDWZMOo5rzXXjL2QG9PKJ7VLbG+VPWuZsgiVt6OGodhun2FiGeYRalX/iveK1EsmbWX47MrY74rXgNIN2hmNxrMaa8zFg9+Y23FHMQCvS6WjOhUXpLIat2Owme7w9BRNAlagSdnnJ3IGf3PToZzyTXEubuG6zcSHE0CuKyDZ/xC8evRXbJs0KRdQwhCGLCDNO9ApbJ5Rt00wb3YDzT+0mya02yN3S3BhQdgAQLegTh2Tcv+yF9U3MsTfmXbZjp3HMn/ivW23sZ3lhsKpCeBxbeeQ/C0FHTA+v5y5fW4HB/FA0yUXOV3f6ZCJjpXtL3NHyuoAJOgnCuR+trG35+y57t7r1gP/LLYMSOg2iSptvKjv2coNfThRkeRDKLdGtKX9Lixt+PC34HvNbpiEfA0MeuGJE/2q18950ITILT2J/yWW0BT9xwzAPGvo/4uLZEpKZxxI5uMEvP+euf2dCezoCutWVjJ3JBER/H6hJjIOB3XbFj4bOh60yD2i4dA8Ed9DpPXc8NawF8D1rPBRCTOHKkxEjCapkfYe5JE9JZKZLdS1WWt0sPwY8gy9ipK2b1I/AG06v9EEj0sFS/vuWRDcLu9HeXO/W0euuCugfSXyDKdQU0mUKB44IhdlEtmPM5iJRhDDCueC25LmI8VncegGBpIOhfhVAuEJT73Bfd6Jn/2TCpcrcu+RRoKUtTSAZjdU3H+yJGhh0dnMVzH8E4N6Vy7evrzgq3vE0CD2ymPkzSgTZfvg8wQGYS8RmFiLyBrzHHw2f8cIfVTfRnzFTDvRGYzf3CNWflJtFyGrlqFNuXQlGzlzwCg8wP5ACk6A2IydKLRS2fct9FFpiKIATbT3RoHKMR+5MgmHiC7nMLB9IHC3PemwRAgfR3c6t7hO9QF1wG7dwlcprqA3K52tyegrGe/R54Udzc/HMgNXaenfn2Um3+Fv8WD9Ch6WGci3VYfG5u8AU7gcHwUaOwN8pZqk0wjx0VIboYMOuMgMClNwtGdwemZQSz0+FRzC4iF3/5fJnmr1wVxf7gE48A39xDQ6PL8jFODbADfpNm+hzp5x+HzUjt9oiiegh32scQ8RFqBCY7mIo8JKysw+PkeQGX6oYuYNWj8DBUsaVEKmW2Dz5IG6xRpU0Mg1uCIx457/+mz5hQqcOWCr1UkK1RtYemtujQ+G+fYhHNB/qf3rP+bv95e6WUqoPf5CAjcWs9mrr6Dib8KVuQC8NSAVjY0B3YYFepGdD+fwEAAP//AQAA//+5OMLoPrsAAA==") + bs, _ = base64.StdEncoding.DecodeString("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") gr, _ = gzip.NewReader(bytes.NewBuffer(bs)) bs, _ = ioutil.ReadAll(gr) assets["index.html"] = bs