Files
Apple ef3473db21 snapshot: NODE1 production state 2026-02-09
Complete snapshot of /opt/microdao-daarion/ from NODE1 (144.76.224.179).
This represents the actual running production code that has diverged
significantly from the previous main branch.

Key changes from old main:
- Gateway (http_api.py): expanded from ~40KB to 164KB with full agent support
- Router: new /v1/agents/{id}/infer endpoint with vision + DeepSeek routing
- Behavior Policy: SOWA v2.2 (3-level: FULL/ACK/SILENT)
- Agent Registry: config/agent_registry.yml as single source of truth
- 13 agents configured (was 3)
- Memory service integration
- CrewAI teams and roles

Excluded from snapshot: venv/, .env, data/, backups, .tgz archives

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-09 08:46:46 -08:00

923 lines
26 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="canonical" href="https://IvanTytar.github.io/microdao-daarion/CONTRIBUTING_DOCS/">
<link rel="icon" href="../assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
<title>Contributing to Documentation - DAARION Documentation</title>
<link rel="stylesheet" href="../assets/stylesheets/main.66ac8b77.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body dir="ltr">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#contributing-to-documentation" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header md-header--shadow" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href=".." title="DAARION Documentation" class="md-header__button md-logo" aria-label="DAARION Documentation" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
DAARION Documentation
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
Contributing to Documentation
</span>
</div>
</div>
</div>
<script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
</label>
<nav class="md-search__options" aria-label="Search">
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Initializing search
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href=".." title="DAARION Documentation" class="md-nav__button md-logo" aria-label="DAARION Documentation" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg>
</a>
DAARION Documentation
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../public/" class="md-nav__link">
<span class="md-ellipsis">
Home
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../public/getting-started/" class="md-nav__link">
<span class="md-ellipsis">
Getting Started
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../public/architecture-overview/" class="md-nav__link">
<span class="md-ellipsis">
Architecture
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../public/daiS_daos_overview/" class="md-nav__link">
<span class="md-ellipsis">
DAIS & DAOS
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="">
<span class="md-ellipsis">
Internal
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Internal
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_1" >
<label class="md-nav__link" for="__nav_5_1" id="__nav_5_1_label" tabindex="0">
<span class="md-ellipsis">
Infra
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_1">
<span class="md-nav__icon md-icon"></span>
Infra
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../internal/infra/INFRA_AUTOMATION_PACK_V1/" class="md-nav__link">
<span class="md-ellipsis">
Infra Automation Pack v1
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../internal/infra/monitoring_overview/" class="md-nav__link">
<span class="md-ellipsis">
Monitoring Overview
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../internal/infra/nodes_registry_v0/" class="md-nav__link">
<span class="md-ellipsis">
Nodes Registry v0
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_2" >
<label class="md-nav__link" for="__nav_5_2" id="__nav_5_2_label" tabindex="0">
<span class="md-ellipsis">
Specs
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_2">
<span class="md-nav__icon md-icon"></span>
Specs
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../internal/specs/matrix_presence_aggregator/" class="md-nav__link">
<span class="md-ellipsis">
Matrix Presence Aggregator
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../internal/specs/city_map_spec/" class="md-nav__link">
<span class="md-ellipsis">
City Map Spec
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../internal/specs/node_join_protocol_draft/" class="md-nav__link">
<span class="md-ellipsis">
Node Join Protocol (Draft)
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#_1" class="md-nav__link">
<span class="md-ellipsis">
Документація: джерела правди
</span>
</a>
<nav class="md-nav" aria-label="Документація: джерела правди">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#_2" class="md-nav__link">
<span class="md-ellipsis">
Токеноміка
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_3" class="md-nav__link">
<span class="md-ellipsis">
Архітектура
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#api" class="md-nav__link">
<span class="md-ellipsis">
API
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_4" class="md-nav__link">
<span class="md-ellipsis">
Агенти
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_5" class="md-nav__link">
<span class="md-ellipsis">
Інтеграція
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#_6" class="md-nav__link">
<span class="md-ellipsis">
Правила версіонування
</span>
</a>
<nav class="md-nav" aria-label="Правила версіонування">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#_7" class="md-nav__link">
<span class="md-ellipsis">
Канонічні документи
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_8" class="md-nav__link">
<span class="md-ellipsis">
Оновлення документів
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#legacy" class="md-nav__link">
<span class="md-ellipsis">
Legacy документи
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#_9" class="md-nav__link">
<span class="md-ellipsis">
Структура документації
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#cursor" class="md-nav__link">
<span class="md-ellipsis">
Як працювати з Cursor
</span>
</a>
<nav class="md-nav" aria-label="Як працювати з Cursor">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#_10" class="md-nav__link">
<span class="md-ellipsis">
При створенні промптів
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_11" class="md-nav__link">
<span class="md-ellipsis">
При оновленні документації
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#_12" class="md-nav__link">
<span class="md-ellipsis">
Приклади
</span>
</a>
<nav class="md-nav" aria-label="Приклади">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#_13" class="md-nav__link">
<span class="md-ellipsis">
Правильно
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_14" class="md-nav__link">
<span class="md-ellipsis">
Неправильно
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#_15" class="md-nav__link">
<span class="md-ellipsis">
Питання?
</span>
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1 id="contributing-to-documentation">Contributing to Documentation<a class="headerlink" href="#contributing-to-documentation" title="Permanent link">&para;</a></h1>
<p>Правила роботи з документацією проєкту MicroDAO / DAARION.city.</p>
<hr />
<h2 id="_1">Документація: джерела правди<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h2>
<h3 id="_2">Токеноміка<a class="headerlink" href="#_2" title="Permanent link">&para;</a></h3>
<ul>
<li><strong>Актуальна токеноміка міста:</strong> <code>docs/tokenomics/city-tokenomics.md</code></li>
<li>Усі файли з токеноміки в <code>docs/_archive/</code> є застарілими і використовуються лише як історичні чернетки.</li>
<li>При будь-яких змінах токеноміки редагуємо тільки <code>city-tokenomics.md</code> і оновлюємо версію у frontmatter.</li>
</ul>
<h3 id="_3">Архітектура<a class="headerlink" href="#_3" title="Permanent link">&para;</a></h3>
<ul>
<li><strong>Основна архітектура:</strong> <code>docs/cursor/02_architecture_basics.md</code></li>
<li><strong>Внутрішні сервіси:</strong> <code>docs/cursor/34_internal_services_architecture.md</code></li>
<li><strong>Service Mesh:</strong> <code>docs/cursor/35_microdao_service_mesh_design.md</code></li>
</ul>
<h3 id="api">API<a class="headerlink" href="#api" title="Permanent link">&para;</a></h3>
<ul>
<li><strong>API контракти:</strong> <code>docs/cursor/03_api_core_snapshot.md</code></li>
</ul>
<h3 id="_4">Агенти<a class="headerlink" href="#_4" title="Permanent link">&para;</a></h3>
<ul>
<li><strong>Agent Runtime Core:</strong> <code>docs/cursor/12_agent_runtime_core.md</code></li>
<li><strong>Agent Memory System:</strong> <code>docs/cursor/13_agent_memory_system.md</code></li>
<li><strong>Private Agents Lifecycle:</strong> <code>docs/cursor/38_private_agents_lifecycle_and_management.md</code></li>
</ul>
<h3 id="_5">Інтеграція<a class="headerlink" href="#_5" title="Permanent link">&para;</a></h3>
<ul>
<li><strong>DAARION.city Integration:</strong> <code>docs/cursor/DAARION_city_integration.md</code></li>
<li><strong>Website Integration:</strong> <code>docs/cursor/50_daarion_city_website_integration.md</code></li>
<li><strong>Integration Guide:</strong> <code>docs/integration-daarion.md</code></li>
</ul>
<hr />
<h2 id="_6">Правила версіонування<a class="headerlink" href="#_6" title="Permanent link">&para;</a></h2>
<h3 id="_7">Канонічні документи<a class="headerlink" href="#_7" title="Permanent link">&para;</a></h3>
<p>Канонічні документи мають frontmatter з версією:</p>
<div class="codehilite"><pre><span></span><code><span class="nn">---</span>
<span class="nt">title</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Document Title</span>
<span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1.0.0</span>
<span class="nt">status</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">canonical</span>
<span class="nt">last_updated</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2024-11-14</span>
<span class="nn">---</span>
</code></pre></div>
<h3 id="_8">Оновлення документів<a class="headerlink" href="#_8" title="Permanent link">&para;</a></h3>
<ol>
<li>Редагуєш <strong>той самий</strong> файл (не створюєш новий).</li>
<li>Змінюєш версію й дату у frontmatter:
<code>yaml
version: 1.1.0
last_updated: 2024-12-01</code></li>
<li>Додаєш запис у секцію Changelog внизу документа.</li>
</ol>
<h3 id="legacy">Legacy документи<a class="headerlink" href="#legacy" title="Permanent link">&para;</a></h3>
<ul>
<li>Старі версії документів переносяться в <code>docs/_archive/</code>.</li>
<li>На початку legacy файлу додається помітка:
```markdown<blockquote>
<p><strong>LEGACY:</strong> Цей документ застарів. Актуальна версія: <code>docs/path/to/canonical.md</code>.
```</p>
</blockquote>
</li>
</ul>
<hr />
<h2 id="_9">Структура документації<a class="headerlink" href="#_9" title="Permanent link">&para;</a></h2>
<div class="codehilite"><pre><span></span><code>docs/
├── cursor/ # Детальні технічні специфікації
├── tokenomics/ # Токеноміка (канонічний: city-tokenomics.md)
├── _archive/ # Застарілі документи
├── integration-daarion.md # Консолідований гайд інтеграції
├── CONTRIBUTING_DOCS.md # Цей файл
└── README.md # Загальний огляд документації
</code></pre></div>
<hr />
<h2 id="cursor">Як працювати з Cursor<a class="headerlink" href="#cursor" title="Permanent link">&para;</a></h2>
<h3 id="_10">При створенні промптів<a class="headerlink" href="#_10" title="Permanent link">&para;</a></h3>
<p>Завжди вказуй канонічні документи:</p>
<blockquote>
<p>Використовуй <code>docs/tokenomics/city-tokenomics.md</code> як єдине актуальне джерело токеноміки.</p>
<p>Використовуй <code>docs/cursor/50_daarion_city_website_integration.md</code> для інтеграції з сайтом.</p>
</blockquote>
<h3 id="_11">При оновленні документації<a class="headerlink" href="#_11" title="Permanent link">&para;</a></h3>
<ol>
<li>Знайди канонічний документ (перевір frontmatter на <code>status: canonical</code>).</li>
<li>Онови версію у frontmatter.</li>
<li>Додай запис у Changelog.</li>
<li>Якщо є legacy версії — перенеси їх в <code>_archive/</code>.</li>
</ol>
<hr />
<h2 id="_12">Приклади<a class="headerlink" href="#_12" title="Permanent link">&para;</a></h2>
<h3 id="_13">Правильно<a class="headerlink" href="#_13" title="Permanent link">&para;</a></h3>
<div class="codehilite"><pre><span></span><code><span class="gh"># Оновлення токеноміки</span>
<span class="k">-</span><span class="w"> </span>Редагуємо <span class="sb">`docs/tokenomics/city-tokenomics.md`</span>
<span class="k">-</span><span class="w"> </span>Оновлюємо версію: 1.0.0 → 1.1.0
<span class="k">-</span><span class="w"> </span>Додаємо запис у Changelog
</code></pre></div>
<h3 id="_14">Неправильно<a class="headerlink" href="#_14" title="Permanent link">&para;</a></h3>
<div class="codehilite"><pre><span></span><code><span class="gh"># Створення нового файлу</span>
<span class="k">-</span><span class="w"> </span>НЕ створюємо <span class="sb">`city-tokenomics-v2.md`</span>
<span class="k">-</span><span class="w"> </span>НЕ створюємо <span class="sb">`city-tokenomics-updated.md`</span>
<span class="k">-</span><span class="w"> </span>✅ Редагуємо існуючий <span class="sb">`city-tokenomics.md`</span>
</code></pre></div>
<hr />
<h2 id="_15">Питання?<a class="headerlink" href="#_15" title="Permanent link">&para;</a></h2>
<p>Якщо не впевнений, який документ є канонічним:</p>
<ol>
<li>Перевір frontmatter на <code>status: canonical</code>.</li>
<li>Перевір <code>docs/README.md</code> — там вказані канонічні документи.</li>
<li>Перевір <code>docs/CONTRIBUTING_DOCS.md</code> (цей файл).</li>
</ol>
<hr />
<p><strong>Останнє оновлення:</strong> 2024-11-14</p>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "..", "features": ["navigation.sections", "navigation.instant", "content.code.copy"], "search": "../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
<script src="../assets/javascripts/bundle.3220b9d7.min.js"></script>
</body>
</html>