text: document.addEventListener("DOMContentLoaded", function(event) {
      
      (function(global) {
        function now() {
          return new Date();
        }
      
        var force = "";
      
        if (typeof (window._bokeh_onload_callbacks) === "undefined" || force !== "") {
          window._bokeh_onload_callbacks = [];
          window._bokeh_is_loading = undefined;
        }
      
      
        
        
      
        function run_callbacks() {
          window._bokeh_onload_callbacks.forEach(function(callback) { callback() });
          delete window._bokeh_onload_callbacks
          console.info("Bokeh: all callbacks have finished");
        }
      
        function load_libs(js_urls, callback) {
          window._bokeh_onload_callbacks.push(callback);
          if (window._bokeh_is_loading > 0) {
            console.log("Bokeh: BokehJS is being loaded, scheduling callback at", now());
            return null;
          }
          if (js_urls == null || js_urls.length === 0) {
            run_callbacks();
            return null;
          }
          console.log("Bokeh: BokehJS not loaded, scheduling load and callback at", now());
          window._bokeh_is_loading = js_urls.length;
          for (var i = 0; i < js_urls.length; i++) {
            var url = js_urls[i];
            var s = document.createElement('script');
            s.src = url;
            s.async = false;
            s.onreadystatechange = s.onload = function() {
              window._bokeh_is_loading--;
              if (window._bokeh_is_loading === 0) {
                console.log("Bokeh: all BokehJS libraries loaded");
                run_callbacks()
              }
            };
            s.onerror = function() {
              console.warn("failed to load library " + url);
            };
            console.log("Bokeh: injecting script tag for BokehJS library: ", url);
            document.getElementsByTagName("head")[0].appendChild(s);
          }
        };var element = document.getElementById("4d46b02c-4d72-4a42-975b-856b52eaed38");
        if (element == null) {
          console.log("Bokeh: ERROR: autoload.js configured with elementid '4d46b02c-4d72-4a42-975b-856b52eaed38' but no matching script tag was found. ")
          return false;
        }
      
        var js_urls = ['https://cdn.bokeh.org/bokeh/release/bokeh-0.12.3.min.js', 'https://cdn.bokeh.org/bokeh/release/bokeh-widgets-0.12.3.min.js', 'https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js', 'https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.1.4/js/ion.rangeSlider.js', 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.6.0/katex.min.js'];
      
        var inline_js = [
          function(Bokeh) {
            Bokeh.set_log_level("info");
          },
          
          function(Bokeh) {
            
            
            (function outer(modules, cache, entry) {
              if (typeof Bokeh !== "undefined") {
                var _ = Bokeh._;
            
                for (var name in modules) {
                  Bokeh.require.modules[name] = modules[name];
                }
            
                for (var i = 0; i < entry.length; i++) {
                    var exports = Bokeh.require(entry[i]);
            
                    if (_.isObject(exports.models)) {
                      Bokeh.Models.register_locations(exports.models);
                    }
            
                    _.extend(Bokeh, _.omit(exports, "models"));
                }
              } else {
                throw new Error("Cannot find Bokeh. You have to load it prior to loading plugins.");
              }
            })
            
            ({
              "custom/main": [function(require, module, exports) {
                module.exports = {
                  models: {
                    "Custom": require("custom/fake.custom"),
            "DrawTool": require("custom/fake.draw_tool"),
            "IonRangeSlider": require("custom/fake.ion_range_slider"),
            "LatexLabel": require("custom/fake.latex_label"),
            "MyFormatter": require("custom/fake.my_formatter"),
            "Surface3d": require("custom/fake.surface3d")
                  }
                };
              }, {}],
              "6ef2a846ec8c9fb9b0078caa3403db37c8f786dfe0dac2af5423824063a82891": [function(require, module, exports) {
            module.exports = function(__obj) {
              if (!__obj) __obj = {};
              var __out = [];
              var __capture = function(callback) {
                var out = __out, result;
                __out = [];
                callback.call(this);
                result = __out.join('');
                __out = out;
                return __safe(result);
              };
              var __sanitize = function(value) {
                if (value && value.ecoSafe) {
                  return value;
                } else if (typeof value !== 'undefined' && value != null) {
                  return __escape(value);
                } else {
                  return '';
                }
              };
              var __safe = function(value) {
                if (value && value.ecoSafe) {
                  return value;
                } else {
                  if (!(typeof value !== 'undefined' && value != null)) value = '';
                  var result = new String(value);
                  result.ecoSafe = true;
                  return result;
                }
              };
              var __escape = function(value) {
                return ('' + value)
                  .replace(/&/g, '&amp;')
                  .replace(/</g, '&lt;')
                  .replace(/>/g, '&gt;')
                  .replace(/"/g, '&quot;');
              };
              (function() {
                (function() {
                  __out.push('<div class="bk-slider-parent">\n  ');
                  if (this.title != null) {
                    __out.push('\n    ');
                    if (this.title.length !== 0) {
                      __out.push('\n      <label for="');
                      __out.push(__sanitize(this.id));
                      __out.push('"> ');
                      __out.push(__sanitize(this.title));
                      __out.push(': </label>\n    ');
                    }
                    __out.push('\n    <input type="text" id="');
                    __out.push(__sanitize(this.id));
                    __out.push('" readonly>\n  ');
                  }
                  __out.push('\n  <div class="bk-slider-horizontal">\n    <input type="text" class="slider" id="');
                  __out.push(__sanitize(this.id));
                  __out.push('"></div>\n  </div>\n</div>\n');
                }).call(this);
              }).call(__obj);
              return __out.join('');
            };
            }, {}],
            "custom/fake.custom": [function(require, module, exports) {
            var $, Custom, CustomView, LayoutDOM, _, p,
              extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
              hasProp = {}.hasOwnProperty;
            
            _ = require("underscore");
            
            $ = require("jquery");
            
            p = require("core/properties");
            
            LayoutDOM = require("models/layouts/layout_dom");
            
            CustomView = (function(superClass) {
              extend(CustomView, superClass);
            
              function CustomView() {
                return CustomView.__super__.constructor.apply(this, arguments);
              }
            
              CustomView.prototype.initialize = function(options) {
                CustomView.__super__.initialize.call(this, options);
                this.render();
                return this.listenTo(this.model.slider, 'change', (function(_this) {
                  return function() {
                    return _this.render();
                  };
                })(this));
              };
            
              CustomView.prototype.render = function() {
                this.$el.html("<h1>" + this.model.text + ": " + this.model.slider.value + "</h1>");
                return this.$('h1').css({
                  'color': '#686d8e',
                  'background-color': '#2a3153'
                });
              };
            
              return CustomView;
            
            })(LayoutDOM.View);
            
            Custom = (function(superClass) {
              extend(Custom, superClass);
            
              function Custom() {
                return Custom.__super__.constructor.apply(this, arguments);
              }
            
              Custom.prototype.default_view = CustomView;
            
              Custom.prototype.type = "Custom";
            
              Custom.define({
                text: [p.String],
                slider: [p.Any]
              });
            
              return Custom;
            
            })(LayoutDOM.Model);
            
            module.exports = {
              Model: Custom,
              View: CustomView
            };
            
            }, {}],
            "custom/fake.draw_tool": [function(require, module, exports) {
            var DrawTool, DrawToolView, GestureTool, p,
              extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
              hasProp = {}.hasOwnProperty;
            
            p = require("core/properties");
            
            GestureTool = require("models/tools/gestures/gesture_tool");
            
            DrawToolView = (function(superClass) {
              extend(DrawToolView, superClass);
            
              function DrawToolView() {
                return DrawToolView.__super__.constructor.apply(this, arguments);
              }
            
              DrawToolView.prototype._pan_start = function(e) {
                return this.model.source.data = {
                  x: [],
                  y: []
                };
              };
            
              DrawToolView.prototype._pan = function(e) {
                var canvas, frame, vx, vy, x, y;
                frame = this.plot_model.frame;
                canvas = this.plot_view.canvas;
                vx = canvas.sx_to_vx(e.bokeh.sx);
                vy = canvas.sy_to_vy(e.bokeh.sy);
                if (!frame.contains(vx, vy)) {
                  return null;
                }
                x = frame.x_mappers["default"].map_from_target(vx);
                y = frame.y_mappers["default"].map_from_target(vy);
                this.model.source.data.x.push(x);
                this.model.source.data.y.push(y);
                return this.model.source.trigger('change');
              };
            
              DrawToolView.prototype._pan_end = function(e) {
                return null;
              };
            
              return DrawToolView;
            
            })(GestureTool.View);
            
            DrawTool = (function(superClass) {
              extend(DrawTool, superClass);
            
              function DrawTool() {
                return DrawTool.__super__.constructor.apply(this, arguments);
              }
            
              DrawTool.prototype.default_view = DrawToolView;
            
              DrawTool.prototype.type = "DrawTool";
            
              DrawTool.prototype.tool_name = "Drag Span";
            
              DrawTool.prototype.icon = "bk-tool-icon-lasso-select";
            
              DrawTool.prototype.event_type = "pan";
            
              DrawTool.prototype.default_order = 12;
            
              DrawTool.define({
                source: [p.Instance]
              });
            
              return DrawTool;
            
            })(GestureTool.Model);
            
            module.exports = {
              Model: DrawTool,
              View: DrawToolView
            };
            
            }, {}],
            "custom/fake.ion_range_slider": [function(require, module, exports) {
            var $, InputWidget, IonRangeSlider, IonRangeSliderView, _, ionslidertemplate, p,
              bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
              extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
              hasProp = {}.hasOwnProperty;
            
            _ = require("underscore");
            
            $ = require("jquery");
            
            p = require("core/properties");
            
            InputWidget = require("models/widgets/input_widget");
            
            ionslidertemplate = require("./extensions_ion_range_slider_template");
            
            IonRangeSliderView = (function(superClass) {
              extend(IonRangeSliderView, superClass);
            
              function IonRangeSliderView() {
                this.slide = bind(this.slide, this);
                this.slidestop = bind(this.slidestop, this);
                return IonRangeSliderView.__super__.constructor.apply(this, arguments);
              }
            
              IonRangeSliderView.prototype.tagName = "div";
            
              IonRangeSliderView.prototype.template = ionslidertemplate;
            
              IonRangeSliderView.prototype.initialize = function(options) {
                var html;
                IonRangeSliderView.__super__.initialize.call(this, options);
                this.listenTo(this.model, 'change', this.render);
                this.$el.empty();
                html = this.template(this.model.attributes);
                this.$el.html(html);
                this.callbackWrapper = null;
                if (this.model.callback_policy === 'continuous') {
                  this.callbackWrapper = function() {
                    var ref;
                    return (ref = this.model.callback) != null ? ref.execute(this.model) : void 0;
                  };
                }
                if (this.model.callback_policy === 'throttle' && this.model.callback) {
                  this.callbackWrapper = _.throttle(function() {
                    var ref;
                    return (ref = this.model.callback) != null ? ref.execute(this.model) : void 0;
                  }, this.model.callback_throttle);
                }
                return this.render();
              };
            
              IonRangeSliderView.prototype.render = function() {
                var disable, from, grid, input, max, min, opts, range, slider, step, to;
                IonRangeSliderView.__super__.render.call(this);
                max = this.model.end;
                min = this.model.start;
                grid = this.model.grid;
                disable = this.model.disabled;
                range = this.model.range || [max, min];
                from = range[0], to = range[1];
                step = this.model.step || ((max - min) / 50);
                opts = {
                  type: "double",
                  grid: grid,
                  min: min,
                  max: max,
                  from: from,
                  to: to,
                  step: step,
                  disable: disable,
                  onChange: this.slide,
                  onFinish: this.slidestop
                };
                input = this.$el.find('.slider')[0];
                slider = jQuery(input).ionRangeSlider(opts);
                range = [from, to];
                this.$("#" + this.model.id).val(range.join(' - '));
                this.$el.find('.bk-slider-parent').height(this.model.height);
                return this;
              };
            
              IonRangeSliderView.prototype.slidestop = function(data) {
                var ref;
                if (this.model.callback_policy === 'mouseup' || this.model.callback_policy === 'throttle') {
                  return (ref = this.model.callback) != null ? ref.execute(this.model) : void 0;
                }
              };
            
              IonRangeSliderView.prototype.slide = function(data) {
                var range, value;
                range = [data.from, data.to];
                value = range.join(' - ');
                this.$("#" + this.model.id).val(value);
                this.model.range = range;
                if (this.callbackWrapper) {
                  return this.callbackWrapper();
                }
              };
            
              return IonRangeSliderView;
            
            })(InputWidget.View);
            
            IonRangeSlider = (function(superClass) {
              extend(IonRangeSlider, superClass);
            
              function IonRangeSlider() {
                return IonRangeSlider.__super__.constructor.apply(this, arguments);
              }
            
              IonRangeSlider.prototype.default_view = IonRangeSliderView;
            
              IonRangeSlider.prototype.type = "IonRangeSlider";
            
              IonRangeSlider.define({
                range: [p.Any],
                start: [p.Number, 0],
                end: [p.Number, 1],
                step: [p.Number, 0.1],
                grid: [p.Bool, true],
                orientation: [p.Orientation, "horizontal"],
                callback_throttle: [p.Number, 200],
                callback_policy: [p.String, "throttle"]
              });
            
              return IonRangeSlider;
            
            })(InputWidget.Model);
            
            module.exports = {
              Model: IonRangeSlider,
              View: IonRangeSliderView
            };
            
            }, {"./extensions_ion_range_slider_template": "6ef2a846ec8c9fb9b0078caa3403db37c8f786dfe0dac2af5423824063a82891"}],
            "custom/fake.latex_label": [function(require, module, exports) {
            var Label, LatexLabel, LatexLabelView,
              extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
              hasProp = {}.hasOwnProperty;
            
            Label = require("models/annotations/label");
            
            LatexLabelView = (function(superClass) {
              extend(LatexLabelView, superClass);
            
              function LatexLabelView() {
                return LatexLabelView.__super__.constructor.apply(this, arguments);
              }
            
              LatexLabelView.prototype.render = function() {
                var angle, ctx, latex, panel_offset, sx, sy, vx, vy;
                ctx = this.plot_view.canvas_view.ctx;
                switch (this.model.angle_units) {
                  case "rad":
                    angle = -1 * this.model.angle;
                    break;
                  case "deg":
                    angle = -1 * this.model.angle * Math.PI / 180.0;
                }
                if (this.model.x_units === "data") {
                  vx = this.xmapper.map_to_target(this.model.x);
                } else {
                  vx = this.model.x;
                }
                sx = this.canvas.vx_to_sx(vx);
                if (this.model.y_units === "data") {
                  vy = this.ymapper.map_to_target(this.model.y);
                } else {
                  vy = this.model.y;
                }
                sy = this.canvas.vy_to_sy(vy);
                if (this.model.panel != null) {
                  panel_offset = this._get_panel_offset();
                  sx += panel_offset.x;
                  sy += panel_offset.y;
                }
                latex = katex.renderToString(this.model.text, {
                  displayMode: true
                });
                return this._css_text(ctx, latex, sx + this.model.x_offset, sy - this.model.y_offset, angle);
              };
            
              return LatexLabelView;
            
            })(Label.View);
            
            LatexLabel = (function(superClass) {
              extend(LatexLabel, superClass);
            
              function LatexLabel() {
                return LatexLabel.__super__.constructor.apply(this, arguments);
              }
            
              LatexLabel.prototype.type = 'LatexLabel';
            
              LatexLabel.prototype.default_view = LatexLabelView;
            
              return LatexLabel;
            
            })(Label.Model);
            
            module.exports = {
              Model: LatexLabel,
              View: LatexLabelView
            };
            
            }, {}],
            "custom/fake.my_formatter": [function(require, module, exports) {
            var MyFormatter, TickFormatter,
              extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
              hasProp = {}.hasOwnProperty;
            
            TickFormatter = require("models/formatters/tick_formatter");
            
            MyFormatter = (function(superClass) {
              extend(MyFormatter, superClass);
            
              function MyFormatter() {
                return MyFormatter.__super__.constructor.apply(this, arguments);
              }
            
              MyFormatter.prototype.type = "MyFormatter";
            
              MyFormatter.prototype.doFormat = function(ticks) {
                var formatted, i, j, ref;
                formatted = ["" + ticks[0]];
                for (i = j = 1, ref = ticks.length; 1 <= ref ? j < ref : j > ref; i = 1 <= ref ? ++j : --j) {
                  formatted.push("+" + ((ticks[i] - ticks[0]).toPrecision(2)));
                }
                return formatted;
              };
            
              return MyFormatter;
            
            })(TickFormatter.Model);
            
            module.exports = {
              Model: MyFormatter
            };
            
            }, {}],
            "custom/fake.surface3d": [function(require, module, exports) {
            var $, LayoutDOM, OPTIONS, Surface3d, Surface3dView, _, p,
              bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
              extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
              hasProp = {}.hasOwnProperty;
            
            _ = require("underscore");
            
            $ = require("jquery");
            
            p = require("core/properties");
            
            LayoutDOM = require("models/layouts/layout_dom");
            
            OPTIONS = {
              width: '600px',
              height: '600px',
              style: 'surface',
              showPerspective: true,
              showGrid: true,
              keepAspectRatio: true,
              verticalRatio: 1.0,
              legendLabel: 'stuff',
              cameraPosition: {
                horizontal: -0.35,
                vertical: 0.22,
                distance: 1.8
              }
            };
            
            Surface3dView = (function(superClass) {
              extend(Surface3dView, superClass);
            
              function Surface3dView() {
                this._init = bind(this._init, this);
                return Surface3dView.__super__.constructor.apply(this, arguments);
              }
            
              Surface3dView.prototype.initialize = function(options) {
                var url;
                Surface3dView.__super__.initialize.call(this, options);
                url = "https://cdnjs.cloudflare.com/ajax/libs/vis/4.16.1/vis.min.js";
                return $.getScript(url).done(this._init);
              };
            
              Surface3dView.prototype._init = function() {
                this._graph = new vis.Graph3d(this.$el[0], this.get_data(), OPTIONS);
                return this.listenTo(this.model.data_source, 'change', (function(_this) {
                  return function() {
                    return _this._graph.setData(_this.get_data());
                  };
                })(this));
              };
            
              Surface3dView.prototype.get_data = function() {
                var data, i, j, ref, source;
                data = new vis.DataSet();
                source = this.model.data_source;
                for (i = j = 0, ref = source.get_length(); 0 <= ref ? j < ref : j > ref; i = 0 <= ref ? ++j : --j) {
                  data.add({
                    x: source.get_column(this.model.x)[i],
                    y: source.get_column(this.model.y)[i],
                    z: source.get_column(this.model.z)[i],
                    style: source.get_column(this.model.color)[i]
                  });
                }
                return data;
              };
            
              return Surface3dView;
            
            })(LayoutDOM.View);
            
            Surface3d = (function(superClass) {
              extend(Surface3d, superClass);
            
              function Surface3d() {
                return Surface3d.__super__.constructor.apply(this, arguments);
              }
            
              Surface3d.prototype.default_view = Surface3dView;
            
              Surface3d.prototype.type = "Surface3d";
            
              Surface3d.define({
                x: [p.String],
                y: [p.String],
                z: [p.String],
                color: [p.String],
                data_source: [p.Instance]
              });
            
              return Surface3d;
            
            })(LayoutDOM.Model);
            
            module.exports = {
              Model: Surface3d,
              View: Surface3dView
            };
            
            }, {}]
            }, {}, ["custom/main"]);
          },
          
          function(Bokeh) {
            Bokeh.$(function() {
                Bokeh.safely(function() {
                    var docs_json = {"b2dd240a-c8f2-47d1-9fe8-c29f40e9d4f2":{"roots":{"references":[{"attributes":{"formatter":{"id":"d65f5acd-76d0-4523-b9ad-26e5b7bc554e","type":"BasicTickFormatter"},"plot":{"id":"bc9cd516-761c-4c0f-b5c0-297d9bba5c41","subtype":"Figure","type":"Plot"},"ticker":{"id":"ab9da94e-4e2a-47ba-91de-2e69459e2b75","type":"BasicTicker"}},"id":"0acc4743-1787-4c31-b80a-fe9920cec0ee","type":"LinearAxis"},{"attributes":{},"id":"ab9da94e-4e2a-47ba-91de-2e69459e2b75","type":"BasicTicker"},{"attributes":{},"id":"915930bb-9dfe-4231-bda5-e6af146b8d13","type":"BasicTicker"},{"attributes":{"callback":null,"plot":{"id":"bc9cd516-761c-4c0f-b5c0-297d9bba5c41","subtype":"Figure","type":"Plot"}},"id":"bfd1c7ad-35fa-4b57-9169-120926f40083","type":"TapTool"},{"attributes":{},"id":"de16a6a0-34cb-4429-ba53-3acfe3ad91a0","type":"ToolEvents"},{"attributes":{"fill_color":{"value":"firebrick"},"line_color":{"value":"firebrick"},"size":{"units":"screen","value":50},"x":{"field":"x"},"y":{"field":"y"}},"id":"964f9689-2377-4a17-8fde-84f3e613dc78","type":"Circle"},{"attributes":{},"id":"2eaf7a32-88a6-49bf-a0ad-42af73345db8","type":"BasicTickFormatter"},{"attributes":{"formatter":{"id":"2eaf7a32-88a6-49bf-a0ad-42af73345db8","type":"BasicTickFormatter"},"plot":{"id":"bc9cd516-761c-4c0f-b5c0-297d9bba5c41","subtype":"Figure","type":"Plot"},"ticker":{"id":"915930bb-9dfe-4231-bda5-e6af146b8d13","type":"BasicTicker"}},"id":"8a37f642-04a4-412b-a59c-78cb1c28b40a","type":"LinearAxis"},{"attributes":{"plot":null,"text":"Select a circle"},"id":"b05b1116-3f7c-43e1-bc70-b75ae6f4ecac","type":"Title"},{"attributes":{"active_drag":"auto","active_scroll":"auto","active_tap":"auto","tools":[{"id":"bfd1c7ad-35fa-4b57-9169-120926f40083","type":"TapTool"}]},"id":"a85d2586-aeba-4a77-a2fc-06823b215dbf","type":"Toolbar"},{"attributes":{"fill_color":{"value":"#1f77b4"},"line_color":{"value":"#1f77b4"},"size":{"units":"screen","value":50},"x":{"field":"x"},"y":{"field":"y"}},"id":"dd937504-59e0-403f-bed5-98d41bb0f53b","type":"Circle"},{"attributes":{"fill_alpha":{"value":0.2},"fill_color":{"value":"blue"},"line_color":{"value":"firebrick"},"size":{"units":"screen","value":50},"x":{"field":"x"},"y":{"field":"y"}},"id":"697b1ed1-1d4a-4027-b375-4401e6f12a6f","type":"Circle"},{"attributes":{},"id":"d65f5acd-76d0-4523-b9ad-26e5b7bc554e","type":"BasicTickFormatter"},{"attributes":{"plot":{"id":"bc9cd516-761c-4c0f-b5c0-297d9bba5c41","subtype":"Figure","type":"Plot"},"ticker":{"id":"915930bb-9dfe-4231-bda5-e6af146b8d13","type":"BasicTicker"}},"id":"b7ab13fa-7444-43d1-b0ee-cd40c90aa7dc","type":"Grid"},{"attributes":{"callback":null,"column_names":["x","y"],"data":{"x":[1,2,3,4,5],"y":[2,5,8,2,7]}},"id":"73a29837-e43b-4352-beb0-62faba92c0e6","type":"ColumnDataSource"},{"attributes":{"dimension":1,"plot":{"id":"bc9cd516-761c-4c0f-b5c0-297d9bba5c41","subtype":"Figure","type":"Plot"},"ticker":{"id":"ab9da94e-4e2a-47ba-91de-2e69459e2b75","type":"BasicTicker"}},"id":"2d0a5016-9ba3-4317-93e8-d4dc70ab8237","type":"Grid"},{"attributes":{"callback":null},"id":"8b4bbfc8-b73c-439c-83dd-3dbb259695f8","type":"DataRange1d"},{"attributes":{"below":[{"id":"8a37f642-04a4-412b-a59c-78cb1c28b40a","type":"LinearAxis"}],"left":[{"id":"0acc4743-1787-4c31-b80a-fe9920cec0ee","type":"LinearAxis"}],"plot_height":400,"plot_width":400,"renderers":[{"id":"8a37f642-04a4-412b-a59c-78cb1c28b40a","type":"LinearAxis"},{"id":"b7ab13fa-7444-43d1-b0ee-cd40c90aa7dc","type":"Grid"},{"id":"0acc4743-1787-4c31-b80a-fe9920cec0ee","type":"LinearAxis"},{"id":"2d0a5016-9ba3-4317-93e8-d4dc70ab8237","type":"Grid"},{"id":"df269b92-b712-499c-a185-4d558eb08b76","type":"GlyphRenderer"}],"title":{"id":"b05b1116-3f7c-43e1-bc70-b75ae6f4ecac","type":"Title"},"tool_events":{"id":"de16a6a0-34cb-4429-ba53-3acfe3ad91a0","type":"ToolEvents"},"toolbar":{"id":"a85d2586-aeba-4a77-a2fc-06823b215dbf","type":"Toolbar"},"x_range":{"id":"8b4bbfc8-b73c-439c-83dd-3dbb259695f8","type":"DataRange1d"},"y_range":{"id":"9bced596-c687-4b3b-8bfd-dfe99b18e89c","type":"DataRange1d"}},"id":"bc9cd516-761c-4c0f-b5c0-297d9bba5c41","subtype":"Figure","type":"Plot"},{"attributes":{"callback":null},"id":"9bced596-c687-4b3b-8bfd-dfe99b18e89c","type":"DataRange1d"},{"attributes":{"data_source":{"id":"73a29837-e43b-4352-beb0-62faba92c0e6","type":"ColumnDataSource"},"glyph":{"id":"dd937504-59e0-403f-bed5-98d41bb0f53b","type":"Circle"},"hover_glyph":null,"nonselection_glyph":{"id":"697b1ed1-1d4a-4027-b375-4401e6f12a6f","type":"Circle"},"selection_glyph":{"id":"964f9689-2377-4a17-8fde-84f3e613dc78","type":"Circle"}},"id":"df269b92-b712-499c-a185-4d558eb08b76","type":"GlyphRenderer"}],"root_ids":["bc9cd516-761c-4c0f-b5c0-297d9bba5c41"]},"title":"Bokeh Application","version":"0.12.3.10133"}};
                    var render_items = [{"docid":"b2dd240a-c8f2-47d1-9fe8-c29f40e9d4f2","elementid":"4d46b02c-4d72-4a42-975b-856b52eaed38","modelid":"bc9cd516-761c-4c0f-b5c0-297d9bba5c41"}];
                    
                    Bokeh.embed.embed_items(docs_json, render_items);
                });
            });
          },
          function(Bokeh) {
            console.log("Bokeh: injecting CSS: https://cdn.bokeh.org/bokeh/release/bokeh-0.12.3.min.css");
            Bokeh.embed.inject_css("https://cdn.bokeh.org/bokeh/release/bokeh-0.12.3.min.css");
            console.log("Bokeh: injecting CSS: https://cdn.bokeh.org/bokeh/release/bokeh-widgets-0.12.3.min.css");
            Bokeh.embed.inject_css("https://cdn.bokeh.org/bokeh/release/bokeh-widgets-0.12.3.min.css");
            console.log("Bokeh: injecting CSS: https://cdnjs.cloudflare.com/ajax/libs/normalize/4.2.0/normalize.css");
            Bokeh.embed.inject_css("https://cdnjs.cloudflare.com/ajax/libs/normalize/4.2.0/normalize.css");
            console.log("Bokeh: injecting CSS: https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.1.4/css/ion.rangeSlider.css");
            Bokeh.embed.inject_css("https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.1.4/css/ion.rangeSlider.css");
            console.log("Bokeh: injecting CSS: https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.1.4/css/ion.rangeSlider.skinFlat.min.css");
            Bokeh.embed.inject_css("https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.1.4/css/ion.rangeSlider.skinFlat.min.css");
            console.log("Bokeh: injecting CSS: https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.1.4/img/sprite-skin-flat.png");
            Bokeh.embed.inject_css("https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.1.4/img/sprite-skin-flat.png");
            console.log("Bokeh: injecting CSS: https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.6.0/katex.min.css");
            Bokeh.embed.inject_css("https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.6.0/katex.min.css");
          }
        ];
      
        function run_inline_js() {
          
          for (var i = 0; i < inline_js.length; i++) {
            inline_js[i](window.Bokeh);
          }
          
        }
      
        if (window._bokeh_is_loading === 0) {
          console.log("Bokeh: BokehJS loaded, going straight to plotting");
          run_inline_js();
        } else {
          load_libs(js_urls, function() {
            console.log("Bokeh: BokehJS plotting callback run at", now());
            run_inline_js();
          });
        }
      }(this));
  });