;(function(root, factory) { 'use strict' if (typeof define === 'function' && define.amd) { define([], factory) } Cesium['viewerCesiumNavigationMixin'] = factory() })( typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : this, function() { var requirejs, require, define ;(function(undef) { var main, req, makeMap, handlers, defined = {}, waiting = {}, config = {}, defining = {}, hasOwn = Object.prototype.hasOwnProperty, aps = [].slice, jsSuffixRegExp = /\.js$/ function hasProp(obj, prop) { return hasOwn.call(obj, prop) } function normalize(name, baseName) { var nameParts, nameSegment, mapValue, foundMap, lastIndex, foundI, foundStarMap, starI, i, j, part, normalizedBaseParts, baseParts = baseName && baseName.split('/'), map = config.map, starMap = (map && map['*']) || {} if (name) { name = name.split('/') lastIndex = name.length - 1 if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) { name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, '') } if (name[0].charAt(0) === '.' && baseParts) { normalizedBaseParts = baseParts.slice(0, baseParts.length - 1) name = normalizedBaseParts.concat(name) } for (i = 0; i < name.length; i++) { part = name[i] if (part === '.') { name.splice(i, 1) i -= 1 } else if (part === '..') { if ( i === 0 || (i === 1 && name[2] === '..') || name[i - 1] === '..' ) { continue } else if (i > 0) { name.splice(i - 1, 2) i -= 2 } } } name = name.join('/') } if ((baseParts || starMap) && map) { nameParts = name.split('/') for (i = nameParts.length; i > 0; i -= 1) { nameSegment = nameParts.slice(0, i).join('/') if (baseParts) { for (j = baseParts.length; j > 0; j -= 1) { mapValue = map[baseParts.slice(0, j).join('/')] if (mapValue) { mapValue = mapValue[nameSegment] if (mapValue) { foundMap = mapValue foundI = i break } } } } if (foundMap) { break } if (!foundStarMap && starMap && starMap[nameSegment]) { foundStarMap = starMap[nameSegment] starI = i } } if (!foundMap && foundStarMap) { foundMap = foundStarMap foundI = starI } if (foundMap) { nameParts.splice(0, foundI, foundMap) name = nameParts.join('/') } } return name } function makeRequire(relName, forceSync) { return function() { var args = aps.call(arguments, 0) if (typeof args[0] !== 'string' && args.length === 1) { args.push(null) } return req.apply(undef, args.concat([relName, forceSync])) } } function makeNormalize(relName) { return function(name) { return normalize(name, relName) } } function makeLoad(depName) { return function(value) { defined[depName] = value } } function callDep(name) { if (hasProp(waiting, name)) { var args = waiting[name] delete waiting[name] defining[name] = true main.apply(undef, args) } if (!hasProp(defined, name) && !hasProp(defining, name)) { throw new Error('No ' + name) } return defined[name] } function splitPrefix(name) { var prefix, index = name ? name.indexOf('!') : -1 if (index > -1) { prefix = name.substring(0, index) name = name.substring(index + 1, name.length) } return [prefix, name] } makeMap = function(name, relName) { var plugin, parts = splitPrefix(name), prefix = parts[0] name = parts[1] if (prefix) { prefix = normalize(prefix, relName) plugin = callDep(prefix) } if (prefix) { if (plugin && plugin.normalize) { name = plugin.normalize(name, makeNormalize(relName)) } else { name = normalize(name, relName) } } else { name = normalize(name, relName) parts = splitPrefix(name) prefix = parts[0] name = parts[1] if (prefix) { plugin = callDep(prefix) } } return { f: prefix ? prefix + '!' + name : name, n: name, pr: prefix, p: plugin } } function makeConfig(name) { return function() { return (config && config.config && config.config[name]) || {} } } handlers = { require: function(name) { return makeRequire(name) }, exports: function(name) { var e = defined[name] if (typeof e !== 'undefined') { return e } else { return (defined[name] = {}) } }, module: function(name) { return { id: name, uri: '', exports: defined[name], config: makeConfig(name) } } } main = function(name, deps, callback, relName) { var cjsModule, depName, ret, map, i, args = [], callbackType = typeof callback, usingExports relName = relName || name if (callbackType === 'undefined' || callbackType === 'function') { deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps for (i = 0; i < deps.length; i += 1) { map = makeMap(deps[i], relName) depName = map.f if (depName === 'require') { args[i] = handlers.require(name) } else if (depName === 'exports') { args[i] = handlers.exports(name) usingExports = true } else if (depName === 'module') { cjsModule = args[i] = handlers.module(name) } else if ( hasProp(defined, depName) || hasProp(waiting, depName) || hasProp(defining, depName) ) { args[i] = callDep(depName) } else if (map.p) { map.p.load( map.n, makeRequire(relName, true), makeLoad(depName), {} ) args[i] = defined[depName] } else { throw new Error(name + ' missing ' + depName) } } ret = callback ? callback.apply(defined[name], args) : undefined if (name) { if ( cjsModule && cjsModule.exports !== undef && cjsModule.exports !== defined[name] ) { defined[name] = cjsModule.exports } else if (ret !== undef || !usingExports) { defined[name] = ret } } } else if (name) { defined[name] = callback } } requirejs = require = req = function( deps, callback, relName, forceSync, alt ) { if (typeof deps === 'string') { if (handlers[deps]) { return handlers[deps](callback) } return callDep(makeMap(deps, callback).f) } else if (!deps.splice) { config = deps if (config.deps) { req(config.deps, config.callback) } if (!callback) { return } if (callback.splice) { deps = callback callback = relName relName = null } else { deps = undef } } callback = callback || function() {} if (typeof relName === 'function') { relName = forceSync forceSync = alt } if (forceSync) { main(undef, deps, callback, relName) } else { setTimeout(function() { main(undef, deps, callback, relName) }, 4) } return req } req.config = function(cfg) { return req(cfg) } requirejs._defined = defined define = function(name, deps, callback) { if (typeof name !== 'string') { throw new Error( 'See almond README: incorrect module build, no module name' ) } if (!deps.splice) { callback = deps deps = [] } if (!hasProp(defined, name) && !hasProp(waiting, name)) { waiting[name] = [name, deps, callback] } } define.amd = { jQuery: true } })() define('almond', function() {}) ;(function() { ;(function(n) { var x = this || (0, eval)('this'), u = x.document, M = x.navigator, v = x.jQuery, F = x.JSON ;(function(n) { 'function' === typeof define && define.amd ? define('knockout', ['exports', 'require'], n) : 'object' === typeof exports && 'object' === typeof module ? n(module.exports || exports) : n((x.ko = {})) })(function(N, O) { function J(a, c) { return null === a || typeof a in T ? a === c : !1 } function U(b, c) { var d return function() { d || (d = a.a.setTimeout(function() { d = n b() }, c)) } } function V(b, c) { var d return function() { clearTimeout(d) d = a.a.setTimeout(b, c) } } function W(a, c) { c && c !== I ? 'beforeChange' === c ? this.Kb(a) : this.Ha(a, c) : this.Lb(a) } function X(a, c) { null !== c && c.k && c.k() } function Y(a, c) { var d = this.Hc, e = d[s] e.R || (this.lb && this.Ma[c] ? (d.Pb(c, a, this.Ma[c]), (this.Ma[c] = null), --this.lb) : e.r[c] || d.Pb(c, a, e.s ? { ia: a } : d.uc(a))) } function K(b, c, d, e) { a.d[b] = { init: function(b, g, k, l, m) { var h, r a.m( function() { var q = a.a.c(g()), p = !d !== !q, A = !r if (A || c || p !== h) A && a.va.Aa() && (r = a.a.ua(a.f.childNodes(b), !0)), p ? (A || a.f.da(b, a.a.ua(r)), a.eb(e ? e(m, q) : m, b)) : a.f.xa(b), (h = p) }, null, { i: b } ) return { controlsDescendantBindings: !0 } } } a.h.ta[b] = !1 a.f.Z[b] = !0 } var a = 'undefined' !== typeof N ? N : {} a.b = function(b, c) { for (var d = b.split('.'), e = a, f = 0; f < d.length - 1; f++) e = e[d[f]] e[d[d.length - 1]] = c } a.G = function(a, c, d) { a[c] = d } a.version = '3.4.0' a.b('version', a.version) a.options = { deferUpdates: !1, useOnlyNativeEvents: !1 } a.a = (function() { function b(a, b) { for (var c in a) a.hasOwnProperty(c) && b(c, a[c]) } function c(a, b) { if (b) for (var c in b) b.hasOwnProperty(c) && (a[c] = b[c]) return a } function d(a, b) { a.__proto__ = b return a } function e(b, c, d, e) { var h = b[c].match(r) || [] a.a.q(d.match(r), function(b) { a.a.pa(h, b, e) }) b[c] = h.join(' ') } var f = { __proto__: [] } instanceof Array, g = 'function' === typeof Symbol, k = {}, l = {} k[ M && /Firefox\/2/i.test(M.userAgent) ? 'KeyboardEvent' : 'UIEvents' ] = ['keyup', 'keydown', 'keypress'] k.MouseEvents = 'click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave'.split( ' ' ) b(k, function(a, b) { if (b.length) for (var c = 0, d = b.length; c < d; c++) l[b[c]] = a }) var m = { propertychange: !0 }, h = u && (function() { for ( var a = 3, b = u.createElement('div'), c = b.getElementsByTagName('i'); (b.innerHTML = ''), c[0]; ); return 4 < a ? a : n })(), r = /\S+/g return { cc: ['authenticity_token', /^__RequestVerificationToken(_.*)?$/], q: function(a, b) { for (var c = 0, d = a.length; c < d; c++) b(a[c], c) }, o: function(a, b) { if ('function' == typeof Array.prototype.indexOf) return Array.prototype.indexOf.call(a, b) for (var c = 0, d = a.length; c < d; c++) if (a[c] === b) return c return -1 }, Sb: function(a, b, c) { for (var d = 0, e = a.length; d < e; d++) if (b.call(c, a[d], d)) return a[d] return null }, La: function(b, c) { var d = a.a.o(b, c) 0 < d ? b.splice(d, 1) : 0 === d && b.shift() }, Tb: function(b) { b = b || [] for (var c = [], d = 0, e = b.length; d < e; d++) 0 > a.a.o(c, b[d]) && c.push(b[d]) return c }, fb: function(a, b) { a = a || [] for (var c = [], d = 0, e = a.length; d < e; d++) c.push(b(a[d], d)) return c }, Ka: function(a, b) { a = a || [] for (var c = [], d = 0, e = a.length; d < e; d++) b(a[d], d) && c.push(a[d]) return c }, ra: function(a, b) { if (b instanceof Array) a.push.apply(a, b) else for (var c = 0, d = b.length; c < d; c++) a.push(b[c]) return a }, pa: function(b, c, d) { var e = a.a.o(a.a.zb(b), c) 0 > e ? d && b.push(c) : d || b.splice(e, 1) }, ka: f, extend: c, Xa: d, Ya: f ? d : c, D: b, Ca: function(a, b) { if (!a) return a var c = {}, d for (d in a) a.hasOwnProperty(d) && (c[d] = b(a[d], d, a)) return c }, ob: function(b) { for (; b.firstChild; ) a.removeNode(b.firstChild) }, jc: function(b) { b = a.a.V(b) for ( var c = ((b[0] && b[0].ownerDocument) || u).createElement( 'div' ), d = 0, e = b.length; d < e; d++ ) c.appendChild(a.$(b[d])) return c }, ua: function(b, c) { for (var d = 0, e = b.length, h = []; d < e; d++) { var m = b[d].cloneNode(!0) h.push(c ? a.$(m) : m) } return h }, da: function(b, c) { a.a.ob(b) if (c) for (var d = 0, e = c.length; d < e; d++) b.appendChild(c[d]) }, qc: function(b, c) { var d = b.nodeType ? [b] : b if (0 < d.length) { for ( var e = d[0], h = e.parentNode, m = 0, l = c.length; m < l; m++ ) h.insertBefore(c[m], e) m = 0 for (l = d.length; m < l; m++) a.removeNode(d[m]) } }, za: function(a, b) { if (a.length) { for ( b = (8 === b.nodeType && b.parentNode) || b; a.length && a[0].parentNode !== b; ) a.splice(0, 1) for (; 1 < a.length && a[a.length - 1].parentNode !== b; ) a.length-- if (1 < a.length) { var c = a[0], d = a[a.length - 1] for (a.length = 0; c !== d; ) a.push(c), (c = c.nextSibling) a.push(d) } } return a }, sc: function(a, b) { 7 > h ? a.setAttribute('selected', b) : (a.selected = b) }, $a: function(a) { return null === a || a === n ? '' : a.trim ? a.trim() : a.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g, '') }, nd: function(a, b) { a = a || '' return b.length > a.length ? !1 : a.substring(0, b.length) === b }, Mc: function(a, b) { if (a === b) return !0 if (11 === a.nodeType) return !1 if (b.contains) return b.contains(3 === a.nodeType ? a.parentNode : a) if (b.compareDocumentPosition) return 16 == (b.compareDocumentPosition(a) & 16) for (; a && a != b; ) a = a.parentNode return !!a }, nb: function(b) { return a.a.Mc(b, b.ownerDocument.documentElement) }, Qb: function(b) { return !!a.a.Sb(b, a.a.nb) }, A: function(a) { return a && a.tagName && a.tagName.toLowerCase() }, Wb: function(b) { return a.onError ? function() { try { return b.apply(this, arguments) } catch (c) { throw (a.onError && a.onError(c), c) } } : b }, setTimeout: function(b, c) { return setTimeout(a.a.Wb(b), c) }, $b: function(b) { setTimeout(function() { a.onError && a.onError(b) throw b }, 0) }, p: function(b, c, d) { var e = a.a.Wb(d) d = h && m[c] if (a.options.useOnlyNativeEvents || d || !v) if (d || 'function' != typeof b.addEventListener) if ('undefined' != typeof b.attachEvent) { var l = function(a) { e.call(b, a) }, f = 'on' + c b.attachEvent(f, l) a.a.F.oa(b, function() { b.detachEvent(f, l) }) } else throw Error( "Browser doesn't support addEventListener or attachEvent" ) else b.addEventListener(c, e, !1) else v(b).bind(c, e) }, Da: function(b, c) { if (!b || !b.nodeType) throw Error( 'element must be a DOM node when calling triggerEvent' ) var d 'input' === a.a.A(b) && b.type && 'click' == c.toLowerCase() ? ((d = b.type), (d = 'checkbox' == d || 'radio' == d)) : (d = !1) if (a.options.useOnlyNativeEvents || !v || d) if ('function' == typeof u.createEvent) if ('function' == typeof b.dispatchEvent) (d = u.createEvent(l[c] || 'HTMLEvents')), d.initEvent( c, !0, !0, x, 0, 0, 0, 0, 0, !1, !1, !1, !1, 0, b ), b.dispatchEvent(d) else throw Error( "The supplied element doesn't support dispatchEvent" ) else if (d && b.click) b.click() else if ('undefined' != typeof b.fireEvent) b.fireEvent('on' + c) else throw Error("Browser doesn't support triggering events") else v(b).trigger(c) }, c: function(b) { return a.H(b) ? b() : b }, zb: function(b) { return a.H(b) ? b.t() : b }, bb: function(b, c, d) { var h c && ('object' === typeof b.classList ? ((h = b.classList[d ? 'add' : 'remove']), a.a.q(c.match(r), function(a) { h.call(b.classList, a) })) : 'string' === typeof b.className.baseVal ? e(b.className, 'baseVal', c, d) : e(b, 'className', c, d)) }, Za: function(b, c) { var d = a.a.c(c) if (null === d || d === n) d = '' var e = a.f.firstChild(b) !e || 3 != e.nodeType || a.f.nextSibling(e) ? a.f.da(b, [b.ownerDocument.createTextNode(d)]) : (e.data = d) a.a.Rc(b) }, rc: function(a, b) { a.name = b if (7 >= h) try { a.mergeAttributes( u.createElement(""), !1 ) } catch (c) {} }, Rc: function(a) { 9 <= h && ((a = 1 == a.nodeType ? a : a.parentNode), a.style && (a.style.zoom = a.style.zoom)) }, Nc: function(a) { if (h) { var b = a.style.width a.style.width = 0 a.style.width = b } }, hd: function(b, c) { b = a.a.c(b) c = a.a.c(c) for (var d = [], e = b; e <= c; e++) d.push(e) return d }, V: function(a) { for (var b = [], c = 0, d = a.length; c < d; c++) b.push(a[c]) return b }, Yb: function(a) { return g ? Symbol(a) : a }, rd: 6 === h, sd: 7 === h, C: h, ec: function(b, c) { for ( var d = a.a .V(b.getElementsByTagName('input')) .concat(a.a.V(b.getElementsByTagName('textarea'))), e = 'string' == typeof c ? function(a) { return a.name === c } : function(a) { return c.test(a.name) }, h = [], m = d.length - 1; 0 <= m; m-- ) e(d[m]) && h.push(d[m]) return h }, ed: function(b) { return 'string' == typeof b && (b = a.a.$a(b)) ? F && F.parse ? F.parse(b) : new Function('return ' + b)() : null }, Eb: function(b, c, d) { if (!F || !F.stringify) throw Error( "Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js" ) return F.stringify(a.a.c(b), c, d) }, fd: function(c, d, e) { e = e || {} var h = e.params || {}, m = e.includeFields || this.cc, l = c if ('object' == typeof c && 'form' === a.a.A(c)) for (var l = c.action, f = m.length - 1; 0 <= f; f--) for (var g = a.a.ec(c, m[f]), k = g.length - 1; 0 <= k; k--) h[g[k].name] = g[k].value d = a.a.c(d) var r = u.createElement('form') r.style.display = 'none' r.action = l r.method = 'post' for (var n in d) (c = u.createElement('input')), (c.type = 'hidden'), (c.name = n), (c.value = a.a.Eb(a.a.c(d[n]))), r.appendChild(c) b(h, function(a, b) { var c = u.createElement('input') c.type = 'hidden' c.name = a c.value = b r.appendChild(c) }) u.body.appendChild(r) e.submitter ? e.submitter(r) : r.submit() setTimeout(function() { r.parentNode.removeChild(r) }, 0) } } })() a.b('utils', a.a) a.b('utils.arrayForEach', a.a.q) a.b('utils.arrayFirst', a.a.Sb) a.b('utils.arrayFilter', a.a.Ka) a.b('utils.arrayGetDistinctValues', a.a.Tb) a.b('utils.arrayIndexOf', a.a.o) a.b('utils.arrayMap', a.a.fb) a.b('utils.arrayPushAll', a.a.ra) a.b('utils.arrayRemoveItem', a.a.La) a.b('utils.extend', a.a.extend) a.b('utils.fieldsIncludedWithJsonPost', a.a.cc) a.b('utils.getFormFields', a.a.ec) a.b('utils.peekObservable', a.a.zb) a.b('utils.postJson', a.a.fd) a.b('utils.parseJson', a.a.ed) a.b('utils.registerEventHandler', a.a.p) a.b('utils.stringifyJson', a.a.Eb) a.b('utils.range', a.a.hd) a.b('utils.toggleDomNodeCssClass', a.a.bb) a.b('utils.triggerEvent', a.a.Da) a.b('utils.unwrapObservable', a.a.c) a.b('utils.objectForEach', a.a.D) a.b('utils.addOrRemoveItem', a.a.pa) a.b('utils.setTextContent', a.a.Za) a.b('unwrap', a.a.c) Function.prototype.bind || (Function.prototype.bind = function(a) { var c = this if (1 === arguments.length) return function() { return c.apply(a, arguments) } var d = Array.prototype.slice.call(arguments, 1) return function() { var e = d.slice(0) e.push.apply(e, arguments) return c.apply(a, e) } }) a.a.e = new (function() { function a(b, g) { var k = b[d] if (!k || 'null' === k || !e[k]) { if (!g) return n k = b[d] = 'ko' + c++ e[k] = {} } return e[k] } var c = 0, d = '__ko__' + new Date().getTime(), e = {} return { get: function(c, d) { var e = a(c, !1) return e === n ? n : e[d] }, set: function(c, d, e) { if (e !== n || a(c, !1) !== n) a(c, !0)[d] = e }, clear: function(a) { var b = a[d] return b ? (delete e[b], (a[d] = null), !0) : !1 }, I: function() { return c++ + d } } })() a.b('utils.domData', a.a.e) a.b('utils.domData.clear', a.a.e.clear) a.a.F = new (function() { function b(b, c) { var e = a.a.e.get(b, d) e === n && c && ((e = []), a.a.e.set(b, d, e)) return e } function c(d) { var e = b(d, !1) if (e) for (var e = e.slice(0), l = 0; l < e.length; l++) e[l](d) a.a.e.clear(d) a.a.F.cleanExternalData(d) if (f[d.nodeType]) for (e = d.firstChild; (d = e); ) (e = d.nextSibling), 8 === d.nodeType && c(d) } var d = a.a.e.I(), e = { 1: !0, 8: !0, 9: !0 }, f = { 1: !0, 9: !0 } return { oa: function(a, c) { if ('function' != typeof c) throw Error('Callback must be a function') b(a, !0).push(c) }, pc: function(c, e) { var l = b(c, !1) l && (a.a.La(l, e), 0 == l.length && a.a.e.set(c, d, n)) }, $: function(b) { if (e[b.nodeType] && (c(b), f[b.nodeType])) { var d = [] a.a.ra(d, b.getElementsByTagName('*')) for (var l = 0, m = d.length; l < m; l++) c(d[l]) } return b }, removeNode: function(b) { a.$(b) b.parentNode && b.parentNode.removeChild(b) }, cleanExternalData: function(a) { v && 'function' == typeof v.cleanData && v.cleanData([a]) } } })() a.$ = a.a.F.$ a.removeNode = a.a.F.removeNode a.b('cleanNode', a.$) a.b('removeNode', a.removeNode) a.b('utils.domNodeDisposal', a.a.F) a.b('utils.domNodeDisposal.addDisposeCallback', a.a.F.oa) a.b('utils.domNodeDisposal.removeDisposeCallback', a.a.F.pc) ;(function() { var b = [0, '', ''], c = [1, '
' +
i(e[r].content) +
'
'
)
}),
(a.code_block = function(e, r, t, n, s) {
var o = e[r],
a = s.renderAttrs(o)
return (
'' +
i(e[r].content) +
'
\n'
)
}),
(a.fence = function(e, r, t, n, s) {
var a,
c,
l,
u,
p = e[r],
h = p.info ? o(p.info).trim() : '',
f = ''
return (
h && (f = h.split(/\s+/g)[0]),
(a = t.highlight
? t.highlight(p.content, f) || i(p.content)
: i(p.content)),
0 === a.indexOf('' +
a +
'
\n')
: '' +
a +
'
\n'
)
}),
(a.image = function(e, r, t, n, s) {
var o = e[r]
return (
(o.attrs[o.attrIndex('alt')][1] = s.renderInlineAsText(
o.children,
t,
n
)),
s.renderToken(e, r, t)
)
}),
(a.hardbreak = function(e, r, t) {
return t.xhtmlOut ? '