From b60251b9601bff38442c61a188afc84f9791f24b Mon Sep 17 00:00:00 2001 From: Jakob Borg Date: Fri, 16 May 2014 18:42:22 +0200 Subject: [PATCH] Show node name in title/header (fixes #221) --- auto/gui.files.go | 4 ++-- gui/app.js | 12 ++++++++++++ gui/index.html | 8 ++++---- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/auto/gui.files.go b/auto/gui.files.go index 6f1c87754..340534013 100644 --- a/auto/gui.files.go +++ b/auto/gui.files.go @@ -18,7 +18,7 @@ func init() { bs, _ = ioutil.ReadAll(gr) Assets["angular.min.js"] = bs - bs, _ = hex.DecodeString("1f8b080000096e8800ffd41cef6fdbb6f27bff0aceeb26b975e57478181eeaa6c39676435ed73668d67e09f241b6689b8d4c7a1495c4c8fcbfbfe30fc9a448c94ad26e9d812d3679bc3bde1def97a88e1f7d2a7242059a72765560fe0c095ee2119a312a082d71f57b9d9785fc4fff468fc60fc68f16399ba6397af80ccdd3bc00a0942eca3ce5e6b7047a1095f0a5109ccc443479f0e032e5a8d8d0995812ba4087d58a64c5b232c77154cf452374763e9ca80525cfa729a0394411c785c253c3259251cef21cf3383aad468f04cf01c3bc84df8451143f2c666c0d1c3e5c0ab11ea29b07083e12f79ae3cb97a990c80f26f5e8028b77af6148ee75372a89a75c68ced516811339a9b14b562856040b00b8d94e1a9373b2f0c7579be397726791334a59862592b3f30092632a37eab067e631e78c07d61518d35772cea70492c7b9cf16c76b56ed428d8fc7e814d44817059ae239e3184d19cb0b94337601234260ee52144201032f6afc8664cf50f43b2904a68008b4033b9c81ad28ada113ce049bb11c6908f4739681b80b5c00a0d8acc10e2381af05fc325ad086b81d59c8dfa4d7a79866afa7ebc242ffae140b2675f65eaaf977b22202c5af7f5917c31d6a5aaea69877227f0fe8527a4c619f97697e6a11d033a89a42f1ad311bc30923379377c77f92f214ce47fe1eff5902902d1b901802f9c04a9a2911ed40fae30724474b38c8b8217889fc579263a467b5fc7b4bde22f09bf2333f53fa8aa6d31c67160d3d85608ec159c73bbcd2383bb9fe9dcd5a70aa99bba03c95e3bf683f6adbb71c46bb711b9db3fec3093df1d9d123484e86179fbb5e685192d3f0e13367ca16df87e3fb1cb80fee4625b69f4bb1c4103a66a972bc1f9c2def45789216c515e35937520bca205eef4642c82b09d5f100fcfb69399b619ce12caec281fc90398abf51dedf1eb5a44b2811f170e24ec5d1b7140b60e04239d96828bd6a9ac7d19264386a40fbb1457eb60e0bbb48734b36760bbb990885329795ad2fb25f5338cdbebcda99e558949cb66d322ce63659de4cd3d945c6d91ad40df4c01840d91778336529cf4cc6b16d1175d706eb7837877d2c25709d34d8bca9c421018471958d3c46d1b8d8c0d959018f85b4a6a288778bb354a4cdcdb96637092956630436e47a8be5a18eed71983b83bc5290bd6ef7fdddf413c491046456c476941f2610ce5fa5b3a5859c649e62820250d9c34f12cd61040398ce60e0c3fbe323b65a330a675662ea2b1e4b0c0aef19c9ce3d493477657f0ff368a565bd3525d33dcaae80ba4c0e211dbb8a872307426430194b98277512394463f4f4e0e0c0852499713fd5c7ca39617dd00c088558bacb491bb3ac14f5b4330f8a94ba4384a236012b0f272793655abcbba29078ad31171ba5a800bcfc54c5c0c49bdd7a23826f5ab048a252a5f5e6dea46299acd2ebf86084fe8b1e694d288863facb46e0e20f2620123f09e4d71e9414bdc8863e870ee55a70eda4211dea43db016b25be4510b2664b14e336d17a4239e8bb8500a0af0dc79c1e1f36c8f9185c03b317e8a1c6390c19a75b0535ddd8bec3aa2b98dee7b459f784c96d270f9ab50d2465a22c1c772f879bb14de6176cee7a2509077ee9104aa99266784e28e46be1d0072912bd80334e233bfa38147cd4a01b48f3e1147f2349b4623e156cbd06ca41ccaace16dac744d23307c8a8f9ddea0a5cfd3d3b384f04fb0004f811a80682cd633d017a9942391f3f1d4edc7d98e5876820eb39480606e8afbfd06ef438cbf1a0b9173d0d663640f160c7a5acee4f309f41fc4817d828e6311a7c371c04776b44626da819dcd7ec28871cf1cbeb5ba6b84f089db32fa071853b93b514ff6c5a7754171150523779732ca3b6a46e87abd066d08d6ecdc92ae59b20ba3691baba756de58b2b18c27bdbd603c2d61d32152814fe837e581d85aea1f63f941010a682a623cf9b26310e01583c4c9ab255617086491e0395b0b3949da880b394c3477327e397cc4ae70f7081a06916246fe1eff1cb73d70225605334d5782273c91c2bb2528620895030adace598222990a811a910961dc9f665c669a1581e9b2659084cdf0d9b183b1c51f4921466efb5830e88f57826b7f46f102abbb8ad3c4d3d751ba1ad20c52cdaa5e53bf0af565cbe93ec2533df19ee9599ed167d91c99ecedf2c31c398129a692975f9f69f3af46d89fc1fdb42c30974c6a9f6ad7cc47bd5209971395586663d246861d3405c625e00ee107f5f523c3981b8fbb19d760f3dbf4d57f856d201f8169e6c900e6edc2d57192d54823f864320ce88b05aaa2d0da238fab67ae8d1b769a55a94c36056935ee2fd24830f851acd2e072879b7565a4f74d3d71c50c7307ca853c193629d13114723b9b3746d1565d7c05025d7eb4480078b8793409db76685d7950152208eff9dbe7b9b14ead112996f628793e108dd2c719a81813d4337d111a3c08f78f20724711188345d035bba293cfe54301a6d1dc2218d0c643774d05617aa4666abbc9da6a9dbbe6debbd164b7615ed178659ea40ee79e217b05169cffb4e5285b6e41c2469563c4c20c5c6348b6fb6a3ea74f8ac4812b0b957d7601541193860a7389feb0e59c3a9393ecddfef8eb1a47e240116a87a651a533d9c7c62848251a280dc24f02be084f1e42118c109574ce3b8611f95d8ee74625d0da459e62960afe46fec3d02c96c43d315d0dcf6907ef8a0bbe20fc3fcfdc28172040bdc2d9f1045efe1856a5f8645b2ffe943480e96f7533f9339c905b61bed6d11905636fdcdcea86df3d5b32dcd2fc7dfbe0df061b5575457574671ddd9d54dfb70234ccda97e5d036763a2c72eefb1d3e66e7dc9ef8959ff44c86858ac8cc09df6aa1f112897344219a37884c8e4b61bed65f3860a0ac9de83aa1d6d33cd010bc8d3198ec7680c0c4740ce446b0f43ed93424ef78ed9404d444aca17847e70a1bada88a0e7ee89cc315d88254c3c7e1c2ad06cd833726ea7cfae083a9e37558b773bf67be3867337e8559f29c7e9458fc24d3f7e014c2d0758ef785d16cbd80fc42d1e2c291817715533a51cdfd5d17c0de78e8925e6159f6d79985df9b47aedde4e5b6622be9b6ef02596a4d8eb0f08a44f4dc77d07aba60d1581614e3cb3a73deb446bf367f4bcdd44037b568f556411d05315fa318caf8bb67a0d277f1028fe5e78d7d4f66a6396e394bfaa9efa74265cf6dd3787cf33976bad0ff4043d3d576ced0d476add58711285b99c73288fb37ce39b331c229bd55d84bfbdb1a8f2de8e0e619329540e0dffaf03c1ac768ca3663d2ee786c38e121af0b494506bd6c7602a38f72242a81296e1f13dccdeaeb0312b76854d0109a8ecc62a558083da76553a16922a5df26e4878f95260ad43f4ac3ab0e7fee59f3b175b526e3d3379c9d1e729733c75ecd54340fc772e70fefe2dcb54b073cffa72f09a7d8e54d0e1d94b050d152f1594ab3ca83adc9f9dfb73ae6d5af1c337cfda3b511d704c0de2610925676172b43a08879a563866599bd019d18d3e40cf0c23cdeb5ecd68263fbaf00cf3ebab48574915b09685f9d5965249c917d21a8912759b63fbaa722c2d94ee63dccb1c3f4f356e74e4e820e04d9deef43d95f06fa942e53d4f4b473dae249a0701b7bd41639605afd0eca178cb4b90f573fbe045470bc2bc19a1eeaaf929fa1ea68c966ec954fd92462b536d1df23d3d74533e3b1dcbd6f2cfc365bc551b7ca8fe6b6d0e99e3f106eaf6f633d48a403dd46d5e30eda58ab1bca871377dd4075499823db6b74eb0ef4943b250bd4311bb1b1aa95b9b0700a7b653b36689344e47685a71695d2449d5c3267d71677779047dff3d3200d32040f3e19641f3dc800f43d5d293a793661a6d96bd30cbaafcd9c2aa23b6c2ebf5401a78f5ba1d66bdf445bd14a463c94685c516d9a4c94bc221ce32be51a4eb5ffda9ef10bcb011f83c4843ceed37ba56d6cb4c792071770aafd519afc2bc61c3188b6164e5135481656553ccad14abd1ab5dd9c4729dc5ac641b76686d3ad707d892a8cb44ee3291e1195941a80232391431a5c34b46164414f2f5895995df488dc8f786bc0b4806fd8153766904d515d979ce188fd5d79c2df49774aa480fe5add77ae6e941552f4aca8d1bb6c023d4d51ab3bb35cde6d67ea1cf740f229a0244eabec657716f565bf7d5e9ba1423a46ed105b6a8a613c17e25d7388b6b013aab760e4439019fa129a1f276467f7e9a875c0d2a35d48ea0ed72dc016abd61a7b1bc0097f5c37fd023fb8f977f2bc8f161007412a2da2da51f86f20e66847e23b761ad0f4ff760e64d3f663ab9b807f9d761f2f6ed3ace40d9953dc835d13e3b5b61f9baec576467eaeaa1f5a7439a4dd0fbd8d96d38ebc3d27dccac172f9d4cdc83fac51730b2620921e78e36e6301fbc3dd34234cdafd24df1b67ae5f3cbdb77f0aeaecdfe3e8e67cb925e1cbffccccc86581d5857dbd5b5df94ab30aca5bc92af91c4e3e4e6e9e8c7ed78d12cc115f05eb46648019b4aa4be3ab16d4a20532917b9c471c45429a37b6e5d92b02d44bff20fa5ee5134b28655e7d9fc9b02f5b0e0292d66799979332a4b7fd67c6940dfe901dc87e6ab45626ba1c52b2027e4fba1cfb516644a7e3890f7c907882e9ea85bd28703b7603b33381348d2062f9e8fd5ca1786826f2896984a4afe2c5557c51252978cfe2c61b17c077af1467262ed2227f4e2d90e8712c308e17c3542a9101cf2bb99e079d3e8e558f210d45b40319f94b45892b9a833dff892e0ab8f691eeeb6a9bbfb7dfa38d5673c465718811b29f38c4642275120ed20b0e60c24fb514211b169484bf50027de52736376c79bee0dd51b39ef604e2c75d70f61b99102a539c769b6b9137baa31d4cedf7e1e488134c2cf2a1d6fc4d8582d9f467bd47ba063ccf9ff000000ffff010000ffff9178edeb04440000") + bs, _ = hex.DecodeString("1f8b080000096e8800ffd41c5d6fdbb6f6bdbf82f3ba496e1d39192e868bb8c9b0a5dd90dbb50d9ab52f411e648bb6d9c8944751498cccfffd1e7e4822454a569276eb0c6cb1c9c3f3cdf341511d3ffb94a784723465d94d8ed921e2acc02334cb2827b4c0e5ef755ae4e23ff51b3d1b3f193f5ba4d9344ed1d343348fd31c8062ba28d298e9df02e84950c0979c3332e3c1e4c993eb98a17c43677c49e8021d952ba2559614290e836a2e18a18bcbe1442e28583a8d01cd110a18ce259e0a2e128cb22c4d310b83f372f484b31430cc0bf84d328ac2a7f92c5b03874f979caf87e8ee09828fc0bd66f8fa65cc05f2fd4935bac0fcdd6b1812b2d6a38278ccb8e25c8a089c8849855db042b1249803c0dd76d2989c93853bbeda9cbe149205d628cd122c905c5c7a909c5221a8c59e9ec78c65ccb32ec798be12732e25d03c4e5db6185e67a514727c3c46e76046bac8d114cf3386d134cbd21ca5597605239c636653e45c02032f72fc8e248728f89de41c534004d6010967e02bd26ae88c653c9b65295210e8e7240175e7380740be59831f061cdf72f8a5ada01c713b3290bf896fcf314d5e4fd7b981fe5dc11799b0d97b61e6dfc98a7014befe659d0f6bd4b4584d31eb44fe1ed0c5f494829cd7717a6e105033a89c42e1bd316bc7f123d7930fc77f16b318f647fa1eff590090a91bd01802fdc04a9a4815d520fdf1039293256c64dc50bc40fe2b493152b34affbd356f10f84dc6999f297d45e3698a1383869a423097c15ec7355ee19c9d5cff9ecd5a70ca9987a03c17e3bfa8386afab71846f5b889ce5affe18c9eb9eca8112426fd8b2fed28b428c8b97ff3e93d65aaefc3e96336dc075b5081ede7822f31a48e592c03ef074be49d08cfe23cbfc958d28dd480d288d7f5880f79a9a12a1f407c3f2f66338c139c84653a101f3247e13732fa9ba3867609253c1c4eeca930f896620e0c5cc9201b0c45548dd330589204070d6837b788cfd662a1ce34f764a35ed8cd842f95d9ac6c5d95fd1ac36e76f5d5ce2cc3bc60b44d48bf9adb7479378d675709cbd6606ea007ce00c6bec29b6916b344571cdb1655770958e5bb39c8b114c055d160f2260b870810866535f21c05e37c037b67053ce6c29bf23cac1727318f9bc2d96e37f11956610436c47a83e5a1caeda19f3b8dbc3490b9aefefe6efa09f248043acb4333cb0f2348e7afe2d9d2404e12c7305e05c8eae12781e62880014c6730f0e1fde949b65a6714f6acc0d4573d861a24de0b925c3a9a684a657ef7f3689465bd2d25ca3d9add0075511c423976130e4716044f603214307b551139446374b0bfbf6f439244879ff263d49cb0deeb0684422ead6bd2c66c56f06ada9a07430adb2142519b8265841393d132cedfdd5028bcd698f18d3494075e7cca6660e2cc6e9d11ce362d58045161d24ab837315f46abf836dc1fa1ffa267ca1212e294feb2e138ff23e39089f73cf5b5032554cf93a1cba145b9525c3b692887fad0b6c05a896f11a4acd91285b84db58e52f6fb8ae00174ad61b9d3f3a306391783ed60e60235d4d8873ee7b4bba06618dbb5595507d37b9f36fb1e3fb9ede449b3b781a28c17b915eec57033b789fa229bdb5149c0415c3a8256aaa0099e130af59a3ff5418944af608fd3c0cc3e16051735d806ca7cd8c5df0812ad98cf79b65e03652f66d9677315630211993d64e47cbdba04977f2ff62f239e7d0002ec044c03c9e6b99a00bb4ca19d0f0f86135b0ebdfc080d443f07c5c000fdf517aa474f93140f9ab2a86970b3010a073597a2bb3fc36c06f9235e606d98e768f0dd70e09556abc410a899dcd7d9490a35e297b7b72871f7089d675fc0e21277227a29f6d9ac6e992e2060a46ef27a5b066d455d8d2b576ed08d6ecdc82a661b2fba3695dab6b57de58b1b18d27b9be81e65ab1332992824fefd7e582d83aea1f73f121090a6bcae23f69b2231f601183c4c9aba95697086491a02157fb01427519e6029864fe656c52f9815c11fe03c49532f88dec2dfd39797b6070ac0a66acaf148d492299664850e4113be645a7acb29454221412353212c4e24db97e9a08542b16d9a6421317d376c62ec0844c14b926bd9ab00ed51ebe94c88f46f506a76755f7dea7eea3e4a5b418999b76bcb0de05fadbadc20d94b676e30dca933332cba2a13673a7fb3c634635269fa48a92bb6ffd4616f43e5ff98088d20d099a7da45f988779a413063732a1dcd7848d0c2a686b8c62c07dc3efebea47a520279f7633bed1e767e1baff0bdb403f02d3c99201ddcd82297152d74823ffa53205f92fcad8fd3a613964f6d1aebcc0319a306d1d076d9218a663911a5982ef8124a4274d022ee202c54772157d8b571932d90571e370066a8ed275f89667142b87158dd72f41606df968f93fa1e07cac3dfa1b75e8caff16e92dec76d8d63440b287ab796fb2952c7e93af4595bce853ae72ccad729e161301292c56ba3ddbd05864abdde461c7203f891a7835e67b973de05a4401dff3b7ff736cae5433b32df841627c311ba5be23881ad7b88ee82938c023f7cef0f70cd00541aaf812d75dc3efe946734d85a847d16198873e6415bc72d8f885bf56d1d47db07e36da7daf932bb09762b432fb520773c4bf5f8a8f0e75d31aa445b30069ad42b9e46d0bc609a8477db51b93b5c56040910eed52d7885570716d8394ee7eaecb1912eac6ce1ca5b3316550f7bc00375581098aae1e85346283825f2e84d00bf024e32163d0527386392692bc8099b956a7bd08eb52d10278963809d9abf33650492c986c62ba0b9eda17dff46b7d5ef87f9fb95038d1ee6b85b3f3e8ace63217930ec57c9eee73a3e3d18d14f65b4394939361f61b4d516b4f4e96f6aa736dd57cdb61c2b5af1f6ad870fe3e04a9e978b14a9ceccd5e310ff11a39c9327a10d9c8d891e523e42d2a6b4aee677e4ac7f2265343c5664e04e7f356a96114a328a47884cee2b682f9faf2b2357f70e5415689b650e78401acf70384663603800723a5b3b18aa98e40bba0fac062a224253ae22d42321f9bc0011f4c2de91aac68489e7cf7dadaf097b412ecdc6c45641c793bc72712df1c401d59cdb49affc4c198eaf7ab4c4eac116606ad9c04ae275912f433711b744b028cf180fcb6e3466f8a181e66bd877195f6256f2d95687993d656bd4ee1db44525e286e996f6aa331e10289f9a81fb015e4d1b2602c79c386e4f7b76e086f017f4b2dd453d32cb0756a209e8690af580cbb5455bbf86a33f0834abc7ce05c09dd698a53866afcae7699d059779abd0e2f3c2e65a77b27be8e052b2b5331dc97563c949e0e772ce0854d5e9c67567d84426ab7586bfbfb3c88313333bf85d26973534fcbf4a04b32a308e9a271d626e38ec68a1014f4b0bb5cefa384c09675ff1f075c2223dbe87d9fb35367a45ddd8e450808a736e690a0850dbae4ec74052964bcedd13a75ef2acb5885e941bf6d2bd56f5e0664be8ad67252f38fa3c6d8e638e9d76f0a8ffc10dcedf2fb228053b6556d7aed7d9e728052d9e9d525053714a41b1ca81aad2fdc5a53b67fba6913f5cf7aca213550947f7200e165f71e62747cb8d70a468f973962184aa88eed4063ad48c342fd235b399f8a8c6d3cfaf6b22d52595c04a17fa575b4925349f0b6f2452d56d81edabaab19452bab7712f77fc3cddb8b69165034f34b5cefd1f69847f4b172a6ed01a36ea71d9533f62b9efdd24bdcc7b396907c57b5e2fad6e4478af901a10fa9d13790bd02dd17730a5ad744fa6aad75f5a996a3b21df7186aedb67ebc4b2b5fd7370e968d506efebff5a0f87f4f678037d7bfb1e6a45201f9737afeef632c5585c8179983daa0d2a5dc11cdbd9279837d0a15828df4e096d8146f23eec3ec049712ad60c9586f1084d4b2e8dc763b17cd8a4ae4419cfc7beff1e6980a917a0f9d850a379a1c187be6e69ef60d22ca3f5b263bdacac9f0dac2a634bbcce194803af5a5763564b8faba5a01d4337322db6e8268e5e12067936631b49bafad59f7a8de0d844e0f2201c3935df955b19af89a59ec2dd6abc5617ac4cf39a0ded2c9a91954b502696954931354aacc659edca2496aa2a66258e618786d0a9dac086466d26529b8904cfc80a52159049a189292c5e12b2203c172fa6cccafa465844bc91e55cedd2e8f7adb64b21282f1fcfd32c63a1fc9a660bf5259e4ad243719fb89a39d82ffb4541b97177197884be5a61b645536c6ecd5725f5e94140638088ed17244beef56ae34d00ba2ef808c9fb891e11e574c4b35fc92d4ec24a81d6aa3a80c820e032342554dc7be9cf4f7393cb4169862a10b45d3bdc47ad771715966308593ffc073d33ff38f5b7841c1f7940273eaadd5afa61286eb706e837721fd6faf0f40866def463a6938b47907fed276fde5b641918bbf407b126d8e5672b2c5e44fe8afc4c5eea34fe7468b309fa183fbb0f677d587a8c9bf5e2a593894750bffa024e962f21e53cd0c72ce6bdb7675a88c6e94dbcc9df962fd37e79fff6de8236d9dfc5f16c59d0abd3979f99591fab03e36294bc501d339986959657e2059d701cdd1d8c7edc8e17cd165c02ef44ab8724b0ee44aaab13dba606125972916b1c06996c65d4995b97264c0f51ff9802b4ba27c1c8189627cffa5f6ba886398b693e4b8bc4999155fa61f3750c75a707701fe9af0689ad8116af801c176fdebe50561025f9d140dcd41f20bad893f7cf8f0676c376a1714650a40d8e5f8ce5ca634dc17514434d05257f16f254c55052978efe2c60b178bb7cf14670624891127a7558e3906a18219cae4628e69c417d37e32c6d3abd188b9e82797368e6a382e64b32e755e51b5e137cf3314efda76df2ad883ee738e5673c463718411829d284065c1551a06d2fb0e20c34fb514011be69684b9e014e9ca5fa2e72cd9b3a1baa04b9ec608e2fd5a91fc242901cc529c371b279107bf260a89dbfdd3c901c29849f553bce88f6b14a3f8de351e7818e76e7ff030000ffff010000ffff7237ae2d5e450000") gr, _ = gzip.NewReader(bytes.NewBuffer(bs)) bs, _ = ioutil.ReadAll(gr) Assets["app.js"] = bs @@ -63,7 +63,7 @@ func init() { bs, _ = ioutil.ReadAll(gr) Assets["favicon.png"] = bs - bs, _ = hex.DecodeString("1f8b080000096e8800ffec5ceb73db3892ff3e7f05c2bacba3cea4ec3ce6b61c5955193bb3e3da99241527b777b5b51f2012123106090e00dad17a7c7ffb76037c8b9425594abcb5f3c11649000da0d18f5f830d8e1f9dbd3ffdf47f1fde92d82462f2dd187f88a0e9fcc463a947d2b94fb3ecc4d38b3434314fe71ed661349a7c47c83861869230a64a3373e2e566e6ffc9ab0b6263329ffd96f3ab13ef7ffdcf6ffc539964d4f0a9601e09656a580aadcedf9eb068ce1aed529ab013ef8ab3eb4c2ad3a87acd23139f44ec8a87ccb7370784a7dc702a7c1d52c14e8e82c3254211d3a1e299e1326dd05aaa4673134bb55443f0f49228268005506cc2dc101e22a558b1d98937a357781b649633d8c07023d8a4e2d778e41e54b45cbba994461b45b351a8f5a8ba0b129e06f0c42bba340bc174cc987183b1f7c42c3218af615f0c36b625844c65b42037f692908c4611f4ed4fa531323926ff7d987d795d94cd607efe8c265c2c8e89f7131357ccf09092772c67de01a91e1c90370a187b40344db5af99e23347e2f63bfb131f1d90f839fcbd80bf97f0f70afebeaf8670ef6e0a12d78ccf63734c5e1c1eb6baa7c1d4a4556fc80c3f62a15414d7f998a43265adfab9f8aff855553fa16ace53dfc8ec981c05af58d2aa1b5872894ca5ce68c8fae75415779a52106f1f442262a966d1c45865316a82c2ba5c8acb365c3a03b9182ead28472b29f7965694a36a7653a922a61c4f96d8673b2346c1459be954f039f03b049561aacd0a21e7b2c3f16372f8ba2da38d27b667ff552daa99d4dc2d2768032cec5587d7999273c5b4ae3a890b61797e54132996ba54059ec6206366805075e54fa9aac882de32bf8fb61508cdffc1408a9e978f4ba2a1148266c06dff8a6b347a15bd88eb4cd0459bcded366b35e7298eacc374ae8d9f4a7f9a0bc14c630af0d89a0f1fcd87ebbad310e443e4493ad48f3f1532bcacd80a3cb52618ac4ba93e15b39563d5515d30a5e1e55cc93c8db017a96049e7d3a7cf5f7c7f409ebf3cc47f47cf5eb70551d188e71a34bf2110a5ccc01a9097dd3586b581c78d75e8cc0bb4350d220a16bf6306049bc1680f6b3bd09aded161fdb829f27692afefe655c960b0c7a190f4b25f0cc8239ea0bba3a9a9873f1ed92503973b723ef7bbb1b5f3480a444f81883075e25d94cee6d428011e4c50ad4fbcb2bfc22f3df27df249660405dbf7ddb3945e55b5e91596b81f3402e565c4663417e086a13766ebf1b935b285e31947bc228283a2307d5594a1cb02a6b7fbf0a78aa6913719f3645e96a0a9f0885621fa3c1feffca3e77fb25e9538afefbd78ee15fa6daf27e4a276b1d849d5e334074d4f0b2fe96e2a9ea0cf80bf7252f65a2724036571425bce1a0a2cf809050f2f010a45dc5c3063a037fdf4198cbd39adb9586431a200525dc1f2001e280646ca96e3911b4ec1b81170cebaf51174ea16648097ae3eaee08f5c69034b717d40642a160440c9754af88ca42c04b345d5e235f9c8b4a1ca906baa52e8b65ced823c4c8a03007904f4677c7e9e221b2bfe00e17ae95a83117e12c19a54a5ed72982613c4fef78b6e1b357beafa28cfb6d6387ed12eb178c99b94b378c758c422508017938a63c364513d5a3d43a56cf22966c4cd37770081c4549329636014e815585b5817d0424368085e861a1605b5789124479617c331b2aa844e11f87edd261d8c47596b8c770f1a9d71436736906390dda638d772dc14de62e86bc92d8053a81ed7b25b2d83bc6e8b6fdf7442c1a89af12f5ecf52b51fb46e1b37c5e592c0b3792ec03c817c76c4b925b8253d6cf89159f820d5c23a3ff2146d1a5afa6735855e21ff7e0d192f8de2bd65bc182367fa3e129e8bca90a29fcf53eb36222b048a658c1a94824c827722f8fb33d442716851b1014af751c782b781b137b9b94172c119572c4456dfdeb68d71974c617c121931f137dbf4fcecef014fafc0a74695740b3a6518844e91d3108aa26edcdcf4375ad163872b15285a9af7e0dcbb2b5061098fd8153cf11a52767ed64b788087391819d2a78186d69e631d720868aa85383f1be6876dd995af2de689a16dac64caffe14c29d80793eb9dcc3d94490281c4e6f377d6ce590218e9295e3e2d38f2ace4ce851d68f5784b4e8d47fd92b2a500fd59c82915562b0bfece38c4fc3b61e71c68b3ad84a9a36b733bc81f7160e47742c5355de877793265eaf6d68df7800c34fa61616ca3294f29da871ff6229e3fcb705f4c8c65b2131e0a1ce2862cb46d76c3c11d8bede7b43603c0b8ddb11b42963cf22340b510bb44bb607c0a007243be6393fd0aee6eace5369e624c8b2dc86e7c8326de1ac7757062c6d2908b1a26be0502e3115d399c0d65733ccac5124259aad9adb517b8dd880ffb91779397348a2c2bd762a340cf5932f14d143560ebbee176132cbf03f96fc0643bd507849371789b02e436d7e257930f8c2952527ab505824ea1ede96c8e205a42e8a72cad1dc168a4fd8e26ec69d1c90a74f25570ad15089064dc0bdd89b1c2771f5b5973640828865a833396c6b610c2cef801625bb7e7e8f8e0706dcd88923f05b2bd2787760c11ce0a1f4e1435eca16003209342a80a6babff56b02bc0957711e534438f9f30a378787b0b777b91b4cfd93ed892677b618acccd6eb8b263e9b2ea7ac594ae77a2efc7c56de36e64d8ffb0bd99a707081491f5d574fff5b0e21230f814736d81c1fd71810152963dfb46058f59a2b3d7df061b9ce64a8127231fdffc4272c345e12c77a385f1564aa817dab024809f66c48623dc8b052f3970fae1739303e4e9d121d1cb4bbf1523a8bed4f7e14598e51f98c2f7f29db8176e53800b8a8ae3a3dbdbffc4493c0483de820b1886182a76c3ca1dc0866f000df6c0827b40846f0c038af7068568c35cdfa4a9ccd390bdff0b797442f214024d9eb2c62b84a18d565a34249aa9aba55d80edb88b2636962add12dbeb3cc477b7deaa597a93f736b160ab0e8a7728d5abdf810e66b3bb7af803bd7c73f4b2a2936fb1d355829d2d76ba1ce2fa0a7b5ceeda6d748dda6f90f1d15ba5a4d2fd59120ccbdcdbd240b0746e623221870f315de29d343c64f74a9368625a9838e2d9c6fc718d132a043803781a7ce209037700cac68ebd9f8e93e4182cd8eded31acb0ad456e6e668ab334120bb74f868d2cab2d88dd7f8ac446926ca5cc0902cef4fd5fbe6eae434b42abc49f2a4d0b1fff60f317d7cbde2ad3418a5b18248b8a044812f32862a9ff45af97be957572b7d056231e2822efd65236820f1c5ad1a271e932531a8c01130776badd83dd282c6c3766901f8f80393a94b9d22ca8d2aa8394999137b9c8334c9a2323f2a35479e2ec72d3700e7651324227cdce34f436e726cea7412893514845128faa4e478ac1a26b7cd3f533c8bd8610c83dd8a0df35a71602fdb9548b5124c31cf70d8b10ebac79bbefe972ad739cec0f39e6aeedb52f584a6003c0b253eb15da7dd59eaf2f67cebebf60e65aaa4b67af482223407aa59aa080f30846e8ea582dafac84ab3aa311ebd1075be8479c0a39efb5f3ae42716260c0d6bb3a68bf41a3a96020adf67f95d9d2341cf1cb76b3c2b8b78dd05dae967d81c2c44a88aff97c00969e569b7ece03b6ec57fc72c07cf5cd6dc9998cb37657752a9d662cd1984337650403b2032231a59c2946b82694644a4e054bc835080a5980449073cc2b87a523f52665d022fe11029205d07e1c3321786b4fa4e566eeb0c22d73ecf2c76ce29b4d00ec952755557808d2c4d399dc832c75f3013bac2f39f055840724a4e679403e58d34b6229a25dafbddd5cc66061d0989491c4e64bef08fa623732d066dd2a3c140aa961b8181dc14874c22b521ea18a53df596d08c7540e73786c00e0e9d77d3808250ba013a61e4330899c80f578fb0550e2922e944257e3fda6707448ad4509c3af1e525bc8d94caaa4486ac74baf380786a1e15bbbf45d5d69d0c4063e9e67c89aa967374f62aa7deb839e60567f492848edcb94e03f8a9c45f2f8715f69c49559dcf66c1cdb7448e8d20d0ef30cad809e9f8193c4b2a5163ccd30a1b908f797f85a4f146839df585c37a7579c30f01ae7cdec646dae0cc893db03c591142f8bf0d0da6f39572c026b6187b034b0666835b0dad7a0ca04ff217ec097534bfd40d811c6797ae9921d7b22ed1ab5825dc8dc598c9ead88564a6acf7ab8b5fafdf7beb5ca941d360824e696a76e39d0b1d97350c47ab410a8839f9be1a917f7728011afd404d044670ea42bb019059650402e70ff1fdc217ac5792a81a1c15a69b53de3b4c21894ebb24af0da3309719fcce0f0a782a69703fd77e2b8de8d8f01b55929e51453eef0c5c76a01cf04f009ed3f1e82f94942407ae136f59c4c2395ad259abaacbf7e31ee95af0b771423d5068fcac9192994b45cfa50e41a65c3e514748f09ec8a7745ce06c2f637e5e5065c8c16c0361e5ab68097c06383519fae939313922c4af35177ba2dbfabb15e18b521dfdf5a8dc3f40a0af832a3b8791ead7eb3c6b3630c1bcbdda86af8884657362cd85336047dcf98b28e84e6105d03e60e890de9400a172803b8f005f935567c3c425a4b3b21c3ceb64defaf314b893b2207581a4fa6a03a1f904bc63294c284832132313564cc9209beabb415c623b873a75ca676b4c0be9655d21c04d94819103411a558dbd91524009b1d77769314c354cc45d75ce3f335b74afadc78cf3ed05a0765c05e27542d9a7b3e78f2a7d8be6c4b7bc342961e1bb41b6af782a10d8e9bf5a3afc92922b355b4fb3d261af352202e989879778cc1869bee88101e8369b202d49199921993337bb73ca0cd23a84cde8da2b1d61f287a6d14ddcc0fdd09961e22b83b448d39c53b41d435a1002f3b88baa7740d44edaa368e622deec6d5d5acd0ffb5dd67b13da73b26656939dc0682a3b0b9cbfce812d56bc04df294ff9633dcbe979b79cf6ea5269eece16885897bca6a4c7c819fca8039c250f98c83d599b96d9ec6098d80fc52381c7cae81a5e873a810154e4233ac8780e71dc374b0d731c51a180b6e55738d2b87e76addaba326be1e12c3be21ec1d65afab4a1fa8895729932b5f539db0724ba1f0c1ba2a651bb795eaff4767b55a958ae3ea6da93ad579c53542d6fb6a8d63dd90deb8d25a73f01e61655b594a3866cf0321d48581321590bf72d017909e50310b7af98c80458f24d3f634334373b38560bb41dd29da0da15812ee0ce7f1f583c8e6cbac98859753f9a52ff0ef15c586383a09aa280c48d147c00eef5301936f1e36fe85a2f55aee7340fed7dfbf706798705320530082435cf09992097e8009a09d2609401994947a2b411fd893eddd0a25fa77c0dfe2f7eb429234e68b55f20706b288610aa3bcafa8d50eb63ae7d1cfa9beb5eda661de793663678baf0124e312d88e6cd6749932ede1bbef56e6e6b3dbdb3dc8c3851d81fb08010e02974dc7281f362c6b2823be4df916d1673d84be181407de425db8c19fe3b76f50fe78c39c703bb939b3723d65e61a3fdce0e00146a40bab1421be0c00f1c54f065d41180bdd580f0f4179188329a4a1118baa35020d47e1e104a3c5a9b136726cd8dc871c8cde3bf82c8fcced2af82cbfb9321079eaa2f8df35f2ec0b071bdfa9d9712038ec1f9a19547de53d670dfbaa75206fe9128a5546bb532d78afe56fe698ba8a012e02ee723e4120f904a1db52496af3a99f0c643936fddbcd4dd918bf5861b3b48b7bfb7542dc181b744b956342b9ed105a0580ebaa788f951b9ecc7eb126789fb9433f35cdbf0f6ebef688c2c092353d672f47a7528ad55ceb2f2364896fab78b3c2916f37fd41afbd8237fd0ebdf7e13ec47e9ef38bfd497e6f590643bb962afa17d68b3f7f3eff77d5894da6be4f7db8139d7e6d74d6fcfcdbd7c75f6bc31fbc74dfbb759fd303e0855fceb21f96fdd56560dbd249b7e2afbfe54c2dfce7c161f0e2eedaf5f76b7fed7ebe76653b9a659d0a3057fc52297ee2d07e81f89f000000ffff010000ffffb5b4170692580000") + bs, _ = hex.DecodeString("1f8b080000096e8800ffec5ceb73db3892ff9ebf0261dde5516752761e735b8eacaa8c9dd949ed4c928a93dbbbdada0f100989189300038076b41edfdfbedd00df22654996126fed7cb04512400368f4e3d76083e38767ef4f3ffddf8737243669327930c61f9250313ff198f08898fb34cb4e3cbd10a189b998db47a11446c92461eac43b2f4b4e8d4a3c122654eb130f2b25925e784892d168f2809071ca0c25614c9566e6c4cbcdccff935717c4c6643efb92f3cb13ef7ffdcfaffd539966d4f069c2802cf4c804b47afbe6844573d6682768ca4ebc4bceae32a94ca3ea158f4c7c12b14b1e32dfde1c102eb8e134f17548137672141c2e118a980e15cf0c97a2416ba91acd4d2cd5528d848b0ba258021c836213e686f01029c58acd4ebc19bdc4db2003464e1e6003c34dc2261513c9efe4fa1aaef43b19b177d0d393a73737e391ab5575e0884da534da289a8d42ad47d55d907211c013af188759244cc78c1937427b4fcc22834918f6d560635b42c854460b726d2f09c96814c180fca93446a6c7e4bf0fb3afaf8ab2194cda9fd194278b63e2fdcc924b667848c93b9633ef80540f0ec86b05dc3e209a0aed6ba6f8cc91b879607fe2a303123f83bfe7f0f702fe5ec2df0fd510eedc4d41e28af1796c8ec9f3c3c356f734981a51f586ccf023164a4571f18f899082b5eae7c97fc52fabfa2955732e7c23b3637214bc6469ab6e60c9a552489dd190f5cfa92aee34a520f3a86411139a45136335c8a8094af072292edb70e90ce462b8b4a21cada4dc5b5a518eaad94da58a98723c59629fed8c1805176da6d384cf81df21e811536d5624722e3b1c3f2687afda32da78627bf65fd6a29a49cddd728236c0c25e76789d2939574cebaa93b810966747359162a94b55e0220619330384aa2b7f4a554516f496f97db4ad4068fe0f0652f4ac7c5c120dc1c8d20cb8ed5f728d96b0a217719d2574d16673bbcd5acdb9c0917598ceb5f185f4a7399878d398023cb6e6c347f3e1baee3404f948f2540cf5e34f13195e546c059e5abb0cd6a5549f8ad9cab1eaa82e98d2f062ae642e22ec452a58d2f9f4c9b3e73f1c90672f0ef1dfd1d3576d415434e2b906cd6f08442933b006e445778d616de071631d3af3026d154144c10d74cc40c26630dac3da0eb4a67774583f6e8abc9de4abdb795532b874abfd62401ef2147d2015a61efe7864970cfcf0c839e20763abd6d6fb3cf47df249660425d5f7dd33412f2b2f4e2fb1c4fda0569797119bd13c01670b2880d97a7c6ead66e149c611af88a087a4301f5594a10f022eb6fbf0a78a8ac89b8c793a2f4b50f73da255884eccc73bffe8d99facef24ceb77bcf9f7985c2baebd18454ae74ac539a2493018fea0ae11786528d6b9a83828bc239ba9b0ad1a0ab80bf72eaf65aa724031d71b25af2060a1c484a787801282ae2e69c190323d24f9ec20c9b939f278b2c464440aa2b9034c006c5c048d9723c72c329d83b02fe5a6f3e824eddb20d70dcd5c775fe892b6d60c1ae0e8814c9820040b91284cf886021582baa16afc847a60d55865c5125108d14325190874971c01d0f81fe8ccfdf0a6475c51f205c2f706b30899f46b0725569bb1ca6c91262fffb45b78d9a3d757d14635b6b1c3f6f975898e44dca59bc632c6211c8fdf349c5b161b2a815ad9ea15236f91433e2e69b3b5c4062aac99431b005f4128c2cac0b289f213404e7420d8b825a04499a23cb8be1185955425f087cbf6a930ec6a3ac35c6db078d3eb8a1591bc831c86e539c6b396e0a6f31f4b5e4163029548f6bd9ad96415eb5c5b76f3a61c2a89af1af5ecf52b51fb46e1b37c5e592c0b3799e801103f9ec88734b704b7ad8f023b3a841aa85f579e4095a3e34f04f6b0abd42fec31a325e9ace3bcb783146cef45d243c4f2a738bee3d17d65b44560814cb183528059904a744f0f717a885e2d0a262e392eea38e9d6fe3616f727d8de48233ae5888acb646b9618cbb640ae39382154ffe669bbe3dfb7bc0c525b8d2a892ee844e19c6af53e43444b1a81bd7d7fd8d56f4d8e14a858596e63d38f7ee0a5410c22376054fbc8694bd3deb253cc0c31c8c0ce9d340436bcfb10e39c431d542bc3d1be6876dd995af2de689bb08b19282ffc39952b00f26d73b997b28d314e287cde7efac9db30430d253bc7c5270e469c99d733bd0eaf1969c1a8ffa25654b01fa7322a734b15a59f077c621d4df093be7409b6d254c1d5d9bdb41fe8403032446932bbad0eff274cad4cd8d1bef011968f4e3c2d846532e28da871ff7229ebfc8705f4c8c65ba131e2638c40d5968dbec86833b16dbcfa23603c0b8ddb11b22a33cf22340b5102245bb60bc0000b921dfb1c97e057737d6721b4f31a6c5ce6337be41136f8de33a38316322e4490d13df0081f188ae1cce86b2391ee5c9124259aad9adb517b8dd880ffb91779397348a2c2bd76263829eb364e2eb286ac0d67dc3ed2658c6b0ba0193ed54ef114ec6e16d0a90db5c8b5f4e3e30a64849e9e516085a40dbd3d91c41b484d04f595a3b82d1a2dcd7283a59814ebe09aeb50201928c5ba03b3156f8ca632b6b8e0c01c5506b70c6d2d81642d819df436cebb61a1d1f1caead1951f2a740b677e4d08e21c259e1c389a286dd176c00640484aab0b6fa6f05bb025c7917514e33f4f829338a87373770b71749fb9ced832d79b617a6c8dcec862b3b962eabae974ce97abffa6e5cdc36ee4686fd0fdb9b79ba874011595f4df75f0f2b2e01834f31d71618dc1d1794af28f68e0a1eb15467afbe0f3638cd95024f463ebefe95e4862785b3dc8d16c65b29a15e68c3d2007e9a111b8e702f16bce4c0e987cf4d0e90274787442f2ffd568ca0fa42df851761967f600a5fc777e25eb8150017144d8e8f6e6efe1327711f0c7a0b2e60186268b21b56ee00367c0768b00716dc01227c671850bc3728441be6fa5a08998b90bdff0b7978427201812617acf10a6168a395160d8966ea726917603beea2898da5125b627b9d87f8eed65b354b6ff2dee6136cd541f10ea57af53bd0c16c765b0f7fa097ef8e5e5674f23d76ba4ab0b3c54e97435cdf608fcb5dbb8dae51fb0d323e7aa39454ba3f4b8261997b5b1a244ccc4d4c26e4f03ea64bbc938687ec4e69124d4c0b13473cdb983faeb14db7b9be86a7c1279e327007a06cecd8fbf9384d8fc182dddc1c974939e4fa7aa6381351b270fb64d8c8b2da82d8fda7486c24c956ca9c20e04cdfffe5dbe63ab424b44afca992b9f0f18f366d71bd1caf321da4b88541b2a8c87b24318f2226fcaf7abd24afac93e185b61af1401179b796b2117ce0d08a168d4b9799d2600c9838b0d3ed1eec466161bb319bfc7804ccd1a1cc95664195c11e086646dee43ccf30578e8cc84f52e5a9b3cb4dc339d845c9089d363bd3d0db9c9b389f06a14c47214dd27854753a520c165de39bae5f40ee358440eec106fdae39b510e8cfa55a8c2219e6b86f58845867cddb7d4f976b9de3647fcc31776daf7dc152021b00969d5aafd0eeabf67c7d3973f6fd053357525d387b45521901d22bd504059c47304257c76a7965255cd5198d588f3ed8423fe23491f35e3bef2a14a707066cbdab83f61b349a260ca4d5feaf325b9a86237ed16e5618f7b611bacdd5b2af50985a09f1359f0fc0d2d36ad3cf79c096fd8a5f0c98afbeb92d399371d6eeaa4ea5d38ca51a73e8a68c6040764024669233c508d784924cc969c25272058242162011e42da693c3d2917a93326811ff0801c902683f8a5992f0d69e48cbcddc62855be6d8e58fd9c4379b00d82b4faaaa701fa4898b99dc832c75f3013bac2f39f04d840724a4e679403e58d34b629944bb5e7bbbb98cc1c2a031292389cd97de11f493ddc8409b75abf05098480dc3c5e80846a2535e91f208559cface6a4338a67298c32303004fbfeac3412859009d30f5188249e404acc79baf80129774a114ba1aef3785a3436a2d4a187ef590da42ce6652a545ea3b5e7ac599300c0ddfd8a5efea4a832636f0f11843d64c3dbb7e1c53ed5b1ff41893f94b4281b02f5382ff287216c9a3477da511576671d3b3716cd321a14b3738cc33b402faf60c9c24962db5e022c384e622dc5fe26b3d51a0e57c6371dd9c5e713ed06b1c33b393b5b932204f6e0f144752bc2cc2b36a5f72ae5804d6c20e616960cdd06a60b5af409509fe43fc802fa796fa81b0238c7371e1921d7b22ed1ab5825dc8dc118c9ead88564a6acf7ab8b5fafdf7beb5ca941d360824e6960bb71ce8d8ecf127623d5a08d4c1cfcdf0b08b7b39c088576a0268a23307d215d88c024b2820e7b8ff0fee10bde25c486068b0565a6dcf38ad3006e5baac12bcf64c42dc273338fc6942c5c540ff9d38ae77e363406d564a39c5943b7cf1b15ac0b304f884f61f8fb0fe2c21203d779b7a4ea691cad6124d5dd65fbf18f7cad7b93b8a21b4c1137272460a252d973e4c728db2e1720abac70476c5bb22670361fbebf272032e460b601b0f2d5bc04be069c1a84fd7c9c9094917a5f9a83bdd96dfd558cf8dda90ef6facc6617a05057c9951dc3c8f56bf59e3d931868de56e54357c44a32b1b16ec291b82be674c5947427388ae017387c4867420850b94015cf882fc1a2b3e1e21ada59d906167dba6f7d79809e24ec60196c69329a8ce07e482b10ca530e560884c4c0d19b37482ef2a6d85f108eedc2997a91d2db0af6595340741365206044d4429d676760509c066c79ddd24c5301573d135d7f87ccdad923e37deb30fb4d64119b0d729558be69e0f9efc29b62fdbd2deb090a5c706ed86dabd606883e366fde86b728ac86c15ed7e8f89c6bc14887396ccbc5bc660c34d7744088fc1345901eac84cc98cc999bd5b1ed0e61154266f47d158eb0f14bd368a6ee687ee044b0f11dc1da2c69ce29d20ea9a5080971d44dd53ba06a276551b47b116b7e3ea6a56e8ffdaeeb3d89ed31d93b2b41c6e03c151d8dc657e7489ea35e026b9e05f7286dbf77233efd9add4c4933d1cad30714f598d89cff1b3193047182a9f71b03a33b7cdd338a111905f0b8783cf35b0147d0e4d920a27a119d643c0f396613ad8eb98620d8c05b7aab9c695c373b5eed451135f0f8961df10f68eb2d755a50fd4c4ab94c995afa94e58b9a550f8605d95b28ddb4af5ffa3b35aad4ac571f5b6549deabce21a21eb5db5c6b16e486f5c69ad39788fb0b2ad2c251cb3e78110eac240990ac85f39e80b484fa89805bd7c46c0a24792697b9a99a1b9d942b0dda06e15ed86502c097786f3f8f64164f36556ccc28ba9fcda17f8f78a62431c9d04551406a4e8236087f72281c9370f1bff4ad17a2df73920ffebef5fb8334cb829902900c1212ef84cc9143fc604d04e9314a00c4a4abd95a00fecc9f66e8512fd3be06ff1fb5521491af3c52af9030359c4308551de57d46a075b9df3e8e754dfda76d3306f3d9bb1b3c5d7009271096c47366bba4c99f6f0dd772b73f3e9cdcd1ee4e1dc8ec07d84000781cba663940f1b96359411dfa67c8fe8b31e425f0c8a036fa12edce0cff19337287fbc614eb89ddc9c59b99e3273851f6e70f00023d285558a105f0680f8e297822e218c856eac8787a03c8cc114d2d0248baa35020d47e1fe04a3c5a9b136726cd8dcfb1c8cde39f82c8fcced2af82cbfb9321079eaa2f8df35f2ec0b071bdfa9d9712038ec1f9a19547de53d670dfbaa75206fe9128a5546bb532d78afe56fe698ba8a012e02ee723e4620f918a1db5289b0f9d48f07b21c9bfeedfaba6c8c5facb059dac5bdfd52216e8c0dbaa5ca31a1dc7608ad02c07555bcc7ca0d4f66bf5813bccfdca19f9ae6df07375f7b446160c99a9eb397a3532993d55ceb2f2364896fab78b3c2916f37fd41afbd8237fd0ebdf7e13ec47e9ef3f3fd497e6f590643bb922afa17d68b3f7f7efbefaa139b4c7d9ffa702b3afdd6e8acf9f9b76f8fbfd6863f78e9be7deb3eba07c00bbf9c65bf27fb9bcbc0b6a5936ec5dfbee44c2dfc67c161f0fcf6daf5676b7feb7eb576653b9a659d0a3057fb2543001df6e3c5ff040000ffff010000ffff36be9b37cd580000") gr, _ = gzip.NewReader(bytes.NewBuffer(bs)) bs, _ = ioutil.ReadAll(gr) Assets["index.html"] = bs diff --git a/gui/app.js b/gui/app.js index e152203e6..43a1db3c5 100644 --- a/gui/app.js +++ b/gui/app.js @@ -230,6 +230,18 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http) { return nodeCfg.NodeID.substr(0, 6); }; + $scope.thisNodeName = function () { + var nodes = $scope.thisNode(); + if (typeof nodes === 'undefined' || nodes.length != 1) { + return "(unknown node)"; + } + var nodeCfg = nodes[0]; + if (nodeCfg.Name) { + return nodeCfg.Name; + } + return nodeCfg.NodeID.substr(0, 6); + }; + $scope.editSettings = function () { $('#settings').modal({backdrop: 'static', keyboard: true}); } diff --git a/gui/index.html b/gui/index.html index 1780400d6..3a67d71cc 100644 --- a/gui/index.html +++ b/gui/index.html @@ -1,5 +1,5 @@ - + @@ -8,7 +8,7 @@ - syncthing + Syncthing | {{thisNodeName()}} - +