diff --git a/index.html b/index.html index cdb3224..2b3d4e4 100644 --- a/index.html +++ b/index.html @@ -49,8 +49,8 @@

It works!

This is the default web page for this server.
- Apache/2.2.22 (Debian) Server at 192.168.0.200 Port 80

-

/var/www/html

+ Apache/2.2.22 (Debian) Server at 192.168.0.200 Port 80
+ /var/www/html

diff --git a/osm/data/map_data1.kml b/osm/data/map_data1.kml new file mode 100644 index 0000000..1f1ff0d --- /dev/null +++ b/osm/data/map_data1.kml @@ -0,0 +1,1449 @@ + + + + +大杉谷20140615

Powered by matsup

]]> +
+ + +Tracks + +Track 1 + From: 2014/06/15 07:22:32 (34.2331033333333,136.181595)
To: 2014/06/15 16:50:40 (34.233195,136.181676666667)]]>
+ #Line_1 + + 0 + 1 + clampToGround + + 136.181595,34.2331033333333,320.7 + 136.181633333333,34.233065,329.8 + 136.181591666667,34.23311,310.7 + 136.18165,34.23311,311.2 + 136.181568333333,34.2330966666667,309.3 + 136.181206666667,34.2327066666667,310.8 + 136.180971666667,34.2327233333333,311.9 + 136.180895,34.2326366666667,313.1 + 136.180561666667,34.2323366666667,311.5 + 136.180655,34.2321766666667,313.0 + 136.180318333333,34.2320783333333,322.3 + 136.180068333333,34.2319766666667,322.8 + 136.179965,34.23202,324.5 + 136.179931666667,34.23195,324.7 + 136.180086666667,34.23166,323.5 + 136.180121666667,34.2313066666667,322.1 + 136.180066666667,34.2311683333333,324.7 + 136.179508333333,34.2312583333333,331.9 + 136.17856,34.231625,340.5 + 136.178728333333,34.2317783333333,340.8 + 136.178993333333,34.2318983333333,341.5 + 136.178968333333,34.2321633333333,333.7 + 136.178598333333,34.2322133333333,312.9 + 136.178461666667,34.23211,300.0 + 136.17838,34.2321533333333,294.0 + 136.178403333333,34.2320966666667,294.1 + 136.1782,34.2320583333333,280.4 + 136.178181666667,34.2319483333333,276.7 + 136.178026666667,34.23207,270.2 + 136.17793,34.2320233333333,267.3 + 136.177913333333,34.23207,266.5 + 136.177728333333,34.2317833333333,280.9 + 136.177451666667,34.23164,285.1 + 136.177518333333,34.2314316666667,290.9 + 136.177381666667,34.2312283333333,293.1 + 136.17745,34.23091,296.9 + 136.177383333333,34.230765,300.3 + 136.177478333333,34.2306366666667,304.0 + 136.17729,34.2306116666667,305.9 + 136.177171666667,34.2306566666667,306.4 + 136.176986666667,34.2303233333333,310.3 + 136.176793333333,34.230255,312.0 + 136.176651666667,34.23004,311.9 + 136.176441666667,34.2300083333333,316.4 + 136.176298333333,34.2300716666667,318.9 + 136.176226666667,34.2300316666667,319.6 + 136.176241666667,34.22998,320.9 + 136.176158333333,34.229985,321.1 + 136.17584,34.2298783333333,324.7 + 136.175503333333,34.2294683333333,325.7 + 136.175321666667,34.229525,324.8 + 136.17516,34.22935,326.0 + 136.175005,34.2292966666667,326.8 + 136.175003333333,34.2291166666667,326.3 + 136.1751,34.2289733333333,326.0 + 136.174865,34.2288366666667,326.5 + 136.174965,34.228695,328.9 + 136.174778333333,34.2284716666667,328.8 + 136.174643333333,34.22828,327.1 + 136.174731666667,34.2281766666667,327.2 + 136.174771666667,34.22814,327.5 + 136.174818333333,34.2278583333333,329.7 + 136.174723333333,34.227805,331.2 + 136.174678333333,34.227565,334.4 + 136.17484,34.2268566666667,337.1 + 136.174656666667,34.2267983333333,333.8 + 136.174708333333,34.226625,329.1 + 136.17476,34.2265783333333,326.6 + 136.17471,34.2265,326.6 + 136.174681666667,34.2263983333333,327.2 + 136.174805,34.226395,329.9 + 136.174811666667,34.2263016666667,330.3 + 136.174748333333,34.2262766666667,330.7 + 136.174775,34.2261033333333,332.4 + 136.174713333333,34.2260633333333,332.5 + 136.174805,34.22592,331.6 + 136.174605,34.225875,331.0 + 136.174535,34.2257266666667,331.0 + 136.174666666667,34.2256116666667,330.5 + 136.174763333333,34.2253683333333,329.3 + 136.175015,34.225105,326.9 + 136.175393333333,34.2249566666667,330.6 + 136.17565,34.2247766666667,331.5 + 136.176018333333,34.224715,335.7 + 136.176176666667,34.22476,337.8 + 136.17647,34.224525,340.2 + 136.17697,34.2243216666667,345.1 + 136.177068333333,34.2241116666667,344.8 + 136.177188333333,34.2240633333333,345.4 + 136.177206666667,34.223785,346.1 + 136.17754,34.2235666666667,348.4 + 136.177868333333,34.22313,348.1 + 136.177901666667,34.222955,347.0 + 136.178213333333,34.2227033333333,345.6 + 136.178223333333,34.222545,344.5 + 136.178475,34.22241,346.4 + 136.178576666667,34.22216,346.7 + 136.178796666667,34.2220066666667,346.1 + 136.17883,34.2218066666667,339.7 + 136.179101666667,34.2215566666667,338.1 + 136.179093333333,34.2214933333333,337.9 + 136.179398333333,34.22133,338.0 + 136.179741666667,34.2209783333333,339.6 + 136.18002,34.22085,340.9 + 136.180073333333,34.2207216666667,341.4 + 136.18023,34.2207116666667,342.0 + 136.180301666667,34.2206033333333,341.4 + 136.180511666667,34.2207283333333,341.5 + 136.180398333333,34.2206783333333,348.0 + 136.18059,34.2206783333333,345.0 + 136.180506666667,34.2208316666667,345.3 + 136.180601666667,34.22075,345.1 + 136.180458333333,34.22073,354.2 + 136.18057,34.2206966666667,353.3 + 136.180351666667,34.2207116666667,340.8 + 136.180421666667,34.220695,339.0 + 136.180361666667,34.2204883333333,339.7 + 136.180425,34.220405,340.0 + 136.180401666667,34.2202266666667,339.1 + 136.18006,34.219825,337.8 + 136.179813333333,34.2197033333333,334.5 + 136.179445,34.2197433333333,332.0 + 136.179141666667,34.2196816666667,335.2 + 136.17863,34.2194133333333,342.0 + 136.178626666667,34.2192133333333,344.7 + 136.178575,34.2192316666667,345.3 + 136.17857,34.21917,346.7 + 136.17871,34.2188416666667,347.8 + 136.178608333333,34.2187866666667,348.7 + 136.178658333333,34.2186166666667,350.8 + 136.178556666667,34.218545,352.7 + 136.1787,34.2182883333333,353.2 + 136.178651666667,34.2179116666667,350.7 + 136.17875,34.21759,350.2 + 136.178713333333,34.217235,347.3 + 136.178611666667,34.2171566666667,347.3 + 136.178355,34.2171666666667,347.3 + 136.178276666667,34.216805,346.4 + 136.178188333333,34.2167766666667,348.6 + 136.178208333333,34.2166916666667,350.2 + 136.178105,34.2166433333333,352.4 + 136.178076666667,34.216545,353.7 + 136.177961666667,34.2165416666667,355.5 + 136.17772,34.2163683333333,365.2 + 136.177708333333,34.2162966666667,366.2 + 136.177431666667,34.216275,365.2 + 136.177198333333,34.216165,365.9 + 136.177103333333,34.2159916666667,361.5 + 136.176888333333,34.215885,370.5 + 136.17688,34.2155833333333,381.7 + 136.176936666667,34.21548,383.9 + 136.176866666667,34.2154783333333,384.3 + 136.176771666667,34.2153316666667,388.2 + 136.176658333333,34.215285,388.8 + 136.176726666667,34.2151883333333,387.0 + 136.176596666667,34.21523,383.7 + 136.176556666667,34.215195,377.4 + 136.176758333333,34.2149166666667,372.5 + 136.176791666667,34.2146266666667,375.9 + 136.176678333333,34.214525,375.5 + 136.176556666667,34.2145483333333,371.1 + 136.176506666667,34.2143933333333,370.4 + 136.1766,34.21431,370.1 + 136.176596666667,34.2143733333333,371.0 + 136.176813333333,34.2143983333333,372.9 + 136.176856666667,34.214325,376.6 + 136.177031666667,34.214295,381.2 + 136.177428333333,34.2139166666667,381.2 + 136.177695,34.2132716666667,381.1 + 136.177648333333,34.2131733333333,381.5 + 136.176831666667,34.213305,375.8 + 136.176376666667,34.2135,372.0 + 136.176313333333,34.2133466666667,365.8 + 136.176746666667,34.212865,358.9 + 136.176688333333,34.2128983333333,359.0 + 136.176553333333,34.2127616666667,359.5 + 136.17612,34.21289,357.5 + 136.17589,34.2128683333333,356.0 + 136.17577,34.2129383333333,355.7 + 136.175763333333,34.2125216666667,354.4 + 136.175675,34.2124566666667,353.7 + 136.175711666667,34.21239,353.8 + 136.175605,34.21182,357.3 + 136.175353333333,34.21201,361.0 + 136.17517,34.2122733333333,366.0 + 136.175146666667,34.2122283333333,367.1 + 136.17463,34.2126766666667,379.0 + 136.174446666667,34.21283,379.4 + 136.174453333333,34.2129166666667,383.2 + 136.174523333333,34.21289,391.9 + 136.174495,34.2129383333333,394.0 + 136.17445,34.212885,396.0 + 136.174365,34.2129183333333,395.9 + 136.174441666667,34.2128983333333,396.0 + 136.174348333333,34.2126783333333,399.9 + 136.174015,34.2131033333333,403.7 + 136.173783333333,34.2131566666667,403.6 + 136.173666666667,34.2131466666667,403.8 + 136.17365,34.213225,403.6 + 136.173671666667,34.2132616666667,403.5 + 136.173701666667,34.21337,403.4 + 136.173503333333,34.2135183333333,403.2 + 136.173636666667,34.2134783333333,403.6 + 136.17363,34.2134266666667,404.0 + 136.173808333333,34.2135216666667,404.6 + 136.173933333333,34.2134966666667,405.2 + 136.173828333333,34.2134533333333,405.4 + 136.172628333333,34.21345,396.8 + 136.172691666667,34.2132366666667,397.3 + 136.173036666667,34.2128866666667,405.7 + 136.173021666667,34.212795,409.0 + 136.17337,34.2130733333333,410.3 + 136.17356,34.2133316666667,409.9 + 136.17374,34.2133533333333,406.4 + 136.173718333333,34.2134366666667,407.0 + 136.173593333333,34.2133433333333,409.4 + 136.173381666667,34.2135016666667,407.8 + 136.173203333333,34.2134466666667,407.2 + 136.173245,34.213415,406.2 + 136.173168333333,34.2134366666667,404.4 + 136.173156666667,34.2133166666667,399.0 + 136.172995,34.2132833333333,398.4 + 136.172873333333,34.2135133333333,392.3 + 136.172591666667,34.21368,388.4 + 136.172626666667,34.2134466666667,383.2 + 136.17228,34.2133116666667,388.2 + 136.172091666667,34.2133616666667,390.1 + 136.17225,34.2134016666667,391.5 + 136.172348333333,34.2130533333333,391.8 + 136.172518333333,34.2128466666667,392.2 + 136.172403333333,34.213075,385.1 + 136.171938333333,34.2134883333333,383.7 + 136.171853333333,34.2135216666667,383.4 + 136.171866666667,34.2134583333333,383.4 + 136.171653333333,34.213385,384.5 + 136.171541666667,34.2132666666667,384.9 + 136.171398333333,34.21331,386.1 + 136.171375,34.213415,387.3 + 136.171631666667,34.21311,389.4 + 136.171573333333,34.2131616666667,389.6 + 136.171475,34.2130883333333,391.9 + 136.171276666667,34.2133583333333,395.3 + 136.171058333333,34.213485,396.8 + 136.17135,34.2129066666667,401.1 + 136.171545,34.2126683333333,403.8 + 136.171475,34.2126966666667,404.6 + 136.171418333333,34.2126066666667,405.5 + 136.171261666667,34.21283,410.0 + 136.171345,34.2127933333333,411.3 + 136.171213333333,34.2130666666667,415.1 + 136.170686666667,34.2136133333333,423.0 + 136.17054,34.213655,422.9 + 136.170446666667,34.2135966666667,422.9 + 136.170465,34.2135133333333,426.2 + 136.170165,34.2134616666667,426.6 + 136.170165,34.2134,426.7 + 136.169908333333,34.2134066666667,425.0 + 136.169848333333,34.2134266666667,422.4 + 136.169891666667,34.2134516666667,412.4 + 136.16988,34.21331,401.1 + 136.169606666667,34.21345,400.5 + 136.169386666667,34.2136816666667,401.1 + 136.169643333333,34.2136016666667,400.5 + 136.169706666667,34.2136383333333,400.7 + 136.16963,34.2134916666667,400.2 + 136.170121666667,34.21316,398.2 + 136.169938333333,34.2131683333333,395.2 + 136.170428333333,34.2126666666667,393.0 + 136.170343333333,34.21265,393.0 + 136.170126666667,34.21274,390.5 + 136.170086666667,34.2128333333333,389.3 + 136.170021666667,34.2128033333333,388.7 + 136.17006,34.2127616666667,388.1 + 136.170048333333,34.2128483333333,387.4 + 136.169338333333,34.21344,388.7 + 136.169098333333,34.2134733333333,389.0 + 136.169156666667,34.2134183333333,389.3 + 136.168986666667,34.2135433333333,389.9 + 136.168858333333,34.213545,390.5 + 136.168925,34.2133016666667,386.7 + 136.168551666667,34.2133866666667,385.1 + 136.16859,34.213225,380.4 + 136.168655,34.2132416666667,382.8 + 136.168691666667,34.2133716666667,386.1 + 136.168305,34.21362,389.5 + 136.168161666667,34.2135933333333,390.8 + 136.168096666667,34.2136766666667,392.7 + 136.168155,34.2138,393.6 + 136.1683,34.213725,393.6 + 136.168241666667,34.213675,393.1 + 136.16792,34.2139266666667,394.6 + 136.167768333333,34.213885,395.8 + 136.16756,34.2139716666667,397.6 + 136.167385,34.2137966666667,397.1 + 136.16727,34.2138666666667,397.3 + 136.166958333333,34.2138583333333,399.7 + 136.166708333333,34.2139233333333,399.6 + 136.166786666667,34.213895,399.6 + 136.166845,34.213765,400.0 + 136.166621666667,34.2138,400.3 + 136.166618333333,34.2137183333333,400.1 + 136.166435,34.2137716666667,400.3 + 136.16624,34.2137033333333,401.0 + 136.166378333333,34.2134916666667,405.3 + 136.166451666667,34.21354,406.5 + 136.166715,34.2133166666667,406.8 + 136.16626,34.2136216666667,406.4 + 136.165836666667,34.21363,409.2 + 136.165905,34.213635,409.4 + 136.165908333333,34.2137066666667,408.9 + 136.165823333333,34.2137366666667,409.4 + 136.165846666667,34.2138583333333,411.0 + 136.165758333333,34.2138816666667,411.2 + 136.16567,34.2139266666667,412.0 + 136.165795,34.21392,411.0 + 136.165638333333,34.2139516666667,411.4 + 136.165638333333,34.2140033333333,412.6 + 136.16565,34.2139616666667,413.4 + 136.165488333333,34.2140166666667,412.6 + 136.165475,34.2140583333333,412.1 + 136.165601666667,34.2140183333333,411.6 + 136.16551,34.2140816666667,411.6 + 136.165453333333,34.2140366666667,410.7 + 136.165135,34.21404,410.5 + 136.164473333333,34.214295,410.2 + 136.164745,34.2141833333333,409.8 + 136.164593333333,34.2142216666667,409.8 + 136.164645,34.2142433333333,409.7 + 136.16462,34.2141666666667,409.7 + 136.164673333333,34.2141083333333,409.6 + 136.16475,34.2140816666667,409.6 + 136.16482,34.2140733333333,409.6 + 136.164905,34.2139766666667,409.6 + 136.165281666667,34.213805,409.4 + 136.165485,34.2136916666667,409.4 + 136.165496666667,34.21359,409.5 + 136.165313333333,34.2134933333333,408.8 + 136.165378333333,34.2133883333333,408.1 + 136.165256666667,34.21335,407.5 + 136.165708333333,34.21299,407.1 + 136.165913333333,34.2129183333333,407.6 + 136.16502,34.213355,413.1 + 136.165021666667,34.2132816666667,413.4 + 136.164915,34.2132633333333,413.6 + 136.16496,34.2131516666667,414.5 + 136.164905,34.213125,414.0 + 136.164858333333,34.2131333333333,414.0 + 136.165003333333,34.213005,414.2 + 136.164908333333,34.2131083333333,414.7 + 136.165068333333,34.2131183333333,414.7 + 136.165316666667,34.2128866666667,416.5 + 136.164881666667,34.2133166666667,418.5 + 136.165013333333,34.2132016666667,417.9 + 136.165161666667,34.2131766666667,418.9 + 136.165038333333,34.2132383333333,420.3 + 136.164831666667,34.2135833333333,422.1 + 136.164876666667,34.2136166666667,422.7 + 136.164673333333,34.2136283333333,426.0 + 136.164728333333,34.2135833333333,426.2 + 136.164646666667,34.213435,426.0 + 136.164871666667,34.2130966666667,421.3 + 136.164831666667,34.2130633333333,421.3 + 136.16492,34.2130033333333,421.5 + 136.164841666667,34.21302,422.4 + 136.164873333333,34.2129616666667,422.1 + 136.165038333333,34.21281,417.2 + 136.164946666667,34.2127416666667,416.1 + 136.164793333333,34.2128183333333,416.7 + 136.164733333333,34.212775,416.7 + 136.164608333333,34.2128316666667,417.4 + 136.164556666667,34.2127833333333,417.5 + 136.164728333333,34.2126633333333,418.6 + 136.164901666667,34.21233,423.8 + 136.164328333333,34.212435,426.8 + 136.164671666667,34.2122266666667,427.9 + 136.164831666667,34.21227,427.9 + 136.164523333333,34.2123383333333,429.1 + 136.164645,34.2122116666667,429.0 + 136.164551666667,34.2122533333333,429.3 + 136.164438333333,34.2121716666667,429.9 + 136.164511666667,34.212065,429.8 + 136.164161666667,34.2121983333333,429.2 + 136.164088333333,34.2121716666667,429.2 + 136.164066666667,34.21212,430.0 + 136.164115,34.212125,431.5 + 136.164075,34.2122983333333,431.2 + 136.164083333333,34.2123633333333,430.8 + 136.164138333333,34.2122383333333,430.3 + 136.164008333333,34.2122966666667,430.3 + 136.163903333333,34.2124466666667,430.8 + 136.164043333333,34.2123633333333,430.9 + 136.164105,34.212385,430.3 + 136.163978333333,34.21225,430.2 + 136.163981666667,34.2121583333333,431.0 + 136.164018333333,34.2122216666667,431.7 + 136.164081666667,34.2121966666667,433.4 + 136.164033333333,34.21225,434.8 + 136.163393333333,34.2126133333333,435.2 + 136.163171666667,34.2126633333333,434.9 + 136.163085,34.2126866666667,435.1 + 136.163046666667,34.212665,435.5 + 136.162951666667,34.2126983333333,434.7 + 136.163148333333,34.2128433333333,433.5 + 136.163091666667,34.21288,433.2 + 136.163231666667,34.21283,433.0 + 136.16307,34.2128283333333,431.4 + 136.162903333333,34.21291,432.2 + 136.162888333333,34.2128683333333,432.7 + 136.163385,34.2126383333333,434.3 + 136.163311666667,34.2125483333333,435.1 + 136.163365,34.2124883333333,437.1 + 136.163291666667,34.2123233333333,438.4 + 136.1632,34.2122666666667,439.1 + 136.163648333333,34.21198,439.5 + 136.163348333333,34.212065,439.2 + 136.163208333333,34.211995,438.9 + 136.163053333333,34.21203,438.7 + 136.163106666667,34.21213,438.7 + 136.162998333333,34.21213,438.8 + 136.162785,34.212275,438.4 + 136.162738333333,34.2121716666667,438.2 + 136.162808333333,34.2119066666667,438.3 + 136.163116666667,34.211725,438.0 + 136.16299,34.211555,437.9 + 136.162901666667,34.2115316666667,437.9 + 136.162946666667,34.211365,437.9 + 136.162818333333,34.2114616666667,437.9 + 136.16293,34.2112716666667,438.0 + 136.163118333333,34.2113816666667,438.1 + 136.162966666667,34.2116383333333,443.8 + 136.162761666667,34.21181,450.6 + 136.162721666667,34.2118483333333,452.0 + 136.16261,34.2119,454.0 + 136.16254,34.2120716666667,458.8 + 136.16245,34.212125,460.0 + 136.162283333333,34.21211,460.5 + 136.162161666667,34.2121383333333,461.0 + 136.161865,34.2127316666667,470.9 + 136.161566666667,34.2126466666667,475.6 + 136.16166,34.2127683333333,479.0 + 136.161605,34.2127516666667,480.5 + 136.161438333333,34.21254,487.5 + 136.161473333333,34.2126216666667,488.0 + 136.161613333333,34.2126716666667,490.1 + 136.161541666667,34.21267,491.5 + 136.161398333333,34.2125516666667,493.9 + 136.161468333333,34.2125733333333,494.9 + 136.161568333333,34.212625,495.0 + 136.161503333333,34.2126583333333,495.1 + 136.16154,34.2126233333333,496.1 + 136.161483333333,34.212585,496.6 + 136.16154,34.212555,497.7 + 136.161413333333,34.2124733333333,498.6 + 136.161411666667,34.212425,499.7 + 136.161526666667,34.21243,502.9 + 136.16148,34.2124016666667,503.3 + 136.160966666667,34.2122483333333,511.3 + 136.160253333333,34.2125116666667,487.0 + 136.159936666667,34.2125066666667,488.4 + 136.15986,34.2126083333333,488.9 + 136.159826666667,34.2125366666667,491.3 + 136.15981,34.2126883333333,501.6 + 136.15977,34.2125916666667,508.0 + 136.159761666667,34.2126566666667,510.4 + 136.159813333333,34.212485,510.8 + 136.159765,34.21194,500.5 + 136.159823333333,34.2118133333333,490.6 + 136.15986,34.2118633333333,487.9 + 136.1599,34.2118233333333,480.9 + 136.159676666667,34.2117466666667,478.9 + 136.159496666667,34.2117816666667,479.2 + 136.15924,34.2117283333333,477.6 + 136.159228333333,34.2118516666667,475.8 + 136.15916,34.2118416666667,475.5 + 136.159265,34.2119933333333,474.9 + 136.158788333333,34.2118316666667,469.6 + 136.158546666667,34.2119433333333,467.8 + 136.158496666667,34.21204,468.1 + 136.158261666667,34.212045,467.8 + 136.158191666667,34.2120966666667,466.7 + 136.158006666667,34.212395,466.5 + 136.158123333333,34.2125216666667,468.7 + 136.157988333333,34.2126633333333,469.3 + 136.158051666667,34.212865,470.1 + 136.158148333333,34.2129216666667,470.5 + 136.158115,34.2129666666667,470.9 + 136.15807,34.2130416666667,471.4 + 136.158353333333,34.21309,477.2 + 136.158365,34.213155,478.1 + 136.158083333333,34.2130783333333,478.9 + 136.158141666667,34.2130666666667,479.2 + 136.158131666667,34.213155,479.6 + 136.158305,34.213365,480.6 + 136.158515,34.213485,485.4 + 136.158028333333,34.2136216666667,487.4 + 136.157945,34.21369,487.1 + 136.158018333333,34.2137283333333,479.1 + 136.157801666667,34.2137083333333,474.8 + 136.157833333333,34.2139366666667,476.6 + 136.15797,34.2140633333333,479.3 + 136.157936666667,34.214115,482.0 + 136.15804,34.214045,488.8 + 136.157946666667,34.21399,488.4 + 136.158013333333,34.2140283333333,486.6 + 136.157941666667,34.2140583333333,484.8 + 136.157985,34.214075,484.0 + 136.157916666667,34.2140416666667,483.9 + 136.158,34.2141366666667,484.7 + 136.157973333333,34.214075,485.2 + 136.157441666667,34.2142516666667,488.4 + 136.157256666667,34.2141316666667,489.9 + 136.157063333333,34.21415,491.6 + 136.156911666667,34.2142383333333,492.4 + 136.156573333333,34.2143033333333,492.6 + 136.15649,34.2144366666667,492.6 + 136.156318333333,34.2144766666667,493.5 + 136.156233333333,34.2145983333333,493.2 + 136.155843333333,34.214705,491.7 + 136.155758333333,34.2147883333333,491.7 + 136.155406666667,34.2147416666667,491.2 + 136.15499,34.2145266666667,491.7 + 136.154661666667,34.21449,492.6 + 136.154525,34.2145416666667,492.5 + 136.154258333333,34.2144683333333,493.1 + 136.15421,34.2145366666667,493.2 + 136.153995,34.21455,492.4 + 136.153878333333,34.214635,491.7 + 136.153666666667,34.214665,489.7 + 136.153475,34.214595,485.8 + 136.153345,34.214635,485.5 + 136.152755,34.214335,484.3 + 136.152501666667,34.214405,484.1 + 136.152425,34.2144683333333,484.2 + 136.152445,34.2145333333333,484.2 + 136.152385,34.2144583333333,484.9 + 136.152485,34.2140283333333,483.3 + 136.152693333333,34.2141883333333,483.1 + 136.152681666667,34.2142533333333,483.0 + 136.152741666667,34.2142466666667,483.1 + 136.152651666667,34.21422,483.2 + 136.15245,34.2146083333333,483.5 + 136.15256,34.214205,483.8 + 136.153145,34.2145483333333,484.1 + 136.153,34.2145583333333,484.1 + 136.152948333333,34.2145033333333,484.1 + 136.153141666667,34.2144816666667,484.4 + 136.153148333333,34.2144383333333,484.6 + 136.152568333333,34.2142233333333,485.2 + 136.152475,34.21404,486.4 + 136.152575,34.213995,486.3 + 136.152521666667,34.21397,486.2 + 136.152505,34.2141366666667,485.8 + 136.152573333333,34.2141166666667,485.1 + 136.152435,34.2139483333333,484.5 + 136.15255,34.2139616666667,483.6 + 136.152638333333,34.2137816666667,484.2 + 136.153251666667,34.2132266666667,485.8 + 136.153068333333,34.2134766666667,485.8 + 136.152275,34.215095,486.1 + 136.151476666667,34.21637,486.1 + 136.149825,34.21843,485.8 + 136.14953,34.218895,485.9 + 136.149145,34.2192666666667,485.7 + 136.14893,34.2193416666667,485.3 + 136.149136666667,34.2191066666667,485.3 + 136.152035,34.2137616666667,468.0 + 136.15224,34.213855,467.5 + 136.152523333333,34.2137133333333,467.2 + 136.152528333333,34.2135433333333,466.9 + 136.152463333333,34.213625,466.4 + 136.152448333333,34.2138116666667,466.5 + 136.15096,34.2169733333333,476.4 + 136.150748333333,34.2171866666667,477.6 + 136.150448333333,34.217175,478.3 + 136.150408333333,34.216855,478.5 + 136.150958333333,34.2159566666667,470.2 + 136.152506666667,34.21389,458.4 + 136.152621666667,34.2137766666667,459.7 + 136.152493333333,34.2139983333333,461.3 + 136.152558333333,34.2140433333333,461.8 + 136.15263,34.2139716666667,462.2 + 136.152378333333,34.2142633333333,463.5 + 136.151955,34.2142633333333,459.8 + 136.151841666667,34.214145,458.4 + 136.151908333333,34.2139883333333,455.1 + 136.151661666667,34.21405,456.4 + 136.151493333333,34.2141833333333,459.2 + 136.151456666667,34.2141416666667,459.7 + 136.151496666667,34.214165,460.1 + 136.151531666667,34.2140716666667,461.2 + 136.151395,34.21404,460.9 + 136.151323333333,34.21389,459.0 + 136.151418333333,34.213595,457.7 + 136.151288333333,34.2136216666667,456.6 + 136.151101666667,34.2135633333333,453.0 + 136.150956666667,34.2133166666667,450.2 + 136.151005,34.21326,448.9 + 136.151086666667,34.2132366666667,448.3 + 136.150971666667,34.2131683333333,447.4 + 136.15087,34.2129866666667,445.9 + 136.150918333333,34.2127183333333,439.6 + 136.150776666667,34.2124166666667,434.7 + 136.150466666667,34.2124116666667,441.5 + 136.150473333333,34.21246,444.1 + 136.150558333333,34.2124283333333,448.7 + 136.150396666667,34.2123533333333,453.1 + 136.150365,34.212275,453.5 + 136.150496666667,34.2120733333333,454.3 + 136.150351666667,34.2120466666667,456.8 + 136.150226666667,34.2118666666667,460.5 + 136.149965,34.2118283333333,465.6 + 136.149981666667,34.21177,467.0 + 136.150095,34.21185,470.3 + 136.1502,34.2120716666667,470.4 + 136.150166666667,34.2122716666667,477.3 + 136.150181666667,34.212235,477.5 + 136.150271666667,34.2122866666667,477.1 + 136.150336666667,34.2120416666667,478.2 + 136.150723333333,34.21187,480.7 + 136.150758333333,34.211675,480.8 + 136.151093333333,34.2111333333333,478.4 + 136.151055,34.21109,479.7 + 136.150891666667,34.2111633333333,480.2 + 136.150768333333,34.2111216666667,480.4 + 136.1507,34.21099,480.3 + 136.150405,34.210965,479.9 + 136.15045,34.2108866666667,480.7 + 136.150556666667,34.2108883333333,481.8 + 136.150523333333,34.21062,487.3 + 136.150651666667,34.2106066666667,489.3 + 136.150663333333,34.2105166666667,490.3 + 136.150758333333,34.210515,491.6 + 136.150683333333,34.210375,492.0 + 136.15074,34.2103283333333,492.7 + 136.150673333333,34.2102883333333,495.5 + 136.150716666667,34.2102966666667,495.8 + 136.15074,34.2102633333333,495.9 + 136.150693333333,34.210265,496.0 + 136.150666666667,34.21031,497.4 + 136.15074,34.2103483333333,497.7 + 136.150736666667,34.210285,498.0 + 136.150811666667,34.2103833333333,500.5 + 136.150791666667,34.2103116666667,501.2 + 136.150863333333,34.210435,501.8 + 136.15077,34.2103033333333,505.7 + 136.150781666667,34.2103416666667,507.7 + 136.150848333333,34.2104066666667,509.4 + 136.150771666667,34.21032,510.8 + 136.150868333333,34.21033,511.2 + 136.150918333333,34.2102633333333,511.4 + 136.150735,34.2102616666667,512.7 + 136.150643333333,34.2101733333333,513.7 + 136.150731666667,34.2103266666667,514.6 + 136.150681666667,34.21054,515.5 + 136.150818333333,34.2105233333333,515.8 + 136.150838333333,34.2104533333333,516.1 + 136.15074,34.2104366666667,517.5 + 136.150896666667,34.2103933333333,519.0 + 136.150766666667,34.2104233333333,521.1 + 136.150808333333,34.2103616666667,521.7 + 136.150843333333,34.2105583333333,522.2 + 136.1507,34.2104033333333,523.9 + 136.15076,34.2104633333333,524.7 + 136.150748333333,34.2102816666667,526.1 + 136.150915,34.2102466666667,526.9 + 136.150646666667,34.2103333333333,534.9 + 136.15069,34.2101066666667,541.3 + 136.15054,34.2100433333333,548.9 + 136.150645,34.2100316666667,553.1 + 136.150913333333,34.20983,559.8 + 136.15084,34.20944,566.7 + 136.150703333333,34.20922,569.5 + 136.150451666667,34.2092183333333,572.4 + 136.150435,34.2090333333333,575.6 + 136.150328333333,34.2089933333333,576.8 + 136.150241666667,34.2088116666667,578.7 + 136.150253333333,34.20888,579.1 + 136.15033,34.2088966666667,580.2 + 136.150568333333,34.2087616666667,586.1 + 136.150625,34.2088366666667,587.8 + 136.150731666667,34.2087433333333,590.4 + 136.151038333333,34.2092833333333,596.0 + 136.151298333333,34.2095266666667,602.2 + 136.151648333333,34.2100633333333,614.5 + 136.151743333333,34.2105683333333,621.9 + 136.15219,34.2113683333333,637.8 + 136.152125,34.2108916666667,646.0 + 136.151981666667,34.2104933333333,650.0 + 136.151751666667,34.2101233333333,651.2 + 136.151521666667,34.209315,643.4 + 136.15137,34.20913,640.8 + 136.151385,34.2086316666667,653.0 + 136.1516,34.2083716666667,656.9 + 136.151706666667,34.2083933333333,658.9 + 136.151586666667,34.20842,659.7 + 136.15134,34.208345,660.2 + 136.15151,34.20849,660.5 + 136.151441666667,34.208455,659.4 + 136.151066666667,34.2080766666667,664.2 + 136.150825,34.2080183333333,669.6 + 136.150791666667,34.20796,671.0 + 136.150598333333,34.2079466666667,672.6 + 136.150481666667,34.208005,673.7 + 136.150331666667,34.2077016666667,690.7 + 136.15025,34.2077166666667,698.8 + 136.150038333333,34.2078316666667,701.8 + 136.150098333333,34.2078116666667,703.7 + 136.15,34.2078216666667,704.4 + 136.149793333333,34.2077,709.4 + 136.149635,34.207685,708.8 + 136.149068333333,34.2071266666667,699.4 + 136.148806666667,34.2066683333333,694.0 + 136.148871666667,34.2064733333333,691.5 + 136.149445,34.206155,695.1 + 136.149413333333,34.20607,697.4 + 136.149258333333,34.206055,699.4 + 136.149331666667,34.206105,699.6 + 136.149161666667,34.206085,701.6 + 136.148926666667,34.2062383333333,709.1 + 136.148881666667,34.20609,709.5 + 136.148958333333,34.2060366666667,710.8 + 136.14886,34.2060483333333,712.4 + 136.148773333333,34.2059666666667,712.4 + 136.148718333333,34.2057183333333,712.1 + 136.148831666667,34.2057133333333,712.8 + 136.148938333333,34.2056016666667,710.5 + 136.148885,34.2055833333333,709.7 + 136.148978333333,34.20567,714.5 + 136.149011666667,34.2056,718.3 + 136.149213333333,34.20561,721.2 + 136.149316666667,34.20548,727.9 + 136.149426666667,34.2055166666667,736.1 + 136.149451666667,34.2053583333333,737.6 + 136.149558333333,34.2054116666667,736.5 + 136.149543333333,34.2052883333333,738.2 + 136.149626666667,34.2052683333333,739.8 + 136.14938,34.205065,746.1 + 136.149131666667,34.2049633333333,750.0 + 136.149185,34.2048733333333,754.6 + 136.149046666667,34.204485,767.4 + 136.149725,34.20451,743.7 + 136.149765,34.2044466666667,738.5 + 136.149728333333,34.2042316666667,734.8 + 136.149553333333,34.2041016666667,735.3 + 136.149335,34.2040433333333,735.8 + 136.149058333333,34.2037083333333,736.8 + 136.149206666667,34.20377,736.4 + 136.149196666667,34.203905,736.0 + 136.149153333333,34.2037766666667,736.1 + 136.149396666667,34.2038416666667,737.0 + 136.149543333333,34.20381,737.8 + 136.149538333333,34.2037116666667,738.5 + 136.149451666667,34.20367,738.8 + 136.1498,34.2039166666667,740.9 + 136.149803333333,34.203825,741.9 + 136.149638333333,34.2037683333333,741.5 + 136.149563333333,34.2037616666667,741.2 + 136.14952,34.2037666666667,740.9 + 136.149473333333,34.2037283333333,740.5 + 136.149413333333,34.2036366666667,740.7 + 136.149306666667,34.20365,741.6 + 136.149606666667,34.2027766666667,751.2 + 136.149723333333,34.2027233333333,753.8 + 136.149835,34.2024683333333,754.2 + 136.149838333333,34.202615,754.7 + 136.149731666667,34.2026533333333,759.3 + 136.149751666667,34.2026166666667,759.7 + 136.149603333333,34.2028516666667,764.3 + 136.14968,34.20275,767.0 + 136.149695,34.2023466666667,769.8 + 136.149593333333,34.201945,767.3 + 136.149556666667,34.202605,776.8 + 136.149648333333,34.202735,783.4 + 136.149686666667,34.2025666666667,784.9 + 136.149631666667,34.2024683333333,785.5 + 136.149606666667,34.2025216666667,785.8 + 136.149535,34.20314,780.0 + 136.149633333333,34.2032616666667,779.5 + 136.149751666667,34.2031716666667,782.6 + 136.149975,34.203295,783.7 + 136.149871666667,34.203485,786.4 + 136.149905,34.2035866666667,787.0 + 136.149816666667,34.203555,787.7 + 136.149711666667,34.2034933333333,788.9 + 136.14976,34.20347,788.8 + 136.150171666667,34.2035233333333,785.2 + 136.149973333333,34.2035033333333,786.8 + 136.149895,34.203575,787.1 + 136.149981666667,34.20337,788.5 + 136.150046666667,34.2033833333333,788.4 + 136.149951666667,34.2033466666667,790.0 + 136.150045,34.2033533333333,791.6 + 136.149943333333,34.2032766666667,792.9 + 136.150045,34.20335,795.7 + 136.149896666667,34.2032133333333,798.5 + 136.15,34.2032366666667,798.6 + 136.149976666667,34.2033716666667,800.2 + 136.150078333333,34.2033166666667,802.9 + 136.150186666667,34.20343,803.1 + 136.149935,34.2033116666667,808.6 + 136.149903333333,34.2033933333333,811.0 + 136.150118333333,34.2034116666667,812.1 + 136.150045,34.20336,811.2 + 136.150088333333,34.2034683333333,811.0 + 136.150033333333,34.2035283333333,811.0 + 136.14986,34.2034266666667,814.4 + 136.149861666667,34.2033466666667,814.7 + 136.149815,34.2034083333333,816.2 + 136.149985,34.203475,816.5 + 136.150065,34.2034416666667,816.7 + 136.149895,34.2032733333333,818.3 + 136.14997,34.2033383333333,819.9 + 136.149935,34.2031966666667,820.5 + 136.150023333333,34.2033483333333,821.3 + 136.149945,34.203345,821.9 + 136.149986666667,34.203425,823.4 + 136.150118333333,34.203505,824.0 + 136.150143333333,34.20344,824.9 + 136.150128333333,34.2033583333333,828.1 + 136.150096666667,34.203475,829.3 + 136.14998,34.2034483333333,830.3 + 136.149975,34.203485,830.6 + 136.150026666667,34.2034483333333,832.3 + 136.149975,34.2033016666667,834.4 + 136.14988,34.203705,835.2 + 136.149955,34.20364,836.1 + 136.150011666667,34.2036766666667,836.8 + 136.150153333333,34.2039716666667,841.6 + 136.150128333333,34.2043516666667,843.8 + 136.150036666667,34.2045133333333,844.5 + 136.149931666667,34.204415,837.7 + 136.14982,34.2045466666667,833.0 + 136.149866666667,34.2048633333333,809.8 + 136.149925,34.2048483333333,814.0 + 136.149843333333,34.20516,801.0 + 136.149946666667,34.20524,799.5 + 136.149948333333,34.2053766666667,797.2 + 136.150098333333,34.2054916666667,798.1 + 136.149943333333,34.20551,798.6 + 136.149751666667,34.2054266666667,798.4 + 136.149666666667,34.20547,797.2 + 136.149606666667,34.20587,794.4 + 136.149705,34.2059933333333,793.2 + 136.149701666667,34.2062933333333,794.2 + 136.149521666667,34.20626,796.0 + 136.149523333333,34.2062083333333,795.9 + 136.149601666667,34.2062166666667,794.2 + 136.149488333333,34.20614,793.5 + 136.149278333333,34.2063716666667,790.8 + 136.149068333333,34.2064883333333,790.2 + 136.14903,34.2067816666667,785.5 + 136.148923333333,34.206995,782.7 + 136.149006666667,34.2069866666667,781.7 + 136.14905,34.2070433333333,781.3 + 136.14923,34.207015,781.2 + 136.149218333333,34.2071116666667,781.4 + 136.1494,34.2073516666667,781.4 + 136.149668333333,34.2073366666667,781.8 + 136.14979,34.2073866666667,781.4 + 136.149886666667,34.207525,779.2 + 136.150148333333,34.207565,776.6 + 136.150325,34.2077883333333,773.1 + 136.150438333333,34.2077816666667,771.8 + 136.15051,34.2078433333333,768.5 + 136.150918333333,34.2083216666667,744.2 + 136.151148333333,34.2082316666667,735.0 + 136.151348333333,34.20805,731.2 + 136.15162,34.208075,732.6 + 136.151428333333,34.2081516666667,731.4 + 136.151293333333,34.2083216666667,729.4 + 136.151293333333,34.208505,721.6 + 136.151636666667,34.2088883333333,713.4 + 136.151741666667,34.2088783333333,712.0 + 136.151635,34.2089666666667,711.4 + 136.151711666667,34.2091083333333,711.1 + 136.151526666667,34.2091466666667,711.3 + 136.151438333333,34.20928,708.1 + 136.15132,34.2095516666667,706.1 + 136.151301666667,34.2098183333333,705.1 + 136.151231666667,34.2098666666667,704.4 + 136.151106666667,34.20973,702.9 + 136.15131,34.20996,695.4 + 136.151385,34.2102366666667,693.7 + 136.151473333333,34.2099766666667,686.6 + 136.151251666667,34.2096833333333,673.4 + 136.151163333333,34.2096283333333,666.2 + 136.15066,34.2097766666667,654.6 + 136.15074,34.209965,653.9 + 136.15083,34.2098916666667,653.9 + 136.150816666667,34.2099733333333,654.9 + 136.150856666667,34.2099033333333,654.6 + 136.150783333333,34.2096916666667,655.9 + 136.150886666667,34.2096783333333,655.7 + 136.150903333333,34.2097316666667,655.3 + 136.15102,34.2096583333333,655.0 + 136.15116,34.2096583333333,655.3 + 136.151278333333,34.2097716666667,655.5 + 136.151261666667,34.2098716666667,654.8 + 136.151618333333,34.2099033333333,650.4 + 136.151528333333,34.209645,643.1 + 136.151426666667,34.20963,641.1 + 136.151136666667,34.2097533333333,641.1 + 136.151075,34.2098983333333,641.1 + 136.150641666667,34.2101066666667,641.5 + 136.150578333333,34.2101716666667,641.3 + 136.15067,34.2101916666667,640.0 + 136.150771666667,34.210345,639.2 + 136.150641666667,34.2104466666667,639.0 + 136.150608333333,34.2106233333333,637.2 + 136.150833333333,34.2111283333333,636.9 + 136.150613333333,34.2109983333333,637.2 + 136.150675,34.2110033333333,637.3 + 136.150543333333,34.2110783333333,637.6 + 136.150591666667,34.2111383333333,637.7 + 136.150481666667,34.2113483333333,638.0 + 136.150666666667,34.21139,637.9 + 136.150838333333,34.2113216666667,637.4 + 136.150733333333,34.2116166666667,634.8 + 136.150585,34.2117316666667,631.9 + 136.150648333333,34.2119916666667,627.9 + 136.150546666667,34.2121466666667,622.9 + 136.150605,34.2122016666667,620.8 + 136.150428333333,34.2122866666667,621.0 + 136.150456666667,34.2121916666667,620.6 + 136.15076,34.2124383333333,620.5 + 136.150968333333,34.2124216666667,622.2 + 136.150895,34.2121283333333,624.9 + 136.150613333333,34.2119966666667,624.9 + 136.150576666667,34.2120833333333,624.5 + 136.150635,34.2121616666667,625.1 + 136.150568333333,34.212155,625.3 + 136.150598333333,34.2122433333333,625.1 + 136.150443333333,34.2125783333333,620.0 + 136.150498333333,34.2126666666667,619.3 + 136.150638333333,34.2127016666667,619.1 + 136.150585,34.21293,617.7 + 136.150655,34.2130716666667,616.5 + 136.150848333333,34.2132316666667,614.7 + 136.151061666667,34.21327,613.6 + 136.151165,34.213235,612.1 + 136.151203333333,34.213285,611.2 + 136.151285,34.213305,611.5 + 136.151293333333,34.2132616666667,611.4 + 136.151418333333,34.2135033333333,607.8 + 136.151348333333,34.2136233333333,606.0 + 136.151388333333,34.2137933333333,603.7 + 136.151323333333,34.2138033333333,602.7 + 136.151356666667,34.2140716666667,601.6 + 136.151538333333,34.2143016666667,600.9 + 136.151618333333,34.2142983333333,601.6 + 136.151661666667,34.214445,597.4 + 136.151888333333,34.2144716666667,592.3 + 136.15212,34.21463,588.9 + 136.152181666667,34.214555,588.7 + 136.152256666667,34.2146416666667,594.3 + 136.152235,34.2145933333333,594.3 + 136.152163333333,34.2146883333333,601.4 + 136.152273333333,34.2146183333333,602.1 + 136.15217,34.21491,604.2 + 136.152256666667,34.214895,605.2 + 136.152218333333,34.21495,605.2 + 136.15224,34.2147716666667,606.3 + 136.152161666667,34.21468,608.2 + 136.152246666667,34.2146983333333,608.2 + 136.152275,34.2146116666667,609.0 + 136.152143333333,34.2146166666667,611.3 + 136.152153333333,34.2147766666667,611.2 + 136.152296666667,34.2148566666667,611.1 + 136.152278333333,34.2149116666667,611.1 + 136.152243333333,34.2147383333333,611.1 + 136.152506666667,34.214595,610.9 + 136.152456666667,34.21454,609.6 + 136.152625,34.2143783333333,607.9 + 136.152538333333,34.2144,608.4 + 136.152536666667,34.214335,608.1 + 136.152405,34.214315,608.4 + 136.152303333333,34.2144133333333,608.7 + 136.15238,34.21447,608.5 + 136.15233,34.2145183333333,608.5 + 136.152441666667,34.2144633333333,608.4 + 136.152493333333,34.21458,608.4 + 136.152441666667,34.2146233333333,608.4 + 136.152513333333,34.21469,608.5 + 136.152538333333,34.2144983333333,609.3 + 136.152536666667,34.21456,609.4 + 136.152341666667,34.2143966666667,608.9 + 136.152261666667,34.2144316666667,608.8 + 136.152245,34.2143133333333,608.9 + 136.152336666667,34.2142583333333,608.5 + 136.152495,34.2143516666667,612.9 + 136.152443333333,34.21477,617.2 + 136.152455,34.2145633333333,616.9 + 136.15258,34.2144616666667,617.1 + 136.152691666667,34.214495,616.9 + 136.152705,34.2144516666667,616.9 + 136.152666666667,34.21449,615.9 + 136.15275,34.2145916666667,614.9 + 136.152995,34.2145983333333,614.0 + 136.153245,34.2146983333333,611.7 + 136.153628333333,34.2146366666667,608.9 + 136.153733333333,34.2147033333333,607.5 + 136.153803333333,34.2146566666667,606.6 + 136.154023333333,34.2147033333333,604.3 + 136.153946666667,34.2145983333333,590.8 + 136.154098333333,34.21458,585.4 + 136.154036666667,34.214605,579.4 + 136.154208333333,34.2146416666667,562.6 + 136.154385,34.2146083333333,557.6 + 136.15464,34.2146733333333,549.9 + 136.154753333333,34.21478,546.2 + 136.155275,34.21487,534.1 + 136.155575,34.2148133333333,522.9 + 136.155786666667,34.2148633333333,515.9 + 136.15579,34.2149216666667,508.0 + 136.155843333333,34.214835,500.8 + 136.155903333333,34.2148716666667,485.3 + 136.15583,34.2150116666667,480.3 + 136.155833333333,34.2148866666667,473.3 + 136.155855,34.2150266666667,466.7 + 136.155941666667,34.2149533333333,463.6 + 136.155943333333,34.2150283333333,463.0 + 136.155915,34.2148966666667,463.2 + 136.156108333333,34.2146816666667,461.8 + 136.156545,34.2145066666667,465.4 + 136.156695,34.214275,466.3 + 136.157251666667,34.2142266666667,473.1 + 136.157493333333,34.2143,475.6 + 136.157428333333,34.2142533333333,475.4 + 136.157656666667,34.21427,475.7 + 136.157933333333,34.21415,473.7 + 136.15787,34.2141233333333,473.6 + 136.15786,34.2139333333333,473.7 + 136.158148333333,34.213645,473.1 + 136.158073333333,34.2134,472.8 + 136.158136666667,34.2133433333333,472.6 + 136.157978333333,34.21322,472.3 + 136.158115,34.2131566666667,472.2 + 136.15818,34.2130483333333,471.4 + 136.158118333333,34.2129666666667,470.2 + 136.158135,34.2125083333333,468.4 + 136.158363333333,34.2122683333333,467.3 + 136.15841,34.21213,467.4 + 136.158673333333,34.2120766666667,466.8 + 136.158763333333,34.21194,467.2 + 136.15901,34.2119333333333,467.5 + 136.159186666667,34.2118366666667,467.5 + 136.159371666667,34.2119466666667,467.9 + 136.159501666667,34.211855,465.6 + 136.159615,34.2118566666667,464.6 + 136.159868333333,34.2119966666667,458.8 + 136.159945,34.212125,454.4 + 136.159928333333,34.2123033333333,448.4 + 136.160253333333,34.2123316666667,440.2 + 136.160296666667,34.21238,439.4 + 136.160568333333,34.212265,433.0 + 136.160645,34.2123833333333,430.5 + 136.160626666667,34.2124233333333,428.6 + 136.160611666667,34.2124733333333,428.0 + 136.1608,34.2126116666667,425.1 + 136.160806666667,34.2125633333333,421.2 + 136.160883333333,34.2125966666667,419.8 + 136.160906666667,34.2126683333333,419.8 + 136.160965,34.212575,418.7 + 136.161296666667,34.2127483333333,415.5 + 136.1615,34.2126216666667,414.5 + 136.161653333333,34.2127133333333,414.9 + 136.161746666667,34.2125916666667,414.6 + 136.16176,34.21269,413.9 + 136.161853333333,34.212595,413.0 + 136.161913333333,34.212645,413.2 + 136.162048333333,34.2126183333333,414.0 + 136.162175,34.21252,412.9 + 136.162253333333,34.2125166666667,413.7 + 136.162336666667,34.2126166666667,414.0 + 136.162531666667,34.21258,411.4 + 136.162665,34.2127583333333,409.7 + 136.16278,34.2127066666667,410.8 + 136.162836666667,34.2128816666667,411.4 + 136.16279,34.212985,412.0 + 136.162948333333,34.212875,413.8 + 136.162961666667,34.2129366666667,413.5 + 136.163036666667,34.2127916666667,410.7 + 136.162998333333,34.2127466666667,409.4 + 136.163158333333,34.2127,408.2 + 136.16309,34.2127683333333,408.4 + 136.163035,34.212675,408.3 + 136.162921666667,34.2128383333333,407.9 + 136.163005,34.212695,406.2 + 136.16308,34.2128033333333,405.9 + 136.163173333333,34.2128166666667,405.5 + 136.163221666667,34.2126683333333,405.3 + 136.16314,34.2126683333333,405.0 + 136.16308,34.2127516666667,405.2 + 136.163136666667,34.2127433333333,406.4 + 136.163078333333,34.2129,406.2 + 136.16314,34.2127766666667,403.7 + 136.163336666667,34.21266,402.0 + 136.163403333333,34.2126833333333,402.8 + 136.163541666667,34.2125666666667,401.9 + 136.163665,34.212645,399.6 + 136.163883333333,34.212655,395.1 + 136.163851666667,34.2127833333333,394.9 + 136.163966666667,34.21283,394.6 + 136.163928333333,34.21273,395.0 + 136.164245,34.21296,394.8 + 136.164351666667,34.2129333333333,394.7 + 136.164368333333,34.2130216666667,396.4 + 136.164573333333,34.2128033333333,399.0 + 136.16455,34.2128533333333,398.9 + 136.164645,34.2128316666667,399.6 + 136.16484,34.2130033333333,399.6 + 136.164683333333,34.2133966666667,395.0 + 136.164615,34.213765,394.3 + 136.164661666667,34.2137683333333,395.0 + 136.164583333333,34.2138033333333,396.7 + 136.164833333333,34.2137083333333,398.3 + 136.164855,34.213615,400.0 + 136.1648,34.2136916666667,402.4 + 136.16484,34.2136516666667,403.1 + 136.164891666667,34.213705,403.7 + 136.164871666667,34.2135,407.3 + 136.165063333333,34.2134133333333,404.4 + 136.165186666667,34.21349,400.8 + 136.165256666667,34.213405,397.4 + 136.165353333333,34.213565,396.6 + 136.165323333333,34.2136466666667,396.9 + 136.16524,34.213645,396.0 + 136.165203333333,34.2136783333333,395.7 + 136.165253333333,34.21366,396.0 + 136.165506666667,34.21351,396.4 + 136.165543333333,34.213575,394.2 + 136.165436666667,34.2137833333333,391.1 + 136.165703333333,34.213495,387.5 + 136.16579,34.2135366666667,386.3 + 136.16608,34.2134,388.0 + 136.166241666667,34.21344,390.0 + 136.166471666667,34.213285,388.3 + 136.166736666667,34.2133533333333,387.8 + 136.166906666667,34.2132566666667,387.9 + 136.167081666667,34.213335,388.1 + 136.167195,34.2135016666667,389.5 + 136.167183333333,34.2136033333333,388.6 + 136.16756,34.21386,386.8 + 136.167685,34.214065,390.2 + 136.167801666667,34.214015,390.3 + 136.16772,34.2140433333333,391.2 + 136.167675,34.2139383333333,393.4 + 136.167646666667,34.2140033333333,396.0 + 136.167738333333,34.21402,397.5 + 136.168035,34.213705,397.7 + 136.168015,34.2136216666667,402.1 + 136.168118333333,34.2134433333333,402.3 + 136.168365,34.2134083333333,402.1 + 136.168423333333,34.213215,403.6 + 136.16849,34.2131916666667,404.0 + 136.168443333333,34.213175,402.7 + 136.168796666667,34.2132033333333,398.6 + 136.169063333333,34.2133333333333,397.7 + 136.169275,34.2131016666667,396.9 + 136.169263333333,34.2131583333333,396.6 + 136.169413333333,34.21316,395.2 + 136.169651666667,34.213405,393.2 + 136.169853333333,34.2135133333333,391.9 + 136.169885,34.2136183333333,391.4 + 136.169806666667,34.2136516666667,391.1 + 136.169993333333,34.2134616666667,391.1 + 136.17008,34.2132916666667,391.0 + 136.170005,34.213295,390.7 + 136.170025,34.2132516666667,390.5 + 136.170088333333,34.2132316666667,390.5 + 136.170016666667,34.213385,390.6 + 136.170211666667,34.2132133333333,390.8 + 136.169978333333,34.21332,392.1 + 136.169785,34.2134933333333,392.4 + 136.169953333333,34.2133366666667,392.5 + 136.169908333333,34.2132433333333,392.8 + 136.169853333333,34.2132483333333,392.9 + 136.169853333333,34.2131433333333,393.6 + 136.169723333333,34.2132266666667,393.9 + 136.16977,34.21314,394.1 + 136.169756666667,34.2132416666667,395.1 + 136.169941666667,34.2132966666667,395.4 + 136.17016,34.21314,395.4 + 136.17018,34.2130516666667,395.6 + 136.170301666667,34.21303,395.4 + 136.17061,34.2132466666667,393.9 + 136.170826666667,34.2135416666667,393.3 + 136.170768333333,34.2134666666667,392.8 + 136.170913333333,34.2133983333333,392.7 + 136.171016666667,34.2132083333333,391.9 + 136.171085,34.21317,391.7 + 136.17119,34.2132633333333,392.9 + 136.171418333333,34.2132633333333,392.9 + 136.171501666667,34.213215,394.1 + 136.171501666667,34.213135,395.3 + 136.171545,34.213185,394.0 + 136.171456666667,34.213095,389.1 + 136.171586666667,34.21305,383.1 + 136.171695,34.213135,378.2 + 136.171836666667,34.2131483333333,373.6 + 136.171951666667,34.2130516666667,369.5 + 136.172286666667,34.2133783333333,367.8 + 136.172355,34.2132366666667,367.4 + 136.172385,34.2133516666667,368.3 + 136.172258333333,34.2133466666667,368.8 + 136.172683333333,34.2131433333333,363.3 + 136.173178333333,34.21331,361.3 + 136.173346666667,34.2131683333333,361.2 + 136.173505,34.2131983333333,361.3 + 136.173853333333,34.21302,359.5 + 136.17395,34.2131383333333,360.8 + 136.173916666667,34.21326,358.5 + 136.174013333333,34.2133383333333,357.7 + 136.173771666667,34.2134616666667,357.3 + 136.173785,34.2133633333333,357.2 + 136.173731666667,34.2133966666667,356.5 + 136.173855,34.2133133333333,356.5 + 136.173753333333,34.2134883333333,356.0 + 136.173941666667,34.2131383333333,355.9 + 136.173945,34.2130116666667,355.5 + 136.173973333333,34.213055,355.2 + 136.174035,34.2129883333333,354.7 + 136.17402,34.2131383333333,354.2 + 136.174158333333,34.212795,354.8 + 136.174251666667,34.2127583333333,355.4 + 136.1743,34.2128833333333,357.1 + 136.174388333333,34.2128683333333,357.6 + 136.174461666667,34.212985,357.5 + 136.1746,34.212675,360.1 + 136.174646666667,34.2126933333333,360.7 + 136.174823333333,34.2125216666667,359.8 + 136.174961666667,34.2122516666667,362.6 + 136.175115,34.2123266666667,364.8 + 136.175178333333,34.21227,365.4 + 136.17519,34.2123216666667,366.0 + 136.175366666667,34.21219,366.5 + 136.175483333333,34.2119633333333,366.1 + 136.176033333333,34.2118116666667,361.5 + 136.176153333333,34.2117966666667,360.9 + 136.176148333333,34.2118483333333,360.8 + 136.176373333333,34.2118933333333,358.9 + 136.176475,34.21198,358.1 + 136.176403333333,34.2124816666667,358.1 + 136.17648,34.21258,357.8 + 136.176448333333,34.2126933333333,358.0 + 136.176565,34.2127316666667,358.0 + 136.176478333333,34.21299,358.4 + 136.17655,34.213145,358.8 + 136.176476666667,34.213535,360.7 + 136.17656,34.21336,360.6 + 136.17661,34.21347,360.8 + 136.176758333333,34.2134833333333,360.7 + 136.176846666667,34.2136016666667,360.6 + 136.177036666667,34.213665,360.9 + 136.176995,34.2138516666667,361.7 + 136.177141666667,34.2141616666667,362.9 + 136.176995,34.2142416666667,363.1 + 136.17712,34.2142616666667,364.6 + 136.176665,34.2142383333333,365.3 + 136.176696666667,34.214335,365.1 + 136.176616666667,34.2144666666667,363.9 + 136.176896666667,34.2148916666667,362.5 + 136.176823333333,34.2151283333333,361.8 + 136.176748333333,34.21512,360.5 + 136.177126666667,34.2149483333333,410.6 + 136.177093333333,34.2149933333333,390.3 + 136.177185,34.2149633333333,394.0 + 136.177175,34.2150866666667,395.2 + 136.17723,34.2151033333333,395.7 + 136.177213333333,34.2154566666667,395.9 + 136.176955,34.2156633333333,354.8 + 136.177023333333,34.2156316666667,350.7 + 136.177316666667,34.215815,368.8 + 136.177396666667,34.2158,373.0 + 136.1774,34.216005,384.3 + 136.177516666667,34.2159433333333,386.9 + 136.178185,34.2161266666667,399.7 + 136.178366666667,34.2163616666667,403.3 + 136.178628333333,34.2165316666667,401.3 + 136.178723333333,34.2167866666667,396.0 + 136.179066666667,34.2170033333333,397.2 + 136.17902,34.2175183333333,395.7 + 136.17895,34.2175983333333,395.9 + 136.179045,34.2179416666667,394.3 + 136.178801666667,34.2182983333333,396.5 + 136.1789,34.2184433333333,397.7 + 136.179005,34.2184516666667,398.0 + 136.178791666667,34.21849,397.2 + 136.178868333333,34.2185233333333,396.9 + 136.178903333333,34.2187766666667,395.4 + 136.179011666667,34.2188383333333,395.6 + 136.178965,34.218955,394.4 + 136.179123333333,34.2191333333333,393.8 + 136.179468333333,34.2192716666667,393.6 + 136.1793,34.2192783333333,391.2 + 136.179373333333,34.219355,389.5 + 136.179636666667,34.2193016666667,394.4 + 136.179803333333,34.2193366666667,395.1 + 136.180261666667,34.2194966666667,392.0 + 136.18044,34.2196333333333,393.0 + 136.18059,34.22003,365.1 + 136.18054,34.22037,356.5 + 136.180603333333,34.2205183333333,354.0 + 136.180496666667,34.2205483333333,353.5 + 136.180596666667,34.220515,354.0 + 136.180575,34.2205816666667,353.0 + 136.18065,34.2205833333333,354.6 + 136.180615,34.2206133333333,354.8 + 136.180571666667,34.2205483333333,353.9 + 136.180441666667,34.220635,339.3 + 136.180306666667,34.22057,331.8 + 136.180286666667,34.2204666666667,328.6 + 136.180361666667,34.2204883333333,327.0 + 136.180301666667,34.220565,324.1 + 136.180413333333,34.2207133333333,323.0 + 136.18041,34.2208266666667,323.2 + 136.18039,34.2206616666667,323.3 + 136.18047,34.2207016666667,322.3 + 136.180365,34.2208533333333,322.1 + 136.180158333333,34.22099,322.4 + 136.179983333333,34.2212233333333,321.0 + 136.179845,34.2212633333333,322.0 + 136.179821666667,34.2213983333333,322.5 + 136.179695,34.2215183333333,323.9 + 136.179511666667,34.2215766666667,324.6 + 136.179376666667,34.2214783333333,325.3 + 136.179095,34.2217216666667,326.1 + 136.178986666667,34.22207,326.5 + 136.178845,34.2221366666667,326.9 + 136.178923333333,34.2221333333333,326.7 + 136.178811666667,34.2223383333333,327.7 + 136.178501666667,34.2224733333333,327.6 + 136.178493333333,34.2226283333333,328.1 + 136.17825,34.2228466666667,326.6 + 136.178163333333,34.2231183333333,327.0 + 136.177938333333,34.2232233333333,328.8 + 136.17783,34.2234783333333,330.8 + 136.177553333333,34.2236666666667,334.3 + 136.177223333333,34.2242216666667,337.8 + 136.17621,34.22476,325.8 + 136.176075,34.224735,325.6 + 136.175758333333,34.22487,322.0 + 136.175611666667,34.2248733333333,322.6 + 136.175596666667,34.2249566666667,322.4 + 136.175435,34.225005,321.1 + 136.175128333333,34.2253666666667,319.8 + 136.17497,34.2253866666667,319.9 + 136.174753333333,34.2255083333333,319.8 + 136.174708333333,34.2257683333333,321.9 + 136.174871666667,34.2258383333333,324.4 + 136.17471,34.22605,322.3 + 136.174768333333,34.2262233333333,320.9 + 136.174878333333,34.226245,320.8 + 136.174903333333,34.226335,321.5 + 136.17478,34.2264266666667,321.5 + 136.17501,34.2267233333333,323.1 + 136.17503,34.2268916666667,323.6 + 136.1749,34.2272783333333,324.8 + 136.174763333333,34.22741,325.2 + 136.17503,34.2276833333333,324.7 + 136.174911666667,34.227835,324.3 + 136.17497,34.2280383333333,323.0 + 136.174775,34.2281433333333,323.3 + 136.175076666667,34.22869,320.8 + 136.175058333333,34.2287883333333,319.8 + 136.175268333333,34.22892,320.4 + 136.175098333333,34.2291533333333,321.8 + 136.175236666667,34.2293083333333,323.3 + 136.175178333333,34.2293666666667,323.1 + 136.175295,34.2293866666667,322.7 + 136.175293333333,34.2292516666667,321.4 + 136.175238333333,34.2292366666667,321.1 + 136.175221666667,34.2294066666667,319.2 + 136.175568333333,34.2294,319.8 + 136.175705,34.2294866666667,320.2 + 136.175675,34.229625,319.9 + 136.175815,34.2296266666667,319.8 + 136.176033333333,34.2297883333333,320.0 + 136.176248333333,34.2298083333333,320.3 + 136.176308333333,34.229865,320.5 + 136.176508333333,34.229805,321.4 + 136.176786666667,34.2299116666667,321.3 + 136.176841666667,34.229985,322.0 + 136.177053333333,34.2300533333333,322.6 + 136.177233333333,34.2303166666667,322.2 + 136.17737,34.2303883333333,322.4 + 136.177558333333,34.23038,323.3 + 136.177505,34.230745,318.3 + 136.177596666667,34.230825,318.5 + 136.177438333333,34.2310316666667,320.2 + 136.177731666667,34.2314316666667,319.9 + 136.178026666667,34.2317433333333,316.3 + 136.178188333333,34.2318316666667,314.6 + 136.178196666667,34.2319,314.3 + 136.178083333333,34.2319366666667,313.8 + 136.178098333333,34.2320633333333,313.2 + 136.178308333333,34.232095,311.0 + 136.178508333333,34.2322033333333,309.7 + 136.178933333333,34.2322483333333,306.6 + 136.17903,34.2321716666667,304.9 + 136.179251666667,34.232135,303.9 + 136.179335,34.2320233333333,300.2 + 136.179376666667,34.2320483333333,298.7 + 136.179521666667,34.2321283333333,295.5 + 136.179741666667,34.2320283333333,293.1 + 136.179803333333,34.2319583333333,292.9 + 136.179773333333,34.23178,291.8 + 136.18024,34.23198,293.5 + 136.18046,34.231995,296.8 + 136.181005,34.2325333333333,298.8 + 136.181251666667,34.2326233333333,300.8 + 136.18161,34.232955,302.4 + 136.181696666667,34.233085,305.1 + 136.18166,34.2331233333333,304.5 + 136.181895,34.2333233333333,301.8 + 136.181915,34.233405,300.6 + 136.18182,34.23334,300.1 + 136.18171,34.2331783333333,299.2 + 136.181761666667,34.2331466666667,295.0 + 136.181676666667,34.233195,292.6 + + +
+
+
+
diff --git a/osm/data/wp_data1.kml b/osm/data/wp_data1.kml new file mode 100644 index 0000000..1762850 --- /dev/null +++ b/osm/data/wp_data1.kml @@ -0,0 +1,394 @@ + + + + +大杉谷20140615

Powered by matsup

]]> +
+ + + + + +Icons_on_the_Map + +出発点
三重県多気郡大台町大杉
]]>
+2014/06/15 07:22:32]]> +#StartIcon136.181595,34.2331033333333,320.7 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 07:27:23
]]>
+#PhotoIcon136.180895,34.2326366666667,313.1 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 07:29:28
]]>
+#PhotoIcon136.180318333333,34.2320783333333,322.3 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 07:42:45
]]>
+#PhotoIcon136.176226666667,34.2300316666667,319.6 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 07:43:05
]]>
+#PhotoIcon136.176158333333,34.229985,321.1 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 07:49:24
]]>
+#PhotoIcon136.174778333333,34.2284716666667,328.8 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 07:50:17
]]>
+#PhotoIcon136.174731666667,34.2281766666667,327.2 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 07:50:28
]]>
+#PhotoIcon136.174771666667,34.22814,327.5 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 07:55:02
]]>
+#PhotoIcon136.174708333333,34.226625,329.1 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 07:55:23
]]>
+#PhotoIcon136.17471,34.2265,326.6 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 08:13:05
]]>
+#PhotoIcon136.178796666667,34.2220066666667,346.1 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 08:19:36

]]>
+#PhotoIcon136.180511666667,34.2207283333333,341.5 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 08:42:50
]]>
+#PhotoIcon136.177198333333,34.216165,365.9 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 08:57:31
]]>
+#PhotoIcon136.17463,34.2126766666667,379.0 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 09:00:16
]]>
+#PhotoIcon136.173783333333,34.2131566666667,403.6 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 09:00:27
]]>
+#PhotoIcon136.173666666667,34.2131466666667,403.8 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 09:00:38
]]>
+#PhotoIcon136.17365,34.213225,403.6 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 09:00:42
]]>
+#PhotoIcon136.173671666667,34.2132616666667,403.5 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 09:00:55
]]>
+#PhotoIcon136.173701666667,34.21337,403.4 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 09:37:18
]]>
+#PhotoIcon136.165758333333,34.2138816666667,411.2 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 09:41:16
]]>
+#PhotoIcon136.16462,34.2141666666667,409.7 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 09:41:21
]]>
+#PhotoIcon136.164673333333,34.2141083333333,409.6 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 09:41:28
]]>
+#PhotoIcon136.16475,34.2140816666667,409.6 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 09:41:32
]]>
+#PhotoIcon136.16482,34.2140733333333,409.6 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 09:42:03
]]>
+#PhotoIcon136.165281666667,34.213805,409.4 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 09:43:30
]]>
+#PhotoIcon136.165913333333,34.2129183333333,407.6 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 09:44:48
]]>
+#PhotoIcon136.164905,34.213125,414.0 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 09:44:54

]]>
+#PhotoIcon136.164858333333,34.2131333333333,414.0 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 09:48:59
]]>
+#PhotoIcon136.164876666667,34.2136166666667,422.7 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 09:55:40
]]>
+#PhotoIcon136.164115,34.212125,431.5 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 09:55:50
]]>
+#PhotoIcon136.164075,34.2122983333333,431.2 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 09:58:33
]]>
+#PhotoIcon136.163171666667,34.2126633333333,434.9 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 09:58:36
]]>
+#PhotoIcon136.163085,34.2126866666667,435.1 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 09:58:42
]]>
+#PhotoIcon136.163046666667,34.212665,435.5 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 10:08:30
]]>
+#PhotoIcon136.162761666667,34.21181,450.6 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 10:08:34
]]>
+#PhotoIcon136.162721666667,34.2118483333333,452.0 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 10:09:07
]]>
+#PhotoIcon136.162283333333,34.21211,460.5 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 10:09:11
]]>
+#PhotoIcon136.162161666667,34.2121383333333,461.0 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 10:09:52
]]>
+#PhotoIcon136.161566666667,34.2126466666667,475.6 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 10:11:48
]]>
+#PhotoIcon136.161468333333,34.2125733333333,494.9 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 10:11:53
]]>
+#PhotoIcon136.161568333333,34.212625,495.0 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 10:12:24
]]>
+#PhotoIcon136.16154,34.212555,497.7 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 10:25:37
]]>
+#PhotoIcon136.158051666667,34.212865,470.1 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 10:25:55
]]>
+#PhotoIcon136.158115,34.2129666666667,470.9 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 11:08:47
]]>
+#PhotoIcon136.151005,34.21326,448.9 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 11:17:33
]]>
+#PhotoIcon136.151055,34.21109,479.7 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 11:17:45
]]>
+#PhotoIcon136.150891666667,34.2111633333333,480.2 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 11:23:21

]]>
+#PhotoIcon136.150673333333,34.2102883333333,495.5 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 11:23:37
]]>
+#PhotoIcon136.150716666667,34.2102966666667,495.8 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 11:23:47

]]>
+#PhotoIcon136.15074,34.2102633333333,495.9 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 11:24:21
]]>
+#PhotoIcon136.150693333333,34.210265,496.0 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 11:28:35

]]>
+#PhotoIcon136.15077,34.2103033333333,505.7 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 11:29:12
]]>
+#PhotoIcon136.150781666667,34.2103416666667,507.7 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 11:51:57

]]>
+#PhotoIcon136.15151,34.20849,660.5 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 11:52:23
]]>
+#PhotoIcon136.151441666667,34.208455,659.4 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 11:55:26
]]>
+#PhotoIcon136.15025,34.2077166666667,698.8 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 12:12:03
]]>
+#PhotoIcon136.149638333333,34.2037683333333,741.5 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 12:12:05
]]>
+#PhotoIcon136.149563333333,34.2037616666667,741.2 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 12:12:08
]]>
+#PhotoIcon136.14952,34.2037666666667,740.9 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 12:12:16
]]>
+#PhotoIcon136.149473333333,34.2037283333333,740.5 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 12:12:28
]]>
+#PhotoIcon136.149306666667,34.20365,741.6 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 13:15:31
]]>
+#PhotoIcon136.150641666667,34.2101066666667,641.5 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 13:29:14
]]>
+#PhotoIcon136.151203333333,34.213285,611.2 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 14:16:33
]]>
+#PhotoIcon136.160645,34.2123833333333,430.5 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 14:16:37
]]>
+#PhotoIcon136.160626666667,34.2124233333333,428.6 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 14:16:39
]]>
+#PhotoIcon136.160611666667,34.2124733333333,428.0 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 14:38:27
]]>
+#PhotoIcon136.16524,34.213645,396.0 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 14:38:38
]]>
+#PhotoIcon136.165203333333,34.2136783333333,395.7 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 14:38:46
]]>
+#PhotoIcon136.165253333333,34.21366,396.0 +
+ +Photo Point
三重県多気郡大台町大杉
]]>
+2014/06/15 16:39:36
]]>
+#PhotoIcon136.179376666667,34.2320483333333,298.7 +
+ +終点
三重県多気郡大台町大杉
]]>
+2014/06/15 16:50:40]]> +#EndIcon136.181676666667,34.233195,292.6 +
+
+
+
diff --git a/osm/ol3ex10.js b/osm/ol3ex10.js new file mode 100644 index 0000000..fdfec5d --- /dev/null +++ b/osm/ol3ex10.js @@ -0,0 +1,135 @@ +// ------------------------------------------------------------------- +var cyberJ = null; // 地理院地図用の変数 + +var center_lon = 136.181193333; // 中心の経度(大杉谷,宮川第三発電所) +var center_lat = 34.2329783333; // 中心の緯度(大杉谷,宮川第三発電所) + +var kml_url = "data/map_data1.kml"; +var kml_url2 = "data/wp_data1.kml"; + +var initZoom = 15; // ズームの初期値 +var MinZoom = 6; // ズームの最小値(最も広い範囲) +var MaxZoom = 21; // ズームの最大値(最も狭い範囲) + +var initPrecision = 8; // 座標表示の小数点以下の桁数の初期値 +var initOpacity = 1.0; // 不透明度の初期値 +var gMaxOpacity = 1.0; // 不透明度の最大値 +var gMinOpacity = 0.0; // 不透明度の最小値 +******************************************************************* + +function init_map() { + // 以下の DOM の定義は,init_map() の中に入れないとだめだった。 + var container = document.getElementById('popup'); + var content = document.getElementById('popup-content'); + var closer = document.getElementById('popup-closer'); + + // 表示用の view 変数の定義 + var view = new ol.View({maxZoom: MaxZoom, minZoom:MinZoom}); + + // cyberJ の opacity をいじるために,cyberJ という変数に入れている。 + cyberJ = new ol.layer.Tile({ + opacity: initOpacity, + source: new ol.source.XYZ({ + attributions: [ new ol.Attribution({ html: "国土地理院" }) ], + url: "http://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png", projection: "EPSG:3857" + }) + }); + + // 経路の KML データ + // v3.11.0 以降の場合は new ol.format.KML() を new ol.format.KML({ showPointNames: false }) とする。 + var kml_vector = new ol.layer.Vector({ + source: new ol.source.Vector({ url: kml_url, format: new ol.format.KML() }) + }); + + // マーカーの KML データ + // v3.11.0 以降の場合は new ol.format.KML() を new ol.format.KML({ showPointNames: false }) とする。 + var wp_vector = new ol.layer.Vector({ + source: new ol.source.Vector({ url: kml_url2, format: new ol.format.KML() }) + }); + + // ------------------------------------------------------------------- + // 地図をクリックした際に,停留点の情報を表示するための overlay 変数(popup 用) + var overlay = new ol.Overlay({ + element: container + }); + + // 地図変数 (map 変数) の定義。地理院地図を表示するように指定している + var map = new ol.Map({ + target: document.getElementById('map_canvas'), + layers: [cyberJ, kml_vector, wp_vector], + view: view, + overlays: [overlay], + renderer: ['canvas', 'dom'], + controls: ol.control.defaults().extend([new ol.control.ScaleLine()]), + interactions: ol.interaction.defaults() + }); + + function displayFeatureInfo(pixel, coordinate) { + var features = []; + map.forEachFeatureAtPixel(pixel, function(feature, wp_layer) { + features.push(feature); + }); + if (features.length > 0) { + var info = []; + // for (i = 0; i < features.length; ++i) { + // info.push('
'+features[i].get('name')+features[i].get('description')+'
'); + // } + info.push('
'+features[0].get('name')+features[0].get('description')+'
'); + + overlay.setPosition(coordinate); + content.innerHTML = info[0]; + // content.innerHTML = info.join('
') || '(unknown)'; + container.style.display = 'block'; + } else { + content.innerHTML = ''; + container.style.display = 'none'; + } + }; + + map.on('click', function(evt) { + displayFeatureInfo(evt.pixel, evt.coordinate); + }); + + // マーカー上でアイコンの表示を変更するイベントハンドラー, jQuery が必要 + $(map.getViewport()).on('mousemove', function(e) { + var pixel = map.getEventPixel(e.originalEvent); + var hit = map.forEachFeatureAtPixel(pixel, function(feature, layer) { return true; }); + if (hit) { map.getTarget().style.cursor = 'pointer'; } + else { map.getTarget().style.cursor = ''; } + }); + + // popup を閉じるためのイベントハンドラー + closer.onclick = function() { + container.style.display = 'none'; + closer.blur(); + return false; + }; + + // zoom slider の追加 + map.addControl(new ol.control.ZoomSlider()); + + // 中心の指定。view に対して指定。transform を忘れないこと。 + view.setCenter(ol.proj.transform([center_lon, center_lat], "EPSG:4326", "EPSG:3857")); + + // zoom の指定。view に対して指定する。 + view.setZoom(initZoom); + + // span opacity_control (地理院地図の不透明度) に初期値(実数)を入れる。 + document.getElementById('opacity_control').innerHTML = initOpacity.toFixed(1); + +} // 初期化 + +// ******************************************************************* +// 地理院地図 (var cyberJ) の opacity(この場合は不透明度) を変える +function changeOpacity(opacity) { + var newOpacity = (parseFloat(document.getElementById('opacity_control').innerHTML) + opacity).toFixed(1); // 新しい opacity の値を求める + newOpacity = Math.min(gMaxOpacity, Math.max(gMinOpacity, newOpacity)); // 最大値と最小値の範囲を超えないように + cyberJ.setOpacity(newOpacity); // 地理院地図の opacity の変更 + document.getElementById('opacity_control').innerHTML = newOpacity.toFixed(1); // opacity の数字の表示書き換え +} + +function directSetOpacity(opacity) { + cyberJ.setOpacity(opacity); + document.getElementById('opacity_control').innerHTML = opacity.toFixed(1); +} +// ******************************************************************* diff --git a/osm/ol3ex9.js b/osm/ol3ex9.js new file mode 100644 index 0000000..354e916 --- /dev/null +++ b/osm/ol3ex9.js @@ -0,0 +1,78 @@ +var cyberJ = null; // 地理院地図用の変数 + +var center_lon = 136.181193333; // 中心の経度(大杉谷,宮川第三発電所) +var center_lat = 34.2329783333; // 中心の緯度(大杉谷,宮川第三発電所) + +var kml_url = "data/map_data1.kml"; // "map_data1.kml" + +var initZoom = 15; // ズームの初期値 +var MinZoom = 6; // ズームの最小値(最も広い範囲) +var MaxZoom = 21; // ズームの最大値(最も狭い範囲) + +var initPrecision = 8; // 座標表示の小数点以下の桁数の初期値 +var initOpacity = 1.0; // 不透明度の初期値 +var gMaxOpacity = 1.0; // 不透明度の最大値 +var gMinOpacity = 0.0; // 不透明度の最小値 +//******************************************************************* + +function init_map() { + // 表示用の view 変数の定義 + var view = new ol.View({maxZoom: MaxZoom, minZoom:MinZoom}); + + // cyberJ の opacity をいじるために,cyberJ という変数に入れている。 + cyberJ = new ol.layer.Tile({ + opacity: initOpacity, + source: new ol.source.XYZ({ + attributions: [ new ol.Attribution({ html: "国土地理院" }) ], + url: "http://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png", projection: "EPSG:3857" + }) + }); + + // 経路の KML データ + // v3.11.0 以降の場合は new ol.format.KML() を new ol.format.KML({ showPointNames: false }) とする。 + var kml_vector = new ol.layer.Vector({ + source: new ol.source.Vector({ + url: kml_url, + format: new ol.format.KML({ showPointNames: false }) + }) + }); + + // ------------------------------------------------------------------- + // 地図変数 (map 変数) の定義。地理院地図を表示するように指定している + var map = new ol.Map({ + target: document.getElementById('map_canvas'), + layers: [cyberJ, kml_vector], + view: view, + renderer: ['canvas', 'dom'], + controls: ol.control.defaults().extend([new ol.control.ScaleLine()]), + interactions: ol.interaction.defaults() + }); + + // zoom slider の追加 + map.addControl(new ol.control.ZoomSlider()); + + // 中心の指定。view に対して指定。transform を忘れないこと。 + view.setCenter(ol.proj.transform([center_lon, center_lat], "EPSG:4326", "EPSG:3857")); + + // zoom の指定。view に対して指定する。 + view.setZoom(initZoom); + + // span opacity_control (地理院地図の不透明度) に初期値(実数)を入れる。 + document.getElementById('opacity_control').innerHTML = initOpacity.toFixed(1); + +} // 初期化 + +// ------------------------------------------------------------------- +// 地理院地図 (var cyberJ) の opacity(この場合は不透明度) を変える +function changeOpacity(opacity) { + var newOpacity = (parseFloat(document.getElementById('opacity_control').innerHTML) + opacity).toFixed(1); // 新しい opacity の値を求める + newOpacity = Math.min(gMaxOpacity, Math.max(gMinOpacity, newOpacity)); // 最大値と最小値の範囲を超えないように + cyberJ.setOpacity(newOpacity); // 地理院地図の opacity の変更 + document.getElementById('opacity_control').innerHTML = newOpacity.toFixed(1); // opacity の数字の表示書き換え +} + +function directSetOpacity(opacity) { + cyberJ.setOpacity(opacity); + document.getElementById('opacity_control').innerHTML = opacity.toFixed(1); +} + diff --git a/osm/olEx10.html b/osm/olEx10.html new file mode 100644 index 0000000..88b7c18 --- /dev/null +++ b/osm/olEx10.html @@ -0,0 +1,64 @@ + + + + + + + + + + + +OpenLayers 3 Example: KML Layer Popup + + + + + +
+ +
+ +
 不透明度:0.1  + 0.5  + 1.0   +  不透明度・0.2ずつ変更: + << + 0.5 + >> +
+ + + diff --git a/osm/olEx9.html b/osm/olEx9.html new file mode 100644 index 0000000..5ff509b --- /dev/null +++ b/osm/olEx9.html @@ -0,0 +1,46 @@ + + + + + + + + + + + +OpenLayers 3 Example: KML Layer + + + + +
+ +
 不透明度:0.1  + 0.5  + 1.0   +  不透明度・0.2ずつ変更: + << + 0.5 + >> +
+ + + diff --git a/osm/v4.1.0-dist/ol-debug.js b/osm/v4.1.0-dist/ol-debug.js new file mode 100644 index 0000000..7e0dfd1 --- /dev/null +++ b/osm/v4.1.0-dist/ol-debug.js @@ -0,0 +1,92034 @@ +// OpenLayers. See https://openlayers.org/ +// License: https://raw.githubusercontent.com/openlayers/openlayers/master/LICENSE.md +// Version: v4.1.0 +;(function (root, factory) { + if (typeof exports === "object") { + module.exports = factory(); + } else if (typeof define === "function" && define.amd) { + define([], factory); + } else { + root.ol = factory(); + } +}(this, function () { + var OPENLAYERS = {}; + var goog = this.goog = {}; +this.CLOSURE_NO_DEPS = true; +// Copyright 2006 The Closure Library Authors. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS-IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @fileoverview Bootstrap for the Google JS Library (Closure). + * + * In uncompiled mode base.js will write out Closure's deps file, unless the + * global CLOSURE_NO_DEPS is set to true. This allows projects to + * include their own deps file(s) from different locations. + * + * Avoid including base.js more than once. This is strictly discouraged and not + * supported. goog.require(...) won't work properly in that case. + * + * @author arv@google.com (Erik Arvidsson) + * + * @provideGoog + */ + + +/** + * @define {boolean} Overridden to true by the compiler when + * --process_closure_primitives is specified. + */ +var COMPILED = false; + + +/** + * Base namespace for the Closure library. Checks to see goog is already + * defined in the current scope before assigning to prevent clobbering if + * base.js is loaded more than once. + * + * @const + */ +var goog = goog || {}; + + +/** + * Reference to the global context. In most cases this will be 'window'. + */ +goog.global = this; + + +/** + * A hook for overriding the define values in uncompiled mode. + * + * In uncompiled mode, {@code CLOSURE_UNCOMPILED_DEFINES} may be defined before + * loading base.js. If a key is defined in {@code CLOSURE_UNCOMPILED_DEFINES}, + * {@code goog.define} will use the value instead of the default value. This + * allows flags to be overwritten without compilation (this is normally + * accomplished with the compiler's "define" flag). + * + * Example: + *
+ *   var CLOSURE_UNCOMPILED_DEFINES = {'goog.DEBUG': false};
+ * 
+ * + * @type {Object|undefined} + */ +goog.global.CLOSURE_UNCOMPILED_DEFINES; + + +/** + * A hook for overriding the define values in uncompiled or compiled mode, + * like CLOSURE_UNCOMPILED_DEFINES but effective in compiled code. In + * uncompiled code CLOSURE_UNCOMPILED_DEFINES takes precedence. + * + * Also unlike CLOSURE_UNCOMPILED_DEFINES the values must be number, boolean or + * string literals or the compiler will emit an error. + * + * While any @define value may be set, only those set with goog.define will be + * effective for uncompiled code. + * + * Example: + *
+ *   var CLOSURE_DEFINES = {'goog.DEBUG': false} ;
+ * 
+ * + * @type {Object|undefined} + */ +goog.global.CLOSURE_DEFINES; + + +/** + * Returns true if the specified value is not undefined. + * WARNING: Do not use this to test if an object has a property. Use the in + * operator instead. + * + * @param {?} val Variable to test. + * @return {boolean} Whether variable is defined. + */ +goog.isDef = function(val) { + // void 0 always evaluates to undefined and hence we do not need to depend on + // the definition of the global variable named 'undefined'. + return val !== void 0; +}; + + +/** + * Builds an object structure for the provided namespace path, ensuring that + * names that already exist are not overwritten. For example: + * "a.b.c" -> a = {};a.b={};a.b.c={}; + * Used by goog.provide and goog.exportSymbol. + * @param {string} name name of the object that this file defines. + * @param {*=} opt_object the object to expose at the end of the path. + * @param {Object=} opt_objectToExportTo The object to add the path to; default + * is |goog.global|. + * @private + */ +goog.exportPath_ = function(name, opt_object, opt_objectToExportTo) { + var parts = name.split('.'); + var cur = opt_objectToExportTo || goog.global; + + // Internet Explorer exhibits strange behavior when throwing errors from + // methods externed in this manner. See the testExportSymbolExceptions in + // base_test.html for an example. + if (!(parts[0] in cur) && cur.execScript) { + cur.execScript('var ' + parts[0]); + } + + // Certain browsers cannot parse code in the form for((a in b); c;); + // This pattern is produced by the JSCompiler when it collapses the + // statement above into the conditional loop below. To prevent this from + // happening, use a for-loop and reserve the init logic as below. + + // Parentheses added to eliminate strict JS warning in Firefox. + for (var part; parts.length && (part = parts.shift());) { + if (!parts.length && goog.isDef(opt_object)) { + // last part and we have an object; use it + cur[part] = opt_object; + } else if (cur[part] && Object.prototype.hasOwnProperty.call(cur, part)) { + cur = cur[part]; + } else { + cur = cur[part] = {}; + } + } +}; + + +/** + * Defines a named value. In uncompiled mode, the value is retrieved from + * CLOSURE_DEFINES or CLOSURE_UNCOMPILED_DEFINES if the object is defined and + * has the property specified, and otherwise used the defined defaultValue. + * When compiled the default can be overridden using the compiler + * options or the value set in the CLOSURE_DEFINES object. + * + * @param {string} name The distinguished name to provide. + * @param {string|number|boolean} defaultValue + */ +goog.define = function(name, defaultValue) { + var value = defaultValue; + if (!COMPILED) { + if (goog.global.CLOSURE_UNCOMPILED_DEFINES && + Object.prototype.hasOwnProperty.call( + goog.global.CLOSURE_UNCOMPILED_DEFINES, name)) { + value = goog.global.CLOSURE_UNCOMPILED_DEFINES[name]; + } else if ( + goog.global.CLOSURE_DEFINES && + Object.prototype.hasOwnProperty.call( + goog.global.CLOSURE_DEFINES, name)) { + value = goog.global.CLOSURE_DEFINES[name]; + } + } + goog.exportPath_(name, value); +}; + + +/** + * @define {boolean} DEBUG is provided as a convenience so that debugging code + * that should not be included in a production js_binary can be easily stripped + * by specifying --define goog.DEBUG=false to the JSCompiler. For example, most + * toString() methods should be declared inside an "if (goog.DEBUG)" conditional + * because they are generally used for debugging purposes and it is difficult + * for the JSCompiler to statically determine whether they are used. + */ +goog.define('goog.DEBUG', true); + + +/** + * @define {string} LOCALE defines the locale being used for compilation. It is + * used to select locale specific data to be compiled in js binary. BUILD rule + * can specify this value by "--define goog.LOCALE=" as JSCompiler + * option. + * + * Take into account that the locale code format is important. You should use + * the canonical Unicode format with hyphen as a delimiter. Language must be + * lowercase, Language Script - Capitalized, Region - UPPERCASE. + * There are few examples: pt-BR, en, en-US, sr-Latin-BO, zh-Hans-CN. + * + * See more info about locale codes here: + * http://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers + * + * For language codes you should use values defined by ISO 693-1. See it here + * http://www.w3.org/WAI/ER/IG/ert/iso639.htm. There is only one exception from + * this rule: the Hebrew language. For legacy reasons the old code (iw) should + * be used instead of the new code (he), see http://wiki/Main/IIISynonyms. + */ +goog.define('goog.LOCALE', 'en'); // default to en + + +/** + * @define {boolean} Whether this code is running on trusted sites. + * + * On untrusted sites, several native functions can be defined or overridden by + * external libraries like Prototype, Datejs, and JQuery and setting this flag + * to false forces closure to use its own implementations when possible. + * + * If your JavaScript can be loaded by a third party site and you are wary about + * relying on non-standard implementations, specify + * "--define goog.TRUSTED_SITE=false" to the JSCompiler. + */ +goog.define('goog.TRUSTED_SITE', true); + + +/** + * @define {boolean} Whether a project is expected to be running in strict mode. + * + * This define can be used to trigger alternate implementations compatible with + * running in EcmaScript Strict mode or warn about unavailable functionality. + * @see https://goo.gl/PudQ4y + * + */ +goog.define('goog.STRICT_MODE_COMPATIBLE', false); + + +/** + * @define {boolean} Whether code that calls {@link goog.setTestOnly} should + * be disallowed in the compilation unit. + */ +goog.define('goog.DISALLOW_TEST_ONLY_CODE', COMPILED && !goog.DEBUG); + + +/** + * @define {boolean} Whether to use a Chrome app CSP-compliant method for + * loading scripts via goog.require. @see appendScriptSrcNode_. + */ +goog.define('goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING', false); + + +/** + * Defines a namespace in Closure. + * + * A namespace may only be defined once in a codebase. It may be defined using + * goog.provide() or goog.module(). + * + * The presence of one or more goog.provide() calls in a file indicates + * that the file defines the given objects/namespaces. + * Provided symbols must not be null or undefined. + * + * In addition, goog.provide() creates the object stubs for a namespace + * (for example, goog.provide("goog.foo.bar") will create the object + * goog.foo.bar if it does not already exist). + * + * Build tools also scan for provide/require/module statements + * to discern dependencies, build dependency files (see deps.js), etc. + * + * @see goog.require + * @see goog.module + * @param {string} name Namespace provided by this file in the form + * "goog.package.part". + */ +goog.provide = function(name) { + if (goog.isInModuleLoader_()) { + throw Error('goog.provide can not be used within a goog.module.'); + } + if (!COMPILED) { + // Ensure that the same namespace isn't provided twice. + // A goog.module/goog.provide maps a goog.require to a specific file + if (goog.isProvided_(name)) { + throw Error('Namespace "' + name + '" already declared.'); + } + } + + goog.constructNamespace_(name); +}; + + +/** + * @param {string} name Namespace provided by this file in the form + * "goog.package.part". + * @param {Object=} opt_obj The object to embed in the namespace. + * @private + */ +goog.constructNamespace_ = function(name, opt_obj) { + if (!COMPILED) { + delete goog.implicitNamespaces_[name]; + + var namespace = name; + while ((namespace = namespace.substring(0, namespace.lastIndexOf('.')))) { + if (goog.getObjectByName(namespace)) { + break; + } + goog.implicitNamespaces_[namespace] = true; + } + } + + goog.exportPath_(name, opt_obj); +}; + + +/** + * Module identifier validation regexp. + * Note: This is a conservative check, it is very possible to be more lenient, + * the primary exclusion here is "/" and "\" and a leading ".", these + * restrictions are intended to leave the door open for using goog.require + * with relative file paths rather than module identifiers. + * @private + */ +goog.VALID_MODULE_RE_ = /^[a-zA-Z_$][a-zA-Z0-9._$]*$/; + + +/** + * Defines a module in Closure. + * + * Marks that this file must be loaded as a module and claims the namespace. + * + * A namespace may only be defined once in a codebase. It may be defined using + * goog.provide() or goog.module(). + * + * goog.module() has three requirements: + * - goog.module may not be used in the same file as goog.provide. + * - goog.module must be the first statement in the file. + * - only one goog.module is allowed per file. + * + * When a goog.module annotated file is loaded, it is enclosed in + * a strict function closure. This means that: + * - any variables declared in a goog.module file are private to the file + * (not global), though the compiler is expected to inline the module. + * - The code must obey all the rules of "strict" JavaScript. + * - the file will be marked as "use strict" + * + * NOTE: unlike goog.provide, goog.module does not declare any symbols by + * itself. If declared symbols are desired, use + * goog.module.declareLegacyNamespace(). + * + * + * See the public goog.module proposal: http://goo.gl/Va1hin + * + * @param {string} name Namespace provided by this file in the form + * "goog.package.part", is expected but not required. + * @return {void} + */ +goog.module = function(name) { + if (!goog.isString(name) || !name || + name.search(goog.VALID_MODULE_RE_) == -1) { + throw Error('Invalid module identifier'); + } + if (!goog.isInModuleLoader_()) { + throw Error( + 'Module ' + name + ' has been loaded incorrectly. Note, ' + + 'modules cannot be loaded as normal scripts. They require some kind of ' + + 'pre-processing step. You\'re likely trying to load a module via a ' + + 'script tag or as a part of a concatenated bundle without rewriting the ' + + 'module. For more info see: ' + + 'https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.'); + } + if (goog.moduleLoaderState_.moduleName) { + throw Error('goog.module may only be called once per module.'); + } + + // Store the module name for the loader. + goog.moduleLoaderState_.moduleName = name; + if (!COMPILED) { + // Ensure that the same namespace isn't provided twice. + // A goog.module/goog.provide maps a goog.require to a specific file + if (goog.isProvided_(name)) { + throw Error('Namespace "' + name + '" already declared.'); + } + delete goog.implicitNamespaces_[name]; + } +}; + + +/** + * @param {string} name The module identifier. + * @return {?} The module exports for an already loaded module or null. + * + * Note: This is not an alternative to goog.require, it does not + * indicate a hard dependency, instead it is used to indicate + * an optional dependency or to access the exports of a module + * that has already been loaded. + * @suppress {missingProvide} + */ +goog.module.get = function(name) { + return goog.module.getInternal_(name); +}; + + +/** + * @param {string} name The module identifier. + * @return {?} The module exports for an already loaded module or null. + * @private + */ +goog.module.getInternal_ = function(name) { + if (!COMPILED) { + if (name in goog.loadedModules_) { + return goog.loadedModules_[name]; + } else if (!goog.implicitNamespaces_[name]) { + var ns = goog.getObjectByName(name); + return ns != null ? ns : null; + } + } + return null; +}; + + +/** + * @private {?{moduleName: (string|undefined), declareLegacyNamespace:boolean}} + */ +goog.moduleLoaderState_ = null; + + +/** + * @private + * @return {boolean} Whether a goog.module is currently being initialized. + */ +goog.isInModuleLoader_ = function() { + return goog.moduleLoaderState_ != null; +}; + + +/** + * Provide the module's exports as a globally accessible object under the + * module's declared name. This is intended to ease migration to goog.module + * for files that have existing usages. + * @suppress {missingProvide} + */ +goog.module.declareLegacyNamespace = function() { + if (!COMPILED && !goog.isInModuleLoader_()) { + throw new Error( + 'goog.module.declareLegacyNamespace must be called from ' + + 'within a goog.module'); + } + if (!COMPILED && !goog.moduleLoaderState_.moduleName) { + throw Error( + 'goog.module must be called prior to ' + + 'goog.module.declareLegacyNamespace.'); + } + goog.moduleLoaderState_.declareLegacyNamespace = true; +}; + + +/** + * Marks that the current file should only be used for testing, and never for + * live code in production. + * + * In the case of unit tests, the message may optionally be an exact namespace + * for the test (e.g. 'goog.stringTest'). The linter will then ignore the extra + * provide (if not explicitly defined in the code). + * + * @param {string=} opt_message Optional message to add to the error that's + * raised when used in production code. + */ +goog.setTestOnly = function(opt_message) { + if (goog.DISALLOW_TEST_ONLY_CODE) { + opt_message = opt_message || ''; + throw Error( + 'Importing test-only code into non-debug environment' + + (opt_message ? ': ' + opt_message : '.')); + } +}; + + +/** + * Forward declares a symbol. This is an indication to the compiler that the + * symbol may be used in the source yet is not required and may not be provided + * in compilation. + * + * The most common usage of forward declaration is code that takes a type as a + * function parameter but does not need to require it. By forward declaring + * instead of requiring, no hard dependency is made, and (if not required + * elsewhere) the namespace may never be required and thus, not be pulled + * into the JavaScript binary. If it is required elsewhere, it will be type + * checked as normal. + * + * Before using goog.forwardDeclare, please read the documentation at + * https://github.com/google/closure-compiler/wiki/Bad-Type-Annotation to + * understand the options and tradeoffs when working with forward declarations. + * + * @param {string} name The namespace to forward declare in the form of + * "goog.package.part". + */ +goog.forwardDeclare = function(name) {}; + + +/** + * Forward declare type information. Used to assign types to goog.global + * referenced object that would otherwise result in unknown type references + * and thus block property disambiguation. + */ +goog.forwardDeclare('Document'); +goog.forwardDeclare('HTMLScriptElement'); +goog.forwardDeclare('XMLHttpRequest'); + + +if (!COMPILED) { + /** + * Check if the given name has been goog.provided. This will return false for + * names that are available only as implicit namespaces. + * @param {string} name name of the object to look for. + * @return {boolean} Whether the name has been provided. + * @private + */ + goog.isProvided_ = function(name) { + return (name in goog.loadedModules_) || + (!goog.implicitNamespaces_[name] && + goog.isDefAndNotNull(goog.getObjectByName(name))); + }; + + /** + * Namespaces implicitly defined by goog.provide. For example, + * goog.provide('goog.events.Event') implicitly declares that 'goog' and + * 'goog.events' must be namespaces. + * + * @type {!Object} + * @private + */ + goog.implicitNamespaces_ = {'goog.module': true}; + + // NOTE: We add goog.module as an implicit namespace as goog.module is defined + // here and because the existing module package has not been moved yet out of + // the goog.module namespace. This satisifies both the debug loader and + // ahead-of-time dependency management. +} + + +/** + * Returns an object based on its fully qualified external name. The object + * is not found if null or undefined. If you are using a compilation pass that + * renames property names beware that using this function will not find renamed + * properties. + * + * @param {string} name The fully qualified name. + * @param {Object=} opt_obj The object within which to look; default is + * |goog.global|. + * @return {?} The value (object or primitive) or, if not found, null. + */ +goog.getObjectByName = function(name, opt_obj) { + var parts = name.split('.'); + var cur = opt_obj || goog.global; + for (var part; part = parts.shift();) { + if (goog.isDefAndNotNull(cur[part])) { + cur = cur[part]; + } else { + return null; + } + } + return cur; +}; + + +/** + * Globalizes a whole namespace, such as goog or goog.lang. + * + * @param {!Object} obj The namespace to globalize. + * @param {Object=} opt_global The object to add the properties to. + * @deprecated Properties may be explicitly exported to the global scope, but + * this should no longer be done in bulk. + */ +goog.globalize = function(obj, opt_global) { + var global = opt_global || goog.global; + for (var x in obj) { + global[x] = obj[x]; + } +}; + + +/** + * Adds a dependency from a file to the files it requires. + * @param {string} relPath The path to the js file. + * @param {!Array} provides An array of strings with + * the names of the objects this file provides. + * @param {!Array} requires An array of strings with + * the names of the objects this file requires. + * @param {boolean|!Object=} opt_loadFlags Parameters indicating + * how the file must be loaded. The boolean 'true' is equivalent + * to {'module': 'goog'} for backwards-compatibility. Valid properties + * and values include {'module': 'goog'} and {'lang': 'es6'}. + */ +goog.addDependency = function(relPath, provides, requires, opt_loadFlags) { + if (goog.DEPENDENCIES_ENABLED) { + var provide, require; + var path = relPath.replace(/\\/g, '/'); + var deps = goog.dependencies_; + if (!opt_loadFlags || typeof opt_loadFlags === 'boolean') { + opt_loadFlags = opt_loadFlags ? {'module': 'goog'} : {}; + } + for (var i = 0; provide = provides[i]; i++) { + deps.nameToPath[provide] = path; + deps.loadFlags[path] = opt_loadFlags; + } + for (var j = 0; require = requires[j]; j++) { + if (!(path in deps.requires)) { + deps.requires[path] = {}; + } + deps.requires[path][require] = true; + } + } +}; + + + + +// NOTE(nnaze): The debug DOM loader was included in base.js as an original way +// to do "debug-mode" development. The dependency system can sometimes be +// confusing, as can the debug DOM loader's asynchronous nature. +// +// With the DOM loader, a call to goog.require() is not blocking -- the script +// will not load until some point after the current script. If a namespace is +// needed at runtime, it needs to be defined in a previous script, or loaded via +// require() with its registered dependencies. +// +// User-defined namespaces may need their own deps file. For a reference on +// creating a deps file, see: +// Externally: https://developers.google.com/closure/library/docs/depswriter +// +// Because of legacy clients, the DOM loader can't be easily removed from +// base.js. Work is being done to make it disableable or replaceable for +// different environments (DOM-less JavaScript interpreters like Rhino or V8, +// for example). See bootstrap/ for more information. + + +/** + * @define {boolean} Whether to enable the debug loader. + * + * If enabled, a call to goog.require() will attempt to load the namespace by + * appending a script tag to the DOM (if the namespace has been registered). + * + * If disabled, goog.require() will simply assert that the namespace has been + * provided (and depend on the fact that some outside tool correctly ordered + * the script). + */ +goog.define('goog.ENABLE_DEBUG_LOADER', true); + + +/** + * @param {string} msg + * @private + */ +goog.logToConsole_ = function(msg) { + if (goog.global.console) { + goog.global.console['error'](msg); + } +}; + + +/** + * Implements a system for the dynamic resolution of dependencies that works in + * parallel with the BUILD system. Note that all calls to goog.require will be + * stripped by the JSCompiler when the --process_closure_primitives option is + * used. + * @see goog.provide + * @param {string} name Namespace to include (as was given in goog.provide()) in + * the form "goog.package.part". + * @return {?} If called within a goog.module file, the associated namespace or + * module otherwise null. + */ +goog.require = function(name) { + // If the object already exists we do not need do do anything. + if (!COMPILED) { + if (goog.ENABLE_DEBUG_LOADER && goog.IS_OLD_IE_) { + goog.maybeProcessDeferredDep_(name); + } + + if (goog.isProvided_(name)) { + if (goog.isInModuleLoader_()) { + return goog.module.getInternal_(name); + } + } else if (goog.ENABLE_DEBUG_LOADER) { + var path = goog.getPathFromDeps_(name); + if (path) { + goog.writeScripts_(path); + } else { + var errorMessage = 'goog.require could not find: ' + name; + goog.logToConsole_(errorMessage); + + throw Error(errorMessage); + } + } + + return null; + } +}; + + +/** + * Path for included scripts. + * @type {string} + */ +goog.basePath = ''; + + +/** + * A hook for overriding the base path. + * @type {string|undefined} + */ +goog.global.CLOSURE_BASE_PATH; + + +/** + * Whether to write out Closure's deps file. By default, the deps are written. + * @type {boolean|undefined} + */ +goog.global.CLOSURE_NO_DEPS; + + +/** + * A function to import a single script. This is meant to be overridden when + * Closure is being run in non-HTML contexts, such as web workers. It's defined + * in the global scope so that it can be set before base.js is loaded, which + * allows deps.js to be imported properly. + * + * The function is passed the script source, which is a relative URI. It should + * return true if the script was imported, false otherwise. + * @type {(function(string): boolean)|undefined} + */ +goog.global.CLOSURE_IMPORT_SCRIPT; + + +/** + * Null function used for default values of callbacks, etc. + * @return {void} Nothing. + */ +goog.nullFunction = function() {}; + + +/** + * When defining a class Foo with an abstract method bar(), you can do: + * Foo.prototype.bar = goog.abstractMethod + * + * Now if a subclass of Foo fails to override bar(), an error will be thrown + * when bar() is invoked. + * + * Note: This does not take the name of the function to override as an argument + * because that would make it more difficult to obfuscate our JavaScript code. + * + * @type {!Function} + * @throws {Error} when invoked to indicate the method should be overridden. + */ +goog.abstractMethod = function() { + throw Error('unimplemented abstract method'); +}; + + +/** + * Adds a {@code getInstance} static method that always returns the same + * instance object. + * @param {!Function} ctor The constructor for the class to add the static + * method to. + */ +goog.addSingletonGetter = function(ctor) { + // instance_ is immediately set to prevent issues with sealed constructors + // such as are encountered when a constructor is returned as the export object + // of a goog.module in unoptimized code. + ctor.instance_ = undefined; + ctor.getInstance = function() { + if (ctor.instance_) { + return ctor.instance_; + } + if (goog.DEBUG) { + // NOTE: JSCompiler can't optimize away Array#push. + goog.instantiatedSingletons_[goog.instantiatedSingletons_.length] = ctor; + } + return ctor.instance_ = new ctor; + }; +}; + + +/** + * All singleton classes that have been instantiated, for testing. Don't read + * it directly, use the {@code goog.testing.singleton} module. The compiler + * removes this variable if unused. + * @type {!Array} + * @private + */ +goog.instantiatedSingletons_ = []; + + +/** + * @define {boolean} Whether to load goog.modules using {@code eval} when using + * the debug loader. This provides a better debugging experience as the + * source is unmodified and can be edited using Chrome Workspaces or similar. + * However in some environments the use of {@code eval} is banned + * so we provide an alternative. + */ +goog.define('goog.LOAD_MODULE_USING_EVAL', true); + + +/** + * @define {boolean} Whether the exports of goog.modules should be sealed when + * possible. + */ +goog.define('goog.SEAL_MODULE_EXPORTS', goog.DEBUG); + + +/** + * The registry of initialized modules: + * the module identifier to module exports map. + * @private @const {!Object} + */ +goog.loadedModules_ = {}; + + +/** + * True if goog.dependencies_ is available. + * @const {boolean} + */ +goog.DEPENDENCIES_ENABLED = !COMPILED && goog.ENABLE_DEBUG_LOADER; + + +/** + * @define {string} How to decide whether to transpile. Valid values + * are 'always', 'never', and 'detect'. The default ('detect') is to + * use feature detection to determine which language levels need + * transpilation. + */ +// NOTE(user): we could expand this to accept a language level to bypass +// detection: e.g. goog.TRANSPILE == 'es5' would transpile ES6 files but +// would leave ES3 and ES5 files alone. +goog.define('goog.TRANSPILE', 'detect'); + + +/** + * @define {string} Path to the transpiler. Executing the script at this + * path (relative to base.js) should define a function $jscomp.transpile. + */ +goog.define('goog.TRANSPILER', 'transpile.js'); + + +if (goog.DEPENDENCIES_ENABLED) { + /** + * This object is used to keep track of dependencies and other data that is + * used for loading scripts. + * @private + * @type {{ + * loadFlags: !Object>, + * nameToPath: !Object, + * requires: !Object>, + * visited: !Object, + * written: !Object, + * deferred: !Object + * }} + */ + goog.dependencies_ = { + loadFlags: {}, // 1 to 1 + + nameToPath: {}, // 1 to 1 + + requires: {}, // 1 to many + + // Used when resolving dependencies to prevent us from visiting file twice. + visited: {}, + + written: {}, // Used to keep track of script files we have written. + + deferred: {} // Used to track deferred module evaluations in old IEs + }; + + + /** + * Tries to detect whether is in the context of an HTML document. + * @return {boolean} True if it looks like HTML document. + * @private + */ + goog.inHtmlDocument_ = function() { + /** @type {Document} */ + var doc = goog.global.document; + return doc != null && 'write' in doc; // XULDocument misses write. + }; + + + /** + * Tries to detect the base path of base.js script that bootstraps Closure. + * @private + */ + goog.findBasePath_ = function() { + if (goog.isDef(goog.global.CLOSURE_BASE_PATH)) { + goog.basePath = goog.global.CLOSURE_BASE_PATH; + return; + } else if (!goog.inHtmlDocument_()) { + return; + } + /** @type {Document} */ + var doc = goog.global.document; + var scripts = doc.getElementsByTagName('SCRIPT'); + // Search backwards since the current script is in almost all cases the one + // that has base.js. + for (var i = scripts.length - 1; i >= 0; --i) { + var script = /** @type {!HTMLScriptElement} */ (scripts[i]); + var src = script.src; + var qmark = src.lastIndexOf('?'); + var l = qmark == -1 ? src.length : qmark; + if (src.substr(l - 7, 7) == 'base.js') { + goog.basePath = src.substr(0, l - 7); + return; + } + } + }; + + + /** + * Imports a script if, and only if, that script hasn't already been imported. + * (Must be called at execution time) + * @param {string} src Script source. + * @param {string=} opt_sourceText The optionally source text to evaluate + * @private + */ + goog.importScript_ = function(src, opt_sourceText) { + var importScript = + goog.global.CLOSURE_IMPORT_SCRIPT || goog.writeScriptTag_; + if (importScript(src, opt_sourceText)) { + goog.dependencies_.written[src] = true; + } + }; + + + /** + * Whether the browser is IE9 or earlier, which needs special handling + * for deferred modules. + * @const @private {boolean} + */ + goog.IS_OLD_IE_ = + !!(!goog.global.atob && goog.global.document && goog.global.document.all); + + + /** + * Given a URL initiate retrieval and execution of a script that needs + * pre-processing. + * @param {string} src Script source URL. + * @param {boolean} isModule Whether this is a goog.module. + * @param {boolean} needsTranspile Whether this source needs transpilation. + * @private + */ + goog.importProcessedScript_ = function(src, isModule, needsTranspile) { + // In an attempt to keep browsers from timing out loading scripts using + // synchronous XHRs, put each load in its own script block. + var bootstrap = 'goog.retrieveAndExec_("' + src + '", ' + isModule + ', ' + + needsTranspile + ');'; + + goog.importScript_('', bootstrap); + }; + + + /** @private {!Array} */ + goog.queuedModules_ = []; + + + /** + * Return an appropriate module text. Suitable to insert into + * a script tag (that is unescaped). + * @param {string} srcUrl + * @param {string} scriptText + * @return {string} + * @private + */ + goog.wrapModule_ = function(srcUrl, scriptText) { + if (!goog.LOAD_MODULE_USING_EVAL || !goog.isDef(goog.global.JSON)) { + return '' + + 'goog.loadModule(function(exports) {' + + '"use strict";' + scriptText + + '\n' + // terminate any trailing single line comment. + ';return exports' + + '});' + + '\n//# sourceURL=' + srcUrl + '\n'; + } else { + return '' + + 'goog.loadModule(' + + goog.global.JSON.stringify( + scriptText + '\n//# sourceURL=' + srcUrl + '\n') + + ');'; + } + }; + + // On IE9 and earlier, it is necessary to handle + // deferred module loads. In later browsers, the + // code to be evaluated is simply inserted as a script + // block in the correct order. To eval deferred + // code at the right time, we piggy back on goog.require to call + // goog.maybeProcessDeferredDep_. + // + // The goog.requires are used both to bootstrap + // the loading process (when no deps are available) and + // declare that they should be available. + // + // Here we eval the sources, if all the deps are available + // either already eval'd or goog.require'd. This will + // be the case when all the dependencies have already + // been loaded, and the dependent module is loaded. + // + // But this alone isn't sufficient because it is also + // necessary to handle the case where there is no root + // that is not deferred. For that there we register for an event + // and trigger goog.loadQueuedModules_ handle any remaining deferred + // evaluations. + + /** + * Handle any remaining deferred goog.module evals. + * @private + */ + goog.loadQueuedModules_ = function() { + var count = goog.queuedModules_.length; + if (count > 0) { + var queue = goog.queuedModules_; + goog.queuedModules_ = []; + for (var i = 0; i < count; i++) { + var path = queue[i]; + goog.maybeProcessDeferredPath_(path); + } + } + }; + + + /** + * Eval the named module if its dependencies are + * available. + * @param {string} name The module to load. + * @private + */ + goog.maybeProcessDeferredDep_ = function(name) { + if (goog.isDeferredModule_(name) && goog.allDepsAreAvailable_(name)) { + var path = goog.getPathFromDeps_(name); + goog.maybeProcessDeferredPath_(goog.basePath + path); + } + }; + + /** + * @param {string} name The module to check. + * @return {boolean} Whether the name represents a + * module whose evaluation has been deferred. + * @private + */ + goog.isDeferredModule_ = function(name) { + var path = goog.getPathFromDeps_(name); + var loadFlags = path && goog.dependencies_.loadFlags[path] || {}; + var languageLevel = loadFlags['lang'] || 'es3'; + if (path && (loadFlags['module'] == 'goog' || + goog.needsTranspile_(languageLevel))) { + var abspath = goog.basePath + path; + return (abspath) in goog.dependencies_.deferred; + } + return false; + }; + + /** + * @param {string} name The module to check. + * @return {boolean} Whether the name represents a + * module whose declared dependencies have all been loaded + * (eval'd or a deferred module load) + * @private + */ + goog.allDepsAreAvailable_ = function(name) { + var path = goog.getPathFromDeps_(name); + if (path && (path in goog.dependencies_.requires)) { + for (var requireName in goog.dependencies_.requires[path]) { + if (!goog.isProvided_(requireName) && + !goog.isDeferredModule_(requireName)) { + return false; + } + } + } + return true; + }; + + + /** + * @param {string} abspath + * @private + */ + goog.maybeProcessDeferredPath_ = function(abspath) { + if (abspath in goog.dependencies_.deferred) { + var src = goog.dependencies_.deferred[abspath]; + delete goog.dependencies_.deferred[abspath]; + goog.globalEval(src); + } + }; + + + /** + * Load a goog.module from the provided URL. This is not a general purpose + * code loader and does not support late loading code, that is it should only + * be used during page load. This method exists to support unit tests and + * "debug" loaders that would otherwise have inserted script tags. Under the + * hood this needs to use a synchronous XHR and is not recommeneded for + * production code. + * + * The module's goog.requires must have already been satisified; an exception + * will be thrown if this is not the case. This assumption is that no + * "deps.js" file exists, so there is no way to discover and locate the + * module-to-be-loaded's dependencies and no attempt is made to do so. + * + * There should only be one attempt to load a module. If + * "goog.loadModuleFromUrl" is called for an already loaded module, an + * exception will be throw. + * + * @param {string} url The URL from which to attempt to load the goog.module. + */ + goog.loadModuleFromUrl = function(url) { + // Because this executes synchronously, we don't need to do any additional + // bookkeeping. When "goog.loadModule" the namespace will be marked as + // having been provided which is sufficient. + goog.retrieveAndExec_(url, true, false); + }; + + + /** + * Writes a new script pointing to {@code src} directly into the DOM. + * + * NOTE: This method is not CSP-compliant. @see goog.appendScriptSrcNode_ for + * the fallback mechanism. + * + * @param {string} src The script URL. + * @private + */ + goog.writeScriptSrcNode_ = function(src) { + goog.global.document.write( + '