CINXE.COM
Swimlane Chart using d3.js · GitHub
<!DOCTYPE html> <html lang="en" data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" data-a11y-animated-images="system" data-a11y-link-underlines="true" > <head> <meta charset="utf-8"> <link rel="dns-prefetch" href="https://github.githubassets.com"> <link rel="dns-prefetch" href="https://avatars.githubusercontent.com"> <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> <link rel="preconnect" href="https://github.githubassets.com" crossorigin> <link rel="preconnect" href="https://avatars.githubusercontent.com"> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-7aa84bb7e11e.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-f65db3e8d171.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-a8258e3c6dda.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-7e97d834719c.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-01d869f460be.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-534f3e971240.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-a8cc7d138001.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-35e9dfdc4f9f.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-cf4cc5f62dfe.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-d9abecd14f1e.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-93aded0ee8a1.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-8bed0685a4b5.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-a954a02d9269.css" /> <script type="application/json" id="client-env">{"locale":"en","featureFlags":["bypass_copilot_indexing_quota","copilot_immersive_file_preview","copilot_new_references_ui","copilot_bing_skill_ga","copilot_attach_folder_reference","copilot_personal_instructions","copilot_personal_instructions_templates","copilot_chat_repo_custom_instructions_preview","copilot_chat_retry_on_error","copilot_chat_persist_submitted_input","copilot_conversational_ux_history_refs","copilot_chat_shared_chat_input","copilot_chat_shared_topic_indicator","copilot_chat_shared_repo_sso_banner","copilot_editor_upsells","copilot_dotcom_chat_reduce_telemetry","copilot_implicit_context","copilot_no_floating_button","copilot_smell_icebreaker_ux","copilot_read_shared_conversation","dotcom_chat_client_side_skills","copilot_new_markdown_renderer","experimentation_azure_variant_endpoint","failbot_handle_non_errors","geojson_azure_maps","ghost_pilot_confidence_truncation_25","ghost_pilot_confidence_truncation_40","github_models_o3_mini_streaming","hovercard_accessibility","issues_react_remove_placeholders","issues_react_blur_item_picker_on_close","issues_react_include_bots_in_pickers","marketing_pages_search_explore_provider","remove_child_patch","sample_network_conn_type","swp_enterprise_contact_form","site_copilot_vscode_link_update","site_proxima_australia_update","issues_react_create_milestone","issues_react_cache_fix_workaround","lifecycle_label_name_updates"]}</script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-8f98335c0ff3.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover_js-9da652f58479.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_arianotify-polyfill_ariaNotify-polyfill_js-node_modules_github_mi-3abb8f-d7e6bc799724.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_failbot_failbot_ts-4600dbf2d60a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/environment-f04cb2a9fc8c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_index_mjs-0dbb79f97f8f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-f690fd9ae3d5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-f6da4b3fa34c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_auto-complete-element_dist_index_js-node_modules_github_catalyst_-8e9f78-a74b4e0a8a6b.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_text-expander-element_dist_index_js-78748950cb0c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-b5f1d7-a1760ffda83d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_markdown-toolbar-element_dist_index_js-ceef33f593fa.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-c44a69-f0c8a795d1fd.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/github-elements-44d18ad044b3.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/element-registry-b7096f9a808d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_braintree_browser-detection_dist_browser-detection_js-node_modules_githu-2906d7-2a07a295af40.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-be8cb88f481b.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_morphdom_dist_morphdom-e-7c534c-a4a1922eb55f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-e3cbe28f1638.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-893f9f-6cf3320416b8.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_color-convert_index_js-e3180fe3bcb3.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_quote-selection_dist_index_js-node_modules_github_session-resume_-947061-205cd97df772.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_updatable-content_updatable-content_ts-a1563f62660e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_task-list_ts-app_assets_modules_github_sso_ts-ui_packages-900dde-f48a418a99d4.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-8fa27fd7fbb6.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_include-87a4ae-e2caa5390f5a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-783fc7e142e5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-854fa1987fb5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-f6223d90c7ba.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-global-e12489347ccf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_hotkey_dist_index_js-524e40420665.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_github_remote-form_dist_-d0eef7-5f58a29a0546.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_form-utils_form-utils_ts-ui_packages_input-navigation-behavior_input-navigation-b-a97423-908328ee27af.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_diffs_blob-lines_ts-app_assets_modules_github_diffs_linkable-line-n-b8c0ea-b7945dd86942.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/gist-28c13361081c.js"></script> <title>Swimlane Chart using d3.js · GitHub</title> <meta name="route-pattern" content="/:user_id/:gist_id(.:format)" data-turbo-transient> <meta name="route-controller" content="gists_gists" data-turbo-transient> <meta name="route-action" content="show" data-turbo-transient> <meta name="current-catalog-service-hash" content="56253a530ab9027b25719525dcbe6007461a3202218f6f5dfce5a601c121cbcb"> <meta name="request-id" content="A636:127E67:EEAD:12E2A:67B2233E" data-pjax-transient="true"/><meta name="html-safe-nonce" content="33fefc7522f80d60a6b93e791a45a80b590d955e06cae6b70e1a2084df31354e" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBNjM2OjEyN0U2NzpFRUFEOjEyRTJBOjY3QjIyMzNFIiwidmlzaXRvcl9pZCI6IjQxMzEwOTU4OTE0NjI0NjQzMTgiLCJyZWdpb25fZWRnZSI6InNvdXRoZWFzdGFzaWEiLCJyZWdpb25fcmVuZGVyIjoic291dGhlYXN0YXNpYSJ9" data-pjax-transient="true"/><meta name="visitor-hmac" content="306ed4ba6a76fd3852f1a8baa16b298bacfa7fc4151e9942bbcdea5fd65acadc" data-pjax-transient="true"/> <meta name="github-keyboard-shortcuts" content="copilot" data-turbo-transient="true" /> <meta name="selected-link" value="gist_code" data-turbo-transient> <link rel="assets" href="https://github.githubassets.com/"> <meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I"> <meta name="octolytics-url" content="https://collector.github.com/github/collect" /> <meta name="analytics-location" content="/<user-name>/<gist-id>" data-turbo-transient="true" /> <meta name="user-login" content=""> <meta name="viewport" content="width=device-width"> <meta name="description" content="Swimlane Chart using d3.js. GitHub Gist: instantly share code, notes, and snippets."> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch-gist.xml" title="Gist"> <link rel="fluid-icon" href="https://gist.github.com/fluidicon.png" title="GitHub"> <meta property="fb:app_id" content="1401488693436528"> <meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://gist.github.com/bunkat/1962173" /> <meta name="twitter:image" content="https://github.githubassets.com/assets/gist-og-image-54fd7dc0713e.png" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="Swimlane Chart using d3.js" /><meta name="twitter:description" content="Swimlane Chart using d3.js. GitHub Gist: instantly share code, notes, and snippets." /> <meta property="og:image" content="https://github.githubassets.com/assets/gist-og-image-54fd7dc0713e.png" /><meta property="og:image:alt" content="Swimlane Chart using d3.js. GitHub Gist: instantly share code, notes, and snippets." /><meta property="og:site_name" content="Gist" /><meta property="og:type" content="article" /><meta property="og:title" content="Swimlane Chart using d3.js" /><meta property="og:url" content="https://gist.github.com/bunkat/1962173" /><meta property="og:description" content="Swimlane Chart using d3.js. GitHub Gist: instantly share code, notes, and snippets." /><meta property="article:author" content="262588213843476" /><meta property="article:publisher" content="262588213843476" /> <meta name="hostname" content="gist.github.com"> <meta name="expected-hostname" content="gist.github.com"> <meta http-equiv="x-pjax-version" content="7285c1d48b26dbf4a947aa96973b0576ccc264b2eed60ad331fecccb5cc407f9" data-turbo-track="reload"> <meta http-equiv="x-pjax-csp-version" content="ace39c3b6632770952207593607e6e0be0db363435a8b877b1f96abe6430f345" data-turbo-track="reload"> <meta http-equiv="x-pjax-css-version" content="1c71206221e00a0a8e77d94d48d954f34ddbd711c4a0ced954fd49cd786cfa61" data-turbo-track="reload"> <meta http-equiv="x-pjax-js-version" content="e957203196628458a3ddb1546cfef8b3b07cafa937f5a0542f0fb75f6273f835" data-turbo-track="reload"> <meta name="turbo-cache-control" content="no-preview" data-turbo-transient=""> <link href="/bunkat.atom" rel="alternate" title="atom" type="application/atom+xml"> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/gist-a35fdba7ad1d.css" /> <meta name="turbo-body-classes" content="logged-out env-production page-responsive"> <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000"> <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png"> <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg" data-base-href="https://github.githubassets.com/favicons/favicon"> <meta name="theme-color" content="#1e2327"> <meta name="color-scheme" content="light dark" /> </head> <body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div data-turbo-body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div class="position-relative header-wrapper js-header-wrapper "> <a href="#start-of-content" data-skip-target-assigned="false" class="px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a> <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full"> <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span> </span> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/primer-react-8e38c0ecf8b7.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-core-218ef2d63cca.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-f1bca44e0926.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/octicons-react-611691cca2f6.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_emotion_is-prop-valid_dist_emotion-is-prop-valid_esm_js-node_modules_emo-62da9f-2df2f32ec596.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-e7dcdd-f7cc96ebae76.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover-fn_js-55fea94174bf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ui-commands_ui-commands_ts-e571874765ef.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-765cf28766da.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.f5cae0c610a2c4c470c2.module.css" /> <react-partial partial-name="keyboard-shortcuts-dialog" data-ssr="false" data-attempted-ssr="false" > <script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script> <div data-target="react-partial.reactRoot"></div> </react-partial> <div class="Header js-details-container Details flex-wrap flex-md-nowrap p-responsive" role="banner" > <div class="Header-item d-none d-md-flex"> <a class="Header-link" data-hotkey="g d" aria-label="Gist Homepage " href="/"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github v-align-middle d-inline-block d-md-none"> <path d="M12.5.75C6.146.75 1 5.896 1 12.25c0 5.089 3.292 9.387 7.863 10.91.575.101.79-.244.79-.546 0-.273-.014-1.178-.014-2.142-2.889.532-3.636-.704-3.866-1.35-.13-.331-.69-1.352-1.18-1.625-.402-.216-.977-.748-.014-.762.906-.014 1.553.834 1.769 1.179 1.035 1.74 2.688 1.25 3.349.948.1-.747.402-1.25.733-1.538-2.559-.287-5.232-1.279-5.232-5.678 0-1.25.445-2.285 1.178-3.09-.115-.288-.517-1.467.115-3.048 0 0 .963-.302 3.163 1.179.92-.259 1.897-.388 2.875-.388.977 0 1.955.13 2.875.388 2.2-1.495 3.162-1.179 3.162-1.179.633 1.581.23 2.76.115 3.048.733.805 1.179 1.825 1.179 3.09 0 4.413-2.688 5.39-5.247 5.678.417.36.776 1.05.776 2.128 0 1.538-.014 2.774-.014 3.162 0 .302.216.662.79.547C20.709 21.637 24 17.324 24 12.25 24 5.896 18.854.75 12.5.75Z"></path> </svg> <svg aria-hidden="true" height="24" viewBox="0 0 68 24" version="1.1" width="68" data-view-component="true" class="octicon octicon-logo-github v-align-middle d-none d-md-inline-block"> <path d="M27.8 17.908h-.03c.013 0 .022.014.035.017l.01-.002-.016-.015Zm.005.017c-.14.001-.49.073-.861.073-1.17 0-1.575-.536-1.575-1.234v-4.652h2.385c.135 0 .24-.12.24-.283V9.302c0-.133-.12-.252-.24-.252H25.37V5.913c0-.119-.075-.193-.21-.193h-3.24c-.136 0-.21.074-.21.193V9.14s-1.636.401-1.741.416a.255.255 0 0 0-.195.253v2.021c0 .164.12.282.255.282h1.665v4.876c0 3.627 2.55 3.998 4.29 3.998.796 0 1.756-.252 1.906-.327.09-.03.135-.134.135-.238v-2.23a.264.264 0 0 0-.219-.265Zm35.549-3.272c0-2.69-1.095-3.047-2.25-2.928-.9.06-1.62.505-1.62.505v5.232s.735.506 1.83.536c1.545.044 2.04-.506 2.04-3.345ZM67 14.415c0 5.099-1.665 6.555-4.576 6.555-2.46 0-3.78-1.233-3.78-1.233s-.06.683-.135.773c-.045.089-.12.118-.21.118h-2.22c-.15 0-.286-.119-.286-.252l.03-16.514a.26.26 0 0 1 .255-.252h3.196a.26.26 0 0 1 .255.252v5.604s1.23-.788 3.03-.788l-.015-.03c1.8 0 4.456.67 4.456 5.767ZM53.918 9.05h-3.15c-.165 0-.255.119-.255.282v8.086s-.826.58-1.95.58c-1.126 0-1.456-.506-1.456-1.62v-7.06a.262.262 0 0 0-.255-.254h-3.21a.262.262 0 0 0-.256.253v7.596c0 3.27 1.846 4.087 4.381 4.087 2.085 0 3.78-1.145 3.78-1.145s.076.58.12.67c.03.074.136.133.24.133h2.011a.243.243 0 0 0 .255-.253l.03-11.103c0-.133-.12-.252-.285-.252Zm-35.556-.015h-3.195c-.135 0-.255.134-.255.297v10.91c0 .297.195.401.45.401h2.88c.3 0 .375-.134.375-.401V9.287a.262.262 0 0 0-.255-.252ZM16.787 4.01c-1.155 0-2.07.907-2.07 2.051 0 1.145.915 2.051 2.07 2.051a2.04 2.04 0 0 0 2.04-2.05 2.04 2.04 0 0 0-2.04-2.052Zm24.74-.372H38.36a.262.262 0 0 0-.255.253v6.08H33.14v-6.08a.262.262 0 0 0-.255-.253h-3.196a.262.262 0 0 0-.255.253v16.514c0 .133.135.252.255.252h3.196a.262.262 0 0 0 .255-.253v-7.06h4.966l-.03 7.06c0 .134.12.253.255.253h3.195a.262.262 0 0 0 .255-.253V3.892a.262.262 0 0 0-.255-.253Zm-28.31 7.313v8.532c0 .06-.015.163-.09.193 0 0-1.875 1.323-4.966 1.323C4.426 21 0 19.84 0 12.2S3.87 2.986 7.651 3c3.27 0 4.59.728 4.8.862.06.075.09.134.09.208l-.63 2.646c0 .134-.134.297-.3.253-.54-.164-1.35-.49-3.255-.49-2.205 0-4.575.623-4.575 5.543s2.25 5.5 3.87 5.5c1.38 0 1.875-.164 1.875-.164V13.94H7.321c-.165 0-.285-.12-.285-.253v-2.735c0-.134.12-.252.285-.252h5.61c.166 0 .286.118.286.252Z"></path> </svg> <svg aria-hidden="true" height="24" viewBox="0 0 38 24" version="1.1" width="38" data-view-component="true" class="octicon octicon-logo-gist v-align-middle d-none d-md-inline-block"> <path d="M7.05 13.095v-1.5h5.28v8.535c-1.17.555-2.925.96-5.385.96C1.665 21.09 0 17.055 0 12.045S1.695 3 6.945 3c2.43 0 3.96.495 4.92.99v1.575c-1.83-.75-3-1.095-4.92-1.095-3.855 0-5.22 3.315-5.22 7.59s1.365 7.575 5.205 7.575c1.335 0 2.97-.105 3.795-.51v-6.03H7.05Zm16.47 1.035h.045c3.33.3 4.125 1.425 4.125 3.345 0 1.815-1.14 3.615-4.71 3.615-1.125 0-2.745-.285-3.495-.585v-1.41c.705.255 1.83.54 3.495.54 2.43 0 3.09-1.035 3.09-2.13 0-1.065-.33-1.815-2.655-2.01-3.39-.3-4.095-1.5-4.095-3.12 0-1.665 1.08-3.465 4.38-3.465 1.095 0 2.34.135 3.375.585v1.41c-.915-.3-1.83-.54-3.405-.54-2.325 0-2.82.855-2.82 2.01 0 1.035.42 1.56 2.67 1.755Zm12.87-4.995v1.275h-3.63v7.305c0 1.425.795 2.01 2.25 2.01.3 0 .63 0 .915-.045v1.335c-.255.045-.75.075-1.035.075-1.965 0-3.75-.9-3.75-3.195v-7.5H28.8v-.72l2.34-.66V5.85l1.62-.465v3.75h3.63ZM16.635 9.09v9.615c0 .81.285 1.05 1.005 1.05v1.335c-1.71 0-2.58-.705-2.58-2.58V9.09h1.575Zm.375-3.495c0 .66-.51 1.17-1.17 1.17a1.14 1.14 0 0 1-1.155-1.17c0-.66.48-1.17 1.155-1.17s1.17.51 1.17 1.17Z"></path> </svg> </a> </div> <div class="Header-item d-md-none"> <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="Header-link js-details-target btn-link"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-three-bars"> <path d="M3.75 5.25a.75.75 0 0 0 0 1.5h16.5a.75.75 0 0 0 0-1.5H3.75Zm0 6a.75.75 0 0 0 0 1.5h16.5a.75.75 0 0 0 0-1.5H3.75Zm0 6a.75.75 0 0 0 0 1.5h16.5a.75.75 0 0 0 0-1.5H3.75Z"></path> </svg> </button> </div> <div class="Header-item Header-item--full js-site-search flex-column flex-md-row width-full flex-order-2 flex-md-order-none mr-0 mr-md-3 mt-3 mt-md-0 Details-content--hidden-not-important d-md-flex"> <div class="header-search flex-self-stretch flex-md-self-auto mr-0 mr-md-3 mb-3 mb-md-0"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="position-relative js-quicksearch-form" role="search" aria-label="Site" data-turbo="false" action="/search" accept-charset="UTF-8" method="get"> <div class="header-search-wrapper form-control input-sm js-chromeless-input-container"> <input type="text" class="form-control input-sm js-site-search-focus header-search-input" data-hotkey="s,/" name="q" aria-label="Search" placeholder="Search…" autocorrect="off" autocomplete="off" autocapitalize="off"> </div> </form></div> <nav aria-label="Global" class="d-flex flex-column flex-md-row flex-self-stretch flex-md-self-auto"> <a class="Header-link mr-0 mr-md-3 py-2 py-md-0 border-top border-md-top-0 border-white-fade" data-ga-click="Header, go to all gists, text:all gists" href="/discover">All gists</a> <a class="Header-link mr-0 mr-md-3 py-2 py-md-0 border-top border-md-top-0 border-white-fade" data-ga-click="Header, go to GitHub, text:Back to GitHub" href="https://github.com">Back to GitHub</a> <a class="Header-link d-block d-md-none mr-0 mr-md-3 py-2 py-md-0 border-top border-md-top-0 border-white-fade" data-ga-click="Header, sign in" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"gist header","repository_id":null,"auth_type":"LOG_IN","originating_url":"https://gist.github.com/bunkat/1962173","user_id":null}}" data-hydro-click-hmac="79932ec38de896990bfe788c126389957b5895a7a9abdcbeb8cf54985c991557" href="https://gist.github.com/auth/github?return_to=https%3A%2F%2Fgist.github.com%2Fbunkat%2F1962173"> Sign in </a> <a class="Header-link d-block d-md-none mr-0 mr-md-3 py-2 py-md-0 border-top border-md-top-0 border-white-fade" data-ga-click="Header, sign up" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"gist header","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://gist.github.com/bunkat/1962173","user_id":null}}" data-hydro-click-hmac="a45eafa6be6d1c6e193640813ef3c4358e6395c564b25b8d25b994f5366fc992" href="/join?return_to=https%3A%2F%2Fgist.github.com%2Fbunkat%2F1962173&source=header-gist"> Sign up </a></nav> </div> <div class="Header-item Header-item--full flex-justify-center d-md-none position-relative"> <a class="Header-link" data-hotkey="g d" aria-label="Gist Homepage " href="/"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github v-align-middle d-inline-block d-md-none"> <path d="M12.5.75C6.146.75 1 5.896 1 12.25c0 5.089 3.292 9.387 7.863 10.91.575.101.79-.244.79-.546 0-.273-.014-1.178-.014-2.142-2.889.532-3.636-.704-3.866-1.35-.13-.331-.69-1.352-1.18-1.625-.402-.216-.977-.748-.014-.762.906-.014 1.553.834 1.769 1.179 1.035 1.74 2.688 1.25 3.349.948.1-.747.402-1.25.733-1.538-2.559-.287-5.232-1.279-5.232-5.678 0-1.25.445-2.285 1.178-3.09-.115-.288-.517-1.467.115-3.048 0 0 .963-.302 3.163 1.179.92-.259 1.897-.388 2.875-.388.977 0 1.955.13 2.875.388 2.2-1.495 3.162-1.179 3.162-1.179.633 1.581.23 2.76.115 3.048.733.805 1.179 1.825 1.179 3.09 0 4.413-2.688 5.39-5.247 5.678.417.36.776 1.05.776 2.128 0 1.538-.014 2.774-.014 3.162 0 .302.216.662.79.547C20.709 21.637 24 17.324 24 12.25 24 5.896 18.854.75 12.5.75Z"></path> </svg> <svg aria-hidden="true" height="24" viewBox="0 0 68 24" version="1.1" width="68" data-view-component="true" class="octicon octicon-logo-github v-align-middle d-none d-md-inline-block"> <path d="M27.8 17.908h-.03c.013 0 .022.014.035.017l.01-.002-.016-.015Zm.005.017c-.14.001-.49.073-.861.073-1.17 0-1.575-.536-1.575-1.234v-4.652h2.385c.135 0 .24-.12.24-.283V9.302c0-.133-.12-.252-.24-.252H25.37V5.913c0-.119-.075-.193-.21-.193h-3.24c-.136 0-.21.074-.21.193V9.14s-1.636.401-1.741.416a.255.255 0 0 0-.195.253v2.021c0 .164.12.282.255.282h1.665v4.876c0 3.627 2.55 3.998 4.29 3.998.796 0 1.756-.252 1.906-.327.09-.03.135-.134.135-.238v-2.23a.264.264 0 0 0-.219-.265Zm35.549-3.272c0-2.69-1.095-3.047-2.25-2.928-.9.06-1.62.505-1.62.505v5.232s.735.506 1.83.536c1.545.044 2.04-.506 2.04-3.345ZM67 14.415c0 5.099-1.665 6.555-4.576 6.555-2.46 0-3.78-1.233-3.78-1.233s-.06.683-.135.773c-.045.089-.12.118-.21.118h-2.22c-.15 0-.286-.119-.286-.252l.03-16.514a.26.26 0 0 1 .255-.252h3.196a.26.26 0 0 1 .255.252v5.604s1.23-.788 3.03-.788l-.015-.03c1.8 0 4.456.67 4.456 5.767ZM53.918 9.05h-3.15c-.165 0-.255.119-.255.282v8.086s-.826.58-1.95.58c-1.126 0-1.456-.506-1.456-1.62v-7.06a.262.262 0 0 0-.255-.254h-3.21a.262.262 0 0 0-.256.253v7.596c0 3.27 1.846 4.087 4.381 4.087 2.085 0 3.78-1.145 3.78-1.145s.076.58.12.67c.03.074.136.133.24.133h2.011a.243.243 0 0 0 .255-.253l.03-11.103c0-.133-.12-.252-.285-.252Zm-35.556-.015h-3.195c-.135 0-.255.134-.255.297v10.91c0 .297.195.401.45.401h2.88c.3 0 .375-.134.375-.401V9.287a.262.262 0 0 0-.255-.252ZM16.787 4.01c-1.155 0-2.07.907-2.07 2.051 0 1.145.915 2.051 2.07 2.051a2.04 2.04 0 0 0 2.04-2.05 2.04 2.04 0 0 0-2.04-2.052Zm24.74-.372H38.36a.262.262 0 0 0-.255.253v6.08H33.14v-6.08a.262.262 0 0 0-.255-.253h-3.196a.262.262 0 0 0-.255.253v16.514c0 .133.135.252.255.252h3.196a.262.262 0 0 0 .255-.253v-7.06h4.966l-.03 7.06c0 .134.12.253.255.253h3.195a.262.262 0 0 0 .255-.253V3.892a.262.262 0 0 0-.255-.253Zm-28.31 7.313v8.532c0 .06-.015.163-.09.193 0 0-1.875 1.323-4.966 1.323C4.426 21 0 19.84 0 12.2S3.87 2.986 7.651 3c3.27 0 4.59.728 4.8.862.06.075.09.134.09.208l-.63 2.646c0 .134-.134.297-.3.253-.54-.164-1.35-.49-3.255-.49-2.205 0-4.575.623-4.575 5.543s2.25 5.5 3.87 5.5c1.38 0 1.875-.164 1.875-.164V13.94H7.321c-.165 0-.285-.12-.285-.253v-2.735c0-.134.12-.252.285-.252h5.61c.166 0 .286.118.286.252Z"></path> </svg> <svg aria-hidden="true" height="24" viewBox="0 0 38 24" version="1.1" width="38" data-view-component="true" class="octicon octicon-logo-gist v-align-middle d-none d-md-inline-block"> <path d="M7.05 13.095v-1.5h5.28v8.535c-1.17.555-2.925.96-5.385.96C1.665 21.09 0 17.055 0 12.045S1.695 3 6.945 3c2.43 0 3.96.495 4.92.99v1.575c-1.83-.75-3-1.095-4.92-1.095-3.855 0-5.22 3.315-5.22 7.59s1.365 7.575 5.205 7.575c1.335 0 2.97-.105 3.795-.51v-6.03H7.05Zm16.47 1.035h.045c3.33.3 4.125 1.425 4.125 3.345 0 1.815-1.14 3.615-4.71 3.615-1.125 0-2.745-.285-3.495-.585v-1.41c.705.255 1.83.54 3.495.54 2.43 0 3.09-1.035 3.09-2.13 0-1.065-.33-1.815-2.655-2.01-3.39-.3-4.095-1.5-4.095-3.12 0-1.665 1.08-3.465 4.38-3.465 1.095 0 2.34.135 3.375.585v1.41c-.915-.3-1.83-.54-3.405-.54-2.325 0-2.82.855-2.82 2.01 0 1.035.42 1.56 2.67 1.755Zm12.87-4.995v1.275h-3.63v7.305c0 1.425.795 2.01 2.25 2.01.3 0 .63 0 .915-.045v1.335c-.255.045-.75.075-1.035.075-1.965 0-3.75-.9-3.75-3.195v-7.5H28.8v-.72l2.34-.66V5.85l1.62-.465v3.75h3.63ZM16.635 9.09v9.615c0 .81.285 1.05 1.005 1.05v1.335c-1.71 0-2.58-.705-2.58-2.58V9.09h1.575Zm.375-3.495c0 .66-.51 1.17-1.17 1.17a1.14 1.14 0 0 1-1.155-1.17c0-.66.48-1.17 1.155-1.17s1.17.51 1.17 1.17Z"></path> </svg> </a> </div> <div class="Header-item f4 mr-0" role="navigation" aria-label="Sign in or sign up"> <a class="Header-link no-underline mr-3" data-ga-click="Header, sign in" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"gist header","repository_id":null,"auth_type":"LOG_IN","originating_url":"https://gist.github.com/bunkat/1962173","user_id":null}}" data-hydro-click-hmac="79932ec38de896990bfe788c126389957b5895a7a9abdcbeb8cf54985c991557" href="https://gist.github.com/auth/github?return_to=https%3A%2F%2Fgist.github.com%2Fbunkat%2F1962173"> Sign in </a> <a class="Header-link d-inline-block no-underline border color-border-default rounded px-2 py-1" data-ga-click="Header, sign up" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"gist header","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://gist.github.com/bunkat/1962173","user_id":null}}" data-hydro-click-hmac="a45eafa6be6d1c6e193640813ef3c4358e6395c564b25b8d25b994f5366fc992" href="/join?return_to=https%3A%2F%2Fgist.github.com%2Fbunkat%2F1962173&source=header-gist"> Sign up </a> </div> </div> <div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <button id="icon-button-73b43351-e995-4681-a922-781d54a0d6a0" aria-labelledby="tooltip-852a4249-2acd-47a2-b9b8-6251efd3b284" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button><tool-tip id="tooltip-852a4249-2acd-47a2-b9b8-6251efd3b284" for="icon-button-73b43351-e995-4681-a922-781d54a0d6a0" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip> </div> </div> <div id="start-of-content" class="show-on-focus"></div> <div id="js-flash-container" class="flash-container" data-turbo-replace> <template class="js-flash-template"> <div class="flash flash-full {{ className }}"> <div > <button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div aria-atomic="true" role="alert" class="js-flash-alert"> <div>{{ message }}</div> </div> </div> </div> </template> </div> <div class="application-main " data-commit-hovercards-enabled data-discussion-hovercards-enabled data-issue-and-pr-hovercards-enabled data-project-hovercards-enabled > <div itemscope itemtype="http://schema.org/Code"> <main id="gist-pjax-container"> <div class="gist-detail-intro gist-banner pb-3"> <div class="text-center container-lg px-3"> <p class="lead"> Instantly share code, notes, and snippets. </p> </div> </div> <div class="gisthead pagehead pb-0 pt-3 mb-4"> <div class="px-0"> <div class="mb-3 d-flex px-3 px-md-3 px-lg-5"> <div class="flex-auto min-width-0 width-fit mr-3"> <div class="d-flex"> <div class="d-none d-md-block"> <a class="mr-2 flex-shrink-0" data-hovercard-type="user" data-hovercard-url="/users/bunkat/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/bunkat"><img class="avatar avatar-user" src="https://avatars.githubusercontent.com/u/665885?s=64&v=4" width="32" height="32" alt="@bunkat" /></a> </div> <div class="d-flex flex-column width-full"> <div class="d-flex flex-row width-full"> <h1 class="wb-break-word f3 text-normal mb-md-0 mb-1"> <span class="author"><a data-hovercard-type="user" data-hovercard-url="/users/bunkat/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/bunkat">bunkat</a></span><!-- --><span class="mx-1 color-fg-muted">/</span><!-- --><strong itemprop="name" class="css-truncate-target mr-1" style="max-width: 410px"><a href="/bunkat/1962173">index.html</a></strong> </h1> </div> <div class="note m-0"> Last active <relative-time tense="past" datetime="2024-09-29T02:37:35Z" data-view-component="true">September 29, 2024 02:37</relative-time> </div> </div> </div> </div> <ul class="d-md-flex pagehead-actions float-none mr-2"> </ul> <div class="d-inline-block d-md-none ml-auto"> <action-menu data-select-variant="none" data-view-component="true" class="flex-self-start ml-auto d-inline-block"> <focus-group direction="vertical" mnemonics retain> <button id="gist_options-button" popovertarget="gist_options-overlay" aria-controls="gist_options-list" aria-haspopup="true" aria-labelledby="tooltip-17b02e78-98d9-4c4e-810a-e077ee25ed0a" type="button" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--small"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal Button-visual"> <path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path> </svg> </button><tool-tip id="tooltip-17b02e78-98d9-4c4e-810a-e077ee25ed0a" for="gist_options-button" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Show Gist options</tool-tip> <anchored-position data-target="action-menu.overlay" id="gist_options-overlay" anchor="gist_options-button" align="start" side="outside-bottom" anchor-offset="normal" popover="auto" data-view-component="true"> <div data-view-component="true" class="Overlay Overlay--size-auto"> <div data-view-component="true" class="Overlay-body Overlay-body--paddingNone"> <action-list> <div data-view-component="true"> <ul aria-labelledby="gist_options-button" id="gist_options-list" role="menu" data-view-component="true" class="ActionListWrap--inset ActionListWrap"> <li rel="nofollow" data-hydro-click="{"event_type":"clone_or_download.click","payload":{"feature_clicked":"DOWNLOAD_ZIP","git_repository_type":"GIST","gist_id":1962173,"originating_url":"https://gist.github.com/bunkat/1962173","user_id":null}}" data-hydro-click-hmac="43a6d2346742850d37ef35955ba2ea9d282982d353cc4b8bdaee1243ea7eea32" data-ga-click="Gist, download zip, location:gist overview" data-targets="action-list.items" data-item-id="download_from_gist_options" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-c1cd10b5-0099-4e3a-a4f1-bc6c36eb97c7" href="/bunkat/1962173/archive/b7d7134dbc15912619cc21c7fdc2bb78864a8daa.zip" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-download"> <path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Download ZIP </span> </a> </li> </ul> </div></action-list> </div> </div></anchored-position> </focus-group> </action-menu> </div> <ul class="d-md-flex d-none pagehead-actions float-none"> <li> <a id="gist-star-button" href="/login?return_to=https%3A%2F%2Fgist.github.com%2Fbunkat%2F1962173" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"gist star button","repository_id":null,"auth_type":"LOG_IN","originating_url":"https://gist.github.com/bunkat/1962173","user_id":null}}" data-hydro-click-hmac="f65bbee5a258c208b72424f49e8088f37b81bf0b097f864577c4d48c301a3dce" aria-label="You must be signed in to star a gist" data-view-component="true" class="btn-with-count Button--secondary Button--small Button"> <span class="Button-content"> <span class="Button-visual Button-leadingVisual"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg> </span> <span class="Button-label">Star</span> <span class="Button-visual Button-trailingVisual"> <span class="d-flex" aria-hidden="true"><span title="20" data-view-component="true" class="Counter">20</span></span> <span class="sr-only">(<span title="20" data-view-component="true" class="Counter">20</span>)</span> </span> </span> </a><tool-tip id="tooltip-d7be5f7d-fe55-4da7-900f-cb3bdfab227e" for="gist-star-button" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">You must be signed in to star a gist</tool-tip> </li> <li> <a id="gist-fork-button" href="/login?return_to=https%3A%2F%2Fgist.github.com%2Fbunkat%2F1962173" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"gist fork button","repository_id":null,"auth_type":"LOG_IN","originating_url":"https://gist.github.com/bunkat/1962173","user_id":null}}" data-hydro-click-hmac="36a8a7abd97fa276fe7e6a0babfd67c9da44960bb853bec5cdb38c539ede8f34" aria-label="You must be signed in to fork a gist" data-view-component="true" class="btn-with-count Button--secondary Button--small Button"> <span class="Button-content"> <span class="Button-visual Button-leadingVisual"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked"> <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path> </svg> </span> <span class="Button-label">Fork</span> <span class="Button-visual Button-trailingVisual"> <span class="d-flex" aria-hidden="true"><span title="30" data-view-component="true" class="Counter">30</span></span> <span class="sr-only">(<span title="30" data-view-component="true" class="Counter">30</span>)</span> </span> </span> </a><tool-tip id="tooltip-33a9e09f-76db-4b8d-bb32-5885b242a80e" for="gist-fork-button" popover="manual" data-direction="n" data-type="description" data-view-component="true" class="sr-only position-absolute">You must be signed in to fork a gist</tool-tip> </li> </ul> </div> <ul class="d-flex d-md-none px-3 mb-2 pagehead-actions float-none" > <li> <div data-view-component="true" class="flex-items-center d-inline-flex"> <action-menu data-menu-input="gist-share-url-sized-down" data-select-variant="single" data-dynamic-label="" data-view-component="true" class="flex-shrink-0"> <focus-group direction="vertical" mnemonics retain> <button id="action-menu-806ec347-f9ab-4fbc-afb3-592e85546cee-button" popovertarget="action-menu-806ec347-f9ab-4fbc-afb3-592e85546cee-overlay" aria-controls="action-menu-806ec347-f9ab-4fbc-afb3-592e85546cee-list" aria-haspopup="true" type="button" data-view-component="true" class="rounded-right-0 border-right-0 Button--secondary Button--small Button"> <span class="Button-content"> <span class="Button-label">Embed</span> </span> <span class="Button-visual Button-trailingAction"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-triangle-down"> <path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path> </svg> </span> </button> <anchored-position data-target="action-menu.overlay" id="action-menu-806ec347-f9ab-4fbc-afb3-592e85546cee-overlay" anchor="action-menu-806ec347-f9ab-4fbc-afb3-592e85546cee-button" align="start" side="outside-bottom" anchor-offset="normal" popover="auto" data-view-component="true"> <div data-view-component="true" class="Overlay Overlay--size-auto"> <div data-view-component="true" class="Overlay-body Overlay-body--paddingNone"> <action-list> <div data-view-component="true"> <ul aria-labelledby="action-menu-806ec347-f9ab-4fbc-afb3-592e85546cee-button" id="action-menu-806ec347-f9ab-4fbc-afb3-592e85546cee-list" role="menu" data-view-component="true" class="ActionListWrap--inset ActionListWrap"> <li data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <button value="<script src="https://gist.github.com/bunkat/1962173.js"></script>" tabindex="-1" data-hydro-click="{"event_type":"clone_or_download.click","payload":{"feature_clicked":"EMBED","git_repository_type":"GIST","gist_id":1962173,"originating_url":"https://gist.github.com/bunkat/1962173","user_id":null}}" data-hydro-click-hmac="c771e29be79712079a66764bd51445ea37b689915645b9419bc964704ff14c28" id="item-b96d6dc7-f39f-48cc-908e-fc3a77f2a9ce" type="button" role="menuitemradio" aria-checked="true" data-view-component="true" class="ActionListContent"> <span class="ActionListItem-visual ActionListItem-action--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check ActionListItem-singleSelectCheckmark"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-descriptionWrap"> <span data-view-component="true" class="ActionListItem-label"> Embed </span> <span data-view-component="true" class="ActionListItem-description">Embed this gist in your website.</span> </span></button> </li> <li data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <button value="https://gist.github.com/bunkat/1962173" tabindex="-1" data-hydro-click="{"event_type":"clone_or_download.click","payload":{"feature_clicked":"SHARE","git_repository_type":"GIST","gist_id":1962173,"originating_url":"https://gist.github.com/bunkat/1962173","user_id":null}}" data-hydro-click-hmac="cef4d8157a2f01758c55d27b18114f4df58773a63eae28b07a1fe78719113828" id="item-8e38ecd8-3825-4667-ad93-cd9a6791f43c" type="button" role="menuitemradio" aria-checked="false" data-view-component="true" class="ActionListContent"> <span class="ActionListItem-visual ActionListItem-action--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check ActionListItem-singleSelectCheckmark"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-descriptionWrap"> <span data-view-component="true" class="ActionListItem-label"> Share </span> <span data-view-component="true" class="ActionListItem-description">Copy sharable link for this gist.</span> </span></button> </li> <li data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <button value="https://gist.github.com/1962173.git" tabindex="-1" data-hydro-click="{"event_type":"clone_or_download.click","payload":{"feature_clicked":"USE_HTTPS","git_repository_type":"GIST","gist_id":1962173,"originating_url":"https://gist.github.com/bunkat/1962173","user_id":null}}" data-hydro-click-hmac="5f4a1d0367902034173bd8c9ed61f8cb972cd179a4ae5dd4f7a996477915ceeb" id="item-478c0f31-5465-4448-b696-3044aded9fd2" type="button" role="menuitemradio" aria-checked="false" data-view-component="true" class="ActionListContent"> <span class="ActionListItem-visual ActionListItem-action--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check ActionListItem-singleSelectCheckmark"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-descriptionWrap"> <span data-view-component="true" class="ActionListItem-label"> Clone via HTTPS </span> <span data-view-component="true" class="ActionListItem-description">Clone using the web URL.</span> </span></button> </li> <li role="presentation" aria-hidden="true" data-view-component="true" class="ActionList-sectionDivider"></li> <li target="_blank" rel="noopener noreferrer" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-0701f20d-fdbf-4f8b-8614-da6dde117b7d" href="https://docs.github.com/articles/which-remote-url-should-i-use" role="menuitemradio" aria-checked="false" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-action--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check ActionListItem-singleSelectCheckmark"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </span> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-question"> <path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.92 6.085h.001a.749.749 0 1 1-1.342-.67c.169-.339.436-.701.849-.977C6.845 4.16 7.369 4 8 4a2.756 2.756 0 0 1 1.637.525c.503.377.863.965.863 1.725 0 .448-.115.83-.329 1.15-.205.307-.47.513-.692.662-.109.072-.22.138-.313.195l-.006.004a6.24 6.24 0 0 0-.26.16.952.952 0 0 0-.276.245.75.75 0 0 1-1.248-.832c.184-.264.42-.489.692-.661.103-.067.207-.132.313-.195l.007-.004c.1-.061.182-.11.258-.161a.969.969 0 0 0 .277-.245C8.96 6.514 9 6.427 9 6.25a.612.612 0 0 0-.262-.525A1.27 1.27 0 0 0 8 5.5c-.369 0-.595.09-.74.187a1.01 1.01 0 0 0-.34.398ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Learn more about clone URLs </span> </a> </li> </ul> </div></action-list> </div> </div></anchored-position> </focus-group> </action-menu> <primer-text-field class="FormControl width-full FormControl--fullWidth"> <label for="gist-share-url-sized-down" class="sr-only FormControl-label"> Clone this repository at &lt;script src=&quot;https://gist.github.com/bunkat/1962173.js&quot;&gt;&lt;/script&gt; </label> <div class="FormControl-input-wrap FormControl-input-wrap--small"> <input id="gist-share-url-sized-down" aria-label="Clone this repository at &lt;script src=&quot;https://gist.github.com/bunkat/1962173.js&quot;&gt;&lt;/script&gt;" value="<script src="https://gist.github.com/bunkat/1962173.js"></script>" readonly="readonly" data-autoselect="true" data-target="primer-text-field.inputElement " aria-describedby="validation-445a405e-a194-4b32-9b35-10b77e0effdc" class="form-control FormControl-monospace FormControl-input FormControl-small rounded-left-0 rounded-right-0 border-right-0" type="text" name="gist-share-url-sized-down" /> </div> <div class="FormControl-inlineValidation" id="validation-445a405e-a194-4b32-9b35-10b77e0effdc" hidden="hidden"> <span class="FormControl-inlineValidation--visual" data-target="primer-text-field.validationSuccessIcon" hidden><svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-check-circle-fill"> <path d="M6 0a6 6 0 1 1 0 12A6 6 0 0 1 6 0Zm-.705 8.737L9.63 4.403 8.392 3.166 5.295 6.263l-1.7-1.702L2.356 5.8l2.938 2.938Z"></path> </svg></span> <span class=" FormControl-inlineValidation--visual" data-target="primer-text-field.validationErrorIcon"><svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill"> <path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path> </svg></span> <span></span> </div> </primer-text-field> <span data-view-component="true"> <clipboard-copy id="clipboard-button" aria-label="Copy" for="gist-share-url-sized-down" data-hydro-click="{"event_type":"clone_or_download.click","payload":{"feature_clicked":"COPY_URL","git_repository_type":"GIST","gist_id":1962173,"originating_url":"https://gist.github.com/bunkat/1962173","user_id":null}}" data-hydro-click-hmac="b5caca591b355b2e869babe2143fe6f6c20b6e1f5834a452bb6b1a218f4c6ec3" type="button" data-view-component="true" class="rounded-left-0 Button--secondary Button--small Button"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg style="display: none;" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check color-fg-success"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> <div aria-live="polite" aria-atomic="true" class="sr-only" data-clipboard-copy-feedback></div> </span> </div> </li> <li> <button href="https://desktop.github.com" data-hydro-click="{"event_type":"clone_or_download.click","payload":{"feature_clicked":"OPEN_IN_DESKTOP","git_repository_type":"GIST","gist_id":1962173,"originating_url":"https://gist.github.com/bunkat/1962173","user_id":null}}" data-hydro-click-hmac="905dc32eefc9838ce986691b5f2b9379b2db3b070b5611c6af95d6b74a23ebdb" data-platforms="windows,mac" id="icon-button-c8f72ef7-0ff5-48e4-b655-1e8c362902bf" aria-labelledby="tooltip-49bbf59d-c2ef-4a22-a7ad-3faa613f2b8e" type="button" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--small js-remove-unless-platform"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-desktop-download Button-visual"> <path d="m4.927 5.427 2.896 2.896a.25.25 0 0 0 .354 0l2.896-2.896A.25.25 0 0 0 10.896 5H8.75V.75a.75.75 0 1 0-1.5 0V5H5.104a.25.25 0 0 0-.177.427Z"></path><path d="M1.573 2.573a.25.25 0 0 0-.073.177v7.5a.25.25 0 0 0 .25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25h-3a.75.75 0 1 1 0-1.5h3A1.75 1.75 0 0 1 16 2.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.75.75 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5A1.75 1.75 0 0 1 1.75 1h3a.75.75 0 0 1 0 1.5h-3a.25.25 0 0 0-.177.073ZM6.982 12a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5H6.982Z"></path> </svg> </button><tool-tip id="tooltip-49bbf59d-c2ef-4a22-a7ad-3faa613f2b8e" for="icon-button-c8f72ef7-0ff5-48e4-b655-1e8c362902bf" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Save bunkat/1962173 to your computer and use it in GitHub Desktop.</tool-tip> </li> </ul> <div class="d-flex flex-md-row flex-column px-0 pr-md-3 px-lg-5"> <div class="flex-md-order-1 flex-order-2 flex-auto"> <nav class="UnderlineNav box-shadow-none px-3 px-lg-0" aria-label="Gist" data-pjax="#gist-pjax-container"> <div class="UnderlineNav-body"> <a class="js-selected-navigation-item selected UnderlineNav-item" data-pjax="true" data-hotkey="g c" aria-current="page" data-selected-links="gist_code /bunkat/1962173" href="/bunkat/1962173"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code UnderlineNav-octicon"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a> <a class="js-selected-navigation-item UnderlineNav-item" data-pjax="true" data-hotkey="g r" data-selected-links="gist_revisions /bunkat/1962173/revisions" href="/bunkat/1962173/revisions"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-commit UnderlineNav-octicon"> <path d="M11.93 8.5a4.002 4.002 0 0 1-7.86 0H.75a.75.75 0 0 1 0-1.5h3.32a4.002 4.002 0 0 1 7.86 0h3.32a.75.75 0 0 1 0 1.5Zm-1.43-.75a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0Z"></path> </svg> Revisions <span title="9" data-view-component="true" class="Counter">9</span> </a> <a class="js-selected-navigation-item UnderlineNav-item" data-pjax="true" data-hotkey="g s" data-selected-links="gist_stars /bunkat/1962173/stargazers" href="/bunkat/1962173/stargazers"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star UnderlineNav-octicon"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg> Stars <span title="20" data-view-component="true" class="Counter">20</span> </a> <a class="js-selected-navigation-item UnderlineNav-item" data-pjax="true" data-hotkey="g f" data-selected-links="gist_forks /bunkat/1962173/forks" href="/bunkat/1962173/forks"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-branch UnderlineNav-octicon"> <path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path> </svg> Forks <span title="30" data-view-component="true" class="Counter">30</span> </a> </div> </nav> </div> <div class="d-md-flex d-none flex-items-center flex-md-order-2 flex-order-1" data-multiple> <div data-view-component="true" class="flex-items-center d-inline-flex"> <action-menu data-menu-input="gist-share-url-original" data-select-variant="single" data-dynamic-label="" data-view-component="true" class="flex-shrink-0"> <focus-group direction="vertical" mnemonics retain> <button id="action-menu-be750a9b-038a-481f-acf9-1a2d620cfc2a-button" popovertarget="action-menu-be750a9b-038a-481f-acf9-1a2d620cfc2a-overlay" aria-controls="action-menu-be750a9b-038a-481f-acf9-1a2d620cfc2a-list" aria-haspopup="true" type="button" data-view-component="true" class="rounded-right-0 border-right-0 Button--secondary Button--small Button"> <span class="Button-content"> <span class="Button-label">Embed</span> </span> <span class="Button-visual Button-trailingAction"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-triangle-down"> <path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path> </svg> </span> </button> <anchored-position data-target="action-menu.overlay" id="action-menu-be750a9b-038a-481f-acf9-1a2d620cfc2a-overlay" anchor="action-menu-be750a9b-038a-481f-acf9-1a2d620cfc2a-button" align="start" side="outside-bottom" anchor-offset="normal" popover="auto" data-view-component="true"> <div data-view-component="true" class="Overlay Overlay--size-auto"> <div data-view-component="true" class="Overlay-body Overlay-body--paddingNone"> <action-list> <div data-view-component="true"> <ul aria-labelledby="action-menu-be750a9b-038a-481f-acf9-1a2d620cfc2a-button" id="action-menu-be750a9b-038a-481f-acf9-1a2d620cfc2a-list" role="menu" data-view-component="true" class="ActionListWrap--inset ActionListWrap"> <li data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <button value="<script src="https://gist.github.com/bunkat/1962173.js"></script>" tabindex="-1" data-hydro-click="{"event_type":"clone_or_download.click","payload":{"feature_clicked":"EMBED","git_repository_type":"GIST","gist_id":1962173,"originating_url":"https://gist.github.com/bunkat/1962173","user_id":null}}" data-hydro-click-hmac="c771e29be79712079a66764bd51445ea37b689915645b9419bc964704ff14c28" id="item-4738a122-0917-4390-84c3-c15dbdc55aec" type="button" role="menuitemradio" aria-checked="true" data-view-component="true" class="ActionListContent"> <span class="ActionListItem-visual ActionListItem-action--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check ActionListItem-singleSelectCheckmark"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-descriptionWrap"> <span data-view-component="true" class="ActionListItem-label"> Embed </span> <span data-view-component="true" class="ActionListItem-description">Embed this gist in your website.</span> </span></button> </li> <li data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <button value="https://gist.github.com/bunkat/1962173" tabindex="-1" data-hydro-click="{"event_type":"clone_or_download.click","payload":{"feature_clicked":"SHARE","git_repository_type":"GIST","gist_id":1962173,"originating_url":"https://gist.github.com/bunkat/1962173","user_id":null}}" data-hydro-click-hmac="cef4d8157a2f01758c55d27b18114f4df58773a63eae28b07a1fe78719113828" id="item-1e3b7931-367a-4a46-b09e-2df8ca31415c" type="button" role="menuitemradio" aria-checked="false" data-view-component="true" class="ActionListContent"> <span class="ActionListItem-visual ActionListItem-action--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check ActionListItem-singleSelectCheckmark"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-descriptionWrap"> <span data-view-component="true" class="ActionListItem-label"> Share </span> <span data-view-component="true" class="ActionListItem-description">Copy sharable link for this gist.</span> </span></button> </li> <li data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <button value="https://gist.github.com/1962173.git" tabindex="-1" data-hydro-click="{"event_type":"clone_or_download.click","payload":{"feature_clicked":"USE_HTTPS","git_repository_type":"GIST","gist_id":1962173,"originating_url":"https://gist.github.com/bunkat/1962173","user_id":null}}" data-hydro-click-hmac="5f4a1d0367902034173bd8c9ed61f8cb972cd179a4ae5dd4f7a996477915ceeb" id="item-c2ffaef1-acfd-4566-b657-b4a141eec21c" type="button" role="menuitemradio" aria-checked="false" data-view-component="true" class="ActionListContent"> <span class="ActionListItem-visual ActionListItem-action--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check ActionListItem-singleSelectCheckmark"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-descriptionWrap"> <span data-view-component="true" class="ActionListItem-label"> Clone via HTTPS </span> <span data-view-component="true" class="ActionListItem-description">Clone using the web URL.</span> </span></button> </li> <li role="presentation" aria-hidden="true" data-view-component="true" class="ActionList-sectionDivider"></li> <li target="_blank" rel="noopener noreferrer" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-97c03cb6-a277-47a5-bc0a-200e52208c42" href="https://docs.github.com/articles/which-remote-url-should-i-use" role="menuitemradio" aria-checked="false" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-action--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check ActionListItem-singleSelectCheckmark"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </span> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-question"> <path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.92 6.085h.001a.749.749 0 1 1-1.342-.67c.169-.339.436-.701.849-.977C6.845 4.16 7.369 4 8 4a2.756 2.756 0 0 1 1.637.525c.503.377.863.965.863 1.725 0 .448-.115.83-.329 1.15-.205.307-.47.513-.692.662-.109.072-.22.138-.313.195l-.006.004a6.24 6.24 0 0 0-.26.16.952.952 0 0 0-.276.245.75.75 0 0 1-1.248-.832c.184-.264.42-.489.692-.661.103-.067.207-.132.313-.195l.007-.004c.1-.061.182-.11.258-.161a.969.969 0 0 0 .277-.245C8.96 6.514 9 6.427 9 6.25a.612.612 0 0 0-.262-.525A1.27 1.27 0 0 0 8 5.5c-.369 0-.595.09-.74.187a1.01 1.01 0 0 0-.34.398ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Learn more about clone URLs </span> </a> </li> </ul> </div></action-list> </div> </div></anchored-position> </focus-group> </action-menu> <primer-text-field class="FormControl width-full FormControl--fullWidth"> <label for="gist-share-url-original" class="sr-only FormControl-label"> Clone this repository at &lt;script src=&quot;https://gist.github.com/bunkat/1962173.js&quot;&gt;&lt;/script&gt; </label> <div class="FormControl-input-wrap FormControl-input-wrap--small"> <input id="gist-share-url-original" aria-label="Clone this repository at &lt;script src=&quot;https://gist.github.com/bunkat/1962173.js&quot;&gt;&lt;/script&gt;" value="<script src="https://gist.github.com/bunkat/1962173.js"></script>" readonly="readonly" data-autoselect="true" data-target="primer-text-field.inputElement " aria-describedby="validation-4e36a22d-28e7-43af-84a5-7c6f27949fd5" class="form-control FormControl-monospace FormControl-input FormControl-small rounded-left-0 rounded-right-0 border-right-0" type="text" name="gist-share-url-original" /> </div> <div class="FormControl-inlineValidation" id="validation-4e36a22d-28e7-43af-84a5-7c6f27949fd5" hidden="hidden"> <span class="FormControl-inlineValidation--visual" data-target="primer-text-field.validationSuccessIcon" hidden><svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-check-circle-fill"> <path d="M6 0a6 6 0 1 1 0 12A6 6 0 0 1 6 0Zm-.705 8.737L9.63 4.403 8.392 3.166 5.295 6.263l-1.7-1.702L2.356 5.8l2.938 2.938Z"></path> </svg></span> <span class=" FormControl-inlineValidation--visual" data-target="primer-text-field.validationErrorIcon"><svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill"> <path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path> </svg></span> <span></span> </div> </primer-text-field> <span data-view-component="true"> <clipboard-copy id="clipboard-button" aria-label="Copy" for="gist-share-url-original" data-hydro-click="{"event_type":"clone_or_download.click","payload":{"feature_clicked":"COPY_URL","git_repository_type":"GIST","gist_id":1962173,"originating_url":"https://gist.github.com/bunkat/1962173","user_id":null}}" data-hydro-click-hmac="b5caca591b355b2e869babe2143fe6f6c20b6e1f5834a452bb6b1a218f4c6ec3" type="button" data-view-component="true" class="rounded-left-0 Button--secondary Button--small Button"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg style="display: none;" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check color-fg-success"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> <div aria-live="polite" aria-atomic="true" class="sr-only" data-clipboard-copy-feedback></div> </span> </div> <div class="ml-2"> <button href="https://desktop.github.com" data-hydro-click="{"event_type":"clone_or_download.click","payload":{"feature_clicked":"OPEN_IN_DESKTOP","git_repository_type":"GIST","gist_id":1962173,"originating_url":"https://gist.github.com/bunkat/1962173","user_id":null}}" data-hydro-click-hmac="905dc32eefc9838ce986691b5f2b9379b2db3b070b5611c6af95d6b74a23ebdb" data-platforms="windows,mac" id="icon-button-70b3a6e6-020b-419c-b690-4cd6e9066549" aria-labelledby="tooltip-db902a9c-8ef1-4a1b-9fc3-8023e9c55bc5" type="button" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--small js-remove-unless-platform"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-desktop-download Button-visual"> <path d="m4.927 5.427 2.896 2.896a.25.25 0 0 0 .354 0l2.896-2.896A.25.25 0 0 0 10.896 5H8.75V.75a.75.75 0 1 0-1.5 0V5H5.104a.25.25 0 0 0-.177.427Z"></path><path d="M1.573 2.573a.25.25 0 0 0-.073.177v7.5a.25.25 0 0 0 .25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25h-3a.75.75 0 1 1 0-1.5h3A1.75 1.75 0 0 1 16 2.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.75.75 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5A1.75 1.75 0 0 1 1.75 1h3a.75.75 0 0 1 0 1.5h-3a.25.25 0 0 0-.177.073ZM6.982 12a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5H6.982Z"></path> </svg> </button><tool-tip id="tooltip-db902a9c-8ef1-4a1b-9fc3-8023e9c55bc5" for="icon-button-70b3a6e6-020b-419c-b690-4cd6e9066549" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Save bunkat/1962173 to your computer and use it in GitHub Desktop.</tool-tip> </div> <div class="ml-2"> <a class="btn btn-sm" rel="nofollow" data-hydro-click="{"event_type":"clone_or_download.click","payload":{"feature_clicked":"DOWNLOAD_ZIP","git_repository_type":"GIST","gist_id":1962173,"originating_url":"https://gist.github.com/bunkat/1962173","user_id":null}}" data-hydro-click-hmac="43a6d2346742850d37ef35955ba2ea9d282982d353cc4b8bdaee1243ea7eea32" data-ga-click="Gist, download zip, location:gist overview" href="/bunkat/1962173/archive/b7d7134dbc15912619cc21c7fdc2bb78864a8daa.zip">Download ZIP</a> </div> </div> </div> </div> </div> <div class="container-lg px-3"> <div class="repository-content gist-content" > <div> <div itemprop="about"> Swimlane Chart using d3.js </div> <div class="js-gist-file-update-container js-task-list-container"> <div id="file-index-html" class="file my-2"> <div class="file-header d-flex flex-md-items-center flex-items-start"> <div class="file-actions flex-order-2 pt-0"> <a href="/bunkat/1962173/raw/b7d7134dbc15912619cc21c7fdc2bb78864a8daa/index.html" data-view-component="true" class="Button--secondary Button--small Button"> <span class="Button-content"> <span class="Button-label">Raw</span> </span> </a> </div> <div class="file-info pr-4 d-flex flex-md-items-center flex-items-start flex-order-1 flex-auto"> <span class="mr-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-square color-fg-muted"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </span> <a class="wb-break-all" href="#file-index-html"> <strong class="user-select-contain gist-blob-name css-truncate-target"> index.html </strong> </a> </div> </div> <div itemprop="text" class="Box-body p-0 blob-wrapper data type-html gist-border-0" style="overflow: auto" tabindex="0" role="region" aria-label="file-index-html" > <div class="js-check-bidi js-blob-code-container blob-code-content"> <template class="js-file-alert-template"> <div data-view-component="true" class="flash flash-warn flash-full d-flex flex-items-center"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span> This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. <a class="Link--inTextBlock" href="https://github.co/hiddenchars" target="_blank">Learn more about bidirectional Unicode characters</a> </span> <div data-view-component="true" class="flash-action"> <a href="{{ revealButtonHref }}" data-view-component="true" class="btn-sm btn"> Show hidden characters </a> </div> </div></template> <template class="js-line-alert-template"> <span aria-label="This line has hidden Unicode characters" data-view-component="true" class="line-alert tooltipped tooltipped-e"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </span></template> <table data-hpc class="highlight tab-size js-file-line-container" data-tab-size="8" data-paste-markdown-skip data-tagsearch-path="index.html"> <tr> <td id="file-index-html-L1" class="blob-num js-line-number js-blob-rnum" data-line-number="1"></td> <td id="file-index-html-LC1" class="blob-code blob-code-inner js-file-line"><span class=pl-c><!--</span></td> </tr> <tr> <td id="file-index-html-L2" class="blob-num js-line-number js-blob-rnum" data-line-number="2"></td> <td id="file-index-html-LC2" class="blob-code blob-code-inner js-file-line"><span class=pl-c>The MIT License (MIT)</span></td> </tr> <tr> <td id="file-index-html-L3" class="blob-num js-line-number js-blob-rnum" data-line-number="3"></td> <td id="file-index-html-LC3" class="blob-code blob-code-inner js-file-line"><span class=pl-c></span></td> </tr> <tr> <td id="file-index-html-L4" class="blob-num js-line-number js-blob-rnum" data-line-number="4"></td> <td id="file-index-html-LC4" class="blob-code blob-code-inner js-file-line"><span class=pl-c>Copyright (c) 2013 bill@bunkat.com</span></td> </tr> <tr> <td id="file-index-html-L5" class="blob-num js-line-number js-blob-rnum" data-line-number="5"></td> <td id="file-index-html-LC5" class="blob-code blob-code-inner js-file-line"><span class=pl-c></span></td> </tr> <tr> <td id="file-index-html-L6" class="blob-num js-line-number js-blob-rnum" data-line-number="6"></td> <td id="file-index-html-LC6" class="blob-code blob-code-inner js-file-line"><span class=pl-c>Permission is hereby granted, free of charge, to any person obtaining a copy</span></td> </tr> <tr> <td id="file-index-html-L7" class="blob-num js-line-number js-blob-rnum" data-line-number="7"></td> <td id="file-index-html-LC7" class="blob-code blob-code-inner js-file-line"><span class=pl-c>of this software and associated documentation files (the "Software"), to deal</span></td> </tr> <tr> <td id="file-index-html-L8" class="blob-num js-line-number js-blob-rnum" data-line-number="8"></td> <td id="file-index-html-LC8" class="blob-code blob-code-inner js-file-line"><span class=pl-c>in the Software without restriction, including without limitation the rights</span></td> </tr> <tr> <td id="file-index-html-L9" class="blob-num js-line-number js-blob-rnum" data-line-number="9"></td> <td id="file-index-html-LC9" class="blob-code blob-code-inner js-file-line"><span class=pl-c>to use, copy, modify, merge, publish, distribute, sublicense, and/or sell</span></td> </tr> <tr> <td id="file-index-html-L10" class="blob-num js-line-number js-blob-rnum" data-line-number="10"></td> <td id="file-index-html-LC10" class="blob-code blob-code-inner js-file-line"><span class=pl-c>copies of the Software, and to permit persons to whom the Software is</span></td> </tr> <tr> <td id="file-index-html-L11" class="blob-num js-line-number js-blob-rnum" data-line-number="11"></td> <td id="file-index-html-LC11" class="blob-code blob-code-inner js-file-line"><span class=pl-c>furnished to do so, subject to the following conditions:</span></td> </tr> <tr> <td id="file-index-html-L12" class="blob-num js-line-number js-blob-rnum" data-line-number="12"></td> <td id="file-index-html-LC12" class="blob-code blob-code-inner js-file-line"><span class=pl-c></span></td> </tr> <tr> <td id="file-index-html-L13" class="blob-num js-line-number js-blob-rnum" data-line-number="13"></td> <td id="file-index-html-LC13" class="blob-code blob-code-inner js-file-line"><span class=pl-c>The above copyright notice and this permission notice shall be included in</span></td> </tr> <tr> <td id="file-index-html-L14" class="blob-num js-line-number js-blob-rnum" data-line-number="14"></td> <td id="file-index-html-LC14" class="blob-code blob-code-inner js-file-line"><span class=pl-c>all copies or substantial portions of the Software.</span></td> </tr> <tr> <td id="file-index-html-L15" class="blob-num js-line-number js-blob-rnum" data-line-number="15"></td> <td id="file-index-html-LC15" class="blob-code blob-code-inner js-file-line"><span class=pl-c></span></td> </tr> <tr> <td id="file-index-html-L16" class="blob-num js-line-number js-blob-rnum" data-line-number="16"></td> <td id="file-index-html-LC16" class="blob-code blob-code-inner js-file-line"><span class=pl-c>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span></td> </tr> <tr> <td id="file-index-html-L17" class="blob-num js-line-number js-blob-rnum" data-line-number="17"></td> <td id="file-index-html-LC17" class="blob-code blob-code-inner js-file-line"><span class=pl-c>IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</span></td> </tr> <tr> <td id="file-index-html-L18" class="blob-num js-line-number js-blob-rnum" data-line-number="18"></td> <td id="file-index-html-LC18" class="blob-code blob-code-inner js-file-line"><span class=pl-c>FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE</span></td> </tr> <tr> <td id="file-index-html-L19" class="blob-num js-line-number js-blob-rnum" data-line-number="19"></td> <td id="file-index-html-LC19" class="blob-code blob-code-inner js-file-line"><span class=pl-c>AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</span></td> </tr> <tr> <td id="file-index-html-L20" class="blob-num js-line-number js-blob-rnum" data-line-number="20"></td> <td id="file-index-html-LC20" class="blob-code blob-code-inner js-file-line"><span class=pl-c>LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,</span></td> </tr> <tr> <td id="file-index-html-L21" class="blob-num js-line-number js-blob-rnum" data-line-number="21"></td> <td id="file-index-html-LC21" class="blob-code blob-code-inner js-file-line"><span class=pl-c>OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN</span></td> </tr> <tr> <td id="file-index-html-L22" class="blob-num js-line-number js-blob-rnum" data-line-number="22"></td> <td id="file-index-html-LC22" class="blob-code blob-code-inner js-file-line"><span class=pl-c>THE SOFTWARE.</span></td> </tr> <tr> <td id="file-index-html-L23" class="blob-num js-line-number js-blob-rnum" data-line-number="23"></td> <td id="file-index-html-LC23" class="blob-code blob-code-inner js-file-line"><span class=pl-c>--></span></td> </tr> <tr> <td id="file-index-html-L24" class="blob-num js-line-number js-blob-rnum" data-line-number="24"></td> <td id="file-index-html-LC24" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L25" class="blob-num js-line-number js-blob-rnum" data-line-number="25"></td> <td id="file-index-html-LC25" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L26" class="blob-num js-line-number js-blob-rnum" data-line-number="26"></td> <td id="file-index-html-LC26" class="blob-code blob-code-inner js-file-line"><span class=pl-kos><</span><span class=pl-ent>html</span><span class=pl-kos>></span></td> </tr> <tr> <td id="file-index-html-L27" class="blob-num js-line-number js-blob-rnum" data-line-number="27"></td> <td id="file-index-html-LC27" class="blob-code blob-code-inner js-file-line"><span class=pl-kos><</span><span class=pl-ent>head</span><span class=pl-kos>></span></td> </tr> <tr> <td id="file-index-html-L28" class="blob-num js-line-number js-blob-rnum" data-line-number="28"></td> <td id="file-index-html-LC28" class="blob-code blob-code-inner js-file-line"><span class=pl-kos><</span><span class=pl-ent>title</span><span class=pl-kos>></span>Swimlane using d3.js<span class=pl-kos></</span><span class=pl-ent>title</span><span class=pl-kos>></span></td> </tr> <tr> <td id="file-index-html-L29" class="blob-num js-line-number js-blob-rnum" data-line-number="29"></td> <td id="file-index-html-LC29" class="blob-code blob-code-inner js-file-line"><span class=pl-kos><</span><span class=pl-ent>script</span> <span class=pl-c1>type</span>="<span class=pl-s>text/javascript</span>" <span class=pl-c1>src</span>="<span class=pl-s>http://mbostock.github.com/d3/d3.v2.js</span>"<span class=pl-kos>></span><span class=pl-kos></</span><span class=pl-ent>script</span><span class=pl-kos>></span></td> </tr> <tr> <td id="file-index-html-L30" class="blob-num js-line-number js-blob-rnum" data-line-number="30"></td> <td id="file-index-html-LC30" class="blob-code blob-code-inner js-file-line"><span class=pl-kos><</span><span class=pl-ent>script</span> <span class=pl-c1>type</span>="<span class=pl-s>text/javascript</span>" <span class=pl-c1>src</span>="<span class=pl-s>randomData.js</span>"<span class=pl-kos>></span><span class=pl-kos></</span><span class=pl-ent>script</span><span class=pl-kos>></span></td> </tr> <tr> <td id="file-index-html-L31" class="blob-num js-line-number js-blob-rnum" data-line-number="31"></td> <td id="file-index-html-LC31" class="blob-code blob-code-inner js-file-line"><span class=pl-kos><</span><span class=pl-ent>style</span><span class=pl-kos>></span></td> </tr> <tr> <td id="file-index-html-L32" class="blob-num js-line-number js-blob-rnum" data-line-number="32"></td> <td id="file-index-html-LC32" class="blob-code blob-code-inner js-file-line">.<span class=pl-c1>chart</span> {</td> </tr> <tr> <td id="file-index-html-L33" class="blob-num js-line-number js-blob-rnum" data-line-number="33"></td> <td id="file-index-html-LC33" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>shape-rendering</span><span class=pl-kos>:</span> crispEdges;</td> </tr> <tr> <td id="file-index-html-L34" class="blob-num js-line-number js-blob-rnum" data-line-number="34"></td> <td id="file-index-html-LC34" class="blob-code blob-code-inner js-file-line">}</td> </tr> <tr> <td id="file-index-html-L35" class="blob-num js-line-number js-blob-rnum" data-line-number="35"></td> <td id="file-index-html-LC35" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L36" class="blob-num js-line-number js-blob-rnum" data-line-number="36"></td> <td id="file-index-html-LC36" class="blob-code blob-code-inner js-file-line">.<span class=pl-c1>mini</span> <span class=pl-ent>text</span> {</td> </tr> <tr> <td id="file-index-html-L37" class="blob-num js-line-number js-blob-rnum" data-line-number="37"></td> <td id="file-index-html-LC37" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>font</span><span class=pl-kos>:</span> <span class=pl-c1>9<span class=pl-smi>px</span></span> sans-serif; </td> </tr> <tr> <td id="file-index-html-L38" class="blob-num js-line-number js-blob-rnum" data-line-number="38"></td> <td id="file-index-html-LC38" class="blob-code blob-code-inner js-file-line">}</td> </tr> <tr> <td id="file-index-html-L39" class="blob-num js-line-number js-blob-rnum" data-line-number="39"></td> <td id="file-index-html-LC39" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L40" class="blob-num js-line-number js-blob-rnum" data-line-number="40"></td> <td id="file-index-html-LC40" class="blob-code blob-code-inner js-file-line">.<span class=pl-c1>main</span> <span class=pl-ent>text</span> {</td> </tr> <tr> <td id="file-index-html-L41" class="blob-num js-line-number js-blob-rnum" data-line-number="41"></td> <td id="file-index-html-LC41" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>font</span><span class=pl-kos>:</span> <span class=pl-c1>12<span class=pl-smi>px</span></span> sans-serif; </td> </tr> <tr> <td id="file-index-html-L42" class="blob-num js-line-number js-blob-rnum" data-line-number="42"></td> <td id="file-index-html-LC42" class="blob-code blob-code-inner js-file-line">}</td> </tr> <tr> <td id="file-index-html-L43" class="blob-num js-line-number js-blob-rnum" data-line-number="43"></td> <td id="file-index-html-LC43" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L44" class="blob-num js-line-number js-blob-rnum" data-line-number="44"></td> <td id="file-index-html-LC44" class="blob-code blob-code-inner js-file-line">.<span class=pl-c1>month</span> <span class=pl-ent>text</span> {</td> </tr> <tr> <td id="file-index-html-L45" class="blob-num js-line-number js-blob-rnum" data-line-number="45"></td> <td id="file-index-html-LC45" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>text-anchor</span><span class=pl-kos>:</span> start;</td> </tr> <tr> <td id="file-index-html-L46" class="blob-num js-line-number js-blob-rnum" data-line-number="46"></td> <td id="file-index-html-LC46" class="blob-code blob-code-inner js-file-line">}</td> </tr> <tr> <td id="file-index-html-L47" class="blob-num js-line-number js-blob-rnum" data-line-number="47"></td> <td id="file-index-html-LC47" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L48" class="blob-num js-line-number js-blob-rnum" data-line-number="48"></td> <td id="file-index-html-LC48" class="blob-code blob-code-inner js-file-line">.<span class=pl-c1>todayLine</span> {</td> </tr> <tr> <td id="file-index-html-L49" class="blob-num js-line-number js-blob-rnum" data-line-number="49"></td> <td id="file-index-html-LC49" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>stroke</span><span class=pl-kos>:</span> blue;</td> </tr> <tr> <td id="file-index-html-L50" class="blob-num js-line-number js-blob-rnum" data-line-number="50"></td> <td id="file-index-html-LC50" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>stroke-width</span><span class=pl-kos>:</span> <span class=pl-c1>1.5</span>;</td> </tr> <tr> <td id="file-index-html-L51" class="blob-num js-line-number js-blob-rnum" data-line-number="51"></td> <td id="file-index-html-LC51" class="blob-code blob-code-inner js-file-line">}</td> </tr> <tr> <td id="file-index-html-L52" class="blob-num js-line-number js-blob-rnum" data-line-number="52"></td> <td id="file-index-html-LC52" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L53" class="blob-num js-line-number js-blob-rnum" data-line-number="53"></td> <td id="file-index-html-LC53" class="blob-code blob-code-inner js-file-line">.<span class=pl-c1>axis</span> <span class=pl-ent>line</span><span class=pl-kos>,</span> .<span class=pl-c1>axis</span> <span class=pl-ent>path</span> {</td> </tr> <tr> <td id="file-index-html-L54" class="blob-num js-line-number js-blob-rnum" data-line-number="54"></td> <td id="file-index-html-LC54" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>stroke</span><span class=pl-kos>:</span> black;</td> </tr> <tr> <td id="file-index-html-L55" class="blob-num js-line-number js-blob-rnum" data-line-number="55"></td> <td id="file-index-html-LC55" class="blob-code blob-code-inner js-file-line">}</td> </tr> <tr> <td id="file-index-html-L56" class="blob-num js-line-number js-blob-rnum" data-line-number="56"></td> <td id="file-index-html-LC56" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L57" class="blob-num js-line-number js-blob-rnum" data-line-number="57"></td> <td id="file-index-html-LC57" class="blob-code blob-code-inner js-file-line">.<span class=pl-c1>miniItem</span> {</td> </tr> <tr> <td id="file-index-html-L58" class="blob-num js-line-number js-blob-rnum" data-line-number="58"></td> <td id="file-index-html-LC58" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>stroke-width</span><span class=pl-kos>:</span> <span class=pl-c1>6</span>; </td> </tr> <tr> <td id="file-index-html-L59" class="blob-num js-line-number js-blob-rnum" data-line-number="59"></td> <td id="file-index-html-LC59" class="blob-code blob-code-inner js-file-line">}</td> </tr> <tr> <td id="file-index-html-L60" class="blob-num js-line-number js-blob-rnum" data-line-number="60"></td> <td id="file-index-html-LC60" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L61" class="blob-num js-line-number js-blob-rnum" data-line-number="61"></td> <td id="file-index-html-LC61" class="blob-code blob-code-inner js-file-line">.<span class=pl-c1>future</span> {</td> </tr> <tr> <td id="file-index-html-L62" class="blob-num js-line-number js-blob-rnum" data-line-number="62"></td> <td id="file-index-html-LC62" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>stroke</span><span class=pl-kos>:</span> gray;</td> </tr> <tr> <td id="file-index-html-L63" class="blob-num js-line-number js-blob-rnum" data-line-number="63"></td> <td id="file-index-html-LC63" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>fill</span><span class=pl-kos>:</span> <span class=pl-pds><span class=pl-kos>#</span>ddd</span>;</td> </tr> <tr> <td id="file-index-html-L64" class="blob-num js-line-number js-blob-rnum" data-line-number="64"></td> <td id="file-index-html-LC64" class="blob-code blob-code-inner js-file-line">}</td> </tr> <tr> <td id="file-index-html-L65" class="blob-num js-line-number js-blob-rnum" data-line-number="65"></td> <td id="file-index-html-LC65" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L66" class="blob-num js-line-number js-blob-rnum" data-line-number="66"></td> <td id="file-index-html-LC66" class="blob-code blob-code-inner js-file-line">.<span class=pl-c1>past</span> {</td> </tr> <tr> <td id="file-index-html-L67" class="blob-num js-line-number js-blob-rnum" data-line-number="67"></td> <td id="file-index-html-LC67" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>stroke</span><span class=pl-kos>:</span> green;</td> </tr> <tr> <td id="file-index-html-L68" class="blob-num js-line-number js-blob-rnum" data-line-number="68"></td> <td id="file-index-html-LC68" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>fill</span><span class=pl-kos>:</span> lightgreen;</td> </tr> <tr> <td id="file-index-html-L69" class="blob-num js-line-number js-blob-rnum" data-line-number="69"></td> <td id="file-index-html-LC69" class="blob-code blob-code-inner js-file-line">}</td> </tr> <tr> <td id="file-index-html-L70" class="blob-num js-line-number js-blob-rnum" data-line-number="70"></td> <td id="file-index-html-LC70" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L71" class="blob-num js-line-number js-blob-rnum" data-line-number="71"></td> <td id="file-index-html-LC71" class="blob-code blob-code-inner js-file-line">.<span class=pl-c1>brush</span> .<span class=pl-c1>extent</span> {</td> </tr> <tr> <td id="file-index-html-L72" class="blob-num js-line-number js-blob-rnum" data-line-number="72"></td> <td id="file-index-html-LC72" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>stroke</span><span class=pl-kos>:</span> gray;</td> </tr> <tr> <td id="file-index-html-L73" class="blob-num js-line-number js-blob-rnum" data-line-number="73"></td> <td id="file-index-html-LC73" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>fill</span><span class=pl-kos>:</span> blue;</td> </tr> <tr> <td id="file-index-html-L74" class="blob-num js-line-number js-blob-rnum" data-line-number="74"></td> <td id="file-index-html-LC74" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>fill-opacity</span><span class=pl-kos>:</span> <span class=pl-c1>.165</span>;</td> </tr> <tr> <td id="file-index-html-L75" class="blob-num js-line-number js-blob-rnum" data-line-number="75"></td> <td id="file-index-html-LC75" class="blob-code blob-code-inner js-file-line">}</td> </tr> <tr> <td id="file-index-html-L76" class="blob-num js-line-number js-blob-rnum" data-line-number="76"></td> <td id="file-index-html-LC76" class="blob-code blob-code-inner js-file-line"><span class=pl-kos></</span><span class=pl-ent>style</span><span class=pl-kos>></span></td> </tr> <tr> <td id="file-index-html-L77" class="blob-num js-line-number js-blob-rnum" data-line-number="77"></td> <td id="file-index-html-LC77" class="blob-code blob-code-inner js-file-line"><span class=pl-kos></</span><span class=pl-ent>head</span><span class=pl-kos>></span></td> </tr> <tr> <td id="file-index-html-L78" class="blob-num js-line-number js-blob-rnum" data-line-number="78"></td> <td id="file-index-html-LC78" class="blob-code blob-code-inner js-file-line"><span class=pl-kos><</span><span class=pl-ent>body</span><span class=pl-kos>></span></td> </tr> <tr> <td id="file-index-html-L79" class="blob-num js-line-number js-blob-rnum" data-line-number="79"></td> <td id="file-index-html-LC79" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L80" class="blob-num js-line-number js-blob-rnum" data-line-number="80"></td> <td id="file-index-html-LC80" class="blob-code blob-code-inner js-file-line"><span class=pl-kos><</span><span class=pl-ent>script</span> <span class=pl-c1>type</span>="<span class=pl-s>text/javascript</span>"<span class=pl-kos>></span></td> </tr> <tr> <td id="file-index-html-L81" class="blob-num js-line-number js-blob-rnum" data-line-number="81"></td> <td id="file-index-html-LC81" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L82" class="blob-num js-line-number js-blob-rnum" data-line-number="82"></td> <td id="file-index-html-LC82" class="blob-code blob-code-inner js-file-line"><span class=pl-k>var</span> <span class=pl-s1>data</span> <span class=pl-c1>=</span> <span class=pl-en>randomData</span><span class=pl-kos>(</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L83" class="blob-num js-line-number js-blob-rnum" data-line-number="83"></td> <td id="file-index-html-LC83" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>,</span> <span class=pl-s1>lanes</span> <span class=pl-c1>=</span> <span class=pl-s1>data</span><span class=pl-kos>.</span><span class=pl-c1>lanes</span></td> </tr> <tr> <td id="file-index-html-L84" class="blob-num js-line-number js-blob-rnum" data-line-number="84"></td> <td id="file-index-html-LC84" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>,</span> <span class=pl-s1>items</span> <span class=pl-c1>=</span> <span class=pl-s1>data</span><span class=pl-kos>.</span><span class=pl-c1>items</span></td> </tr> <tr> <td id="file-index-html-L85" class="blob-num js-line-number js-blob-rnum" data-line-number="85"></td> <td id="file-index-html-LC85" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>,</span> <span class=pl-s1>now</span> <span class=pl-c1>=</span> <span class=pl-k>new</span> <span class=pl-v>Date</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L86" class="blob-num js-line-number js-blob-rnum" data-line-number="86"></td> <td id="file-index-html-LC86" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L87" class="blob-num js-line-number js-blob-rnum" data-line-number="87"></td> <td id="file-index-html-LC87" class="blob-code blob-code-inner js-file-line"><span class=pl-k>var</span> <span class=pl-s1>margin</span> <span class=pl-c1>=</span> <span class=pl-kos>{</span><span class=pl-c1>top</span>: <span class=pl-c1>20</span><span class=pl-kos>,</span> <span class=pl-c1>right</span>: <span class=pl-c1>15</span><span class=pl-kos>,</span> <span class=pl-c1>bottom</span>: <span class=pl-c1>15</span><span class=pl-kos>,</span> <span class=pl-c1>left</span>: <span class=pl-c1>60</span><span class=pl-kos>}</span></td> </tr> <tr> <td id="file-index-html-L88" class="blob-num js-line-number js-blob-rnum" data-line-number="88"></td> <td id="file-index-html-LC88" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>,</span> <span class=pl-s1>width</span> <span class=pl-c1>=</span> <span class=pl-c1>960</span> <span class=pl-c1>-</span> <span class=pl-s1>margin</span><span class=pl-kos>.</span><span class=pl-c1>left</span> <span class=pl-c1>-</span> <span class=pl-s1>margin</span><span class=pl-kos>.</span><span class=pl-c1>right</span></td> </tr> <tr> <td id="file-index-html-L89" class="blob-num js-line-number js-blob-rnum" data-line-number="89"></td> <td id="file-index-html-LC89" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>,</span> <span class=pl-s1>height</span> <span class=pl-c1>=</span> <span class=pl-c1>500</span> <span class=pl-c1>-</span> <span class=pl-s1>margin</span><span class=pl-kos>.</span><span class=pl-c1>top</span> <span class=pl-c1>-</span> <span class=pl-s1>margin</span><span class=pl-kos>.</span><span class=pl-c1>bottom</span></td> </tr> <tr> <td id="file-index-html-L90" class="blob-num js-line-number js-blob-rnum" data-line-number="90"></td> <td id="file-index-html-LC90" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>,</span> <span class=pl-s1>miniHeight</span> <span class=pl-c1>=</span> <span class=pl-s1>lanes</span><span class=pl-kos>.</span><span class=pl-c1>length</span> <span class=pl-c1>*</span> <span class=pl-c1>12</span> <span class=pl-c1>+</span> <span class=pl-c1>50</span></td> </tr> <tr> <td id="file-index-html-L91" class="blob-num js-line-number js-blob-rnum" data-line-number="91"></td> <td id="file-index-html-LC91" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>,</span> <span class=pl-s1>mainHeight</span> <span class=pl-c1>=</span> <span class=pl-s1>height</span> <span class=pl-c1>-</span> <span class=pl-s1>miniHeight</span> <span class=pl-c1>-</span> <span class=pl-c1>50</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L92" class="blob-num js-line-number js-blob-rnum" data-line-number="92"></td> <td id="file-index-html-LC92" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L93" class="blob-num js-line-number js-blob-rnum" data-line-number="93"></td> <td id="file-index-html-LC93" class="blob-code blob-code-inner js-file-line"><span class=pl-k>var</span> <span class=pl-s1>x</span> <span class=pl-c1>=</span> <span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>time</span><span class=pl-kos>.</span><span class=pl-en>scale</span><span class=pl-kos>(</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L94" class="blob-num js-line-number js-blob-rnum" data-line-number="94"></td> <td id="file-index-html-LC94" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>domain</span><span class=pl-kos>(</span><span class=pl-kos>[</span><span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>time</span><span class=pl-kos>.</span><span class=pl-en>sunday</span><span class=pl-kos>(</span><span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-en>min</span><span class=pl-kos>(</span><span class=pl-s1>items</span><span class=pl-kos>,</span> <span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>start</span><span class=pl-kos>;</span> <span class=pl-kos>}</span><span class=pl-kos>)</span><span class=pl-kos>)</span><span class=pl-kos>,</span></td> </tr> <tr> <td id="file-index-html-L95" class="blob-num js-line-number js-blob-rnum" data-line-number="95"></td> <td id="file-index-html-LC95" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-en>max</span><span class=pl-kos>(</span><span class=pl-s1>items</span><span class=pl-kos>,</span> <span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>end</span><span class=pl-kos>;</span> <span class=pl-kos>}</span><span class=pl-kos>)</span><span class=pl-kos>]</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L96" class="blob-num js-line-number js-blob-rnum" data-line-number="96"></td> <td id="file-index-html-LC96" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>range</span><span class=pl-kos>(</span><span class=pl-kos>[</span><span class=pl-c1>0</span><span class=pl-kos>,</span> <span class=pl-s1>width</span><span class=pl-kos>]</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L97" class="blob-num js-line-number js-blob-rnum" data-line-number="97"></td> <td id="file-index-html-LC97" class="blob-code blob-code-inner js-file-line"><span class=pl-k>var</span> <span class=pl-s1>x1</span> <span class=pl-c1>=</span> <span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>time</span><span class=pl-kos>.</span><span class=pl-en>scale</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>range</span><span class=pl-kos>(</span><span class=pl-kos>[</span><span class=pl-c1>0</span><span class=pl-kos>,</span> <span class=pl-s1>width</span><span class=pl-kos>]</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L98" class="blob-num js-line-number js-blob-rnum" data-line-number="98"></td> <td id="file-index-html-LC98" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L99" class="blob-num js-line-number js-blob-rnum" data-line-number="99"></td> <td id="file-index-html-LC99" class="blob-code blob-code-inner js-file-line"><span class=pl-k>var</span> <span class=pl-s1>ext</span> <span class=pl-c1>=</span> <span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-en>extent</span><span class=pl-kos>(</span><span class=pl-s1>lanes</span><span class=pl-kos>,</span> <span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>id</span><span class=pl-kos>;</span> <span class=pl-kos>}</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L100" class="blob-num js-line-number js-blob-rnum" data-line-number="100"></td> <td id="file-index-html-LC100" class="blob-code blob-code-inner js-file-line"><span class=pl-k>var</span> <span class=pl-s1>y1</span> <span class=pl-c1>=</span> <span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>scale</span><span class=pl-kos>.</span><span class=pl-en>linear</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>domain</span><span class=pl-kos>(</span><span class=pl-kos>[</span><span class=pl-s1>ext</span><span class=pl-kos>[</span><span class=pl-c1>0</span><span class=pl-kos>]</span><span class=pl-kos>,</span> <span class=pl-s1>ext</span><span class=pl-kos>[</span><span class=pl-c1>1</span><span class=pl-kos>]</span> <span class=pl-c1>+</span> <span class=pl-c1>1</span><span class=pl-kos>]</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>range</span><span class=pl-kos>(</span><span class=pl-kos>[</span><span class=pl-c1>0</span><span class=pl-kos>,</span> <span class=pl-s1>mainHeight</span><span class=pl-kos>]</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L101" class="blob-num js-line-number js-blob-rnum" data-line-number="101"></td> <td id="file-index-html-LC101" class="blob-code blob-code-inner js-file-line"><span class=pl-k>var</span> <span class=pl-s1>y2</span> <span class=pl-c1>=</span> <span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>scale</span><span class=pl-kos>.</span><span class=pl-en>linear</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>domain</span><span class=pl-kos>(</span><span class=pl-kos>[</span><span class=pl-s1>ext</span><span class=pl-kos>[</span><span class=pl-c1>0</span><span class=pl-kos>]</span><span class=pl-kos>,</span> <span class=pl-s1>ext</span><span class=pl-kos>[</span><span class=pl-c1>1</span><span class=pl-kos>]</span> <span class=pl-c1>+</span> <span class=pl-c1>1</span><span class=pl-kos>]</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>range</span><span class=pl-kos>(</span><span class=pl-kos>[</span><span class=pl-c1>0</span><span class=pl-kos>,</span> <span class=pl-s1>miniHeight</span><span class=pl-kos>]</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L102" class="blob-num js-line-number js-blob-rnum" data-line-number="102"></td> <td id="file-index-html-LC102" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L103" class="blob-num js-line-number js-blob-rnum" data-line-number="103"></td> <td id="file-index-html-LC103" class="blob-code blob-code-inner js-file-line"><span class=pl-k>var</span> <span class=pl-s1>chart</span> <span class=pl-c1>=</span> <span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-en>select</span><span class=pl-kos>(</span><span class=pl-s>'body'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L104" class="blob-num js-line-number js-blob-rnum" data-line-number="104"></td> <td id="file-index-html-LC104" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>append</span><span class=pl-kos>(</span><span class=pl-s>'svg:svg'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L105" class="blob-num js-line-number js-blob-rnum" data-line-number="105"></td> <td id="file-index-html-LC105" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'width'</span><span class=pl-kos>,</span> <span class=pl-s1>width</span> <span class=pl-c1>+</span> <span class=pl-s1>margin</span><span class=pl-kos>.</span><span class=pl-c1>right</span> <span class=pl-c1>+</span> <span class=pl-s1>margin</span><span class=pl-kos>.</span><span class=pl-c1>left</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L106" class="blob-num js-line-number js-blob-rnum" data-line-number="106"></td> <td id="file-index-html-LC106" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'height'</span><span class=pl-kos>,</span> <span class=pl-s1>height</span> <span class=pl-c1>+</span> <span class=pl-s1>margin</span><span class=pl-kos>.</span><span class=pl-c1>top</span> <span class=pl-c1>+</span> <span class=pl-s1>margin</span><span class=pl-kos>.</span><span class=pl-c1>bottom</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L107" class="blob-num js-line-number js-blob-rnum" data-line-number="107"></td> <td id="file-index-html-LC107" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'class'</span><span class=pl-kos>,</span> <span class=pl-s>'chart'</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L108" class="blob-num js-line-number js-blob-rnum" data-line-number="108"></td> <td id="file-index-html-LC108" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L109" class="blob-num js-line-number js-blob-rnum" data-line-number="109"></td> <td id="file-index-html-LC109" class="blob-code blob-code-inner js-file-line"><span class=pl-s1>chart</span><span class=pl-kos>.</span><span class=pl-en>append</span><span class=pl-kos>(</span><span class=pl-s>'defs'</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>append</span><span class=pl-kos>(</span><span class=pl-s>'clipPath'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L110" class="blob-num js-line-number js-blob-rnum" data-line-number="110"></td> <td id="file-index-html-LC110" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'id'</span><span class=pl-kos>,</span> <span class=pl-s>'clip'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L111" class="blob-num js-line-number js-blob-rnum" data-line-number="111"></td> <td id="file-index-html-LC111" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>append</span><span class=pl-kos>(</span><span class=pl-s>'rect'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L112" class="blob-num js-line-number js-blob-rnum" data-line-number="112"></td> <td id="file-index-html-LC112" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'width'</span><span class=pl-kos>,</span> <span class=pl-s1>width</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L113" class="blob-num js-line-number js-blob-rnum" data-line-number="113"></td> <td id="file-index-html-LC113" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'height'</span><span class=pl-kos>,</span> <span class=pl-s1>mainHeight</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L114" class="blob-num js-line-number js-blob-rnum" data-line-number="114"></td> <td id="file-index-html-LC114" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L115" class="blob-num js-line-number js-blob-rnum" data-line-number="115"></td> <td id="file-index-html-LC115" class="blob-code blob-code-inner js-file-line"><span class=pl-k>var</span> <span class=pl-s1>main</span> <span class=pl-c1>=</span> <span class=pl-s1>chart</span><span class=pl-kos>.</span><span class=pl-en>append</span><span class=pl-kos>(</span><span class=pl-s>'g'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L116" class="blob-num js-line-number js-blob-rnum" data-line-number="116"></td> <td id="file-index-html-LC116" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'transform'</span><span class=pl-kos>,</span> <span class=pl-s>'translate('</span> <span class=pl-c1>+</span> <span class=pl-s1>margin</span><span class=pl-kos>.</span><span class=pl-c1>left</span> <span class=pl-c1>+</span> <span class=pl-s>','</span> <span class=pl-c1>+</span> <span class=pl-s1>margin</span><span class=pl-kos>.</span><span class=pl-c1>top</span> <span class=pl-c1>+</span> <span class=pl-s>')'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L117" class="blob-num js-line-number js-blob-rnum" data-line-number="117"></td> <td id="file-index-html-LC117" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'width'</span><span class=pl-kos>,</span> <span class=pl-s1>width</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L118" class="blob-num js-line-number js-blob-rnum" data-line-number="118"></td> <td id="file-index-html-LC118" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'height'</span><span class=pl-kos>,</span> <span class=pl-s1>mainHeight</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L119" class="blob-num js-line-number js-blob-rnum" data-line-number="119"></td> <td id="file-index-html-LC119" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'class'</span><span class=pl-kos>,</span> <span class=pl-s>'main'</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L120" class="blob-num js-line-number js-blob-rnum" data-line-number="120"></td> <td id="file-index-html-LC120" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L121" class="blob-num js-line-number js-blob-rnum" data-line-number="121"></td> <td id="file-index-html-LC121" class="blob-code blob-code-inner js-file-line"><span class=pl-k>var</span> <span class=pl-s1>mini</span> <span class=pl-c1>=</span> <span class=pl-s1>chart</span><span class=pl-kos>.</span><span class=pl-en>append</span><span class=pl-kos>(</span><span class=pl-s>'g'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L122" class="blob-num js-line-number js-blob-rnum" data-line-number="122"></td> <td id="file-index-html-LC122" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'transform'</span><span class=pl-kos>,</span> <span class=pl-s>'translate('</span> <span class=pl-c1>+</span> <span class=pl-s1>margin</span><span class=pl-kos>.</span><span class=pl-c1>left</span> <span class=pl-c1>+</span> <span class=pl-s>','</span> <span class=pl-c1>+</span> <span class=pl-kos>(</span><span class=pl-s1>mainHeight</span> <span class=pl-c1>+</span> <span class=pl-c1>60</span><span class=pl-kos>)</span> <span class=pl-c1>+</span> <span class=pl-s>')'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L123" class="blob-num js-line-number js-blob-rnum" data-line-number="123"></td> <td id="file-index-html-LC123" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'width'</span><span class=pl-kos>,</span> <span class=pl-s1>width</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L124" class="blob-num js-line-number js-blob-rnum" data-line-number="124"></td> <td id="file-index-html-LC124" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'height'</span><span class=pl-kos>,</span> <span class=pl-s1>miniHeight</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L125" class="blob-num js-line-number js-blob-rnum" data-line-number="125"></td> <td id="file-index-html-LC125" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'class'</span><span class=pl-kos>,</span> <span class=pl-s>'mini'</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L126" class="blob-num js-line-number js-blob-rnum" data-line-number="126"></td> <td id="file-index-html-LC126" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L127" class="blob-num js-line-number js-blob-rnum" data-line-number="127"></td> <td id="file-index-html-LC127" class="blob-code blob-code-inner js-file-line"><span class=pl-c>// draw the lanes for the main chart</span></td> </tr> <tr> <td id="file-index-html-L128" class="blob-num js-line-number js-blob-rnum" data-line-number="128"></td> <td id="file-index-html-LC128" class="blob-code blob-code-inner js-file-line"><span class=pl-s1>main</span><span class=pl-kos>.</span><span class=pl-en>append</span><span class=pl-kos>(</span><span class=pl-s>'g'</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>selectAll</span><span class=pl-kos>(</span><span class=pl-s>'.laneLines'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L129" class="blob-num js-line-number js-blob-rnum" data-line-number="129"></td> <td id="file-index-html-LC129" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>data</span><span class=pl-kos>(</span><span class=pl-s1>lanes</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L130" class="blob-num js-line-number js-blob-rnum" data-line-number="130"></td> <td id="file-index-html-LC130" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>enter</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>append</span><span class=pl-kos>(</span><span class=pl-s>'line'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L131" class="blob-num js-line-number js-blob-rnum" data-line-number="131"></td> <td id="file-index-html-LC131" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'x1'</span><span class=pl-kos>,</span> <span class=pl-c1>0</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L132" class="blob-num js-line-number js-blob-rnum" data-line-number="132"></td> <td id="file-index-html-LC132" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'y1'</span><span class=pl-kos>,</span> <span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-en>round</span><span class=pl-kos>(</span><span class=pl-s1>y1</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>id</span><span class=pl-kos>)</span><span class=pl-kos>)</span> <span class=pl-c1>+</span> <span class=pl-c1>0.5</span><span class=pl-kos>;</span> <span class=pl-kos>}</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L133" class="blob-num js-line-number js-blob-rnum" data-line-number="133"></td> <td id="file-index-html-LC133" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'x2'</span><span class=pl-kos>,</span> <span class=pl-s1>width</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L134" class="blob-num js-line-number js-blob-rnum" data-line-number="134"></td> <td id="file-index-html-LC134" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'y2'</span><span class=pl-kos>,</span> <span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-en>round</span><span class=pl-kos>(</span><span class=pl-s1>y1</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>id</span><span class=pl-kos>)</span><span class=pl-kos>)</span> <span class=pl-c1>+</span> <span class=pl-c1>0.5</span><span class=pl-kos>;</span> <span class=pl-kos>}</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L135" class="blob-num js-line-number js-blob-rnum" data-line-number="135"></td> <td id="file-index-html-LC135" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'stroke'</span><span class=pl-kos>,</span> <span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>label</span> <span class=pl-c1>===</span> <span class=pl-s>''</span> ? <span class=pl-s>'white'</span> : <span class=pl-s>'lightgray'</span> <span class=pl-kos>}</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L136" class="blob-num js-line-number js-blob-rnum" data-line-number="136"></td> <td id="file-index-html-LC136" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L137" class="blob-num js-line-number js-blob-rnum" data-line-number="137"></td> <td id="file-index-html-LC137" class="blob-code blob-code-inner js-file-line"><span class=pl-s1>main</span><span class=pl-kos>.</span><span class=pl-en>append</span><span class=pl-kos>(</span><span class=pl-s>'g'</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>selectAll</span><span class=pl-kos>(</span><span class=pl-s>'.laneText'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L138" class="blob-num js-line-number js-blob-rnum" data-line-number="138"></td> <td id="file-index-html-LC138" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>data</span><span class=pl-kos>(</span><span class=pl-s1>lanes</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L139" class="blob-num js-line-number js-blob-rnum" data-line-number="139"></td> <td id="file-index-html-LC139" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>enter</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>append</span><span class=pl-kos>(</span><span class=pl-s>'text'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L140" class="blob-num js-line-number js-blob-rnum" data-line-number="140"></td> <td id="file-index-html-LC140" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>text</span><span class=pl-kos>(</span><span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>label</span><span class=pl-kos>;</span> <span class=pl-kos>}</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L141" class="blob-num js-line-number js-blob-rnum" data-line-number="141"></td> <td id="file-index-html-LC141" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'x'</span><span class=pl-kos>,</span> <span class=pl-c1>-</span><span class=pl-c1>10</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L142" class="blob-num js-line-number js-blob-rnum" data-line-number="142"></td> <td id="file-index-html-LC142" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'y'</span><span class=pl-kos>,</span> <span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s1>y1</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>id</span> <span class=pl-c1>+</span> <span class=pl-c1>.5</span><span class=pl-kos>)</span><span class=pl-kos>;</span> <span class=pl-kos>}</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L143" class="blob-num js-line-number js-blob-rnum" data-line-number="143"></td> <td id="file-index-html-LC143" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'dy'</span><span class=pl-kos>,</span> <span class=pl-s>'0.5ex'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L144" class="blob-num js-line-number js-blob-rnum" data-line-number="144"></td> <td id="file-index-html-LC144" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'text-anchor'</span><span class=pl-kos>,</span> <span class=pl-s>'end'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L145" class="blob-num js-line-number js-blob-rnum" data-line-number="145"></td> <td id="file-index-html-LC145" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'class'</span><span class=pl-kos>,</span> <span class=pl-s>'laneText'</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L146" class="blob-num js-line-number js-blob-rnum" data-line-number="146"></td> <td id="file-index-html-LC146" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L147" class="blob-num js-line-number js-blob-rnum" data-line-number="147"></td> <td id="file-index-html-LC147" class="blob-code blob-code-inner js-file-line"><span class=pl-c>// draw the lanes for the mini chart</span></td> </tr> <tr> <td id="file-index-html-L148" class="blob-num js-line-number js-blob-rnum" data-line-number="148"></td> <td id="file-index-html-LC148" class="blob-code blob-code-inner js-file-line"><span class=pl-s1>mini</span><span class=pl-kos>.</span><span class=pl-en>append</span><span class=pl-kos>(</span><span class=pl-s>'g'</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>selectAll</span><span class=pl-kos>(</span><span class=pl-s>'.laneLines'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L149" class="blob-num js-line-number js-blob-rnum" data-line-number="149"></td> <td id="file-index-html-LC149" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>data</span><span class=pl-kos>(</span><span class=pl-s1>lanes</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L150" class="blob-num js-line-number js-blob-rnum" data-line-number="150"></td> <td id="file-index-html-LC150" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>enter</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>append</span><span class=pl-kos>(</span><span class=pl-s>'line'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L151" class="blob-num js-line-number js-blob-rnum" data-line-number="151"></td> <td id="file-index-html-LC151" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'x1'</span><span class=pl-kos>,</span> <span class=pl-c1>0</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L152" class="blob-num js-line-number js-blob-rnum" data-line-number="152"></td> <td id="file-index-html-LC152" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'y1'</span><span class=pl-kos>,</span> <span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-en>round</span><span class=pl-kos>(</span><span class=pl-s1>y2</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>id</span><span class=pl-kos>)</span><span class=pl-kos>)</span> <span class=pl-c1>+</span> <span class=pl-c1>0.5</span><span class=pl-kos>;</span> <span class=pl-kos>}</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L153" class="blob-num js-line-number js-blob-rnum" data-line-number="153"></td> <td id="file-index-html-LC153" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'x2'</span><span class=pl-kos>,</span> <span class=pl-s1>width</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L154" class="blob-num js-line-number js-blob-rnum" data-line-number="154"></td> <td id="file-index-html-LC154" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'y2'</span><span class=pl-kos>,</span> <span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-en>round</span><span class=pl-kos>(</span><span class=pl-s1>y2</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>id</span><span class=pl-kos>)</span><span class=pl-kos>)</span> <span class=pl-c1>+</span> <span class=pl-c1>0.5</span><span class=pl-kos>;</span> <span class=pl-kos>}</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L155" class="blob-num js-line-number js-blob-rnum" data-line-number="155"></td> <td id="file-index-html-LC155" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'stroke'</span><span class=pl-kos>,</span> <span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>label</span> <span class=pl-c1>===</span> <span class=pl-s>''</span> ? <span class=pl-s>'white'</span> : <span class=pl-s>'lightgray'</span> <span class=pl-kos>}</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L156" class="blob-num js-line-number js-blob-rnum" data-line-number="156"></td> <td id="file-index-html-LC156" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L157" class="blob-num js-line-number js-blob-rnum" data-line-number="157"></td> <td id="file-index-html-LC157" class="blob-code blob-code-inner js-file-line"><span class=pl-s1>mini</span><span class=pl-kos>.</span><span class=pl-en>append</span><span class=pl-kos>(</span><span class=pl-s>'g'</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>selectAll</span><span class=pl-kos>(</span><span class=pl-s>'.laneText'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L158" class="blob-num js-line-number js-blob-rnum" data-line-number="158"></td> <td id="file-index-html-LC158" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>data</span><span class=pl-kos>(</span><span class=pl-s1>lanes</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L159" class="blob-num js-line-number js-blob-rnum" data-line-number="159"></td> <td id="file-index-html-LC159" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>enter</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>append</span><span class=pl-kos>(</span><span class=pl-s>'text'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L160" class="blob-num js-line-number js-blob-rnum" data-line-number="160"></td> <td id="file-index-html-LC160" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>text</span><span class=pl-kos>(</span><span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>label</span><span class=pl-kos>;</span> <span class=pl-kos>}</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L161" class="blob-num js-line-number js-blob-rnum" data-line-number="161"></td> <td id="file-index-html-LC161" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'x'</span><span class=pl-kos>,</span> <span class=pl-c1>-</span><span class=pl-c1>10</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L162" class="blob-num js-line-number js-blob-rnum" data-line-number="162"></td> <td id="file-index-html-LC162" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'y'</span><span class=pl-kos>,</span> <span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s1>y2</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>id</span> <span class=pl-c1>+</span> <span class=pl-c1>.5</span><span class=pl-kos>)</span><span class=pl-kos>;</span> <span class=pl-kos>}</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L163" class="blob-num js-line-number js-blob-rnum" data-line-number="163"></td> <td id="file-index-html-LC163" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'dy'</span><span class=pl-kos>,</span> <span class=pl-s>'0.5ex'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L164" class="blob-num js-line-number js-blob-rnum" data-line-number="164"></td> <td id="file-index-html-LC164" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'text-anchor'</span><span class=pl-kos>,</span> <span class=pl-s>'end'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L165" class="blob-num js-line-number js-blob-rnum" data-line-number="165"></td> <td id="file-index-html-LC165" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'class'</span><span class=pl-kos>,</span> <span class=pl-s>'laneText'</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L166" class="blob-num js-line-number js-blob-rnum" data-line-number="166"></td> <td id="file-index-html-LC166" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L167" class="blob-num js-line-number js-blob-rnum" data-line-number="167"></td> <td id="file-index-html-LC167" class="blob-code blob-code-inner js-file-line"><span class=pl-c>// draw the x axis</span></td> </tr> <tr> <td id="file-index-html-L168" class="blob-num js-line-number js-blob-rnum" data-line-number="168"></td> <td id="file-index-html-LC168" class="blob-code blob-code-inner js-file-line"><span class=pl-k>var</span> <span class=pl-s1>xDateAxis</span> <span class=pl-c1>=</span> <span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>svg</span><span class=pl-kos>.</span><span class=pl-en>axis</span><span class=pl-kos>(</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L169" class="blob-num js-line-number js-blob-rnum" data-line-number="169"></td> <td id="file-index-html-LC169" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>scale</span><span class=pl-kos>(</span><span class=pl-s1>x</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L170" class="blob-num js-line-number js-blob-rnum" data-line-number="170"></td> <td id="file-index-html-LC170" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>orient</span><span class=pl-kos>(</span><span class=pl-s>'bottom'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L171" class="blob-num js-line-number js-blob-rnum" data-line-number="171"></td> <td id="file-index-html-LC171" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>ticks</span><span class=pl-kos>(</span><span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>time</span><span class=pl-kos>.</span><span class=pl-c1>mondays</span><span class=pl-kos>,</span> <span class=pl-kos>(</span><span class=pl-s1>x</span><span class=pl-kos>.</span><span class=pl-en>domain</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>[</span><span class=pl-c1>1</span><span class=pl-kos>]</span> <span class=pl-c1>-</span> <span class=pl-s1>x</span><span class=pl-kos>.</span><span class=pl-en>domain</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>[</span><span class=pl-c1>0</span><span class=pl-kos>]</span><span class=pl-kos>)</span> <span class=pl-c1>></span> <span class=pl-c1>15552e6</span> ? <span class=pl-c1>2</span> : <span class=pl-c1>1</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L172" class="blob-num js-line-number js-blob-rnum" data-line-number="172"></td> <td id="file-index-html-LC172" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>tickFormat</span><span class=pl-kos>(</span><span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>time</span><span class=pl-kos>.</span><span class=pl-en>format</span><span class=pl-kos>(</span><span class=pl-s>'%d'</span><span class=pl-kos>)</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L173" class="blob-num js-line-number js-blob-rnum" data-line-number="173"></td> <td id="file-index-html-LC173" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>tickSize</span><span class=pl-kos>(</span><span class=pl-c1>6</span><span class=pl-kos>,</span> <span class=pl-c1>0</span><span class=pl-kos>,</span> <span class=pl-c1>0</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L174" class="blob-num js-line-number js-blob-rnum" data-line-number="174"></td> <td id="file-index-html-LC174" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L175" class="blob-num js-line-number js-blob-rnum" data-line-number="175"></td> <td id="file-index-html-LC175" class="blob-code blob-code-inner js-file-line"><span class=pl-k>var</span> <span class=pl-s1>x1DateAxis</span> <span class=pl-c1>=</span> <span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>svg</span><span class=pl-kos>.</span><span class=pl-en>axis</span><span class=pl-kos>(</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L176" class="blob-num js-line-number js-blob-rnum" data-line-number="176"></td> <td id="file-index-html-LC176" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>scale</span><span class=pl-kos>(</span><span class=pl-s1>x1</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L177" class="blob-num js-line-number js-blob-rnum" data-line-number="177"></td> <td id="file-index-html-LC177" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>orient</span><span class=pl-kos>(</span><span class=pl-s>'bottom'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L178" class="blob-num js-line-number js-blob-rnum" data-line-number="178"></td> <td id="file-index-html-LC178" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>ticks</span><span class=pl-kos>(</span><span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>time</span><span class=pl-kos>.</span><span class=pl-c1>days</span><span class=pl-kos>,</span> <span class=pl-c1>1</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L179" class="blob-num js-line-number js-blob-rnum" data-line-number="179"></td> <td id="file-index-html-LC179" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>tickFormat</span><span class=pl-kos>(</span><span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>time</span><span class=pl-kos>.</span><span class=pl-en>format</span><span class=pl-kos>(</span><span class=pl-s>'%a %d'</span><span class=pl-kos>)</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L180" class="blob-num js-line-number js-blob-rnum" data-line-number="180"></td> <td id="file-index-html-LC180" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>tickSize</span><span class=pl-kos>(</span><span class=pl-c1>6</span><span class=pl-kos>,</span> <span class=pl-c1>0</span><span class=pl-kos>,</span> <span class=pl-c1>0</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L181" class="blob-num js-line-number js-blob-rnum" data-line-number="181"></td> <td id="file-index-html-LC181" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L182" class="blob-num js-line-number js-blob-rnum" data-line-number="182"></td> <td id="file-index-html-LC182" class="blob-code blob-code-inner js-file-line"><span class=pl-k>var</span> <span class=pl-s1>xMonthAxis</span> <span class=pl-c1>=</span> <span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>svg</span><span class=pl-kos>.</span><span class=pl-en>axis</span><span class=pl-kos>(</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L183" class="blob-num js-line-number js-blob-rnum" data-line-number="183"></td> <td id="file-index-html-LC183" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>scale</span><span class=pl-kos>(</span><span class=pl-s1>x</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L184" class="blob-num js-line-number js-blob-rnum" data-line-number="184"></td> <td id="file-index-html-LC184" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>orient</span><span class=pl-kos>(</span><span class=pl-s>'top'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L185" class="blob-num js-line-number js-blob-rnum" data-line-number="185"></td> <td id="file-index-html-LC185" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>ticks</span><span class=pl-kos>(</span><span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>time</span><span class=pl-kos>.</span><span class=pl-c1>months</span><span class=pl-kos>,</span> <span class=pl-c1>1</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L186" class="blob-num js-line-number js-blob-rnum" data-line-number="186"></td> <td id="file-index-html-LC186" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>tickFormat</span><span class=pl-kos>(</span><span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>time</span><span class=pl-kos>.</span><span class=pl-en>format</span><span class=pl-kos>(</span><span class=pl-s>'%b %Y'</span><span class=pl-kos>)</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L187" class="blob-num js-line-number js-blob-rnum" data-line-number="187"></td> <td id="file-index-html-LC187" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>tickSize</span><span class=pl-kos>(</span><span class=pl-c1>15</span><span class=pl-kos>,</span> <span class=pl-c1>0</span><span class=pl-kos>,</span> <span class=pl-c1>0</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L188" class="blob-num js-line-number js-blob-rnum" data-line-number="188"></td> <td id="file-index-html-LC188" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L189" class="blob-num js-line-number js-blob-rnum" data-line-number="189"></td> <td id="file-index-html-LC189" class="blob-code blob-code-inner js-file-line"><span class=pl-k>var</span> <span class=pl-s1>x1MonthAxis</span> <span class=pl-c1>=</span> <span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>svg</span><span class=pl-kos>.</span><span class=pl-en>axis</span><span class=pl-kos>(</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L190" class="blob-num js-line-number js-blob-rnum" data-line-number="190"></td> <td id="file-index-html-LC190" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>scale</span><span class=pl-kos>(</span><span class=pl-s1>x1</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L191" class="blob-num js-line-number js-blob-rnum" data-line-number="191"></td> <td id="file-index-html-LC191" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>orient</span><span class=pl-kos>(</span><span class=pl-s>'top'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L192" class="blob-num js-line-number js-blob-rnum" data-line-number="192"></td> <td id="file-index-html-LC192" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>ticks</span><span class=pl-kos>(</span><span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>time</span><span class=pl-kos>.</span><span class=pl-c1>mondays</span><span class=pl-kos>,</span> <span class=pl-c1>1</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L193" class="blob-num js-line-number js-blob-rnum" data-line-number="193"></td> <td id="file-index-html-LC193" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>tickFormat</span><span class=pl-kos>(</span><span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>time</span><span class=pl-kos>.</span><span class=pl-en>format</span><span class=pl-kos>(</span><span class=pl-s>'%b - Week %W'</span><span class=pl-kos>)</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L194" class="blob-num js-line-number js-blob-rnum" data-line-number="194"></td> <td id="file-index-html-LC194" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>tickSize</span><span class=pl-kos>(</span><span class=pl-c1>15</span><span class=pl-kos>,</span> <span class=pl-c1>0</span><span class=pl-kos>,</span> <span class=pl-c1>0</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L195" class="blob-num js-line-number js-blob-rnum" data-line-number="195"></td> <td id="file-index-html-LC195" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L196" class="blob-num js-line-number js-blob-rnum" data-line-number="196"></td> <td id="file-index-html-LC196" class="blob-code blob-code-inner js-file-line"><span class=pl-s1>main</span><span class=pl-kos>.</span><span class=pl-en>append</span><span class=pl-kos>(</span><span class=pl-s>'g'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L197" class="blob-num js-line-number js-blob-rnum" data-line-number="197"></td> <td id="file-index-html-LC197" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'transform'</span><span class=pl-kos>,</span> <span class=pl-s>'translate(0,'</span> <span class=pl-c1>+</span> <span class=pl-s1>mainHeight</span> <span class=pl-c1>+</span> <span class=pl-s>')'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L198" class="blob-num js-line-number js-blob-rnum" data-line-number="198"></td> <td id="file-index-html-LC198" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'class'</span><span class=pl-kos>,</span> <span class=pl-s>'main axis date'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L199" class="blob-num js-line-number js-blob-rnum" data-line-number="199"></td> <td id="file-index-html-LC199" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>call</span><span class=pl-kos>(</span><span class=pl-s1>x1DateAxis</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L200" class="blob-num js-line-number js-blob-rnum" data-line-number="200"></td> <td id="file-index-html-LC200" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L201" class="blob-num js-line-number js-blob-rnum" data-line-number="201"></td> <td id="file-index-html-LC201" class="blob-code blob-code-inner js-file-line"><span class=pl-s1>main</span><span class=pl-kos>.</span><span class=pl-en>append</span><span class=pl-kos>(</span><span class=pl-s>'g'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L202" class="blob-num js-line-number js-blob-rnum" data-line-number="202"></td> <td id="file-index-html-LC202" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'transform'</span><span class=pl-kos>,</span> <span class=pl-s>'translate(0,0.5)'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L203" class="blob-num js-line-number js-blob-rnum" data-line-number="203"></td> <td id="file-index-html-LC203" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'class'</span><span class=pl-kos>,</span> <span class=pl-s>'main axis month'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L204" class="blob-num js-line-number js-blob-rnum" data-line-number="204"></td> <td id="file-index-html-LC204" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>call</span><span class=pl-kos>(</span><span class=pl-s1>x1MonthAxis</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L205" class="blob-num js-line-number js-blob-rnum" data-line-number="205"></td> <td id="file-index-html-LC205" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>selectAll</span><span class=pl-kos>(</span><span class=pl-s>'text'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L206" class="blob-num js-line-number js-blob-rnum" data-line-number="206"></td> <td id="file-index-html-LC206" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'dx'</span><span class=pl-kos>,</span> <span class=pl-c1>5</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L207" class="blob-num js-line-number js-blob-rnum" data-line-number="207"></td> <td id="file-index-html-LC207" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'dy'</span><span class=pl-kos>,</span> <span class=pl-c1>12</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L208" class="blob-num js-line-number js-blob-rnum" data-line-number="208"></td> <td id="file-index-html-LC208" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L209" class="blob-num js-line-number js-blob-rnum" data-line-number="209"></td> <td id="file-index-html-LC209" class="blob-code blob-code-inner js-file-line"><span class=pl-s1>mini</span><span class=pl-kos>.</span><span class=pl-en>append</span><span class=pl-kos>(</span><span class=pl-s>'g'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L210" class="blob-num js-line-number js-blob-rnum" data-line-number="210"></td> <td id="file-index-html-LC210" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'transform'</span><span class=pl-kos>,</span> <span class=pl-s>'translate(0,'</span> <span class=pl-c1>+</span> <span class=pl-s1>miniHeight</span> <span class=pl-c1>+</span> <span class=pl-s>')'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L211" class="blob-num js-line-number js-blob-rnum" data-line-number="211"></td> <td id="file-index-html-LC211" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'class'</span><span class=pl-kos>,</span> <span class=pl-s>'axis date'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L212" class="blob-num js-line-number js-blob-rnum" data-line-number="212"></td> <td id="file-index-html-LC212" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>call</span><span class=pl-kos>(</span><span class=pl-s1>xDateAxis</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L213" class="blob-num js-line-number js-blob-rnum" data-line-number="213"></td> <td id="file-index-html-LC213" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L214" class="blob-num js-line-number js-blob-rnum" data-line-number="214"></td> <td id="file-index-html-LC214" class="blob-code blob-code-inner js-file-line"><span class=pl-s1>mini</span><span class=pl-kos>.</span><span class=pl-en>append</span><span class=pl-kos>(</span><span class=pl-s>'g'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L215" class="blob-num js-line-number js-blob-rnum" data-line-number="215"></td> <td id="file-index-html-LC215" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'transform'</span><span class=pl-kos>,</span> <span class=pl-s>'translate(0,0.5)'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L216" class="blob-num js-line-number js-blob-rnum" data-line-number="216"></td> <td id="file-index-html-LC216" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'class'</span><span class=pl-kos>,</span> <span class=pl-s>'axis month'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L217" class="blob-num js-line-number js-blob-rnum" data-line-number="217"></td> <td id="file-index-html-LC217" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>call</span><span class=pl-kos>(</span><span class=pl-s1>xMonthAxis</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L218" class="blob-num js-line-number js-blob-rnum" data-line-number="218"></td> <td id="file-index-html-LC218" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>selectAll</span><span class=pl-kos>(</span><span class=pl-s>'text'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L219" class="blob-num js-line-number js-blob-rnum" data-line-number="219"></td> <td id="file-index-html-LC219" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'dx'</span><span class=pl-kos>,</span> <span class=pl-c1>5</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L220" class="blob-num js-line-number js-blob-rnum" data-line-number="220"></td> <td id="file-index-html-LC220" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'dy'</span><span class=pl-kos>,</span> <span class=pl-c1>12</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L221" class="blob-num js-line-number js-blob-rnum" data-line-number="221"></td> <td id="file-index-html-LC221" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L222" class="blob-num js-line-number js-blob-rnum" data-line-number="222"></td> <td id="file-index-html-LC222" class="blob-code blob-code-inner js-file-line"><span class=pl-c>// draw a line representing today's date</span></td> </tr> <tr> <td id="file-index-html-L223" class="blob-num js-line-number js-blob-rnum" data-line-number="223"></td> <td id="file-index-html-LC223" class="blob-code blob-code-inner js-file-line"><span class=pl-s1>main</span><span class=pl-kos>.</span><span class=pl-en>append</span><span class=pl-kos>(</span><span class=pl-s>'line'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L224" class="blob-num js-line-number js-blob-rnum" data-line-number="224"></td> <td id="file-index-html-LC224" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'y1'</span><span class=pl-kos>,</span> <span class=pl-c1>0</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L225" class="blob-num js-line-number js-blob-rnum" data-line-number="225"></td> <td id="file-index-html-LC225" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'y2'</span><span class=pl-kos>,</span> <span class=pl-s1>mainHeight</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L226" class="blob-num js-line-number js-blob-rnum" data-line-number="226"></td> <td id="file-index-html-LC226" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'class'</span><span class=pl-kos>,</span> <span class=pl-s>'main todayLine'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L227" class="blob-num js-line-number js-blob-rnum" data-line-number="227"></td> <td id="file-index-html-LC227" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'clip-path'</span><span class=pl-kos>,</span> <span class=pl-s>'url(#clip)'</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L228" class="blob-num js-line-number js-blob-rnum" data-line-number="228"></td> <td id="file-index-html-LC228" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L229" class="blob-num js-line-number js-blob-rnum" data-line-number="229"></td> <td id="file-index-html-LC229" class="blob-code blob-code-inner js-file-line"><span class=pl-s1>mini</span><span class=pl-kos>.</span><span class=pl-en>append</span><span class=pl-kos>(</span><span class=pl-s>'line'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L230" class="blob-num js-line-number js-blob-rnum" data-line-number="230"></td> <td id="file-index-html-LC230" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'x1'</span><span class=pl-kos>,</span> <span class=pl-s1>x</span><span class=pl-kos>(</span><span class=pl-s1>now</span><span class=pl-kos>)</span> <span class=pl-c1>+</span> <span class=pl-c1>0.5</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L231" class="blob-num js-line-number js-blob-rnum" data-line-number="231"></td> <td id="file-index-html-LC231" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'y1'</span><span class=pl-kos>,</span> <span class=pl-c1>0</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L232" class="blob-num js-line-number js-blob-rnum" data-line-number="232"></td> <td id="file-index-html-LC232" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'x2'</span><span class=pl-kos>,</span> <span class=pl-s1>x</span><span class=pl-kos>(</span><span class=pl-s1>now</span><span class=pl-kos>)</span> <span class=pl-c1>+</span> <span class=pl-c1>0.5</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L233" class="blob-num js-line-number js-blob-rnum" data-line-number="233"></td> <td id="file-index-html-LC233" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'y2'</span><span class=pl-kos>,</span> <span class=pl-s1>miniHeight</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L234" class="blob-num js-line-number js-blob-rnum" data-line-number="234"></td> <td id="file-index-html-LC234" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'class'</span><span class=pl-kos>,</span> <span class=pl-s>'todayLine'</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L235" class="blob-num js-line-number js-blob-rnum" data-line-number="235"></td> <td id="file-index-html-LC235" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L236" class="blob-num js-line-number js-blob-rnum" data-line-number="236"></td> <td id="file-index-html-LC236" class="blob-code blob-code-inner js-file-line"><span class=pl-c>// draw the items</span></td> </tr> <tr> <td id="file-index-html-L237" class="blob-num js-line-number js-blob-rnum" data-line-number="237"></td> <td id="file-index-html-LC237" class="blob-code blob-code-inner js-file-line"><span class=pl-k>var</span> <span class=pl-s1>itemRects</span> <span class=pl-c1>=</span> <span class=pl-s1>main</span><span class=pl-kos>.</span><span class=pl-en>append</span><span class=pl-kos>(</span><span class=pl-s>'g'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L238" class="blob-num js-line-number js-blob-rnum" data-line-number="238"></td> <td id="file-index-html-LC238" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'clip-path'</span><span class=pl-kos>,</span> <span class=pl-s>'url(#clip)'</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L239" class="blob-num js-line-number js-blob-rnum" data-line-number="239"></td> <td id="file-index-html-LC239" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L240" class="blob-num js-line-number js-blob-rnum" data-line-number="240"></td> <td id="file-index-html-LC240" class="blob-code blob-code-inner js-file-line"><span class=pl-s1>mini</span><span class=pl-kos>.</span><span class=pl-en>append</span><span class=pl-kos>(</span><span class=pl-s>'g'</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>selectAll</span><span class=pl-kos>(</span><span class=pl-s>'miniItems'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L241" class="blob-num js-line-number js-blob-rnum" data-line-number="241"></td> <td id="file-index-html-LC241" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>data</span><span class=pl-kos>(</span><span class=pl-en>getPaths</span><span class=pl-kos>(</span><span class=pl-s1>items</span><span class=pl-kos>)</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L242" class="blob-num js-line-number js-blob-rnum" data-line-number="242"></td> <td id="file-index-html-LC242" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>enter</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>append</span><span class=pl-kos>(</span><span class=pl-s>'path'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L243" class="blob-num js-line-number js-blob-rnum" data-line-number="243"></td> <td id="file-index-html-LC243" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'class'</span><span class=pl-kos>,</span> <span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s>'miniItem '</span> <span class=pl-c1>+</span> <span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>class</span><span class=pl-kos>;</span> <span class=pl-kos>}</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L244" class="blob-num js-line-number js-blob-rnum" data-line-number="244"></td> <td id="file-index-html-LC244" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'d'</span><span class=pl-kos>,</span> <span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>path</span><span class=pl-kos>;</span> <span class=pl-kos>}</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L245" class="blob-num js-line-number js-blob-rnum" data-line-number="245"></td> <td id="file-index-html-LC245" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L246" class="blob-num js-line-number js-blob-rnum" data-line-number="246"></td> <td id="file-index-html-LC246" class="blob-code blob-code-inner js-file-line"><span class=pl-c>// invisible hit area to move around the selection window</span></td> </tr> <tr> <td id="file-index-html-L247" class="blob-num js-line-number js-blob-rnum" data-line-number="247"></td> <td id="file-index-html-LC247" class="blob-code blob-code-inner js-file-line"><span class=pl-s1>mini</span><span class=pl-kos>.</span><span class=pl-en>append</span><span class=pl-kos>(</span><span class=pl-s>'rect'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L248" class="blob-num js-line-number js-blob-rnum" data-line-number="248"></td> <td id="file-index-html-LC248" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'pointer-events'</span><span class=pl-kos>,</span> <span class=pl-s>'painted'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L249" class="blob-num js-line-number js-blob-rnum" data-line-number="249"></td> <td id="file-index-html-LC249" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'width'</span><span class=pl-kos>,</span> <span class=pl-s1>width</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L250" class="blob-num js-line-number js-blob-rnum" data-line-number="250"></td> <td id="file-index-html-LC250" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'height'</span><span class=pl-kos>,</span> <span class=pl-s1>miniHeight</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L251" class="blob-num js-line-number js-blob-rnum" data-line-number="251"></td> <td id="file-index-html-LC251" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'visibility'</span><span class=pl-kos>,</span> <span class=pl-s>'hidden'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L252" class="blob-num js-line-number js-blob-rnum" data-line-number="252"></td> <td id="file-index-html-LC252" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>on</span><span class=pl-kos>(</span><span class=pl-s>'mouseup'</span><span class=pl-kos>,</span> <span class=pl-s1>moveBrush</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L253" class="blob-num js-line-number js-blob-rnum" data-line-number="253"></td> <td id="file-index-html-LC253" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L254" class="blob-num js-line-number js-blob-rnum" data-line-number="254"></td> <td id="file-index-html-LC254" class="blob-code blob-code-inner js-file-line"><span class=pl-c>// draw the selection area</span></td> </tr> <tr> <td id="file-index-html-L255" class="blob-num js-line-number js-blob-rnum" data-line-number="255"></td> <td id="file-index-html-LC255" class="blob-code blob-code-inner js-file-line"><span class=pl-k>var</span> <span class=pl-s1>brush</span> <span class=pl-c1>=</span> <span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>svg</span><span class=pl-kos>.</span><span class=pl-en>brush</span><span class=pl-kos>(</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L256" class="blob-num js-line-number js-blob-rnum" data-line-number="256"></td> <td id="file-index-html-LC256" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>x</span><span class=pl-kos>(</span><span class=pl-s1>x</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L257" class="blob-num js-line-number js-blob-rnum" data-line-number="257"></td> <td id="file-index-html-LC257" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>extent</span><span class=pl-kos>(</span><span class=pl-kos>[</span><span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>time</span><span class=pl-kos>.</span><span class=pl-en>monday</span><span class=pl-kos>(</span><span class=pl-s1>now</span><span class=pl-kos>)</span><span class=pl-kos>,</span><span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>time</span><span class=pl-kos>.</span><span class=pl-c1>saturday</span><span class=pl-kos>.</span><span class=pl-en>ceil</span><span class=pl-kos>(</span><span class=pl-s1>now</span><span class=pl-kos>)</span><span class=pl-kos>]</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L258" class="blob-num js-line-number js-blob-rnum" data-line-number="258"></td> <td id="file-index-html-LC258" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>on</span><span class=pl-kos>(</span><span class=pl-s>"brush"</span><span class=pl-kos>,</span> <span class=pl-s1>display</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L259" class="blob-num js-line-number js-blob-rnum" data-line-number="259"></td> <td id="file-index-html-LC259" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L260" class="blob-num js-line-number js-blob-rnum" data-line-number="260"></td> <td id="file-index-html-LC260" class="blob-code blob-code-inner js-file-line"><span class=pl-s1>mini</span><span class=pl-kos>.</span><span class=pl-en>append</span><span class=pl-kos>(</span><span class=pl-s>'g'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L261" class="blob-num js-line-number js-blob-rnum" data-line-number="261"></td> <td id="file-index-html-LC261" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'class'</span><span class=pl-kos>,</span> <span class=pl-s>'x brush'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L262" class="blob-num js-line-number js-blob-rnum" data-line-number="262"></td> <td id="file-index-html-LC262" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>call</span><span class=pl-kos>(</span><span class=pl-s1>brush</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L263" class="blob-num js-line-number js-blob-rnum" data-line-number="263"></td> <td id="file-index-html-LC263" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>selectAll</span><span class=pl-kos>(</span><span class=pl-s>'rect'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L264" class="blob-num js-line-number js-blob-rnum" data-line-number="264"></td> <td id="file-index-html-LC264" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'y'</span><span class=pl-kos>,</span> <span class=pl-c1>1</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L265" class="blob-num js-line-number js-blob-rnum" data-line-number="265"></td> <td id="file-index-html-LC265" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'height'</span><span class=pl-kos>,</span> <span class=pl-s1>miniHeight</span> <span class=pl-c1>-</span> <span class=pl-c1>1</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L266" class="blob-num js-line-number js-blob-rnum" data-line-number="266"></td> <td id="file-index-html-LC266" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L267" class="blob-num js-line-number js-blob-rnum" data-line-number="267"></td> <td id="file-index-html-LC267" class="blob-code blob-code-inner js-file-line"><span class=pl-s1>mini</span><span class=pl-kos>.</span><span class=pl-en>selectAll</span><span class=pl-kos>(</span><span class=pl-s>'rect.background'</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>remove</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L268" class="blob-num js-line-number js-blob-rnum" data-line-number="268"></td> <td id="file-index-html-LC268" class="blob-code blob-code-inner js-file-line"><span class=pl-en>display</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L269" class="blob-num js-line-number js-blob-rnum" data-line-number="269"></td> <td id="file-index-html-LC269" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L270" class="blob-num js-line-number js-blob-rnum" data-line-number="270"></td> <td id="file-index-html-LC270" class="blob-code blob-code-inner js-file-line"><span class=pl-k>function</span> <span class=pl-en>display</span> <span class=pl-kos>(</span><span class=pl-kos>)</span> <span class=pl-kos>{</span></td> </tr> <tr> <td id="file-index-html-L271" class="blob-num js-line-number js-blob-rnum" data-line-number="271"></td> <td id="file-index-html-LC271" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L272" class="blob-num js-line-number js-blob-rnum" data-line-number="272"></td> <td id="file-index-html-LC272" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-s1>rects</span><span class=pl-kos>,</span> <span class=pl-s1>labels</span></td> </tr> <tr> <td id="file-index-html-L273" class="blob-num js-line-number js-blob-rnum" data-line-number="273"></td> <td id="file-index-html-LC273" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>,</span> <span class=pl-s1>minExtent</span> <span class=pl-c1>=</span> <span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>time</span><span class=pl-kos>.</span><span class=pl-en>day</span><span class=pl-kos>(</span><span class=pl-s1>brush</span><span class=pl-kos>.</span><span class=pl-en>extent</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>[</span><span class=pl-c1>0</span><span class=pl-kos>]</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L274" class="blob-num js-line-number js-blob-rnum" data-line-number="274"></td> <td id="file-index-html-LC274" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>,</span> <span class=pl-s1>maxExtent</span> <span class=pl-c1>=</span> <span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>time</span><span class=pl-kos>.</span><span class=pl-en>day</span><span class=pl-kos>(</span><span class=pl-s1>brush</span><span class=pl-kos>.</span><span class=pl-en>extent</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>[</span><span class=pl-c1>1</span><span class=pl-kos>]</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L275" class="blob-num js-line-number js-blob-rnum" data-line-number="275"></td> <td id="file-index-html-LC275" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>,</span> <span class=pl-s1>visItems</span> <span class=pl-c1>=</span> <span class=pl-s1>items</span><span class=pl-kos>.</span><span class=pl-en>filter</span><span class=pl-kos>(</span><span class=pl-k>function</span> <span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>start</span> <span class=pl-c1><</span> <span class=pl-s1>maxExtent</span> <span class=pl-c1>&&</span> <span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>end</span> <span class=pl-c1>></span> <span class=pl-s1>minExtent</span><span class=pl-kos>}</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L276" class="blob-num js-line-number js-blob-rnum" data-line-number="276"></td> <td id="file-index-html-LC276" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L277" class="blob-num js-line-number js-blob-rnum" data-line-number="277"></td> <td id="file-index-html-LC277" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>mini</span><span class=pl-kos>.</span><span class=pl-en>select</span><span class=pl-kos>(</span><span class=pl-s>'.brush'</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>call</span><span class=pl-kos>(</span><span class=pl-s1>brush</span><span class=pl-kos>.</span><span class=pl-en>extent</span><span class=pl-kos>(</span><span class=pl-kos>[</span><span class=pl-s1>minExtent</span><span class=pl-kos>,</span> <span class=pl-s1>maxExtent</span><span class=pl-kos>]</span><span class=pl-kos>)</span><span class=pl-kos>)</span><span class=pl-kos>;</span> </td> </tr> <tr> <td id="file-index-html-L278" class="blob-num js-line-number js-blob-rnum" data-line-number="278"></td> <td id="file-index-html-LC278" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L279" class="blob-num js-line-number js-blob-rnum" data-line-number="279"></td> <td id="file-index-html-LC279" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>x1</span><span class=pl-kos>.</span><span class=pl-en>domain</span><span class=pl-kos>(</span><span class=pl-kos>[</span><span class=pl-s1>minExtent</span><span class=pl-kos>,</span> <span class=pl-s1>maxExtent</span><span class=pl-kos>]</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L280" class="blob-num js-line-number js-blob-rnum" data-line-number="280"></td> <td id="file-index-html-LC280" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L281" class="blob-num js-line-number js-blob-rnum" data-line-number="281"></td> <td id="file-index-html-LC281" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>if</span> <span class=pl-kos>(</span><span class=pl-kos>(</span><span class=pl-s1>maxExtent</span> <span class=pl-c1>-</span> <span class=pl-s1>minExtent</span><span class=pl-kos>)</span> <span class=pl-c1>></span> <span class=pl-c1>1468800000</span><span class=pl-kos>)</span> <span class=pl-kos>{</span></td> </tr> <tr> <td id="file-index-html-L282" class="blob-num js-line-number js-blob-rnum" data-line-number="282"></td> <td id="file-index-html-LC282" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>x1DateAxis</span><span class=pl-kos>.</span><span class=pl-en>ticks</span><span class=pl-kos>(</span><span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>time</span><span class=pl-kos>.</span><span class=pl-c1>mondays</span><span class=pl-kos>,</span> <span class=pl-c1>1</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>tickFormat</span><span class=pl-kos>(</span><span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>time</span><span class=pl-kos>.</span><span class=pl-en>format</span><span class=pl-kos>(</span><span class=pl-s>'%a %d'</span><span class=pl-kos>)</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L283" class="blob-num js-line-number js-blob-rnum" data-line-number="283"></td> <td id="file-index-html-LC283" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>x1MonthAxis</span><span class=pl-kos>.</span><span class=pl-en>ticks</span><span class=pl-kos>(</span><span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>time</span><span class=pl-kos>.</span><span class=pl-c1>mondays</span><span class=pl-kos>,</span> <span class=pl-c1>1</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>tickFormat</span><span class=pl-kos>(</span><span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>time</span><span class=pl-kos>.</span><span class=pl-en>format</span><span class=pl-kos>(</span><span class=pl-s>'%b - Week %W'</span><span class=pl-kos>)</span><span class=pl-kos>)</span> </td> </tr> <tr> <td id="file-index-html-L284" class="blob-num js-line-number js-blob-rnum" data-line-number="284"></td> <td id="file-index-html-LC284" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>}</span></td> </tr> <tr> <td id="file-index-html-L285" class="blob-num js-line-number js-blob-rnum" data-line-number="285"></td> <td id="file-index-html-LC285" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>else</span> <span class=pl-k>if</span> <span class=pl-kos>(</span><span class=pl-kos>(</span><span class=pl-s1>maxExtent</span> <span class=pl-c1>-</span> <span class=pl-s1>minExtent</span><span class=pl-kos>)</span> <span class=pl-c1>></span> <span class=pl-c1>172800000</span><span class=pl-kos>)</span> <span class=pl-kos>{</span></td> </tr> <tr> <td id="file-index-html-L286" class="blob-num js-line-number js-blob-rnum" data-line-number="286"></td> <td id="file-index-html-LC286" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>x1DateAxis</span><span class=pl-kos>.</span><span class=pl-en>ticks</span><span class=pl-kos>(</span><span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>time</span><span class=pl-kos>.</span><span class=pl-c1>days</span><span class=pl-kos>,</span> <span class=pl-c1>1</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>tickFormat</span><span class=pl-kos>(</span><span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>time</span><span class=pl-kos>.</span><span class=pl-en>format</span><span class=pl-kos>(</span><span class=pl-s>'%a %d'</span><span class=pl-kos>)</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L287" class="blob-num js-line-number js-blob-rnum" data-line-number="287"></td> <td id="file-index-html-LC287" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>x1MonthAxis</span><span class=pl-kos>.</span><span class=pl-en>ticks</span><span class=pl-kos>(</span><span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>time</span><span class=pl-kos>.</span><span class=pl-c1>mondays</span><span class=pl-kos>,</span> <span class=pl-c1>1</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>tickFormat</span><span class=pl-kos>(</span><span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>time</span><span class=pl-kos>.</span><span class=pl-en>format</span><span class=pl-kos>(</span><span class=pl-s>'%b - Week %W'</span><span class=pl-kos>)</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L288" class="blob-num js-line-number js-blob-rnum" data-line-number="288"></td> <td id="file-index-html-LC288" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>}</span></td> </tr> <tr> <td id="file-index-html-L289" class="blob-num js-line-number js-blob-rnum" data-line-number="289"></td> <td id="file-index-html-LC289" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>else</span> <span class=pl-kos>{</span></td> </tr> <tr> <td id="file-index-html-L290" class="blob-num js-line-number js-blob-rnum" data-line-number="290"></td> <td id="file-index-html-LC290" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>x1DateAxis</span><span class=pl-kos>.</span><span class=pl-en>ticks</span><span class=pl-kos>(</span><span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>time</span><span class=pl-kos>.</span><span class=pl-c1>hours</span><span class=pl-kos>,</span> <span class=pl-c1>4</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>tickFormat</span><span class=pl-kos>(</span><span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>time</span><span class=pl-kos>.</span><span class=pl-en>format</span><span class=pl-kos>(</span><span class=pl-s>'%I %p'</span><span class=pl-kos>)</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L291" class="blob-num js-line-number js-blob-rnum" data-line-number="291"></td> <td id="file-index-html-LC291" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>x1MonthAxis</span><span class=pl-kos>.</span><span class=pl-en>ticks</span><span class=pl-kos>(</span><span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>time</span><span class=pl-kos>.</span><span class=pl-c1>days</span><span class=pl-kos>,</span> <span class=pl-c1>1</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>tickFormat</span><span class=pl-kos>(</span><span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-c1>time</span><span class=pl-kos>.</span><span class=pl-en>format</span><span class=pl-kos>(</span><span class=pl-s>'%b %e'</span><span class=pl-kos>)</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L292" class="blob-num js-line-number js-blob-rnum" data-line-number="292"></td> <td id="file-index-html-LC292" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>}</span></td> </tr> <tr> <td id="file-index-html-L293" class="blob-num js-line-number js-blob-rnum" data-line-number="293"></td> <td id="file-index-html-LC293" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L294" class="blob-num js-line-number js-blob-rnum" data-line-number="294"></td> <td id="file-index-html-LC294" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L295" class="blob-num js-line-number js-blob-rnum" data-line-number="295"></td> <td id="file-index-html-LC295" class="blob-code blob-code-inner js-file-line"> <span class=pl-c>//x1Offset.range([0, x1(d3.time.day.ceil(now) - x1(d3.time.day.floor(now)))]);</span></td> </tr> <tr> <td id="file-index-html-L296" class="blob-num js-line-number js-blob-rnum" data-line-number="296"></td> <td id="file-index-html-LC296" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L297" class="blob-num js-line-number js-blob-rnum" data-line-number="297"></td> <td id="file-index-html-LC297" class="blob-code blob-code-inner js-file-line"> <span class=pl-c>// shift the today line</span></td> </tr> <tr> <td id="file-index-html-L298" class="blob-num js-line-number js-blob-rnum" data-line-number="298"></td> <td id="file-index-html-LC298" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>main</span><span class=pl-kos>.</span><span class=pl-en>select</span><span class=pl-kos>(</span><span class=pl-s>'.main.todayLine'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L299" class="blob-num js-line-number js-blob-rnum" data-line-number="299"></td> <td id="file-index-html-LC299" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'x1'</span><span class=pl-kos>,</span> <span class=pl-s1>x1</span><span class=pl-kos>(</span><span class=pl-s1>now</span><span class=pl-kos>)</span> <span class=pl-c1>+</span> <span class=pl-c1>0.5</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L300" class="blob-num js-line-number js-blob-rnum" data-line-number="300"></td> <td id="file-index-html-LC300" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'x2'</span><span class=pl-kos>,</span> <span class=pl-s1>x1</span><span class=pl-kos>(</span><span class=pl-s1>now</span><span class=pl-kos>)</span> <span class=pl-c1>+</span> <span class=pl-c1>0.5</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L301" class="blob-num js-line-number js-blob-rnum" data-line-number="301"></td> <td id="file-index-html-LC301" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L302" class="blob-num js-line-number js-blob-rnum" data-line-number="302"></td> <td id="file-index-html-LC302" class="blob-code blob-code-inner js-file-line"> <span class=pl-c>// update the axis</span></td> </tr> <tr> <td id="file-index-html-L303" class="blob-num js-line-number js-blob-rnum" data-line-number="303"></td> <td id="file-index-html-LC303" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>main</span><span class=pl-kos>.</span><span class=pl-en>select</span><span class=pl-kos>(</span><span class=pl-s>'.main.axis.date'</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>call</span><span class=pl-kos>(</span><span class=pl-s1>x1DateAxis</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L304" class="blob-num js-line-number js-blob-rnum" data-line-number="304"></td> <td id="file-index-html-LC304" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>main</span><span class=pl-kos>.</span><span class=pl-en>select</span><span class=pl-kos>(</span><span class=pl-s>'.main.axis.month'</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>call</span><span class=pl-kos>(</span><span class=pl-s1>x1MonthAxis</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L305" class="blob-num js-line-number js-blob-rnum" data-line-number="305"></td> <td id="file-index-html-LC305" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>selectAll</span><span class=pl-kos>(</span><span class=pl-s>'text'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L306" class="blob-num js-line-number js-blob-rnum" data-line-number="306"></td> <td id="file-index-html-LC306" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'dx'</span><span class=pl-kos>,</span> <span class=pl-c1>5</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L307" class="blob-num js-line-number js-blob-rnum" data-line-number="307"></td> <td id="file-index-html-LC307" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'dy'</span><span class=pl-kos>,</span> <span class=pl-c1>12</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L308" class="blob-num js-line-number js-blob-rnum" data-line-number="308"></td> <td id="file-index-html-LC308" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L309" class="blob-num js-line-number js-blob-rnum" data-line-number="309"></td> <td id="file-index-html-LC309" class="blob-code blob-code-inner js-file-line"> <span class=pl-c>// upate the item rects</span></td> </tr> <tr> <td id="file-index-html-L310" class="blob-num js-line-number js-blob-rnum" data-line-number="310"></td> <td id="file-index-html-LC310" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>rects</span> <span class=pl-c1>=</span> <span class=pl-s1>itemRects</span><span class=pl-kos>.</span><span class=pl-en>selectAll</span><span class=pl-kos>(</span><span class=pl-s>'rect'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L311" class="blob-num js-line-number js-blob-rnum" data-line-number="311"></td> <td id="file-index-html-LC311" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>data</span><span class=pl-kos>(</span><span class=pl-s1>visItems</span><span class=pl-kos>,</span> <span class=pl-k>function</span> <span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>id</span><span class=pl-kos>;</span> <span class=pl-kos>}</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L312" class="blob-num js-line-number js-blob-rnum" data-line-number="312"></td> <td id="file-index-html-LC312" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'x'</span><span class=pl-kos>,</span> <span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s1>x1</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>start</span><span class=pl-kos>)</span><span class=pl-kos>;</span> <span class=pl-kos>}</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L313" class="blob-num js-line-number js-blob-rnum" data-line-number="313"></td> <td id="file-index-html-LC313" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'width'</span><span class=pl-kos>,</span> <span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s1>x1</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>end</span><span class=pl-kos>)</span> <span class=pl-c1>-</span> <span class=pl-s1>x1</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>start</span><span class=pl-kos>)</span><span class=pl-kos>;</span> <span class=pl-kos>}</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L314" class="blob-num js-line-number js-blob-rnum" data-line-number="314"></td> <td id="file-index-html-LC314" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L315" class="blob-num js-line-number js-blob-rnum" data-line-number="315"></td> <td id="file-index-html-LC315" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>rects</span><span class=pl-kos>.</span><span class=pl-en>enter</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>append</span><span class=pl-kos>(</span><span class=pl-s>'rect'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L316" class="blob-num js-line-number js-blob-rnum" data-line-number="316"></td> <td id="file-index-html-LC316" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'x'</span><span class=pl-kos>,</span> <span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s1>x1</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>start</span><span class=pl-kos>)</span><span class=pl-kos>;</span> <span class=pl-kos>}</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L317" class="blob-num js-line-number js-blob-rnum" data-line-number="317"></td> <td id="file-index-html-LC317" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'y'</span><span class=pl-kos>,</span> <span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s1>y1</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>lane</span><span class=pl-kos>)</span> <span class=pl-c1>+</span> <span class=pl-c1>.1</span> <span class=pl-c1>*</span> <span class=pl-s1>y1</span><span class=pl-kos>(</span><span class=pl-c1>1</span><span class=pl-kos>)</span> <span class=pl-c1>+</span> <span class=pl-c1>0.5</span><span class=pl-kos>;</span> <span class=pl-kos>}</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L318" class="blob-num js-line-number js-blob-rnum" data-line-number="318"></td> <td id="file-index-html-LC318" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'width'</span><span class=pl-kos>,</span> <span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s1>x1</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>end</span><span class=pl-kos>)</span> <span class=pl-c1>-</span> <span class=pl-s1>x1</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>start</span><span class=pl-kos>)</span><span class=pl-kos>;</span> <span class=pl-kos>}</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L319" class="blob-num js-line-number js-blob-rnum" data-line-number="319"></td> <td id="file-index-html-LC319" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'height'</span><span class=pl-kos>,</span> <span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-c1>.8</span> <span class=pl-c1>*</span> <span class=pl-s1>y1</span><span class=pl-kos>(</span><span class=pl-c1>1</span><span class=pl-kos>)</span><span class=pl-kos>;</span> <span class=pl-kos>}</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L320" class="blob-num js-line-number js-blob-rnum" data-line-number="320"></td> <td id="file-index-html-LC320" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'class'</span><span class=pl-kos>,</span> <span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s>'mainItem '</span> <span class=pl-c1>+</span> <span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>class</span><span class=pl-kos>;</span> <span class=pl-kos>}</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L321" class="blob-num js-line-number js-blob-rnum" data-line-number="321"></td> <td id="file-index-html-LC321" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L322" class="blob-num js-line-number js-blob-rnum" data-line-number="322"></td> <td id="file-index-html-LC322" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>rects</span><span class=pl-kos>.</span><span class=pl-en>exit</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>remove</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L323" class="blob-num js-line-number js-blob-rnum" data-line-number="323"></td> <td id="file-index-html-LC323" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L324" class="blob-num js-line-number js-blob-rnum" data-line-number="324"></td> <td id="file-index-html-LC324" class="blob-code blob-code-inner js-file-line"> <span class=pl-c>// update the item labels</span></td> </tr> <tr> <td id="file-index-html-L325" class="blob-num js-line-number js-blob-rnum" data-line-number="325"></td> <td id="file-index-html-LC325" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>labels</span> <span class=pl-c1>=</span> <span class=pl-s1>itemRects</span><span class=pl-kos>.</span><span class=pl-en>selectAll</span><span class=pl-kos>(</span><span class=pl-s>'text'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L326" class="blob-num js-line-number js-blob-rnum" data-line-number="326"></td> <td id="file-index-html-LC326" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>data</span><span class=pl-kos>(</span><span class=pl-s1>visItems</span><span class=pl-kos>,</span> <span class=pl-k>function</span> <span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>id</span><span class=pl-kos>;</span> <span class=pl-kos>}</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L327" class="blob-num js-line-number js-blob-rnum" data-line-number="327"></td> <td id="file-index-html-LC327" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'x'</span><span class=pl-kos>,</span> <span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s1>x1</span><span class=pl-kos>(</span><span class=pl-v>Math</span><span class=pl-kos>.</span><span class=pl-en>max</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>start</span><span class=pl-kos>,</span> <span class=pl-s1>minExtent</span><span class=pl-kos>)</span><span class=pl-kos>)</span> <span class=pl-c1>+</span> <span class=pl-c1>2</span><span class=pl-kos>;</span> <span class=pl-kos>}</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L328" class="blob-num js-line-number js-blob-rnum" data-line-number="328"></td> <td id="file-index-html-LC328" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L329" class="blob-num js-line-number js-blob-rnum" data-line-number="329"></td> <td id="file-index-html-LC329" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>labels</span><span class=pl-kos>.</span><span class=pl-en>enter</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>append</span><span class=pl-kos>(</span><span class=pl-s>'text'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L330" class="blob-num js-line-number js-blob-rnum" data-line-number="330"></td> <td id="file-index-html-LC330" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>text</span><span class=pl-kos>(</span><span class=pl-k>function</span> <span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s>'Item\n\n\n\n Id: '</span> <span class=pl-c1>+</span> <span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>id</span><span class=pl-kos>;</span> <span class=pl-kos>}</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L331" class="blob-num js-line-number js-blob-rnum" data-line-number="331"></td> <td id="file-index-html-LC331" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'x'</span><span class=pl-kos>,</span> <span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s1>x1</span><span class=pl-kos>(</span><span class=pl-v>Math</span><span class=pl-kos>.</span><span class=pl-en>max</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>start</span><span class=pl-kos>,</span> <span class=pl-s1>minExtent</span><span class=pl-kos>)</span><span class=pl-kos>)</span> <span class=pl-c1>+</span> <span class=pl-c1>2</span><span class=pl-kos>;</span> <span class=pl-kos>}</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L332" class="blob-num js-line-number js-blob-rnum" data-line-number="332"></td> <td id="file-index-html-LC332" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'y'</span><span class=pl-kos>,</span> <span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>)</span> <span class=pl-kos>{</span> <span class=pl-k>return</span> <span class=pl-s1>y1</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>lane</span><span class=pl-kos>)</span> <span class=pl-c1>+</span> <span class=pl-c1>.4</span> <span class=pl-c1>*</span> <span class=pl-s1>y1</span><span class=pl-kos>(</span><span class=pl-c1>1</span><span class=pl-kos>)</span> <span class=pl-c1>+</span> <span class=pl-c1>0.5</span><span class=pl-kos>;</span> <span class=pl-kos>}</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L333" class="blob-num js-line-number js-blob-rnum" data-line-number="333"></td> <td id="file-index-html-LC333" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'text-anchor'</span><span class=pl-kos>,</span> <span class=pl-s>'start'</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L334" class="blob-num js-line-number js-blob-rnum" data-line-number="334"></td> <td id="file-index-html-LC334" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>.</span><span class=pl-en>attr</span><span class=pl-kos>(</span><span class=pl-s>'class'</span><span class=pl-kos>,</span> <span class=pl-s>'itemLabel'</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L335" class="blob-num js-line-number js-blob-rnum" data-line-number="335"></td> <td id="file-index-html-LC335" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L336" class="blob-num js-line-number js-blob-rnum" data-line-number="336"></td> <td id="file-index-html-LC336" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>labels</span><span class=pl-kos>.</span><span class=pl-en>exit</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>remove</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L337" class="blob-num js-line-number js-blob-rnum" data-line-number="337"></td> <td id="file-index-html-LC337" class="blob-code blob-code-inner js-file-line"><span class=pl-kos>}</span></td> </tr> <tr> <td id="file-index-html-L338" class="blob-num js-line-number js-blob-rnum" data-line-number="338"></td> <td id="file-index-html-LC338" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L339" class="blob-num js-line-number js-blob-rnum" data-line-number="339"></td> <td id="file-index-html-LC339" class="blob-code blob-code-inner js-file-line"><span class=pl-k>function</span> <span class=pl-en>moveBrush</span> <span class=pl-kos>(</span><span class=pl-kos>)</span> <span class=pl-kos>{</span></td> </tr> <tr> <td id="file-index-html-L340" class="blob-num js-line-number js-blob-rnum" data-line-number="340"></td> <td id="file-index-html-LC340" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-s1>origin</span> <span class=pl-c1>=</span> <span class=pl-s1>d3</span><span class=pl-kos>.</span><span class=pl-en>mouse</span><span class=pl-kos>(</span><span class=pl-smi>this</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L341" class="blob-num js-line-number js-blob-rnum" data-line-number="341"></td> <td id="file-index-html-LC341" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>,</span> <span class=pl-s1>point</span> <span class=pl-c1>=</span> <span class=pl-s1>x</span><span class=pl-kos>.</span><span class=pl-en>invert</span><span class=pl-kos>(</span><span class=pl-s1>origin</span><span class=pl-kos>[</span><span class=pl-c1>0</span><span class=pl-kos>]</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L342" class="blob-num js-line-number js-blob-rnum" data-line-number="342"></td> <td id="file-index-html-LC342" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>,</span> <span class=pl-s1>halfExtent</span> <span class=pl-c1>=</span> <span class=pl-kos>(</span><span class=pl-s1>brush</span><span class=pl-kos>.</span><span class=pl-en>extent</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>[</span><span class=pl-c1>1</span><span class=pl-kos>]</span><span class=pl-kos>.</span><span class=pl-en>getTime</span><span class=pl-kos>(</span><span class=pl-kos>)</span> <span class=pl-c1>-</span> <span class=pl-s1>brush</span><span class=pl-kos>.</span><span class=pl-en>extent</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>[</span><span class=pl-c1>0</span><span class=pl-kos>]</span><span class=pl-kos>.</span><span class=pl-en>getTime</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>)</span> <span class=pl-c1>/</span> <span class=pl-c1>2</span></td> </tr> <tr> <td id="file-index-html-L343" class="blob-num js-line-number js-blob-rnum" data-line-number="343"></td> <td id="file-index-html-LC343" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>,</span> <span class=pl-s1>start</span> <span class=pl-c1>=</span> <span class=pl-k>new</span> <span class=pl-v>Date</span><span class=pl-kos>(</span><span class=pl-s1>point</span><span class=pl-kos>.</span><span class=pl-en>getTime</span><span class=pl-kos>(</span><span class=pl-kos>)</span> <span class=pl-c1>-</span> <span class=pl-s1>halfExtent</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-index-html-L344" class="blob-num js-line-number js-blob-rnum" data-line-number="344"></td> <td id="file-index-html-LC344" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>,</span> <span class=pl-s1>end</span> <span class=pl-c1>=</span> <span class=pl-k>new</span> <span class=pl-v>Date</span><span class=pl-kos>(</span><span class=pl-s1>point</span><span class=pl-kos>.</span><span class=pl-en>getTime</span><span class=pl-kos>(</span><span class=pl-kos>)</span> <span class=pl-c1>+</span> <span class=pl-s1>halfExtent</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L345" class="blob-num js-line-number js-blob-rnum" data-line-number="345"></td> <td id="file-index-html-LC345" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L346" class="blob-num js-line-number js-blob-rnum" data-line-number="346"></td> <td id="file-index-html-LC346" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>brush</span><span class=pl-kos>.</span><span class=pl-en>extent</span><span class=pl-kos>(</span><span class=pl-kos>[</span><span class=pl-s1>start</span><span class=pl-kos>,</span><span class=pl-s1>end</span><span class=pl-kos>]</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L347" class="blob-num js-line-number js-blob-rnum" data-line-number="347"></td> <td id="file-index-html-LC347" class="blob-code blob-code-inner js-file-line"> <span class=pl-en>display</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L348" class="blob-num js-line-number js-blob-rnum" data-line-number="348"></td> <td id="file-index-html-LC348" class="blob-code blob-code-inner js-file-line"><span class=pl-kos>}</span></td> </tr> <tr> <td id="file-index-html-L349" class="blob-num js-line-number js-blob-rnum" data-line-number="349"></td> <td id="file-index-html-LC349" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L350" class="blob-num js-line-number js-blob-rnum" data-line-number="350"></td> <td id="file-index-html-LC350" class="blob-code blob-code-inner js-file-line"><span class=pl-c>// generates a single path for each item class in the mini display</span></td> </tr> <tr> <td id="file-index-html-L351" class="blob-num js-line-number js-blob-rnum" data-line-number="351"></td> <td id="file-index-html-LC351" class="blob-code blob-code-inner js-file-line"><span class=pl-c>// ugly - but draws mini 2x faster than append lines or line generator</span></td> </tr> <tr> <td id="file-index-html-L352" class="blob-num js-line-number js-blob-rnum" data-line-number="352"></td> <td id="file-index-html-LC352" class="blob-code blob-code-inner js-file-line"><span class=pl-c>// is there a better way to do a bunch of lines as a single path with d3?</span></td> </tr> <tr> <td id="file-index-html-L353" class="blob-num js-line-number js-blob-rnum" data-line-number="353"></td> <td id="file-index-html-LC353" class="blob-code blob-code-inner js-file-line"><span class=pl-k>function</span> <span class=pl-en>getPaths</span><span class=pl-kos>(</span><span class=pl-s1>items</span><span class=pl-kos>)</span> <span class=pl-kos>{</span></td> </tr> <tr> <td id="file-index-html-L354" class="blob-num js-line-number js-blob-rnum" data-line-number="354"></td> <td id="file-index-html-LC354" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-s1>paths</span> <span class=pl-c1>=</span> <span class=pl-kos>{</span><span class=pl-kos>}</span><span class=pl-kos>,</span> <span class=pl-s1>d</span><span class=pl-kos>,</span> <span class=pl-s1>offset</span> <span class=pl-c1>=</span> <span class=pl-c1>.5</span> <span class=pl-c1>*</span> <span class=pl-s1>y2</span><span class=pl-kos>(</span><span class=pl-c1>1</span><span class=pl-kos>)</span> <span class=pl-c1>+</span> <span class=pl-c1>0.5</span><span class=pl-kos>,</span> <span class=pl-s1>result</span> <span class=pl-c1>=</span> <span class=pl-kos>[</span><span class=pl-kos>]</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L355" class="blob-num js-line-number js-blob-rnum" data-line-number="355"></td> <td id="file-index-html-LC355" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>for</span> <span class=pl-kos>(</span><span class=pl-k>var</span> <span class=pl-s1>i</span> <span class=pl-c1>=</span> <span class=pl-c1>0</span><span class=pl-kos>;</span> <span class=pl-s1>i</span> <span class=pl-c1><</span> <span class=pl-s1>items</span><span class=pl-kos>.</span><span class=pl-c1>length</span><span class=pl-kos>;</span> <span class=pl-s1>i</span><span class=pl-c1>++</span><span class=pl-kos>)</span> <span class=pl-kos>{</span></td> </tr> <tr> <td id="file-index-html-L356" class="blob-num js-line-number js-blob-rnum" data-line-number="356"></td> <td id="file-index-html-LC356" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>d</span> <span class=pl-c1>=</span> <span class=pl-s1>items</span><span class=pl-kos>[</span><span class=pl-s1>i</span><span class=pl-kos>]</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L357" class="blob-num js-line-number js-blob-rnum" data-line-number="357"></td> <td id="file-index-html-LC357" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>if</span> <span class=pl-kos>(</span><span class=pl-c1>!</span><span class=pl-s1>paths</span><span class=pl-kos>[</span><span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>class</span><span class=pl-kos>]</span><span class=pl-kos>)</span> <span class=pl-s1>paths</span><span class=pl-kos>[</span><span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>class</span><span class=pl-kos>]</span> <span class=pl-c1>=</span> <span class=pl-s>''</span><span class=pl-kos>;</span> </td> </tr> <tr> <td id="file-index-html-L358" class="blob-num js-line-number js-blob-rnum" data-line-number="358"></td> <td id="file-index-html-LC358" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>paths</span><span class=pl-kos>[</span><span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>class</span><span class=pl-kos>]</span> <span class=pl-c1>+=</span> <span class=pl-kos>[</span><span class=pl-s>'M'</span><span class=pl-kos>,</span><span class=pl-s1>x</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>start</span><span class=pl-kos>)</span><span class=pl-kos>,</span><span class=pl-kos>(</span><span class=pl-s1>y2</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>lane</span><span class=pl-kos>)</span> <span class=pl-c1>+</span> <span class=pl-s1>offset</span><span class=pl-kos>)</span><span class=pl-kos>,</span><span class=pl-s>'H'</span><span class=pl-kos>,</span><span class=pl-s1>x</span><span class=pl-kos>(</span><span class=pl-s1>d</span><span class=pl-kos>.</span><span class=pl-c1>end</span><span class=pl-kos>)</span><span class=pl-kos>]</span><span class=pl-kos>.</span><span class=pl-en>join</span><span class=pl-kos>(</span><span class=pl-s>' '</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L359" class="blob-num js-line-number js-blob-rnum" data-line-number="359"></td> <td id="file-index-html-LC359" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>}</span></td> </tr> <tr> <td id="file-index-html-L360" class="blob-num js-line-number js-blob-rnum" data-line-number="360"></td> <td id="file-index-html-LC360" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L361" class="blob-num js-line-number js-blob-rnum" data-line-number="361"></td> <td id="file-index-html-LC361" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>for</span> <span class=pl-kos>(</span><span class=pl-k>var</span> <span class=pl-s1>className</span> <span class=pl-k>in</span> <span class=pl-s1>paths</span><span class=pl-kos>)</span> <span class=pl-kos>{</span></td> </tr> <tr> <td id="file-index-html-L362" class="blob-num js-line-number js-blob-rnum" data-line-number="362"></td> <td id="file-index-html-LC362" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>result</span><span class=pl-kos>.</span><span class=pl-en>push</span><span class=pl-kos>(</span><span class=pl-kos>{</span><span class=pl-c1>class</span>: <span class=pl-s1>className</span><span class=pl-kos>,</span> <span class=pl-c1>path</span>: <span class=pl-s1>paths</span><span class=pl-kos>[</span><span class=pl-s1>className</span><span class=pl-kos>]</span><span class=pl-kos>}</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L363" class="blob-num js-line-number js-blob-rnum" data-line-number="363"></td> <td id="file-index-html-LC363" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>}</span></td> </tr> <tr> <td id="file-index-html-L364" class="blob-num js-line-number js-blob-rnum" data-line-number="364"></td> <td id="file-index-html-LC364" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L365" class="blob-num js-line-number js-blob-rnum" data-line-number="365"></td> <td id="file-index-html-LC365" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>return</span> <span class=pl-s1>result</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-index-html-L366" class="blob-num js-line-number js-blob-rnum" data-line-number="366"></td> <td id="file-index-html-LC366" class="blob-code blob-code-inner js-file-line"><span class=pl-kos>}</span></td> </tr> <tr> <td id="file-index-html-L367" class="blob-num js-line-number js-blob-rnum" data-line-number="367"></td> <td id="file-index-html-LC367" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-index-html-L368" class="blob-num js-line-number js-blob-rnum" data-line-number="368"></td> <td id="file-index-html-LC368" class="blob-code blob-code-inner js-file-line"><span class=pl-kos></</span><span class=pl-ent>script</span><span class=pl-kos>></span></td> </tr> <tr> <td id="file-index-html-L369" class="blob-num js-line-number js-blob-rnum" data-line-number="369"></td> <td id="file-index-html-LC369" class="blob-code blob-code-inner js-file-line"><span class=pl-kos></</span><span class=pl-ent>body</span><span class=pl-kos>></span></td> </tr> <tr> <td id="file-index-html-L370" class="blob-num js-line-number js-blob-rnum" data-line-number="370"></td> <td id="file-index-html-LC370" class="blob-code blob-code-inner js-file-line"><span class=pl-kos></</span><span class=pl-ent>html</span><span class=pl-kos>></span></td> </tr> </table> </div> </div> </div> </div> <div class="js-gist-file-update-container js-task-list-container"> <div id="file-randomdata-js" class="file my-2"> <div class="file-header d-flex flex-md-items-center flex-items-start"> <div class="file-actions flex-order-2 pt-0"> <a href="/bunkat/1962173/raw/b7d7134dbc15912619cc21c7fdc2bb78864a8daa/randomData.js" data-view-component="true" class="Button--secondary Button--small Button"> <span class="Button-content"> <span class="Button-label">Raw</span> </span> </a> </div> <div class="file-info pr-4 d-flex flex-md-items-center flex-items-start flex-order-1 flex-auto"> <span class="mr-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-square color-fg-muted"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </span> <a class="wb-break-all" href="#file-randomdata-js"> <strong class="user-select-contain gist-blob-name css-truncate-target"> randomData.js </strong> </a> </div> </div> <div itemprop="text" class="Box-body p-0 blob-wrapper data type-javascript gist-border-0" style="overflow: auto" tabindex="0" role="region" aria-label="file-randomdata-js" > <div class="js-check-bidi js-blob-code-container blob-code-content"> <template class="js-file-alert-template"> <div data-view-component="true" class="flash flash-warn flash-full d-flex flex-items-center"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span> This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. <a class="Link--inTextBlock" href="https://github.co/hiddenchars" target="_blank">Learn more about bidirectional Unicode characters</a> </span> <div data-view-component="true" class="flash-action"> <a href="{{ revealButtonHref }}" data-view-component="true" class="btn-sm btn"> Show hidden characters </a> </div> </div></template> <template class="js-line-alert-template"> <span aria-label="This line has hidden Unicode characters" data-view-component="true" class="line-alert tooltipped tooltipped-e"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </span></template> <table data-hpc class="highlight tab-size js-file-line-container" data-tab-size="8" data-paste-markdown-skip data-tagsearch-path="randomData.js"> <tr> <td id="file-randomdata-js-L1" class="blob-num js-line-number js-blob-rnum" data-line-number="1"></td> <td id="file-randomdata-js-LC1" class="blob-code blob-code-inner js-file-line"><span class=pl-kos>(</span><span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-kos>)</span> <span class=pl-kos>{</span></td> </tr> <tr> <td id="file-randomdata-js-L2" class="blob-num js-line-number js-blob-rnum" data-line-number="2"></td> <td id="file-randomdata-js-LC2" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L3" class="blob-num js-line-number js-blob-rnum" data-line-number="3"></td> <td id="file-randomdata-js-LC3" class="blob-code blob-code-inner js-file-line"> <span class=pl-s>"use strict"</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L4" class="blob-num js-line-number js-blob-rnum" data-line-number="4"></td> <td id="file-randomdata-js-LC4" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L5" class="blob-num js-line-number js-blob-rnum" data-line-number="5"></td> <td id="file-randomdata-js-LC5" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-v>RandomData</span> <span class=pl-c1>=</span> <span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-kos>)</span> <span class=pl-kos>{</span></td> </tr> <tr> <td id="file-randomdata-js-L6" class="blob-num js-line-number js-blob-rnum" data-line-number="6"></td> <td id="file-randomdata-js-LC6" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L7" class="blob-num js-line-number js-blob-rnum" data-line-number="7"></td> <td id="file-randomdata-js-LC7" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-en>addToLane</span> <span class=pl-c1>=</span> <span class=pl-k>function</span> <span class=pl-kos>(</span><span class=pl-s1>chart</span><span class=pl-kos>,</span> <span class=pl-s1>item</span><span class=pl-kos>)</span> <span class=pl-kos>{</span></td> </tr> <tr> <td id="file-randomdata-js-L8" class="blob-num js-line-number js-blob-rnum" data-line-number="8"></td> <td id="file-randomdata-js-LC8" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-s1>name</span> <span class=pl-c1>=</span> <span class=pl-s1>item</span><span class=pl-kos>.</span><span class=pl-c1>lane</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L9" class="blob-num js-line-number js-blob-rnum" data-line-number="9"></td> <td id="file-randomdata-js-LC9" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L10" class="blob-num js-line-number js-blob-rnum" data-line-number="10"></td> <td id="file-randomdata-js-LC10" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>if</span> <span class=pl-kos>(</span><span class=pl-c1>!</span><span class=pl-s1>chart</span><span class=pl-kos>.</span><span class=pl-c1>lanes</span><span class=pl-kos>[</span><span class=pl-s1>name</span><span class=pl-kos>]</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-randomdata-js-L11" class="blob-num js-line-number js-blob-rnum" data-line-number="11"></td> <td id="file-randomdata-js-LC11" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>chart</span><span class=pl-kos>.</span><span class=pl-c1>lanes</span><span class=pl-kos>[</span><span class=pl-s1>name</span><span class=pl-kos>]</span> <span class=pl-c1>=</span> <span class=pl-kos>[</span><span class=pl-kos>]</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L12" class="blob-num js-line-number js-blob-rnum" data-line-number="12"></td> <td id="file-randomdata-js-LC12" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L13" class="blob-num js-line-number js-blob-rnum" data-line-number="13"></td> <td id="file-randomdata-js-LC13" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-s1>lane</span> <span class=pl-c1>=</span> <span class=pl-s1>chart</span><span class=pl-kos>.</span><span class=pl-c1>lanes</span><span class=pl-kos>[</span><span class=pl-s1>name</span><span class=pl-kos>]</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L14" class="blob-num js-line-number js-blob-rnum" data-line-number="14"></td> <td id="file-randomdata-js-LC14" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L15" class="blob-num js-line-number js-blob-rnum" data-line-number="15"></td> <td id="file-randomdata-js-LC15" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-s1>sublane</span> <span class=pl-c1>=</span> <span class=pl-c1>0</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L16" class="blob-num js-line-number js-blob-rnum" data-line-number="16"></td> <td id="file-randomdata-js-LC16" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>while</span><span class=pl-kos>(</span><span class=pl-en>isOverlapping</span><span class=pl-kos>(</span><span class=pl-s1>item</span><span class=pl-kos>,</span> <span class=pl-s1>lane</span><span class=pl-kos>[</span><span class=pl-s1>sublane</span><span class=pl-kos>]</span><span class=pl-kos>)</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-randomdata-js-L17" class="blob-num js-line-number js-blob-rnum" data-line-number="17"></td> <td id="file-randomdata-js-LC17" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>sublane</span><span class=pl-c1>++</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L18" class="blob-num js-line-number js-blob-rnum" data-line-number="18"></td> <td id="file-randomdata-js-LC18" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L19" class="blob-num js-line-number js-blob-rnum" data-line-number="19"></td> <td id="file-randomdata-js-LC19" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>if</span> <span class=pl-kos>(</span><span class=pl-c1>!</span><span class=pl-s1>lane</span><span class=pl-kos>[</span><span class=pl-s1>sublane</span><span class=pl-kos>]</span><span class=pl-kos>)</span> <span class=pl-kos>{</span></td> </tr> <tr> <td id="file-randomdata-js-L20" class="blob-num js-line-number js-blob-rnum" data-line-number="20"></td> <td id="file-randomdata-js-LC20" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>lane</span><span class=pl-kos>[</span><span class=pl-s1>sublane</span><span class=pl-kos>]</span> <span class=pl-c1>=</span> <span class=pl-kos>[</span><span class=pl-kos>]</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L21" class="blob-num js-line-number js-blob-rnum" data-line-number="21"></td> <td id="file-randomdata-js-LC21" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>}</span></td> </tr> <tr> <td id="file-randomdata-js-L22" class="blob-num js-line-number js-blob-rnum" data-line-number="22"></td> <td id="file-randomdata-js-LC22" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L23" class="blob-num js-line-number js-blob-rnum" data-line-number="23"></td> <td id="file-randomdata-js-LC23" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>lane</span><span class=pl-kos>[</span><span class=pl-s1>sublane</span><span class=pl-kos>]</span><span class=pl-kos>.</span><span class=pl-en>push</span><span class=pl-kos>(</span><span class=pl-s1>item</span><span class=pl-kos>)</span><span class=pl-kos>;</span> </td> </tr> <tr> <td id="file-randomdata-js-L24" class="blob-num js-line-number js-blob-rnum" data-line-number="24"></td> <td id="file-randomdata-js-LC24" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>}</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L25" class="blob-num js-line-number js-blob-rnum" data-line-number="25"></td> <td id="file-randomdata-js-LC25" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L26" class="blob-num js-line-number js-blob-rnum" data-line-number="26"></td> <td id="file-randomdata-js-LC26" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-en>isOverlapping</span> <span class=pl-c1>=</span> <span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-s1>item</span><span class=pl-kos>,</span> <span class=pl-s1>lane</span><span class=pl-kos>)</span> <span class=pl-kos>{</span></td> </tr> <tr> <td id="file-randomdata-js-L27" class="blob-num js-line-number js-blob-rnum" data-line-number="27"></td> <td id="file-randomdata-js-LC27" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>if</span> <span class=pl-kos>(</span><span class=pl-s1>lane</span><span class=pl-kos>)</span> <span class=pl-kos>{</span></td> </tr> <tr> <td id="file-randomdata-js-L28" class="blob-num js-line-number js-blob-rnum" data-line-number="28"></td> <td id="file-randomdata-js-LC28" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>for</span> <span class=pl-kos>(</span><span class=pl-k>var</span> <span class=pl-s1>i</span> <span class=pl-c1>=</span> <span class=pl-c1>0</span><span class=pl-kos>;</span> <span class=pl-s1>i</span> <span class=pl-c1><</span> <span class=pl-s1>lane</span><span class=pl-kos>.</span><span class=pl-c1>length</span><span class=pl-kos>;</span> <span class=pl-s1>i</span><span class=pl-c1>++</span><span class=pl-kos>)</span> <span class=pl-kos>{</span></td> </tr> <tr> <td id="file-randomdata-js-L29" class="blob-num js-line-number js-blob-rnum" data-line-number="29"></td> <td id="file-randomdata-js-LC29" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-s1>t</span> <span class=pl-c1>=</span> <span class=pl-s1>lane</span><span class=pl-kos>[</span><span class=pl-s1>i</span><span class=pl-kos>]</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L30" class="blob-num js-line-number js-blob-rnum" data-line-number="30"></td> <td id="file-randomdata-js-LC30" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>if</span> <span class=pl-kos>(</span><span class=pl-s1>item</span><span class=pl-kos>.</span><span class=pl-c1>start</span> <span class=pl-c1><</span> <span class=pl-s1>t</span><span class=pl-kos>.</span><span class=pl-c1>end</span> <span class=pl-c1>&&</span> <span class=pl-s1>item</span><span class=pl-kos>.</span><span class=pl-c1>end</span> <span class=pl-c1>></span> <span class=pl-s1>t</span><span class=pl-kos>.</span><span class=pl-c1>start</span><span class=pl-kos>)</span> <span class=pl-kos>{</span></td> </tr> <tr> <td id="file-randomdata-js-L31" class="blob-num js-line-number js-blob-rnum" data-line-number="31"></td> <td id="file-randomdata-js-LC31" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>return</span> <span class=pl-c1>true</span><span class=pl-kos>;</span> </td> </tr> <tr> <td id="file-randomdata-js-L32" class="blob-num js-line-number js-blob-rnum" data-line-number="32"></td> <td id="file-randomdata-js-LC32" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>}</span></td> </tr> <tr> <td id="file-randomdata-js-L33" class="blob-num js-line-number js-blob-rnum" data-line-number="33"></td> <td id="file-randomdata-js-LC33" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>}</span></td> </tr> <tr> <td id="file-randomdata-js-L34" class="blob-num js-line-number js-blob-rnum" data-line-number="34"></td> <td id="file-randomdata-js-LC34" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>}</span></td> </tr> <tr> <td id="file-randomdata-js-L35" class="blob-num js-line-number js-blob-rnum" data-line-number="35"></td> <td id="file-randomdata-js-LC35" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>return</span> <span class=pl-c1>false</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L36" class="blob-num js-line-number js-blob-rnum" data-line-number="36"></td> <td id="file-randomdata-js-LC36" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>}</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L37" class="blob-num js-line-number js-blob-rnum" data-line-number="37"></td> <td id="file-randomdata-js-LC37" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L38" class="blob-num js-line-number js-blob-rnum" data-line-number="38"></td> <td id="file-randomdata-js-LC38" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-en>parseData</span> <span class=pl-c1>=</span> <span class=pl-k>function</span> <span class=pl-kos>(</span><span class=pl-s1>data</span><span class=pl-kos>)</span> <span class=pl-kos>{</span></td> </tr> <tr> <td id="file-randomdata-js-L39" class="blob-num js-line-number js-blob-rnum" data-line-number="39"></td> <td id="file-randomdata-js-LC39" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-s1>i</span> <span class=pl-c1>=</span> <span class=pl-c1>0</span><span class=pl-kos>,</span> <span class=pl-s1>length</span> <span class=pl-c1>=</span> <span class=pl-s1>data</span><span class=pl-kos>.</span><span class=pl-c1>length</span><span class=pl-kos>,</span> <span class=pl-s1>node</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L40" class="blob-num js-line-number js-blob-rnum" data-line-number="40"></td> <td id="file-randomdata-js-LC40" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>chart</span> <span class=pl-c1>=</span> <span class=pl-kos>{</span> <span class=pl-c1>lanes</span>: <span class=pl-kos>{</span><span class=pl-kos>}</span> <span class=pl-kos>}</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L41" class="blob-num js-line-number js-blob-rnum" data-line-number="41"></td> <td id="file-randomdata-js-LC41" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L42" class="blob-num js-line-number js-blob-rnum" data-line-number="42"></td> <td id="file-randomdata-js-LC42" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>for</span> <span class=pl-kos>(</span><span class=pl-s1>i</span><span class=pl-kos>;</span> <span class=pl-s1>i</span> <span class=pl-c1><</span> <span class=pl-s1>length</span><span class=pl-kos>;</span> <span class=pl-s1>i</span><span class=pl-c1>++</span><span class=pl-kos>)</span> <span class=pl-kos>{</span></td> </tr> <tr> <td id="file-randomdata-js-L43" class="blob-num js-line-number js-blob-rnum" data-line-number="43"></td> <td id="file-randomdata-js-LC43" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-s1>item</span> <span class=pl-c1>=</span> <span class=pl-s1>data</span><span class=pl-kos>[</span><span class=pl-s1>i</span><span class=pl-kos>]</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L44" class="blob-num js-line-number js-blob-rnum" data-line-number="44"></td> <td id="file-randomdata-js-LC44" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L45" class="blob-num js-line-number js-blob-rnum" data-line-number="45"></td> <td id="file-randomdata-js-LC45" class="blob-code blob-code-inner js-file-line"> <span class=pl-en>addToLane</span><span class=pl-kos>(</span><span class=pl-s1>chart</span><span class=pl-kos>,</span> <span class=pl-s1>item</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L46" class="blob-num js-line-number js-blob-rnum" data-line-number="46"></td> <td id="file-randomdata-js-LC46" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L47" class="blob-num js-line-number js-blob-rnum" data-line-number="47"></td> <td id="file-randomdata-js-LC47" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L48" class="blob-num js-line-number js-blob-rnum" data-line-number="48"></td> <td id="file-randomdata-js-LC48" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>}</span></td> </tr> <tr> <td id="file-randomdata-js-L49" class="blob-num js-line-number js-blob-rnum" data-line-number="49"></td> <td id="file-randomdata-js-LC49" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L50" class="blob-num js-line-number js-blob-rnum" data-line-number="50"></td> <td id="file-randomdata-js-LC50" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>return</span> <span class=pl-en>collapseLanes</span><span class=pl-kos>(</span><span class=pl-s1>chart</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L51" class="blob-num js-line-number js-blob-rnum" data-line-number="51"></td> <td id="file-randomdata-js-LC51" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>}</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L52" class="blob-num js-line-number js-blob-rnum" data-line-number="52"></td> <td id="file-randomdata-js-LC52" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L53" class="blob-num js-line-number js-blob-rnum" data-line-number="53"></td> <td id="file-randomdata-js-LC53" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-en>collapseLanes</span> <span class=pl-c1>=</span> <span class=pl-k>function</span> <span class=pl-kos>(</span><span class=pl-s1>chart</span><span class=pl-kos>)</span> <span class=pl-kos>{</span></td> </tr> <tr> <td id="file-randomdata-js-L54" class="blob-num js-line-number js-blob-rnum" data-line-number="54"></td> <td id="file-randomdata-js-LC54" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-s1>lanes</span> <span class=pl-c1>=</span> <span class=pl-kos>[</span><span class=pl-kos>]</span><span class=pl-kos>,</span> <span class=pl-s1>items</span> <span class=pl-c1>=</span> <span class=pl-kos>[</span><span class=pl-kos>]</span><span class=pl-kos>,</span> <span class=pl-s1>laneId</span> <span class=pl-c1>=</span> <span class=pl-c1>0</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L55" class="blob-num js-line-number js-blob-rnum" data-line-number="55"></td> <td id="file-randomdata-js-LC55" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-s1>now</span> <span class=pl-c1>=</span> <span class=pl-k>new</span> <span class=pl-v>Date</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L56" class="blob-num js-line-number js-blob-rnum" data-line-number="56"></td> <td id="file-randomdata-js-LC56" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L57" class="blob-num js-line-number js-blob-rnum" data-line-number="57"></td> <td id="file-randomdata-js-LC57" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>for</span> <span class=pl-kos>(</span><span class=pl-k>var</span> <span class=pl-s1>laneName</span> <span class=pl-k>in</span> <span class=pl-s1>chart</span><span class=pl-kos>.</span><span class=pl-c1>lanes</span><span class=pl-kos>)</span> <span class=pl-kos>{</span></td> </tr> <tr> <td id="file-randomdata-js-L58" class="blob-num js-line-number js-blob-rnum" data-line-number="58"></td> <td id="file-randomdata-js-LC58" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-s1>lane</span> <span class=pl-c1>=</span> <span class=pl-s1>chart</span><span class=pl-kos>.</span><span class=pl-c1>lanes</span><span class=pl-kos>[</span><span class=pl-s1>laneName</span><span class=pl-kos>]</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L59" class="blob-num js-line-number js-blob-rnum" data-line-number="59"></td> <td id="file-randomdata-js-LC59" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L60" class="blob-num js-line-number js-blob-rnum" data-line-number="60"></td> <td id="file-randomdata-js-LC60" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>for</span> <span class=pl-kos>(</span><span class=pl-k>var</span> <span class=pl-s1>i</span> <span class=pl-c1>=</span> <span class=pl-c1>0</span><span class=pl-kos>;</span> <span class=pl-s1>i</span> <span class=pl-c1><</span> <span class=pl-s1>lane</span><span class=pl-kos>.</span><span class=pl-c1>length</span><span class=pl-kos>;</span> <span class=pl-s1>i</span><span class=pl-c1>++</span><span class=pl-kos>)</span> <span class=pl-kos>{</span></td> </tr> <tr> <td id="file-randomdata-js-L61" class="blob-num js-line-number js-blob-rnum" data-line-number="61"></td> <td id="file-randomdata-js-LC61" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-s1>subLane</span> <span class=pl-c1>=</span> <span class=pl-s1>lane</span><span class=pl-kos>[</span><span class=pl-s1>i</span><span class=pl-kos>]</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L62" class="blob-num js-line-number js-blob-rnum" data-line-number="62"></td> <td id="file-randomdata-js-LC62" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L63" class="blob-num js-line-number js-blob-rnum" data-line-number="63"></td> <td id="file-randomdata-js-LC63" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>lanes</span><span class=pl-kos>.</span><span class=pl-en>push</span><span class=pl-kos>(</span><span class=pl-kos>{</span></td> </tr> <tr> <td id="file-randomdata-js-L64" class="blob-num js-line-number js-blob-rnum" data-line-number="64"></td> <td id="file-randomdata-js-LC64" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>id</span>: <span class=pl-s1>laneId</span><span class=pl-kos>,</span> </td> </tr> <tr> <td id="file-randomdata-js-L65" class="blob-num js-line-number js-blob-rnum" data-line-number="65"></td> <td id="file-randomdata-js-LC65" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>label</span>: <span class=pl-s1>i</span> <span class=pl-c1>===</span> <span class=pl-c1>0</span> ? <span class=pl-s1>laneName</span> : <span class=pl-s>''</span></td> </tr> <tr> <td id="file-randomdata-js-L66" class="blob-num js-line-number js-blob-rnum" data-line-number="66"></td> <td id="file-randomdata-js-LC66" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>}</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L67" class="blob-num js-line-number js-blob-rnum" data-line-number="67"></td> <td id="file-randomdata-js-LC67" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L68" class="blob-num js-line-number js-blob-rnum" data-line-number="68"></td> <td id="file-randomdata-js-LC68" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>for</span> <span class=pl-kos>(</span><span class=pl-k>var</span> <span class=pl-s1>j</span> <span class=pl-c1>=</span> <span class=pl-c1>0</span><span class=pl-kos>;</span> <span class=pl-s1>j</span> <span class=pl-c1><</span> <span class=pl-s1>subLane</span><span class=pl-kos>.</span><span class=pl-c1>length</span><span class=pl-kos>;</span> <span class=pl-s1>j</span><span class=pl-c1>++</span><span class=pl-kos>)</span> <span class=pl-kos>{</span></td> </tr> <tr> <td id="file-randomdata-js-L69" class="blob-num js-line-number js-blob-rnum" data-line-number="69"></td> <td id="file-randomdata-js-LC69" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-s1>item</span> <span class=pl-c1>=</span> <span class=pl-s1>subLane</span><span class=pl-kos>[</span><span class=pl-s1>j</span><span class=pl-kos>]</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L70" class="blob-num js-line-number js-blob-rnum" data-line-number="70"></td> <td id="file-randomdata-js-LC70" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L71" class="blob-num js-line-number js-blob-rnum" data-line-number="71"></td> <td id="file-randomdata-js-LC71" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>items</span><span class=pl-kos>.</span><span class=pl-en>push</span><span class=pl-kos>(</span><span class=pl-kos>{</span></td> </tr> <tr> <td id="file-randomdata-js-L72" class="blob-num js-line-number js-blob-rnum" data-line-number="72"></td> <td id="file-randomdata-js-LC72" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>id</span>: <span class=pl-s1>item</span><span class=pl-kos>.</span><span class=pl-c1>id</span><span class=pl-kos>,</span></td> </tr> <tr> <td id="file-randomdata-js-L73" class="blob-num js-line-number js-blob-rnum" data-line-number="73"></td> <td id="file-randomdata-js-LC73" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>lane</span>: <span class=pl-s1>laneId</span><span class=pl-kos>,</span></td> </tr> <tr> <td id="file-randomdata-js-L74" class="blob-num js-line-number js-blob-rnum" data-line-number="74"></td> <td id="file-randomdata-js-LC74" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>start</span>: <span class=pl-s1>item</span><span class=pl-kos>.</span><span class=pl-c1>start</span><span class=pl-kos>,</span></td> </tr> <tr> <td id="file-randomdata-js-L75" class="blob-num js-line-number js-blob-rnum" data-line-number="75"></td> <td id="file-randomdata-js-LC75" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>end</span>: <span class=pl-s1>item</span><span class=pl-kos>.</span><span class=pl-c1>end</span><span class=pl-kos>,</span></td> </tr> <tr> <td id="file-randomdata-js-L76" class="blob-num js-line-number js-blob-rnum" data-line-number="76"></td> <td id="file-randomdata-js-LC76" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>class</span>: <span class=pl-s1>item</span><span class=pl-kos>.</span><span class=pl-c1>end</span> <span class=pl-c1>></span> <span class=pl-s1>now</span> ? <span class=pl-s>'future'</span> : <span class=pl-s>'past'</span><span class=pl-kos>,</span></td> </tr> <tr> <td id="file-randomdata-js-L77" class="blob-num js-line-number js-blob-rnum" data-line-number="77"></td> <td id="file-randomdata-js-LC77" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>desc</span>: <span class=pl-s1>item</span><span class=pl-kos>.</span><span class=pl-c1>desc</span></td> </tr> <tr> <td id="file-randomdata-js-L78" class="blob-num js-line-number js-blob-rnum" data-line-number="78"></td> <td id="file-randomdata-js-LC78" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>}</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L79" class="blob-num js-line-number js-blob-rnum" data-line-number="79"></td> <td id="file-randomdata-js-LC79" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>}</span></td> </tr> <tr> <td id="file-randomdata-js-L80" class="blob-num js-line-number js-blob-rnum" data-line-number="80"></td> <td id="file-randomdata-js-LC80" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L81" class="blob-num js-line-number js-blob-rnum" data-line-number="81"></td> <td id="file-randomdata-js-LC81" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>laneId</span><span class=pl-c1>++</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L82" class="blob-num js-line-number js-blob-rnum" data-line-number="82"></td> <td id="file-randomdata-js-LC82" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>}</span></td> </tr> <tr> <td id="file-randomdata-js-L83" class="blob-num js-line-number js-blob-rnum" data-line-number="83"></td> <td id="file-randomdata-js-LC83" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>}</span></td> </tr> <tr> <td id="file-randomdata-js-L84" class="blob-num js-line-number js-blob-rnum" data-line-number="84"></td> <td id="file-randomdata-js-LC84" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L85" class="blob-num js-line-number js-blob-rnum" data-line-number="85"></td> <td id="file-randomdata-js-LC85" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>return</span> <span class=pl-kos>{</span><span class=pl-c1>lanes</span>: <span class=pl-s1>lanes</span><span class=pl-kos>,</span> <span class=pl-c1>items</span>: <span class=pl-s1>items</span><span class=pl-kos>}</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L86" class="blob-num js-line-number js-blob-rnum" data-line-number="86"></td> <td id="file-randomdata-js-LC86" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>}</span></td> </tr> <tr> <td id="file-randomdata-js-L87" class="blob-num js-line-number js-blob-rnum" data-line-number="87"></td> <td id="file-randomdata-js-LC87" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L88" class="blob-num js-line-number js-blob-rnum" data-line-number="88"></td> <td id="file-randomdata-js-LC88" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-en>randomNumber</span> <span class=pl-c1>=</span> <span class=pl-k>function</span><span class=pl-kos>(</span><span class=pl-s1>min</span><span class=pl-kos>,</span> <span class=pl-s1>max</span><span class=pl-kos>)</span> <span class=pl-kos>{</span></td> </tr> <tr> <td id="file-randomdata-js-L89" class="blob-num js-line-number js-blob-rnum" data-line-number="89"></td> <td id="file-randomdata-js-LC89" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>return</span> <span class=pl-v>Math</span><span class=pl-kos>.</span><span class=pl-en>floor</span><span class=pl-kos>(</span><span class=pl-v>Math</span><span class=pl-kos>.</span><span class=pl-en>random</span><span class=pl-kos>(</span><span class=pl-c1>0</span><span class=pl-kos>,</span> <span class=pl-c1>1</span><span class=pl-kos>)</span> <span class=pl-c1>*</span> <span class=pl-kos>(</span><span class=pl-s1>max</span> <span class=pl-c1>-</span> <span class=pl-s1>min</span><span class=pl-kos>)</span><span class=pl-kos>)</span> <span class=pl-c1>+</span> <span class=pl-s1>min</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L90" class="blob-num js-line-number js-blob-rnum" data-line-number="90"></td> <td id="file-randomdata-js-LC90" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>}</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L91" class="blob-num js-line-number js-blob-rnum" data-line-number="91"></td> <td id="file-randomdata-js-LC91" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L92" class="blob-num js-line-number js-blob-rnum" data-line-number="92"></td> <td id="file-randomdata-js-LC92" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-en>generateRandomWorkItems</span> <span class=pl-c1>=</span> <span class=pl-k>function</span> <span class=pl-kos>(</span><span class=pl-kos>)</span> <span class=pl-kos>{</span></td> </tr> <tr> <td id="file-randomdata-js-L93" class="blob-num js-line-number js-blob-rnum" data-line-number="93"></td> <td id="file-randomdata-js-LC93" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-s1>data</span> <span class=pl-c1>=</span> <span class=pl-kos>[</span><span class=pl-kos>]</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L94" class="blob-num js-line-number js-blob-rnum" data-line-number="94"></td> <td id="file-randomdata-js-LC94" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-s1>laneCount</span> <span class=pl-c1>=</span> <span class=pl-en>randomNumber</span><span class=pl-kos>(</span><span class=pl-c1>5</span><span class=pl-kos>,</span><span class=pl-c1>7</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-randomdata-js-L95" class="blob-num js-line-number js-blob-rnum" data-line-number="95"></td> <td id="file-randomdata-js-LC95" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>,</span> <span class=pl-s1>totalWorkItems</span> <span class=pl-c1>=</span> <span class=pl-en>randomNumber</span><span class=pl-kos>(</span><span class=pl-c1>20</span><span class=pl-kos>,</span><span class=pl-c1>30</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-randomdata-js-L96" class="blob-num js-line-number js-blob-rnum" data-line-number="96"></td> <td id="file-randomdata-js-LC96" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>,</span> <span class=pl-s1>startMonth</span> <span class=pl-c1>=</span> <span class=pl-en>randomNumber</span><span class=pl-kos>(</span><span class=pl-c1>0</span><span class=pl-kos>,</span><span class=pl-c1>1</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-randomdata-js-L97" class="blob-num js-line-number js-blob-rnum" data-line-number="97"></td> <td id="file-randomdata-js-LC97" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>,</span> <span class=pl-s1>startDay</span> <span class=pl-c1>=</span> <span class=pl-en>randomNumber</span><span class=pl-kos>(</span><span class=pl-c1>1</span><span class=pl-kos>,</span><span class=pl-c1>28</span><span class=pl-kos>)</span></td> </tr> <tr> <td id="file-randomdata-js-L98" class="blob-num js-line-number js-blob-rnum" data-line-number="98"></td> <td id="file-randomdata-js-LC98" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>,</span> <span class=pl-s1>totalMonths</span> <span class=pl-c1>=</span> <span class=pl-en>randomNumber</span><span class=pl-kos>(</span><span class=pl-c1>4</span><span class=pl-kos>,</span><span class=pl-c1>10</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L99" class="blob-num js-line-number js-blob-rnum" data-line-number="99"></td> <td id="file-randomdata-js-LC99" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L100" class="blob-num js-line-number js-blob-rnum" data-line-number="100"></td> <td id="file-randomdata-js-LC100" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>for</span> <span class=pl-kos>(</span><span class=pl-k>var</span> <span class=pl-s1>i</span> <span class=pl-c1>=</span> <span class=pl-c1>0</span><span class=pl-kos>;</span> <span class=pl-s1>i</span> <span class=pl-c1><</span> <span class=pl-s1>laneCount</span><span class=pl-kos>;</span> <span class=pl-s1>i</span><span class=pl-c1>++</span><span class=pl-kos>)</span> <span class=pl-kos>{</span></td> </tr> <tr> <td id="file-randomdata-js-L101" class="blob-num js-line-number js-blob-rnum" data-line-number="101"></td> <td id="file-randomdata-js-LC101" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-s1>dt</span> <span class=pl-c1>=</span> <span class=pl-k>new</span> <span class=pl-v>Date</span><span class=pl-kos>(</span><span class=pl-c1>2012</span><span class=pl-kos>,</span> <span class=pl-s1>startMonth</span><span class=pl-kos>,</span> <span class=pl-s1>startDay</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L102" class="blob-num js-line-number js-blob-rnum" data-line-number="102"></td> <td id="file-randomdata-js-LC102" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>for</span> <span class=pl-kos>(</span><span class=pl-k>var</span> <span class=pl-s1>j</span> <span class=pl-c1>=</span> <span class=pl-c1>0</span><span class=pl-kos>;</span> <span class=pl-s1>j</span> <span class=pl-c1><</span> <span class=pl-s1>totalWorkItems</span><span class=pl-kos>;</span> <span class=pl-s1>j</span><span class=pl-c1>++</span><span class=pl-kos>)</span> <span class=pl-kos>{</span></td> </tr> <tr> <td id="file-randomdata-js-L103" class="blob-num js-line-number js-blob-rnum" data-line-number="103"></td> <td id="file-randomdata-js-LC103" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L104" class="blob-num js-line-number js-blob-rnum" data-line-number="104"></td> <td id="file-randomdata-js-LC104" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-s1>dtS</span> <span class=pl-c1>=</span> <span class=pl-k>new</span> <span class=pl-v>Date</span><span class=pl-kos>(</span><span class=pl-s1>dt</span><span class=pl-kos>.</span><span class=pl-en>getFullYear</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>,</span> <span class=pl-s1>dt</span><span class=pl-kos>.</span><span class=pl-en>getMonth</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>,</span> <span class=pl-s1>dt</span><span class=pl-kos>.</span><span class=pl-en>getDate</span><span class=pl-kos>(</span><span class=pl-kos>)</span> <span class=pl-c1>+</span> <span class=pl-en>randomNumber</span><span class=pl-kos>(</span><span class=pl-c1>1</span><span class=pl-kos>,</span><span class=pl-c1>5</span><span class=pl-kos>)</span><span class=pl-kos>,</span> <span class=pl-en>randomNumber</span><span class=pl-kos>(</span><span class=pl-c1>8</span><span class=pl-kos>,</span> <span class=pl-c1>16</span><span class=pl-kos>)</span><span class=pl-kos>,</span> <span class=pl-c1>0</span><span class=pl-kos>,</span> <span class=pl-c1>0</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L105" class="blob-num js-line-number js-blob-rnum" data-line-number="105"></td> <td id="file-randomdata-js-LC105" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L106" class="blob-num js-line-number js-blob-rnum" data-line-number="106"></td> <td id="file-randomdata-js-LC106" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-s1>dateOffset</span> <span class=pl-c1>=</span> <span class=pl-en>randomNumber</span><span class=pl-kos>(</span><span class=pl-c1>0</span><span class=pl-kos>,</span><span class=pl-c1>7</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L107" class="blob-num js-line-number js-blob-rnum" data-line-number="107"></td> <td id="file-randomdata-js-LC107" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-s1>dt</span> <span class=pl-c1>=</span> <span class=pl-k>new</span> <span class=pl-v>Date</span><span class=pl-kos>(</span><span class=pl-s1>dtS</span><span class=pl-kos>.</span><span class=pl-en>getFullYear</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>,</span> <span class=pl-s1>dtS</span><span class=pl-kos>.</span><span class=pl-en>getMonth</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>,</span> <span class=pl-s1>dtS</span><span class=pl-kos>.</span><span class=pl-en>getDate</span><span class=pl-kos>(</span><span class=pl-kos>)</span> <span class=pl-c1>+</span> <span class=pl-s1>dateOffset</span><span class=pl-kos>,</span> <span class=pl-en>randomNumber</span><span class=pl-kos>(</span><span class=pl-s1>dateOffset</span> <span class=pl-c1>===</span> <span class=pl-c1>0</span> ? <span class=pl-s1>dtS</span><span class=pl-kos>.</span><span class=pl-en>getHours</span><span class=pl-kos>(</span><span class=pl-kos>)</span> <span class=pl-c1>+</span> <span class=pl-c1>2</span> : <span class=pl-c1>8</span><span class=pl-kos>,</span> <span class=pl-c1>18</span><span class=pl-kos>)</span><span class=pl-kos>,</span> <span class=pl-c1>0</span><span class=pl-kos>,</span> <span class=pl-c1>0</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L108" class="blob-num js-line-number js-blob-rnum" data-line-number="108"></td> <td id="file-randomdata-js-LC108" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L109" class="blob-num js-line-number js-blob-rnum" data-line-number="109"></td> <td id="file-randomdata-js-LC109" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-s1>workItem</span> <span class=pl-c1>=</span> <span class=pl-kos>{</span></td> </tr> <tr> <td id="file-randomdata-js-L110" class="blob-num js-line-number js-blob-rnum" data-line-number="110"></td> <td id="file-randomdata-js-LC110" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>id</span>: <span class=pl-s1>i</span> <span class=pl-c1>*</span> <span class=pl-s1>totalWorkItems</span> <span class=pl-c1>+</span> <span class=pl-s1>j</span><span class=pl-kos>,</span></td> </tr> <tr> <td id="file-randomdata-js-L111" class="blob-num js-line-number js-blob-rnum" data-line-number="111"></td> <td id="file-randomdata-js-LC111" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>name</span>: <span class=pl-s>'work item '</span> <span class=pl-c1>+</span> <span class=pl-s1>j</span><span class=pl-kos>,</span></td> </tr> <tr> <td id="file-randomdata-js-L112" class="blob-num js-line-number js-blob-rnum" data-line-number="112"></td> <td id="file-randomdata-js-LC112" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>lane</span>: <span class=pl-s>'lane '</span> <span class=pl-c1>+</span> <span class=pl-s1>i</span><span class=pl-kos>,</span></td> </tr> <tr> <td id="file-randomdata-js-L113" class="blob-num js-line-number js-blob-rnum" data-line-number="113"></td> <td id="file-randomdata-js-LC113" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>start</span>: <span class=pl-s1>dtS</span><span class=pl-kos>,</span></td> </tr> <tr> <td id="file-randomdata-js-L114" class="blob-num js-line-number js-blob-rnum" data-line-number="114"></td> <td id="file-randomdata-js-LC114" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>end</span>: <span class=pl-s1>dt</span><span class=pl-kos>,</span></td> </tr> <tr> <td id="file-randomdata-js-L115" class="blob-num js-line-number js-blob-rnum" data-line-number="115"></td> <td id="file-randomdata-js-LC115" class="blob-code blob-code-inner js-file-line"> <span class=pl-c1>desc</span>: <span class=pl-s>'This is a description.'</span></td> </tr> <tr> <td id="file-randomdata-js-L116" class="blob-num js-line-number js-blob-rnum" data-line-number="116"></td> <td id="file-randomdata-js-LC116" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>}</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L117" class="blob-num js-line-number js-blob-rnum" data-line-number="117"></td> <td id="file-randomdata-js-LC117" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L118" class="blob-num js-line-number js-blob-rnum" data-line-number="118"></td> <td id="file-randomdata-js-LC118" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>data</span><span class=pl-kos>.</span><span class=pl-en>push</span><span class=pl-kos>(</span><span class=pl-s1>workItem</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L119" class="blob-num js-line-number js-blob-rnum" data-line-number="119"></td> <td id="file-randomdata-js-LC119" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>}</span></td> </tr> <tr> <td id="file-randomdata-js-L120" class="blob-num js-line-number js-blob-rnum" data-line-number="120"></td> <td id="file-randomdata-js-LC120" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>}</span></td> </tr> <tr> <td id="file-randomdata-js-L121" class="blob-num js-line-number js-blob-rnum" data-line-number="121"></td> <td id="file-randomdata-js-LC121" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>return</span> <span class=pl-s1>data</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L122" class="blob-num js-line-number js-blob-rnum" data-line-number="122"></td> <td id="file-randomdata-js-LC122" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>}</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L123" class="blob-num js-line-number js-blob-rnum" data-line-number="123"></td> <td id="file-randomdata-js-LC123" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L124" class="blob-num js-line-number js-blob-rnum" data-line-number="124"></td> <td id="file-randomdata-js-LC124" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>return</span> <span class=pl-en>parseData</span><span class=pl-kos>(</span><span class=pl-en>generateRandomWorkItems</span><span class=pl-kos>(</span><span class=pl-kos>)</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L125" class="blob-num js-line-number js-blob-rnum" data-line-number="125"></td> <td id="file-randomdata-js-LC125" class="blob-code blob-code-inner js-file-line"> <span class=pl-kos>}</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L126" class="blob-num js-line-number js-blob-rnum" data-line-number="126"></td> <td id="file-randomdata-js-LC126" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L127" class="blob-num js-line-number js-blob-rnum" data-line-number="127"></td> <td id="file-randomdata-js-LC127" class="blob-code blob-code-inner js-file-line"> <span class=pl-c>/**</span></td> </tr> <tr> <td id="file-randomdata-js-L128" class="blob-num js-line-number js-blob-rnum" data-line-number="128"></td> <td id="file-randomdata-js-LC128" class="blob-code blob-code-inner js-file-line"><span class=pl-c> * Allow library to be used within both the browser and node.js</span></td> </tr> <tr> <td id="file-randomdata-js-L129" class="blob-num js-line-number js-blob-rnum" data-line-number="129"></td> <td id="file-randomdata-js-LC129" class="blob-code blob-code-inner js-file-line"><span class=pl-c> */</span></td> </tr> <tr> <td id="file-randomdata-js-L130" class="blob-num js-line-number js-blob-rnum" data-line-number="130"></td> <td id="file-randomdata-js-LC130" class="blob-code blob-code-inner js-file-line"> <span class=pl-k>var</span> <span class=pl-s1>root</span> <span class=pl-c1>=</span> <span class=pl-k>typeof</span> <span class=pl-s1>exports</span> <span class=pl-c1>!==</span> <span class=pl-s>"undefined"</span> <span class=pl-c1>&&</span> <span class=pl-s1>exports</span> <span class=pl-c1>!==</span> <span class=pl-c1>null</span> ? <span class=pl-s1>exports</span> : <span class=pl-smi>window</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L131" class="blob-num js-line-number js-blob-rnum" data-line-number="131"></td> <td id="file-randomdata-js-LC131" class="blob-code blob-code-inner js-file-line"> <span class=pl-s1>root</span><span class=pl-kos>.</span><span class=pl-c1>randomData</span> <span class=pl-c1>=</span> <span class=pl-v>RandomData</span><span class=pl-kos>;</span></td> </tr> <tr> <td id="file-randomdata-js-L132" class="blob-num js-line-number js-blob-rnum" data-line-number="132"></td> <td id="file-randomdata-js-LC132" class="blob-code blob-code-inner js-file-line"> </td> </tr> <tr> <td id="file-randomdata-js-L133" class="blob-num js-line-number js-blob-rnum" data-line-number="133"></td> <td id="file-randomdata-js-LC133" class="blob-code blob-code-inner js-file-line"><span class=pl-kos>}</span><span class=pl-kos>)</span><span class=pl-kos>.</span><span class=pl-en>call</span><span class=pl-kos>(</span><span class=pl-smi>this</span><span class=pl-kos>)</span><span class=pl-kos>;</span></td> </tr> </table> </div> </div> </div> </div> <a name="comments"></a> <div class="js-quote-selection-container" data-quote-markdown=".js-comment-body"> <div class="js-discussion " > <div class="ml-md-6 pl-md-3 ml-0 pl-0"> <!-- Rendered timeline since 2024-09-28 19:37:35 --> <div id="partial-timeline-marker" class="js-timeline-marker js-updatable-content" data-last-modified="Sun, 29 Sep 2024 02:37:35 GMT" > </div> </div> <div class="discussion-timeline-actions"> <div data-view-component="true" class="flash flash-warn mt-3"> <a rel="nofollow" class="btn btn-primary" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"signed out comment","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://gist.github.com/bunkat/1962173","user_id":null}}" data-hydro-click-hmac="2c781560faf7f0ab77ea4632d7b58e8f6f8a18bad7f3e1907c17ccba411e9ebf" href="/join?source=comment-gist">Sign up for free</a> <strong>to join this conversation on GitHub</strong>. Already have an account? <a rel="nofollow" class="Link--inTextBlock" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"signed out comment","repository_id":null,"auth_type":"LOG_IN","originating_url":"https://gist.github.com/bunkat/1962173","user_id":null}}" data-hydro-click-hmac="af93573ba67cffee994809a81ef534eaa435f94046c7195df2f8f09e11dca566" data-test-selector="comments-sign-in-link" href="/login?return_to=https%3A%2F%2Fgist.github.com%2Fbunkat%2F1962173">Sign in to comment</a> </div> </div> </div> </div> </div> </div> </div><!-- /.container --> </main> </div> </div> <footer class="footer pt-8 pb-6 f6 color-fg-muted p-responsive" role="contentinfo" > <h2 class='sr-only'>Footer</h2> <div class="d-flex flex-justify-center flex-items-center flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap"> <div class="d-flex flex-items-center flex-shrink-0 mx-2"> <a aria-label="Homepage" title="GitHub" class="footer-octicon mr-2" href="https://github.com"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github"> <path d="M12.5.75C6.146.75 1 5.896 1 12.25c0 5.089 3.292 9.387 7.863 10.91.575.101.79-.244.79-.546 0-.273-.014-1.178-.014-2.142-2.889.532-3.636-.704-3.866-1.35-.13-.331-.69-1.352-1.18-1.625-.402-.216-.977-.748-.014-.762.906-.014 1.553.834 1.769 1.179 1.035 1.74 2.688 1.25 3.349.948.1-.747.402-1.25.733-1.538-2.559-.287-5.232-1.279-5.232-5.678 0-1.25.445-2.285 1.178-3.09-.115-.288-.517-1.467.115-3.048 0 0 .963-.302 3.163 1.179.92-.259 1.897-.388 2.875-.388.977 0 1.955.13 2.875.388 2.2-1.495 3.162-1.179 3.162-1.179.633 1.581.23 2.76.115 3.048.733.805 1.179 1.825 1.179 3.09 0 4.413-2.688 5.39-5.247 5.678.417.36.776 1.05.776 2.128 0 1.538-.014 2.774-.014 3.162 0 .302.216.662.79.547C20.709 21.637 24 17.324 24 12.25 24 5.896 18.854.75 12.5.75Z"></path> </svg> </a> <span> © 2025 GitHub, Inc. </span> </div> <nav aria-label="Footer"> <h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3> <ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading"> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to Terms","label":"text:terms"}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to privacy","label":"text:privacy"}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to security","label":"text:security"}" href="https://github.com/security" data-view-component="true" class="Link--secondary Link">Security</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to status","label":"text:status"}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to docs","label":"text:docs"}" href="https://docs.github.com/" data-view-component="true" class="Link--secondary Link">Docs</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to contact","label":"text:contact"}" href="https://support.github.com?tags=dotcom-footer" data-view-component="true" class="Link--secondary Link">Contact</a> </li> <li class="mx-2" > <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{"location":"footer","action":"cookies","context":"subfooter","tag":"link","label":"cookies_link_subfooter_footer"}" > Manage cookies </button> </cookie-consent-link> </li> <li class="mx-2"> <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{"location":"footer","action":"dont_share_info","context":"subfooter","tag":"link","label":"dont_share_info_link_subfooter_footer"}" > Do not share my personal information </button> </cookie-consent-link> </li> </ul> </nav> </div> </footer> <ghcc-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999" data-initial-cookie-consent-allowed="" data-cookie-consent-required="false"></ghcc-consent> <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> You can’t perform that action at this time. </div> <template id="site-details-dialog"> <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open> <summary role="button" aria-label="Close dialog"></summary> <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> </details-dialog> </details> </template> <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;"> <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;"> </div> </div> <template id="snippet-clipboard-copy-button"> <div class="zeroclipboard-container position-absolute right-0 top-0"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> <template id="snippet-clipboard-copy-button-unpositioned"> <div class="zeroclipboard-container"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> </div> <div id="js-global-screen-reader-notice" class="sr-only mt-n1" aria-live="polite" aria-atomic="true" ></div> <div id="js-global-screen-reader-notice-assertive" class="sr-only mt-n1" aria-live="assertive" aria-atomic="true"></div> </body> </html>